Schritt für Schritt zum Schrittmotor, auch für Anfänger und ohne Löten

  • Hallo,

    auf den ersten Blick mag das Thema Schrittmotoren nicht so ganz in ein Mikroskopieforum passen. Sieht man sich die Eigenschaften von diesen Motoren gemeinsam mit speziellen Motortreibern jedoch genauer an und denkt sich diese z.B. statt der Hand am Feintrieb, wird es gerade für den Bereich Stacking interessant. Die üblichen Schrittmotoren haben meist die Fähigkeit sich mit 1,8 Grad pro Schritten zu drehen, also 200 Schritte pro Umdrehung, wobei jeder einzelne dieser Schritte exakt wieder angefahren werden kann. Um nun aus den 200 Schritten/Umdrehung mehr zu machen kann man entweder ein Getriebe benutzen, oder eben einen elektronischen Motortreiber benutzen. Diese Treiber unterteilen die 1,8 Grad Schritte noch einmal in sogenannte Microsteps, wobei diese je nach Model 1/8, 1/16, 1/32, u.s.w der Schrittweite des Motors betragen können. In diesen Beitrag werde ich zeigen wie der Betrieb eines solchen Motors mit einem Raps128 Schrittmotortreibers und deren Steuerung mithilfe eines Arduino Uno funktioniert. Wie der Name schon andeutet handelt es sich um den Raps128 Treiber um einen 1/128 Microstep Treiber. Er macht also aus 200 Schritte/Umdrehung ganze 25600 Schritte/Umdrehung, oder 0,014° Drehung/Schritt, damit ist durchaus schon was anzufangen.

    Natürlich geht es nicht ohne einzukaufen, deshalb hier 2 Linklisten. Eine deutlich günstigere und eine mit langlebigeren Links, da die Günstigere auf ebay Angeboten aus Fernost basiert.
    Günstiger:
    400 Kontakte Steckbrett Solderless Breadboard Experimentierboard Steckplatine | eBay
    Breadboard Steckbrücken Jump Line Jumper Wire 140 Roots 14 Kinds Set
    40x 20cm Male-Male jumper wire cable Kabel für Arduino Breadboard Drahtbrücken | eBay
    Schrittmotor Stepper Motor Nema17 42BYGHW609 4000g.cm1.7A 3D Drucker RepRap GBNG | eBay
    UNO R3 Rev3 Board ATmega328P ATMEGA16U2 kompatibel Arduino + USB Kabel | eBay
    3DJAKE RAPS128 Schrittmotortreiber | 3DJake.at
    4 Stück Schraubklemmblock 1.50 mm² Polzahl 2 AKZ500/2DS-5.08-V PTR Grau 1 St. zum Conrad Online-Shop | 000731877
    Elektrolyt-Kondensator radial bedrahtet 2.5 mm 100 µF 35 V 20 % (Ø x L) 6.3 mm x 11 mm Teapo SY 100uF/35V 6,3x11mm 1 St. zum Conrad Online-Shop | 000443974

    Langlebigere Links:
    Steckplatine Polzahl Gesamt 400 (L x B x H) 84 x 54 x 8.5 mm EIC-801 1 St. auf conrad.at bestellen | 000526819
    Steckbrücken-Set (L x B x H) 168 x 55.5 x 14.5 mm EIC-J-S 70 St. online auf conrad.at bestellen | 000524530
    Steckbrücke Lila 10 St. auf conrad.at online bestellen | 000528080
    electronic things - NEMA17 Schrittmotor 42BYGHW609
    Arduino Board Uno Rev3 – DIP Version ATMega328 online auf conrad.at bestellen | 001275279
    3DJAKE RAPS128 Schrittmotortreiber | 3DJake.at
    4 Stück Schraubklemmblock 1.50 mm² Polzahl 2 AKZ500/2DS-5.08-V PTR Grau 1 St. zum Conrad Online-Shop | 000731877
    Elektrolyt-Kondensator radial bedrahtet 2.5 mm 100 µF 35 V 20 % (Ø x L) 6.3 mm x 11 mm Teapo SY 100uF/35V 6,3x11mm 1 St. zum Conrad Online-Shop | 000443974
    Die Shops sind natürlich nur Beispiele von vielen und es bleibt jeden selbst überlassen ob er diese Teile dort bestellt, oder ganz wo anders. Ich selbst profitiere jedenfalls in keinster Weise von diesen beiden Listen.

    Zusätzlich brauchen wir die Arduino Software, ein Programm mit dem die Sketche (Steuerungsprogramme) erstellt und auf den Arduino hochgeladen werden.
    https://www.arduino.cc/en/Main/Software
    Eine 12 Volt Quelle mit min. 1 Ampere und eventuell ein einfacher Voltmeter.


    Ist alles geliefert, fangen wir an den Motortreiber, ein paar Drahtbrücken und den Kondensator wie auf dem Bild auf die Steckplatine zu stecken.
    zum Vergrößern anklicken
    Der Motortreiber ist ganz links und belegt dabei Zeile e und h von Spalte 1-8
    Die Drahtbrücken gehen von:
    j3 zu j4
    i3 zu i8
    d8 zu d19
    d7 zu d17
    d6 zu c15
    d5 zu c13
    c4 zu c11 und von c3 zu c9
    Der Elektrolytkondensator kommt mit seinem Minuspol auf e17 und der Pluspol auf e19. Die Polung ist bitte unbedingt einzuhalten.


    Nun werden 3 der 2 poligen Klemmen zusammengesteckt und wie folgt auf das Breadboard platziert.
    zum Vergrößern anklicken
    Die Beinchen der Klemmen kommen also auf die Positionen a9, a11, a13, a15, a17 und a19. Die rechten 2 Klemmen dienen der Motorstromversorgung (auf die Polung achten) und an die Übrigen kommt der Motor selbst.


    Nun muss der Arduino, das Gehirn des Ganzen, noch angeschlossen werden.
    ja, auch hier zum Vergrößern anklicken
    Die Verbindungen sind folgende:
    a1 zu Arduino GND (welches ist eigentlich egal)
    j1 zu Arduino Digital 7 (steuert die Laufrichtung des Motors)
    j2 zu Arduino Digital 6 ( ein kurzes Signal über diese Leitung lässt den Motor einen Schritt machen, viele kurze Signale nacheinander...)
    j5 zu Arduino Digital 5 ( )
    j6 zu Arduino Digital 4 ( diese 3 dienen zur Einstellung des Microstep-Modus des Treibers )
    j7 zu Arduino Digital 3 ( )


    Nach dem Gehirn kommt nun der Muskel und der Rest dran, aber bitte zuerst den Motor anschließen !!!
    Der Motortreiber mag es nämlich gar nicht ohne angeschlossene Last mit Strom versorgt zu werden und geht sofort kaputt.
    Größeres Bild? Ihr wisst schon..anklicken
    Von Links nach Rechts gehören nun das schwarze, grüne, blau und rote Kabel in die Klemmen fixiert, danach kommt der Minuspol und der Pluspol der noch stromlosen 12 Volt Motorstromversorgung. Spätestens jetzt sollte die Arduino Software auf dem PC installiert werden, da sie auch die notwendige Treibersoftware enthält. Der Arduino kann nun mit dem, hoffentlich mitgelieferten, USB-Kabel mit dem PC verbunden werden. Danach sollte der Treiber automatisch installiert werden (Windows, bei anderen Betriebsystemen weiß ich es nicht) und danach Wechseln wir zur Softwareebene des Ganzen.


    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    Biologisches Mikroskop: Zeiss Standard 16
    Stereomikroskop: Lomo MBS 10
    Kameras: EOS 1100D, EOS 1000D, EOS 1000Da
    Ihr aber seht und sagt: Warum? Aber ich träume und sage: Warum nicht? George Bernard Shaw

    Einmal editiert, zuletzt von Johannes Kropiunig (3. Januar 2017 um 10:28)

  • Nach dem Öffnen der Arduino IDE präsentiert sich die Benutzeroberfläche des Programms erst einmal so:
    wer mag...
    Aus dem weißen Feld wird nun alles gelöscht und folgender Code per Copy/Paste in das nun freie Feld eingefügt.

    const int MS1 = 3;
    const int MS2 = 4;
    const int MS3 = 5;
    const int Step_Pin = 6;
    const int Dir_Pin = 7;
    int Motor_Delay = 100;
    int Richtung = 0;


    void setup() {
    pinMode(Step_Pin, OUTPUT);
    pinMode(Dir_Pin, OUTPUT);
    pinMode(MS1, OUTPUT);
    pinMode(MS2, OUTPUT);
    pinMode(MS3, OUTPUT);
    digitalWrite(MS1, HIGH);
    digitalWrite(MS2, HIGH);
    digitalWrite(MS3, HIGH);
    }
    void loop() {
    for (long Einzelschritte = 0; Einzelschritte < (25600); Einzelschritte++)
    {
    digitalWrite(Step_Pin, HIGH);
    digitalWrite(Step_Pin, LOW);
    delayMicroseconds(Motor_Delay);
    }
    delay(2000);
    if (Richtung == 0) {
    digitalWrite(Dir_Pin, HIGH);
    Richtung = 1;
    } else {
    digitalWrite(Dir_Pin, LOW);
    Richtung = 0;
    }
    }


    Dieses kleine Testprogramm macht nichts anderes als den Motor 25600 Schritte machen zu lassen, Richtung wechseln, 25600 Schritte usw.. Allerdings muss es dazu erstmals auf dem Arduino hochgeladen werden. Dazu müssen wir in der Arduino IDE nachsehen, ob der richtige Arduino und die richtige COM-Verbindung eingestellt ist. Unter Werkzeuge-->Board sollte Arduino/Genuino Uno stehen, wenn nicht auswählen. Bei Werkzeuge-->Port die Leitung auswählen bei der der Arduino angezeigt wird. Unten Rechts wird diese Einstellung nun angezeigt und mit dem Anklicken des Pfeils wird der Code kompiliert und auf dem Arduino übertragen, wo er danach auch sogleich ausgeführt wird.


    Nun nochmal alles Überprüfen, sitzen die Kabeln richtig, stimmt die Polung des Kondensators und die der Motorstromversorgung? Wenn ja, ist nun die Zeit gekommen die 12 Volt fließen zu lassen. Ich gehe nun davon aus, dass sich der Motor bewegt und es fehlt eigentlich nur noch die Einstellung des VREF-Potis. Über diesen wird geregelt wie viel Strom von der Stromversorgung tatsächlich am Motor ankommt. Ist es zu wenig, fehlt es dem Motor an Kraft und er läuft von gar nicht bis gar schlecht. Ist es zu viel, wird er und der Treiber zu heiß und nehmen schaden.

    Das hier ist dieser wichtige Poti


    Wer nun ein kleiner Labornetzgerät wie dieses mit Ampere-Anzeige zur Stromversorgung nutzt ist relativ fein raus. Die Volt sollten auf genau 12 Volt eingestellt sein und der Regler für die Ampere auf voll. Nun muss nur noch der Poti mithilfe eines kleinen Kreuzschraubenziehers feinfühlig gedreht werden bis die Ampere-Anzeige sich am Labornetzgerät auf 0,34 Ampere bei laufenden Motor einpendelt.

    Ohne Labornetzgerät wird ein Voltmeter benötigt. Damit wird die Spannung zwischen eines der GND-Pins des Ardunio und der Oberfläche des Potis gemessen. Dazu wird die Masse-Leitung des Voltmeters an einen GND-Pin und die Plus-Leitung an dem Schraubenzieher geklemmt. Nun muss der Poti nur noch mit diesem Schraubenzieher so justiert werden, bis am Voltmeter eine Spannung von 1,5 Volt angezeigt wird.

    In beiden Fällen sollte der Motor nun schnurren wie eine Katze, reichlich Kraft haben und sich max. auf ca. 40°Celsius erwärmen.


    Da die Verdrahtung recht empfindlich ist, möchte ich noch empfehlen den Arduino auf ein kleines Brettchen zu schrauben und das Breadboard daneben darauf zu kleben. Das Breadboard hat dazu auf der Unterseite ein Doppelklebeband. Vier Gummifüße an den Ecken der Brettchenunterseite macht die Sache komplett. Ideal wäre natürlich das Löten der Schaltung auf zumindest einer Lochrasterplatine.


    Ich denke für den Anfang reicht es erst einmal. In Kürze folgt eine Fortsetzung welche sich noch mit dem Hinzufügen eines Optokopplers, zur Fernauslösung einer Kamera, und einer Software zu Steuerung des Ganzen beschäftigen wird. Damit dann auch wirklich Selbstbauprojekte wie mein neuer Makroschlitten sinnvoll genutzt werden können.


    Hier geht es weiter zu der Fortsetzung

    Viele Grüße,
    Johannes

    PS: Natürlich kann ich für eventuell entstehende Schäden nicht aufkommen. Wer dieser Anleitung folgt ist selbst verantwortlich für sein tun. Ich kann nur sagen, diese Anleitung habe ich nach besten Wissen und Gewissen geschrieben. Bei mir funktioniert es so, sollte sich kein Tippfehler in dieser Anleitung eingeschlichen haben, so müsste es bei genauer Befolgung eigentlich auch bei auch so sein.

    Biologisches Mikroskop: Zeiss Standard 16
    Stereomikroskop: Lomo MBS 10
    Kameras: EOS 1100D, EOS 1000D, EOS 1000Da
    Ihr aber seht und sagt: Warum? Aber ich träume und sage: Warum nicht? George Bernard Shaw

    6 Mal editiert, zuletzt von Johannes Kropiunig (6. Januar 2017 um 12:26)

    • Offizieller Beitrag

    Hallo Johannes,

    Guter und lehrreicher Beitrag, Danke !

    lg
    Franz

    --------------------------------------------------------------------------------------------------
    Die Welt wäre so schön wenn Frauen so einfach gestrickt wie die Maxwellschen Gleichungen wären --
    Mann könnte dann Störfelder berechnen und Wellen, Phasen und Ströme ....
    und die Harmonischen ganz leicht checken..

    http://interphako.at

  • Lieber Johannes,

    Eine wunderbare Anleitung, ganz hervorragend dokumentiert, die zum Nachbau anregt! Ganz herzlichen Dank!

    Bei einigen der verlinkten Bildern klappt es alerdings (bei mir) nicht: Da kommt die Meldung "Sie haben einen ungültigen oder nicht mehr gültigen Link aufgerufen".

    Z.B. bei Breadbord-Treiber-Brücken-Klemmen.jpg

    Vielleicht lässt sich dies noch korrigieren.

    Mit herzlichen Mikroskopikergrüßen,

    Alfons

  • Hallo,

    das mit den Bildern tut mir leid. Bei mir wurden sie angezeigt, wahrscheinlich weil sie noch im Cache waren. Ich kann mir nur vorstellen, dass es mit der Vorschau zusammenhängt. Betätigte ich diese nämlich, waren plötzlich alle Dateianhänge verschwunden welche ich zuvor beim erstellen des Beitrags hochgeladen hatte. Angezeigt wurden sie trotzdem und dachte es ging so in Ordnung. Ein Fall für den Bugtracker, oder Bedienungsfehler meinerseits? Ich meine nun alle fehlenden Bilder nochmal eingefügt zu haben und es sollten jetzt insgesamt 8 Bilder zu sehen sein. Falls nicht, bitte noch einmal Bescheid geben.

    Ansonsten bedanke ich mich herzlich für euer Lob und würde mich wirklich darüber freuen wenn es jemand versuchen würde. Zwar mag der Aufwand ein wenig abschreckend sein, aber die Teileliste ist eigentlich eine gute kleine Basis für andere Spielereien mit dem Arduino. Insgesamt findet sich wohl inzwischen für für fast alles irgendeine Anwendung für dieses Ding im Internet.

    Viele Grüße,
    Johannes

    Biologisches Mikroskop: Zeiss Standard 16
    Stereomikroskop: Lomo MBS 10
    Kameras: EOS 1100D, EOS 1000D, EOS 1000Da
    Ihr aber seht und sagt: Warum? Aber ich träume und sage: Warum nicht? George Bernard Shaw

    • Offizieller Beitrag

    Hallo Johannes,

    Danke für den schönen Beitrag, da hast du dir ja richtig Mühe gemacht! :thumbup:
    Wer nun nachbauen möchte, hat nun viel Futter, um in die Hände spucken zu können. :thumbup:
    Ich bin nun alle Links mal durchgegangen, bei mir wird alles angezeigt. Momentan sind die Angebote zwecks Beschaffung auch noch aktuell. Es könnte dabei eben gewisse Probleme geben, wenn sich jemand nach 2 Jahren dazu entschließt, sich etwas aufzubauen und einige Komponenten aus dem Programm gekommen sind bzw. nicht mehr angeboten werden. Aber dann wird es sicherlich Alternativen geben oder gar Verbesserungen. :)

    VG
    Bernd

  • hallo ,
    die Unterteilung der Motorschritte ist mir als Unbelektem neu , nicht , daß ich jetzt alles in Frage stellen möchte , sondern nur fragen : ob die Zwischenstellung zwischen den Motorpolen ein labiler Zustand sein kann , also etwas unruhig sein könnte . Das ist jetzt ein rein fachsimpelige Haarspalterei-frage . Ist die Vollschritt-steuerung eindeutiger ? Nebenbei glaube ich nicht , daß es für diese Anwendung Bedeutung hat .
    Danke , Johannes , für die ausführliche Anleitung .
    gruß carypt

  • Hallo carypt,

    eine gute Frage. Die Microsteps werden erreicht indem der Treiber eine PWM in sehr feiner Auflösung erzeugt, dieses bleibt nicht ohne Folgen. Wenn es blöd hergeht fangt der Motor bei bestimmten Stellungen an so zu vibrieren, das Geräusche entstehen. Bei gut justierten Treibern ein ganz leises Rauschen wenn man das Ohr auf den Motor legt, bei schlecht justierten piepst es auch so gut hörbar.Die Vollschritte mögen von daher stabiler sein, vorausgesetzt die Stromversorgung ist sehr gut geglättet. Ob es eine Relevanz hat ? Beim Stacking vermutlich nicht Ein gewaltiger Vorteil dieser vorgestellten Methode ist jedoch, es ist einfach auf Vollschrittmodus zu wechseln.
    Im Programm die Zeilen
    digitalWrite(MS1, HIGH);
    digitalWrite(MS2, HIGH);
    digitalWrite(MS3, HIGH);
    einfach ändern auf
    digitalWrite(MS1, LOW);
    digitalWrite(MS2, LOW);
    digitalWrite(MS3, LOW);
    schon hast du Vollschritte.
    Nach dieser Tabelle geht dann auch noch alles andere dazwischen.

    Eine Flexibilität welche mit Übersetzungen nicht vergleichbar ist.

    Hallo Bernd,
    stimmt, der Beitrag kam nicht so ganz aus der Hüfte geschossen wie sonst. :D Liegt auch daran, weil ich ihn schon seit langem geplant hatte und im Urlaub bin. Der andere Grund ist, die Komplexität des Ganzen, schließlich soll es am ende auch funktionieren. Ich habe schon genug Spam im E-Mail Ordner, da brauche ich keine Beschwerdebriefe dazu. :D

    Hallo Alfons,
    danke für die Bestätigung.

    Viele Grüße,
    Johannes

    Biologisches Mikroskop: Zeiss Standard 16
    Stereomikroskop: Lomo MBS 10
    Kameras: EOS 1100D, EOS 1000D, EOS 1000Da
    Ihr aber seht und sagt: Warum? Aber ich träume und sage: Warum nicht? George Bernard Shaw

  • Hallo Johannes,

    auch ich möchte mich für deine sehr gute Anleitung recht herzlich bedanken!
    Bisher ist alles leicht verständlich und sehr gut dokumentiert.
    Der Nachbau sollte sich einfach gestalten.

    Viele Grüße,
    Andy

    Gruß, Andy

  • Hallo Andy,

    gern geschehen! Ich hoffe du siehst dann morgen, oder übermorgen auch bei der Fortsetzung rein.

    Viele Grüße,
    Johannes

    Biologisches Mikroskop: Zeiss Standard 16
    Stereomikroskop: Lomo MBS 10
    Kameras: EOS 1100D, EOS 1000D, EOS 1000Da
    Ihr aber seht und sagt: Warum? Aber ich träume und sage: Warum nicht? George Bernard Shaw

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!