Hallo Forengemeinde,
habe bzgl. einer Schrittmotoransteuerung eine Frage.
Und zwar würde ich gerne wissen, wie es sein kann ... dass ich aus
meinem Mega8 mit einer Frequenz von ca. 1,5kHz auf den L297 gehe, dort
aber nur ca. 570 Hz rauskommen ?! Mach ich was falsch ?? Untersetzt der
L297 die Frequenz ??
Vielen Dank schonmal
Wie und wo hast du die Frequenzen (1k5 Hz und 570 Hz) gemessen?
Im Halbschrittbetrieb sollte die Ausgangsfrequenz pro Phase bei 1/8 der
Eingangsfrequenz sein, im Vollschrittbetrieb dann bei 1/4.
So steht es im Datenblatt. Da passen deine Zahlen irgendwie gar nicht.
Was kommt nach dem L297, wie ist deine Oszillatorfrequenz (Pin 16)?
Ja richtig, das kommt auch hin ... hatte die Frequenz vom Controller
falsch angegeben. das sind rund 1,14 kHz !
Dann pro Phase ca. 143 Hz !
Allerdings macht der Motor doch bei jedem Wechsel der Zustände (0101 -
0001 - 1001 usw.) einen Schritt oder dann eben nur bei jedem 8. wobei er
wieder im HOME-Zustand wäre ???
Das heißt ja jeder Schritt wäre ein HOME-Zustand ? Kann ja auch nicht
sein ...
Kann mir mal einer Klarheit verschaffen ;-) ?!?
Dankeeee
Es gibt bei einem Zweiphasen-Motor (und damit auch beim L297) insgesamt
8 mögliche Kombinationen der "Nullen und Einsen" an den 4 Ausgängen, von
denen je zwei zu einer Phase gehören (*). Werden diese 8 Kombinationen
der Reihe nach durchlaufen, dann hast Du Halbschrittbetrieb. Wenn jeder
zweite Schritt ausgelassen wird, dann liegt Vollschrittbetrieb vor, und
zwar "One-Phase-On", wenn die Schritte benutzt werden, bei denen jeweils
nur eine Phase bestromt wird und "Two-Phase-On" oder "Wave-Drive", wenn
die Schritte benutzt werden, bei denen beide Phasen aktiv sind. Und
jetzt überleg mal, was an den Anschlüssen passiert, wenn jeweils einen
Schritt weitergegangen wird...
Schau mal hier:
Beitrag "Re: Schrittmotorfragen"
Da habe ich mal ein Dokument angehängt, das die Vorgänge erläutert.
(*) Wenn eine Phase abgeschaltet werden soll, ist es wurscht, ob beide
Anschlüsse 0 oder 1 sind, weswegen die Kombinationen 11 und 00
äquivalent sind, so dass jeweils 3 Möglichkeiten übrigbleiben.
Die Frage, wo Du gemessen hast, steht allerdings immer noch im Raum...
Gemessen habe ich am PIN 18 des L297 (clock) und an einem Ausgang,
glaube es war PIN 4 (A) !
Vielleicht habe ich oben noch vergessen zu erwähnen, dass der Baustein
auf Halbschrittmodus eingestellt ist.
Also macht mein Schrittmotor (Bipolar) ja eigentlich bei jedem
Flankenwechsel (bei mir im Halbschrittmodus) einen (Halb-)Schritt.
Das heißt, der Motor müsste also mit 1140pps (1,14kHz) laufen, oder
versteh´ ichs immer noch nicht??
Fakt ist, dass es mir viel langsamer vorkommt. Bei einer Auflösung von
0.9° pro Schritt und damit resultierenden 400 Schritten pro Umdrehung
wären das fast 3 U/s bzw. 180 U/min...
Bei Vollschritt braucht der Motor 4 Takte für 1 Schritt, bei Halbschritt
(wie bei dir) sogar 8 Takte pro Schritt.
Also: An der Welle 8 mal langsamer....
Für 3U/s --> 3*400 Schritte --> f = 1200*8 = 9,6kHz
Oder:
f = 1,14kHz --> 142 Steps/s -> ca. 1/3 U/s
Wars das?
ich zweifel noch... bei jedem Wechsel der Taktflanken werden doch die
Wicklungen des Motors anders bestromt. Also verändert sich doch auch das
Magnetfeld des Motors und der "Läufer" richtet sich neu aus. Wieso
sollte er sich erst nach dem kompletten Zyklus bewegen ??
zu lesen auch auf Seite 4:
http://mitglied.lycos.de/ChFuchs/steppergl.pdf
Dort steht:
erst nach 8 Schritten, also z.B. 8 x 0,9° = 7,2° ist ein Ansteuerzyklus
beendet und beginnt für eine weitere Drehung von Neuem.
Daraus ergeht für mich, dass er sich schon 7,2° bewegt hat und nicht
0,9° !
Lothar Miller wrote:
> Bei Vollschritt braucht der Motor 4 Takte für 1 Schritt, bei Halbschritt> (wie bei dir) sogar 8 Takte pro Schritt.
Nö. Er braucht 4 bzw. 8 Takte für einen Zyklus , und ein Zyklus
besteht aus 4 Voll- bzw. 8 Halbschritten. Eine steigende Flanke am
CLOCK-Eingang sorgt dafür, dass der Translator einen Schritt weitergeht.
Je nachdem, welche Betriebsart eingestellt ist, ist das ein Halb- oder
ein Vollschritt.
@Peter:
Richtig.
>Nö.
Schlags kaputt, doch schon zu lange her, mein letztes Mal mit dem
Schrittmotor. Das ist das Problem: wenn alles läuft, und die #defines
passen, dann braucht man nicht mehr selber denken....
Nur, damit ich das jetzt auch noch auf die Reihe kriege:
Schrittmotor mit 1,8° Vollschritt
--> 200 Vollschritte pro U
--> 400 Halbschritte/U
Mit 1,14kHz --> 1140 Halbschritte/sec --> 1140/400 U/sec = 2,85 U/sec
Passt das jetzt?
>dass es mir viel langsamer vorkommt
Wie schnell kommt es dir denn vor?
Kleb doch was an die Achse (Tesa, Papierzeiger...), halt den Finger
dagegen und zähle 10 Sekunden mit. In 10 Sekunden kann man locker bis 28
zählen.
Autor: Johannes M. (johnny-m)
Datum: 01.08.2008 14:08
"und "Two-Phase-On" oder "Wave-Drive", wenn die Schritte benutzt werden,
bei denen beide Phasen aktiv sind."
Ich denke, es ist genau anders herum:
wave-drive = One-Phase-On
standard-drive = Two-Phases-On (hat mehr Kraft)
halfstep-drive = alternating one/two-wave-drive
Ich nenne einen Zyklus Großschritt.
Ein "normaler" Schrittmotor hat 50 Großschritte = 200 Vollschritte = 400
Halbschritte pro Umdrehung.