Forum: Mikrocontroller und Digitale Elektronik Hilfe Ansteuerung Schrittmotoren


von Dieter M. (Firma: die) (dimka86)


Lesenswert?

Hallo,

und Hilfe !!!

ich habe aktuell ein Projekt im Studium in dem ich die Ansteuerung für 
einen selbst gebauten 2- Achs Roboter aufbauen muss.

Die Programmierung der beiden Schrittmotoren (Bi- polare) wird mit einem 
LPC Microcontroller realisiert, diese kriege ich hin. Jedoch habe ich 
(Maschinenbauer) richtige Schwierigkeiten mit der elektronischen Seite. 
Bisher existiert das Modell auf einem Steckbrett, der Prof. möchte 
jedoch eine fertige Platine haben mit einem einzigen Netzteil, was die 
komplette Stromversorgung für die beiden Schrittmotoren, für die 
Treiber, für den Microkontroller und für einen Magneten übernimmt.

Und da ist mein Problem, ich weiß nicht, wie ich das am besten 
realisieren soll :( :( Hilfe !!! Es soll ein gewöhnliches Netzteil sein 
mit ca. 12 V und 5 A sein, das haben wir uns gemeinsam rausgesucht. Ich 
hatte das gesamte System mit einem regelbaren Netzteil bisher betrieben. 
Das soll nicht mehr sein. Auf die Platine sollen die beiden Treiber, der 
Mikrokontroller mit einer UART Schnittstelle.

Wie gehe ich vor? wie werde ich die Spannung auf die Verbraucher mit 
einem Netzteil aufteilen, kennt ihr evtl. Schaltpläne oder ähnliche 
Projekte was für Netzteil habt ihr genommen?.... Bin ein Leihe... :(

von 2K (Gast)


Lesenswert?

Also normalerweise nimmt man ein Netzteil mit der größten benötigeten 
Spannung.
Von der kann man dann auf die kleineren Voltzahlen runtergehen, zb mit 
nem 7805er auf 5V ....

Und ein paar Daten wären nice, welcher Motor, welcher Motortreiber 
etc...

von Dieter M. (Firma: die) (dimka86)


Lesenswert?

Hallo, ich bin für jede Hilfe dankbar, danke für die Antwort.

Es sind zwei unterschiedliche Schrittmotoren aber 2 gleiche Treiber:

1 x Schrittmotor PSM57BYGHM201 6,8 V und 1,7 A
1 x Schrittmotor 14HY7002      9,6 V und 0,4 A
2 x Schrittmotortreiber Pololu A4988 3 - 5,5 V und 1 A


Müssen dann für die jeweiligen Verbraucher die passenden 
Festspannungsregler ausgesucht werden? Wie sieht es dann mit Strom aus? 
stellt er sich dann passen ein?

von B.A. (Gast)


Lesenswert?

Pololu A4988
" It operates from 8 V to 35 V and can deliver up to approximately 1 A 
per phase without a heat sink"


> 1 x Schrittmotor PSM57BYGHM201 6,8 V und 1,7 A
> 1 x Schrittmotor 14HY7002      9,6 V und 0,4 A
Du solltest ein 24V Netzteil nehmen oder wandelst die 12V mit einem 
StepUp-Wandler auf eine höhere Spannung.

Für den Mikrocontroller (1.6V oder 3.3V) solltest du dann einen 
StepDown-Spannungswandler nehmen.

Bei "Texas Instruments" und "Linear Technology" findest du ein paar auf 
der Webseite, die haben da tolle Suchmasken.

Dieter Matt schrieb:
> Auf die Platine sollen die beiden Treiber,

Sorge dafür dass die Störungen der Schrittmotoren nicht den 
Mikrocontroller beeinflussen. Du könntest getrennte Massen erstellen und 
diese beiden dann mit einer Brücke durch die eine Ferritperle gesteckt 
wurde verbinden.

Die Spannungsversorgungen müssen gut abgeblockt werden, also nutze viele 
keramische Kondensatoren und jeder StepperMotor-Treiber bekommt einen 
dicken (470µF oder 1000µF) Elko.


Dieter Matt schrieb:
> der Mikrokontroller mit einer UART Schnittstelle.

Du solltest einen UART nach USB-Konverterchip von FTDI (FT 232 R) 
verbauen.


Eine Platine kannst du mit Eagle oder Designspark erzeugen.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Dieter Matt schrieb:
> Es soll ein gewöhnliches Netzteil sein
> mit ca. 12 V und 5 A sein, das haben wir uns gemeinsam rausgesucht.

Meines Erachtens OK.

2K schrieb:
> Also normalerweise nimmt man ein Netzteil mit der größten benötigeten
> Spannung.

Also 9.6V, Oder?

B.A. schrieb:
> Du solltest ein 24V Netzteil nehmen

Hä? Ich denke 9.6V reichen. 12V wäre die nächste übliche Spannung.

Das hatte Dieter mit seinem Prof doch bereits rausgesucht.

Dieter Matt schrieb:
> Schrittmotortreiber Pololu A4988

28-Pin QFN. Uiuiuiuiui.

https://www.youtube.com/watch?v=HnVpYIdNqKQ

Oder meinst Du das 6€-Breakout?

http://www.watterott.com/de/Pololu-A4988-Schrittmotortreiber

Reicht nicht auch der L298N für 60 Cent?
http://www.aliexpress.com/item/-/893374013.html

Ich verabschiede mich jetzt lieber!

: Bearbeitet durch User
von 2K (Gast)


Lesenswert?

Dieter Matt schrieb:
> 1 x Schrittmotor PSM57BYGHM201 6,8 V und 1,7 A
> 1 x Schrittmotor 14HY7002      9,6 V und 0,4 A
> 2 x Schrittmotortreiber Pololu A4988 3 - 5,5 V und 1 A

Äh, das passt ja nicht so wirklich oder ? Ein 1,7A Motor und ein 1A 
Treiber ?

von 2K (Gast)


Lesenswert?

Hier gibts den A4988 auf breakout für 5,60€ , die 2 A maximum current 
sind nicht auf Dauer gedacht, also anderer Treiber oder anderer Motor, 
AUßER du kühlst das Ding anständig...

von Georg (Gast)


Lesenswert?

2K schrieb:
> Äh, das passt ja nicht so wirklich oder ? Ein 1,7A Motor und ein 1A
> Treiber ?

Warum, wenn er mit der halben Leistung zufrieden ist? Man muss Motoren 
ganz allgemein nicht immer mit dem angegebenen Höchststrom betreiben 
(oder fährst du dein Auto immer nur Vollgas?). Und nicht zu vergessen: 
bei Schrittmotoren bestimmt der Treiber den Strom. Wenn das Drehmoment 
reicht, läuft der Motor mit 1 A viel ruhiger und wird weniger heiss, was 
ist daran so schlimm?

Georg

von B.A. (Gast)


Lesenswert?

Torsten C. schrieb:
> B.A. schrieb:
>> Du solltest ein 24V Netzteil nehmen
>
> Hä? Ich denke 9.6V reichen. 12V wäre die nächste übliche Spannung.
>
> Das hatte Dieter mit seinem Prof doch bereits rausgesucht.

Hast du überhaupt schon mal mit Schrittmotoren gearbeitet ?
Du scheinst keine Ahnung zu haben.

Diese angegeben Spannung stellt sich ein wenn der Motor steht!


> 1 x Schrittmotor PSM57BYGHM201 6,8 V und 1,7 A
Er hat einen Strangwiderstand von: 4 Ohm

> 1 x Schrittmotor 14HY7002      9,6 V und 0,4 A
Er hat einen Strangwiderstand von: 24 Ohm

@ Dieter Matt (Firma: die) (dimka86)
Miss einfach mal den Strangwiderstand deiner Motoren.


Wenn der Motor sich aber schneller dreht ist es nicht mehr möglich mit 
dieser angegebenen Spannung den benötigten Strom durch die Spulen zu 
drücken.

Wenn er wirklich 12V nutzt, dann wird er bei dem zweiten Motor richtige 
Probleme bekommen wenn er versucht den Motor etwas schneller drehen zu 
lassen. Das Resultat sind dann Schrittverluste.

Dan der Treiber sogar 35V treiben kann ist es kein Problem 24V zu 
nutzen, den Motoren macht das absolut nichts aus da der 
Schrittmotortreiber den Strom begrenzt und sich dann immer die passende 
Spannung einstellt.


Ich kann hier aber auch nicht sagen ob die 24V reichen um den Motor mit 
50 Umdrehungen pro Sekunde bei maximaler Last bewegen zu können, aber 
das ist vielleicht auch gar nicht gefordert.
Er sollte es aber mal ausprobieren bevor er sich auf eine Spannung von 
12V festlegt.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

B.A. schrieb:
> Er sollte es aber mal ausprobieren bevor er sich auf eine Spannung von
> 12V festlegt.

Bei meinem Schrittmotor habe ich es so gemacht: Akkuschrauber dran, mit 
erforderlecher Drehzahl gedreht und Spannung gemessen.

https://www.mikrocontroller.net/attachment/258168/VID28-als-Generator.png

Diese Spannung muss als "Offset" noch auf die angegebene Spannung bei 
Stillstand addiert werden.

Wäre das 'Best practice'? Oder wie würdest Du vorgehen, falls die 
Drehzahl-Induktionsspannung-Kennlinie nicht im Datenblatt steht?

: Bearbeitet durch User
von Carsten S. (dg3ycs)


Lesenswert?

B.A. schrieb:
> Wenn er wirklich 12V nutzt, dann wird er bei dem zweiten Motor richtige
> Probleme bekommen wenn er versucht den Motor etwas schneller drehen zu
> lassen. Das Resultat sind dann Schrittverluste.

Ist richtig.
Und daher ist es bei gewissen Anforderungen an die Agilität gängige 
Praxis mit Spannungen zu Arbeiten die ein Vielfaches über der 
Nennspannug des Motors liegen und regelt nur den Strom. Darum können 
auch die billigsten Treiber mit solchen Spannungen umgehen.

Wird aber gar keine Kombination aus hoher Drehzahl und hohem Drehmoment 
benötigt ist diese Maßnahme oft unnötig und führt nur zu einem 
schlechten (elektrischen) Wirkungsgrad.
Je niedriger die Drehzahl um so näher sollte man an der Nennspannung 
bleiben.

Es hängt also von den konkreten Vorgaben ab eine hohe Spannung Sinnvoll, 
gar zwingend nötig oder völlig unnützer blödsinn ist.

>
> Dan der Treiber sogar 35V treiben kann ist es kein Problem 24V zu
> nutzen, den Motoren macht das absolut nichts aus da der
> Schrittmotortreiber den Strom begrenzt und sich dann immer die passende
> Spannung einstellt.
Aus sicht der Motorsteuerung nicht.
Auch ist der elektrische Wirkungsgrad wohl hier kein entscheidendes 
Kriterium. In sofern könntest du recht haben.

Aber zum einen scheint das Netzteil schon mehr oder weniger fest zu 
stehen, zum anderen schreibt hier jemand der wie es scheint von 
Elektronik nahezu überhaupt keine Ahnung hat.

Da jetzt noch DC/DC Converter o.ä. mit in das System einzubauen halte 
ich für sehr gewagt. Vermutlich ist die Elektronikplatine sowieso nur 
ein Nebenschauplatz des ganzen Projektes.

Wenn die Schaltung wie gesagt auf dem Breadboard funktioniert und mit 
12V Eingangsspannung der Treiber die erwarteten Ergebnisse bringt ist 
jede weitere Konzentration an der Spannung im sinne des erfolgreichen 
Projektabschlusses hier sicher absolut Kontraproduktiv!

Wenn diese Annahmen stimmen würde ich das ganze so einfach wie nur 
Möglich halten. Eingangsbeschaltung für die 12V bestehend aus Sicherung, 
Verpolungsschutz (Diode in Sperrichtung zwischen Ub und Masse HINTER der 
Sicherung, keine Längsdiode um nicht noch mehr spannung zu verlieren...)
Dann ausreichend Stützkapazitäten und dann direkt auf die Treiber.

Die 3,3V Betriebsspannung für den Controller würde ich in diesem 
speziellen Fall mit einem einfachen Längsregler erzeugen. Da fließt 
scheinbar kein Strom, also fällt die am Längsregler verheizte Leistung 
weder vom Wärmemanagement noch von der Energiebilanz ins Gewicht.

Die beiden Versorgungsleitungen für Controller und Motortreiber dabei 
möglichst früh trennen. Am besten schon direkt hinter der Sicherung um 
Rückwirkungen so gering wie möglich zu halten!

Gruß
Carsten

: Bearbeitet durch User
von Mike J. (linuxmint_user)


Lesenswert?

Carsten Sch. schrieb:
> Wird aber gar keine Kombination aus hoher Drehzahl und hohem Drehmoment
> benötigt ist diese Maßnahme oft unnötig und führt nur zu einem
> schlechten (elektrischen) Wirkungsgrad.

Nein.

Die aktuellen Treiber arbeiten wie Schaltregler, der Motor dient dabei 
als Spule und die Spulen-Freilaufdiode ist im Treiber und wird oft mit 
MosFETs realisiert.

Eine höhere Spannung macht ehrlich gesagt nichts aus.

Er kann es auch so planen dass er bei  Bedarf ein StepUp-Wandler Modul 
hinzu schalten könnte, welches die 12V dann auf eine höhere Spannung 
bringt.

Dazu muss er nur 3 Pins nach draußen führen, 12V vom Netzteil, GND und 
die 12V die zu den Treibern geht.
Wenn er zwischen 12V(Netzteil) und 12V(Treiber) eine Brücke macht fließt 
der Strom einfach rüber.

Er kann aber auch die 12V(Netzteil) zu einem StepUp-Wandler-Modul gehen 
lassen und die meinetwegen 24V gehen wieder zurück zum 
"12V(Treiber)"-Pin.

Solch ein StepDown- oder StepUp-Wandler hat heutzutage nicht mehr viele 
Bauteile, deshalb sollte das sehr einfach sein einen auf die Platine zu 
bringen.

von someone (Gast)


Lesenswert?

Oh oh oh, hier sind mal wieder einige Experten unterwegs. Zum Glück auch 
Leute, die Ahnung haben.

Eines verstehe ich aber nicht und das ist wichtig: Womit hast du KONKRET 
Probleme? Dein Beitrag liest sich so, als wärst du mit allem 
überfordert. Aber was ist nun konkret dein Problem? Je konkreter du 
sagst, was das Problem ist, umso besser kann man dir helfen.

Motortreiber:
Die Komponenten scheinen ja aktuell schon zu funktionieren, der A4988 
ist auch extrem einfach einzusetzen: Strombegrenzung einstellen und 
fertig. Natürlich werden sich Leute darüber aufregen, dass der Chip 
ungekühlt nicht extrem lang 2A liefern wird (Abhilfe: kühlen!) und 
irgendwelche vorsintflutlichen Schrittmotoransteuerungen vorschlagen. 
Der A4988 ist aber einfach anzusteuern, gut erhältlich und kann ohne 
Aufwand im Mikroschrittbetrieb betrieben werden. Für diese Anwendung 
also nahezu ideal. Um Probleme mit den Treibern auszuschließen (die 
überhitzen sehr gerne bei schlechter Kühlung und schalten dann 
kurzzeitig ab. Das merkt man oftmals nicht und wundert sich dann, warum 
Schritte verloren gehen), solltest du kleine Kühlkörper aufkleben und 
das dann mit einem Lüfter aktiv kühlen. Die 12V Versorgungsspannung 
reichen. Mit mehr Spannung könnte man die Motor-Performance etwas 
verbessern, weil der A4988 die Strombegrenzung durch PWM realisiert und 
man dort mit mehr Spannung besser aufgehoben ist. Aber 12V reichen.

Spannungsversorgung:
Der Microcontroller braucht eine bestimmte Versorgungsspannung, ebenso 
der Steuerungsteil der Motortreiber. Die liegt sicher irgendwo im 
Bereich zwischen 3.3V und 5V. Allzu viel Strom brauchen die nicht, also 
nimmst du dir einen Linearregler mit 3.3V oder 5V Ausgangsspannung, der 
sagen wir mal 500mA bis 1A liefern kann, schraubst ihn auf einen 
Kühlkörper im Luftstrom und versorgst damit deinen Microcontroller und 
deinen Motortreiber. (Der Motortreiber hat zwei Versorgungsspannungen: 
Die für die Motoren, das sind bei dir dann 12V, und die für die 
Elektronik, das sind dann 3.3V oder 5V.)

Magnet: Bleibt noch der Elektromagnet. Du solltest auf jeden Fall darauf 
achten, Vorkehrungen zu treffen, dass dir der Elektromagnet nicht deine 
Elektronik zerschießt, sobald er an- oder abgeschaltet wird. 
Sinnvollerweise wird der so dimensioniert, dass er an 12V angeschlossen 
werden kann und dann funktioniert. Mit welcher Spannung betreibst du ihn 
denn aktuell?

Aufbau: Wenn du alles bereits auf Breakout-Boards hast, dann ist es kein 
Problem, die Sache auf Lochraster aufzubauen, allzu komplex ist die 
Schaltung ja nicht. Alles, was höhere Ströme benötigt (Netzteil zu 
Motortreiber, Motortreiber zu Motoren, Netzteil zu Schalter für Magnet, 
Schalter für Magnet zu Magnet), solltest du auf der Platine auch mit 
dickeren Leitungen ausführen. Auf Lochraster kann man beispielweise 
einfach einen Draht mit verlöten, das reicht dann.

von Wolfgang (Gast)


Lesenswert?

someone schrieb:
> Magnet: Bleibt noch der Elektromagnet. Du solltest auf jeden Fall darauf
> achten, Vorkehrungen zu treffen, dass dir der Elektromagnet nicht deine
> Elektronik zerschießt, sobald er an- oder abgeschaltet wird.

Warum und vor allen Dingen wie soll ein Elektromagnet bei Anschalten 
irgendwelche Elektronik zerschießen können?

Damit es beim Abschalten keine hohen Induktionsspannungen gibt, braucht 
man natürlich eine Freilaufdiode, damit der Strom weiter fließen kann. 
Falls hohe Abschaltgeschwindigkeiten gewünscht sind, ist die allerdings 
etwas störend - aber wer weiß schon, wie schnell der Strom abklingen 
muss.

von Mike J. (linuxmint_user)


Lesenswert?

someone schrieb:
> Aber 12V reichen.

Würdest du deine Hand dafür ins Feuer legen?
Für den einen Motor mag das vielleicht stimmen.
Du gehst nur davon aus da sein aktueller Prototyp zu funktionieren 
scheint, sie den auch mit 12V betreiben und die Anforderungen an die 
Motoren gleich bleiben.

Wenn er sich dann denkt dass er kurzzeitig mal etwas mehr Strom und eine 
höhere Drehzahl benötigt, dann kann der Treiber den Strom gar nicht mehr 
liefern da der Induktive Widerstand der Spulen zu hoch ist.

Wir haben viel zu wenig Informationen bekommen als dass wir das 
abschätzen können, deshalb würde ich hier lieber etwas mehr Spielraum 
einplanen ... weil der Spielraum hier sogar billig erkauft wird.

Er kann immer noch ein 12V Netzteil nutzen anstatt eines 24V Netzteils, 
dazu muss er ganz einfach den Stecker des anderen Netzteils in die 
Hohlbuchse stecken.

Für den Controller kann er einen Linearregler nutzen, aber er muss dann 
auch die Wärme wegbekommen, das bedeutet dass die Platinenfläche größer 
wird.

Ich verwende zwar auch Linearregler, aber wenn 24mA gezogen werden sind 
das schon über 200mW.

von Wolfgang (Gast)


Lesenswert?

someone schrieb:
> Die 12V Versorgungsspannung
> reichen. Mit mehr Spannung könnte man die Motor-Performance etwas
> verbessern, weil der A4988 die Strombegrenzung durch PWM realisiert und
> man dort mit mehr Spannung besser aufgehoben ist. Aber 12V reichen.

Mit anderen Worten, wenn der 9,6V Motor sich irgendwie mit höherer 
Schrittgeschwindigkeit bewegen und dabei auch noch Drehmoment abgeben 
soll, ist man bei 12V Betriebsspannung verraten und verkauft.

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.