schritt motor

ich habe bei mir einen schrittmotor gefunden (warscheinlich aus einem alten Drucker.
er hat 6 anschlüsse: schwarz, 2 mal rot, orange, braun, gelb.

wie kann ich ihn mit meinem arduino verbinden, und wie ist die polung?
wie kann man ihn programieren?

Dafür benötigst Du ein sogn. Shield wie z.B

http://www.ladyada.net/make/mshield/

oder ähnlich (Google)

Hallo jan4321

Du hast einen unipolar Schrittmotor.
Der hat 2 Windungen mit Mittelanzapfung.

Darum ist es die einfachere Variante im Bezug auf ansteuerung. einfach die beiden Mittelanzapfung auf Versorgungspannung legen und die anderen in einer gewissen reihenfolge mit einem Transistor auf Masse schalten.

Die andere Variante des Motors ist der Bipolar - Schrittmotor. Ist im Endeffekt das gleiche wie Dein Motor aber ohne Mittelanzapfung. Zum Ansteuern brauchst Du 2 H-Brücken.

Ein so ein Baustein ist der L293D, der auf dem Motorshield ist, das LC_Data vorschlägt.

Ander Möglichkeiten sind kleine Platinen wie der Easydriver 4 oder Pololu A4983 Schrittmotortreiber.
Beide Treiber-Schaltungen beherrschen Microstepping (durch Modulation des Stroms der beiden Windungen kann man Zwischenschritte machen). Einziger Nachteil ist, daß man eine relativ hohe Versorgungspannung braucht, damit der Strom nicht durch den Windungswiderstand bzw Windunginduktivität begrenzt wird sondern vom Treiberbaustein.

Einige Theorie: Schrittmotor – Wikipedia

Grüße Uwe

kann ich das auch mit einem lnu2003 machen? Schrittmotor NMB PM42L-048 online kaufen | Pollin.de

Hallo Jan,
ja, Du kannst den Pollin Motor auch mit einem ULN 2003 / 2004 (be)treiben.

Eine Frage an die Schrittmotor [ch8211] Experten:
Habe gerade einen Drehteller gebaut, der aus einem bipolaren 1.8°-Schrittmotor besteht und von dem Markus Mechatronics Board im 1/8 Mikroschritt angetrieben wird:
http://www.david-laserscanner.com/forum/viewtopic.php?f=6&p=14482#p14482

Die Drehzahl ist natürlich sehr gering. Was ich nun bemerkte ist, dass die Mikroschritte unterschiedlich groß sind. Es werden keine verschluckt, jede Position stimmt, was letztendlich entscheident ist. Aber woher kommen diese Unterschiede? Es sieht so aus, als ob ein sinusförmiger Verlauf der unterschiedlichen Schrittweiten vorhanden ist. Gibt es Motore, die sich für Mikroschrittbetrieb weniger eignen?
Gleich große Mikroschritte würden eben einen ruhigeren Lauf ergeben.

Gruß,

Walter

Was ich nun bemerkte ist, dass die Mikroschritte unterschiedlich groß sind. Es werden keine verschluckt, jede Position stimmt

Ist das nicht ein Wiederspruch ?
Ich könnte mir höchstens vorstellen, daß die Schaltung schwingt. (Resonanz). Versuche das gleiche bei gering anderer Taktung zu betreiben. Ich kenne das aus der Musiksynthese. Auslöschungen könnten derartige Phänomene hervorbringen. Auch eine "halbdefekte" Treiberstufe könnte die Ursache sein.

Ansonsten kann ich mir fast nicht vorstellen, daß ein Schrittmotor, egal ob unipolar oder bipolar, irgendwelche Ungleichheiten in der Bewegung macht. Diese Teile sollten absolut symetrisch und präzise laufen. Ich tippe auf die Ansteuerung oder den Hardwaretreiber.

@ Realizer
Nein ist kein Widerspruch.

@ WalterM
Ist nichts kaputt. Du hast eine zu kleine Versorgungspannung. Die muß sehr viel größer, als die nominelle sein und mit dem Schrittmotortreiber begrenzt Du den Strom des Schrittmotors.

Die Treiber-Platine die Du benutzt hat einen TA8435HQ. cnchungary.com
Auf Seite 10 findest Du die Strommodulation für 8tel Microschritt.

Die Mikroschritte funktionieren folgendermaßen.

Wenn man beide Spulen des Motors mit je 71% Nennstrom ansteuert dann positioniert sich der Rotor zwischen den beiden Polzähnen, also 45 grad. (360 Grad sind eine volle Schrittfolge und entsperchen 4 Schritten)

Wenn man bei einer Spule jetzt mit 40% und 91% Nennstrom ansteuert dann positioniert sich der Rotor zwischen 0 Grad und 45 Grad genaugesagt 22,5 Grad.

Bei mehr Mikroschriten ist die Unterteilung feiner.

Damit dei Mikroschritte funktionieren muß der Strom Durch den Treiberbaustein begrenzt werden. Dieser macht es indem der Strom durch die Spulen des Motorsgemessen wird (R1 bis R4 auf http://www.markusmechatronics.com/Schematic_TA8435HQ_SCREEN.jpg , Rnf auf dem Datenblatt)
Über eine Komparator vergleicht der Baustein die Spannung über die Strommeßwiderstände mit einer Referenzspannung und schaltet bei Erreichen dieser die Treiberstufe aus, sodaß im Endefekt der Strom begrenzt wird. Die Referenzspannung wird über einer Referenzspannung zusammen mit einem Zähler und einem nicht linearen DAC erzeugt. Siehe Blockschaltbild Seite 2 des obengenannten Datenblatts des TA8435.

Die Strombegrenzung erfolgt durch Abschalten der Treiberstufe und Wiedereinschalten nach einer gewissen Latenzzeit. Dies ist besser auf Seite 9 eines ähnichen Treibers erklährt. http://www.allegromicro.com/en/Products/Part_Numbers/4983/4983.pdf

Nun zu Deinem Problem.
Der Strom durch die Windungen des Schrittmotors wird ohne Regelung durch 3 Parameter bestimmt: der Versorgungsspannung, dem Windungswiderstand und der Windungsinduktivität.
Die Induktivität hat umso mehr Einfluß je schneller die Ansteuerungfrequenz ist.
Die Induktivität versucht den Strom langsam ansteigen zu lassen. Nach diesem "langsamen" Ansteigen des Stroms bedingt durch die Induktivität gilt das Ohmsche Gesetz I= U/Rmotor.

Beim Motortreiber mußt Du Vref so einstellen daß Nennstrom am Motor fließen. (Vollschritte einstellen und eine Spule versorgen und nachmessen ( Ampermeter oder an R1 bis R2)

Wenn jetzt Die Versorgungspannung zu gering ist wird der Strom durch den Spulenwiderstand begrenzt und der Sinusförmige Strom abgeschnitten. Darum siehst Du, daß die Zwischenschritte nicht alle gemacht werden weil zb der Strom bei 50% begrenzt wird und nicht größer werden kann um die weiteren Schritte bis 100% zu machen ( das sind in meinem Beispiel 9 von 16 Schritten) Da aber zB 0% und 50% (der beiden Motorwindungen) wieder ein (etwas leistungsschwacher) Vollschritt ist verlierst Du keine Schritte.

Hoffe etwas verständlich gewesen zu sein. Das war jetzt ein Roman....

@jan4321
Der Motor, den Du nennst, ist bei Pollin leider ausverkauft, aber Du hast ihn ja schon.
http://www.eminebea.com/content/html/en/motor_list/pm_motor/pdf/pm42l048.pdf

Grüße Uwe

WOW !
@uwefed, sehr ausführlich und hilfreich für alle die hier im Forum lesen ! :slight_smile: Danke, schon wieder was dazugelernt.

Danke Realizer

Hoffe ich kann WalterM helfen.

Grüße Uwe

Vielen Dank Realizer und besonders Dir, Uwe.

Zu dem verwendeten Motor: Typ STH-56D111. Nennspannung 9V bei einem Nennstrom von 0.47A.
Er hat 4 Wicklungen deren Enden einzeln herausgeführt werden. Somit ist der Motor bipolar und unipolar verwendbar. Jede Wicklung hat 19 Ohm und da hier im Bipolarbetrieb verwendet, sind 2 in Reihe geschaltet, also = 38 Ohm.
Mein Steckernetzteil steht auf Stufe 12V, gibt aber, auch im Leerlauf, nur 11,4V ab. Eine 1N4001 in Reihe, wie im Schaltplan eingezeichnet, habe ich zum Verpolschutz nicht verwendet um die Betriebsspannung nicht noch weiter zu reduzieren.
Teilt man nun 11,4V durch 38Ohm so ergibt das 0.3A für jede Phase. Somit kann der Motornennstrom garnicht erreicht werden. Sollte man deshalb vielleicht beide Wicklungen nicht in Reihe, sondern parallel schalten?
Auch begrenzt nicht der Motortreiber den Strom, was lt. Uwe nötig wäre, sonder die zu geringe Betriebsspannung, bzw. der auf 1.5A eingestellte Motortreiber. Wie wäre es, wenn ich den auf z.B. 0.25A vorgebe?

Klar, am besten wäre eine höhere Betriebsspannung. Aber geht es nicht auch durch Parallelschalten bzw. durch die erwähnte Stromvorgabe von 250mA?

Gruß, Walter

P.S. Möchte aber hier nicht den Thread von Jan4321 für meine Fragen [ch8222]mißbrauchen[ch8220]. Sollte ich evtl. einen neuen öffnen?

Hallo Walter
ich glaube den Thread von Jan4321 haben wir schon versaut.

Wenn Du die 2 Windungen paralellschaltest dann hast Du ca 9,5Ohm und ca 0,9A Nennstrom bei einer Nennspannung von 4,5V.
Du brauchst ein Starkes Netzteil das Dir mindestens 1,5A besser 2A gibt.
Versuch mal das.

Die Strombegrenzung auf 250mA herunterzugeben ist auch möglich, ich weiß aber nicht ob der Treiber-Baustein das zuläßt. Mußt Du im Datenblatt schauen.

Grüße Uwe

Hallo WalterM,
ich glaube nicht dass der Thread wirklich versaut wurde. Jan4321 wird davon später auch profitieren können.

Wegen dem Netzteil, derartige Steckernetzteile würde ich für solche Leistungsgeschichten eher meiden. Wenn ich kein vernünftiges Labornetzteil habe, dann benutze ich ein Netzteil aus einem ausgedienten PC. Diese bringen ganz ordentlich Leistung. Wie man diese ansteuert, bzw verwendet, findest du im Internet innerhalb weniger Minuten. Da hast du 5 und 12 Volt mit kräftigen Strom.

Habe nun mal den Motorstrom mittels zweier 3,3Ohm-Widerstände auf dem MarkusMechatronics Board auf 240mA pro Phase begrenzt. Und siehe da, der Drehteller läuft nun sauber, d.h. die Mikroschritte sind gleich groß. Den vollen Nennstrom von 470mA braucht der Drehteller auch nicht, da nur sehr langsam gedreht wird und die Objekte zum Scannen genau mittig stehen, heißt das Massenträgheitsmoment wirkt gering.

Ja, Realizer, das mit dem Netzteil ist immer so eine Sache und es kommt auch drauf an, für wen es sein soll. Da ich auch für Andere entwickle und baue, sollten sie möglichst klein, handlich und natürlich preiswert sein.
Nun gleich noch eine Frage: Wie sieht es bzgl. Störungen gegenüber dem Arduino mit getakteten Netzteilen aus? Gibt es da evtl. negative Erfahrungen?

Hallo
@ Realizer
Ein PC Netzteil hat einige Eigenheiten. Das Hauptprobelm ist, daß diese Netzteile für eine Grundlast gebaut werden. Ohne Last auf der 5V schiene kann es passieren, daß das Netzteil gar nicht funktioniert oder die Ausgangsspannung schwingt.
Darum braucht es etwa 1A verbrauch auf dem 5V Ausgang.
@ Walter
Schön, daß ich Dir helfen konnte und alles "RUND" läuft.
Mir ist nichts bezüglich Problemen mit Schaltnetzteilen und Arduino bekannt, außer dem oben beschriebenen.
Sehr nette Netzteile sind solche für Festplatten die bei ATA - SATA - USB - Interfaces beiliegen. Die haben 5V und 12V und 2A (wenigstens meines).

Grüße Uwe