Hallo,
ich denke mal du hast die Motoren noch nicht angeschlossen, sonst wäre den Mega bestimmt schon kaput !!
Hallo,
Ich muss für die Schule 2 Schrittmotoren steuern, jedoch habe ich nur ein wenig visual basic programmier erfahrung...
Das ist mein Microcontroller: AtMega8
Bild hier
Ich möchte jetzt über den Pc 0 -> Pc 5 einen unipolaren Schrittmotor steuern:
Also rot habe ich an + 24V drann
und die anderen: Schwarz, Braun, Orange Gelb sind an Pc0,Pc1,Pc,2,Pc3
-----------------
Habe jetzt schon sowas probiert, weil ich irgendwas gelesen hab von wegen leitungen a b c d abwechselnd 1 / 0 setzen....
Naja, also ihr seht -> das ist es nicht wirklich$crystal = 6000000
Config Portd = Input '
Config Portb = Output
Config Portc = Output
'
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0
Config Lcd = 16 * 2
Do
Pinc.0 = 0
Pinc.1 = 1
Pinc.2 = 0
Pinc.3 = 1
Wait 1
Pinc.0 = 1
Pinc.1 = 0
Pinc.2 = 1
Pinc.3 = 0
Wait 1
Pinc.0 = 1
Pinc.1 = 1
Pinc.2 = 0
Pinc.3 = 0
Wait 1
Pinc.0 = 0
Pinc.1 = 0
Pinc.2 = 1
Pinc.3 = 1
Wait 1
Pinc.0 = 1
Pinc.1 = 0
Pinc.2 = 0
Pinc.3 = 1
Wait 1
Pinc.0 = 0
Pinc.1 = 1
Pinc.2 = 1
Pinc.3 = 0
Loop
Also ziel ist es später Poties einzulesen und dann je nach stellung der poties die motoren unterschiedlich schnell drehen lassen...
Hallo,
ich denke mal du hast die Motoren noch nicht angeschlossen, sonst wäre den Mega bestimmt schon kaput !!
?? ne also kaputt ist er nicht...
er gibt in nem anderen code ja text auf lcd aus...
*
er gibt so auch fehler aus:
Variable can not be used with set [DDRC] , in File C:\ [...] test.bas
...
You can not write to a Pin register [PINC.1] , in File C:\ [...] test.bas
....
hi,
den output auf low oder high schalten ist ziemlich witzlos, wenn an der versorgung eines unipolar-steppers 24v hängen, im einen fall (output high) würden dann 19v an der spule anliegen, im anderen (output low) wären's eben 24v, ein magnetfeld steht in beiden fällen allemal.
der AVR raucht aber auch in beiden fällen ab, alles über 6v bringt ihm langfristig um.
du müsstest zwischen motor und AVR einen treiber wie uln2003 hängen, damit wird's dann was, aber auch nur, wenn der motor max. 500ma betriebsstom je spule zieht. die erf. schutzdioden hat der uln schon onboard.
zu deiner ansteuerung: du bestromst immer 2 spulen gleichzeitig, das funtzt zwar, es werden aber immer nur die 1/2 schritte ausgeführt - aber ohne vollen schritt dazwischen.
im einfachsten fall bestromst du spule 1-4 (1 - 3 - 2 - 4) nacheinander, dann haste vollschrittbetrieb.
für den halbschritt-mode werden noch die steps zwischen den vollschritten angeschaltet (1 - 1&3 - 3 - 3&2 - 2 - 2&4 - 4), während der halben steps, also immer dann, wenn 2 spulen gleichzeitig bestromt werden, muss der einzelne spulenstrom auf 70% abgesenkt werden, dann gibt's einen richtig schönen runden lauf.
grüssens, harry
der kopf ist rund damit das denken seine richtung ändern kann...![]()
danke! läuft schon!
am m8 liegen auch keine 24 sondern nur 5 volt an!
Lesezeichen