Forum: Mikrocontroller und Digitale Elektronik Schrittmotor Schritte pro Sekunde


von MrBurns (Gast)


Lesenswert?

Hallo,

ich bin dabei mich in die Ansteuerung von Schrittmotoren einzuarbeiten. 
Habe dazu von robotikhardware folgende Teile bestellt:

Schrittmotor:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=69&products_id=236

Schrittmotortreiber:
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=237

Da ich noch unerfahren bin, würde ich gerne wissen, mit wie vielen 
Pulsen pro Sekunde ich diesen Schrittmotor antreiben kann. Sind es 1000 
Schritte pro Minute oder 500 oder nur 100? Wie schnell kann der Motor 
sich drehen, woran merke ich dass ich evtl. zuviele Pulse pro Sekunde an 
den Motor schicke, geht er evtl. dabei kaputt?
Brauch ich zum Anfahren / Stoppen eine Rampe? Also ich meine zu Beginn 
wenig Schritte pro Sekunde, dann Anzahl der Schritte steigern bis zum 
Maximum oder kann ich sofort die Maximalanzahl an Pulsen an den Motor 
senden?

Danke für jede Hilfe!

von Karl H. (kbuchegg)


Lesenswert?

> Da ich noch unerfahren bin, würde ich gerne wissen, mit
> wie vielen Pulsen pro Sekunde ich diesen Schrittmotor antreiben kann.

Das kann man so nicht sagen. Das hängt auch davon ab, was der 
Schrittmotor antreiben soll.

> Sind es 1000 Schritte pro Minute oder 500 oder nur 100?

Das wären ein bischen wenig - pro Minute

> woran merke ich dass ich evtl. zuviele Pulse pro Sekunde
> an den Motor schicke

Wenn der Motor anfängt Schritte zu verlieren.

von Sebastian (Gast)


Lesenswert?

Je nach Konstruktion kann ein Schrittmotor, mechanisch unbelastet, 
durchaus auch 2000 Schritte pro Sekunde machen. Kaputt geht er bei zu 
schneller Ansteuerung nicht, aber es kann sein, daß er unter Last 
Schritte verliert, oder nicht anläuft. Dann muß man tatsächlich langsam 
anfahren.

von Udo S. (urschmitt)


Lesenswert?

MrBurns schrieb:
> Da ich noch unerfahren bin, würde ich gerne wissen, mit wie vielen
> Pulsen pro Sekunde ich diesen Schrittmotor antreiben kann. Sind es 1000
> Schritte pro Minute oder 500 oder nur 100? Wie schnell kann der Motor
> sich drehen

Bei dem Link ist neben dem Bild ein kleiner Link zu sehen namens 
"Datenblatt", lesen darfst du selbst

MrBurns schrieb:
> woran merke ich dass ich evtl. zuviele Pulse pro Sekunde an
> den Motor schicke, geht er evtl. dabei kaputt?
Wenn er Schritte verschluckt.
Kaputt geht er wenn er überlastet und heiß wird

MrBurns schrieb:
> Brauch ich zum Anfahren / Stoppen eine Rampe? Also ich meine zu Beginn
> wenig Schritte pro Sekunde, dann Anzahl der Schritte steigern bis zum
> Maximum oder kann ich sofort die Maximalanzahl an Pulsen an den Motor
> senden?
Überlege mal was die Physik sagt. Der Rotor des Motors hat eine endliche 
Masse. Meinst du die kannst du praktisch sofort auf Nenndrehzahl 
beschleunigen? Wie langsam deine Rampe sien soll hängt davon ab welche 
mechanische Last und Trägheitsmoment er bewegen soll.
Du kannst natürlich auch direkt einen Frequenzsprung anlegen, aber damit 
wird der Motor wohl Schritte verschlucken.

von MrBurns (Gast)


Lesenswert?

Hallo Sebastian und Karl Heinz,

danke erstmal für Eure Hilfe. Also ich würde jetzt einen Timer-Interrupt 
mit zunächst 100 Interrupts pro Sekunde programmieren und den Motor 
beobachten und dann steigere ich die Anzahl Interrupts und beobachte den 
Motor weiter?
Woran merke ich dass der Motor Schritte verliert?

Danke nochmal!

von digitaler fritz (Gast)


Lesenswert?

Dein winziger Treiber ist ein Spitzenprodukt und laesst alle Besitzer 
von den ollen L297/298 regelrecht bleich werden !
Ursimpel anzusteuern ganz ..halb..viertel bis 1/16 Schrittbetrieb ist 
steuerbar. Stromeinstellung supersimpel . Wunderbar.

Eine Rampe musst du allerdings selbst erzeugen.
500 bis 1000 Hz kannst du auf den Impulseingang geben.
Musst einfach '' hoeren '' und fuehlen wie sich dein Motor dazu aeussert 
;-)

von Willi (Gast)


Lesenswert?

Udo Schmitt schrieb:
> Bei dem Link ist neben dem Bild ein kleiner Link zu sehen namens
> "Datenblatt", lesen darfst du selbst

Nur das Lesen hier nichts nützt! Was sind denn 'pps' bei einem 
Schrittmotor?
Als Startfrequenz würde ich den Motor mit 300-500 Schritten/s bezogen 
auf Halbschrittbetrieb betreiben.
Aber hüte Dich davor, den Motor unter Spannung an- oder abzustecken. Am 
A4988 fehlen ext. Schutzdioden!

von Udo S. (urschmitt)


Lesenswert?

Willi schrieb:
> Was sind denn 'pps' bei einem Schrittmotor?
Spontan würde mir da "Pulses Per Second" einfallen.

von M. K. (sylaina)


Lesenswert?

Willi schrieb:
> Am
> A4988 fehlen ext. Schutzdioden!

Stimmt, der hat "nur" interne Schutzdioden...;)

von Willi (Gast)


Lesenswert?

Michael Köhler schrieb:
> Stimmt, der hat "nur" interne Schutzdioden...;)

Die Anführungszeichen vom "nur" hättest Du Dir sparen und besser das 
Datenblatt lesen sollen.
Dein Lachen wird Dir vergehen, wenn Du wider meinem Rat im laufenden 
Betrieb an den Motoranschlüssen herumfummelst.

von spess53 (Gast)


Lesenswert?

Hi

>Die Anführungszeichen vom "nur" hättest Du Dir sparen und besser das
>Datenblatt lesen sollen.

Und welche Stelle im Datenblatt meinst du genau?

MfG Spess

von Willi (Gast)


Lesenswert?

Seite 10, 'Synchronous Rectification', vorletzter Satz, ganz unten.

von spess53 (Gast)


Lesenswert?

Hi

>Seite 10, 'Synchronous Rectification', vorletzter Satz, ganz unten.

Da lese ich sinngemäß, das man in den meisten Fällen auf externe Dioden 
verzichten kann weil tas Teil sich selbst ganz gut zu schützen weiss.

MfG Spess

von Super G. (Gast)


Lesenswert?

Im Datenblatt des Schrittmotors siehst Du die Drehmomentkurve, also 
welche Kraft der Motor bei welcher Schrittrate leistet. Die Kurve endet 
irgendwo bei 4000 Schritten/Sekunde. Der Motor hat einen Schrittwinkel 
von 1,8° also 200 Schritte pro Umdrehung. Daher kannst Du Also maximal 
4000/200 = 20 U/sek oder 1200 U/min erreichen. Die maximale Kraft hat 
der Motor im Bereich von 1000..1500 Schritten pro Sekunde.

Du must auf jeden Fall eine Anfahr- und eine Bremsrampe fahren die je 
nach Belstung flacher oder steiler seinen darf. Gibst Du sofort 1500 
Schritte drauf, wird der Motor vermutlich nicht drehen. Er brummt dann 
nur und "verliert" die Schritte. Die Bremsrampe brauchst Du weil der 
Motor bei ruckartigem Ausschalten der Schritte weiterdrehen würde und Du 
dann die Schrittposition nicht mehr kennst. Die Bremsrampe kann i.d.R. 
steiler sein als die Beschleunigungsrampe.

Schrittverlust kann auch beim Fahren auftreten, wenn die Belastung im 
Grenzbereich ist. Das merkt man nicht unbedingt sofort. Erst wenn der 
Motor bei z.B. 1000 Schritten vorwärts und 1000 Schritten rückwärts 
nicht wieder am Ausgangspunkt landet, weist Du das etwas falsch läuft.

Hier ist ganz gut die Berechnung für sanfte Rampen erklärt:
http://eetimes.com/design/embedded/4006438/Generate-stepper-motor-speed-profiles-in-real-time

Ansonsten kannst Du natürlich auch eine einfache lineare Steigung 
programmieren.

Beim Schrittverlust wird die zugeführte Energie in Wärme umgewandelt, 
nicht in Umdrehung. Solange der Motor dadurch nicht überhitzt, geht er 
auch nicht kaputt.

von Willi (Gast)


Lesenswert?

spess53 schrieb:
> Da lese ich sinngemäß, das man in den meisten Fällen auf externe Dioden
> verzichten kann

Das lese ich auch so, aber die 'meisten Fälle' sind nicht alle und einer 
der wenigen Fällen reicht aus.
Da gab es doch ein Lied: "Spiel nicht mit den Anschlußdrähten ..."

von M. K. (sylaina)


Lesenswert?

Willi schrieb:
> Das lese ich auch so, aber die 'meisten Fälle' sind nicht alle und einer
> der wenigen Fällen reicht aus.

Womit deine Aussage jedoch, dass er keine Schutzdioden hat, definitiv 
falsch ist. Und im laufenden Betrieb sollte man generell nicht an ner 
Schaltung rumfummeln.

von Willi (Gast)


Lesenswert?

Michael Köhler schrieb:
> Womit deine Aussage jedoch, dass er keine Schutzdioden hat,

Das habe ich doch garnicht gesagt, sondern dass er 'nur interne 
Schutzdioden' hat. Das hast Du wohl vor lauter Lachen nicht begriffen!

von M. K. (sylaina)


Lesenswert?

Willi schrieb:
> Das habe ich doch garnicht gesagt, sondern dass er 'nur interne
> Schutzdioden' hat.

Stimmt nicht, du hast gesagt, dass er keine ext. Schutzdioden hat. Wenn 
schon, denn schon. ;) Und darauf sagte ich, dass der halt "nur" 
interne Schutzdioden hat.

Willi schrieb:
> Das hast Du wohl vor lauter Lachen nicht begriffen!

Ich weiß ja nicht, warum du meinst ich würde ständig lachen aber ich 
finde es gut, dass du so positiv von mir denkst. Ich lache gerne wenn 
auch ich hier keinen Grund zum Lachen entdecken kann. Du vielleicht?

Take it easy ;)

von Kein Name (Gast)


Lesenswert?

>Woran merke ich dass der Motor Schritte verliert?

Bei hoher Drehzahl sehr einfach. Er bleibt stehen, summt nur mehr.

Bei niedriger Drehzahl kann man zwar was hören, weiß aber nicht, ob es 
verlorene Schritte oder Resonanzschwingungen sind.

Sobald der Motor eingebaut ist wird es einfacher - ein paar mal hin und 
her fahren und schauen, ob er wieder auf den 0-Punkt zurückgefahren ist.

von MrBurns (Gast)


Lesenswert?

Hallo,

danke erstmal an alle, besonders an Super Grobi.
Habe mir mal den Link

http://eetimes.com/design/embedded/4006438/Generate-stepper-motor-speed-profiles-in-real-time

angesehen, verstehe aber nur Bahnhof.
Gibt es da nicht irgendwo Code-Beispiele (in C) die man verwenden kann?
Oder ist die Ansteuerung von Schrittmotoren nur etwas für Mathematiker?

Danke für Eure Hilfe!

von Udo S. (urschmitt)


Lesenswert?

MrBurns schrieb:
> Gibt es da nicht irgendwo Code-Beispiele (in C) die man verwenden kann?

Verstehen ist immer besser als kopieren.

von spess53 (Gast)


Lesenswert?

Hi

> Gibt es da nicht irgendwo Code-Beispiele (in C) die man verwenden kann?

Für AVR direkt bei ATMEL:

http://www.atmel.com/Images/doc8017.pdf
http://www.atmel.com/Images/AVR446.zip

MfG Spess

von Mr.Burns (Gast)


Lesenswert?

Hallo Spess53,

dnake für die Infos, die AVR-Seiten haben schonmal geholfen.
Eine Frage bleibt aber noch, in dem C-Code (Datei speed_cntr.c) gibt es 
die Funktion

speed_cntr_Move(steps, acceleration, deceleration, speed)

Meine Frage nun, wie ist speed definiert?
Als Umdrehung pro minute oder Schritte pro Sekunde oder was?

Danke für Infos!

von Max D. (max_d)


Lesenswert?

http://de.nanotec.com/schrittmotor_animation.html hier gibts ne schöne 
animation von schritt- und brushlessmotoren.

von Mr.Burns (Gast)


Lesenswert?

Hallo Max D.,

danke für die Antwort, aber das war doch nicht meine Frage!?!

Wollte wissen, wie der Parameter speed in der Funktion speed_cntr_Move 
definiert ist.

Danke nochmals!

von MrBurns (Gast)


Lesenswert?

Habs schon rausgefunden, steht in der PDF:

Speed in  0.01 rad/sek

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.