RAPS128 Schrittmotortreiber

RAPS128 ist die Abkürzung für "RAADS Power Stepper Driver with 1/128 Microstepping". Die Baugröße entspricht den beliebten Pololu-Treibern und die Pinbelegung ist kompatibel, aber nicht identisch. Die Treiber können auch auf RAMPS, Rumba und anderen RepRap-Elektroniken eingesetzt werden, wobei 8-Bit-Elektroniken i.d.R. zu langsam für 1/64 und 1/128 Microstepping sind.

Spezifikation:

Bilder (zum Vergrößern anklicken):

RAPS128 von oben

Oberseite. Drehung des VREF-Potis im Uhrzeigersinn erhöht den Strom.

RAPS128 von unten

Unterseite mit 17 Bauteilen auf kleinstem Raum :-)

RAPS128 auf RADDS-Board

Mit Kühlkörper auf RADDS-Board. Die Pfeile zeigen die Messpunkte für die Referenzspannung (Poti-Schleifer und Masse).

Der Schrittmotortreiber schaltet mit sehr hoher Taktfrequenz den Motorstrom ein und aus. Während einer Einschalt-Phase wird der durch die Motorspule fließende Strom gemessen und wieder abgeschaltet, wenn er den mittels Referenzspannung eingestellten Strom erreicht hat. Dieser Spitzenstrom fließt nicht im Mittel und kann daher nicht einfach - z.B. anhand der Anzeige eines Labor-Netzteils - gemessen werden. Die beiden folgenden Diagramme vermitteln einen Eindruck, wie Referenzspannung, Treiber-Erwärmung, mittlerer Motorstrom, Motor-Spitzenstrom und Drehmoment zusammenhängen.

Temperatur und mittlerer Strom über Referenzspannung

Temperatur des Kühlkörpers (horizontal, kein Lüfter) und mittlerer Strom in Centi-Ampere (Labornetzgerät-Anzeige) in Abhängigkeit der Referenzspannung (Poti). Empfohlener Spannungsbereich: 0,8 bis 1,6 V. Das entspricht einem theoretischen Motor-Spitzenstrom von 0,73 - 1,46 A, Gleichung: I = k U mit k = 0,91 A/V.

Drehmoment über Referenzspannung

Drehmoment eines Schrittmotors in Abhängigkeit von der Referenzspannung bei einer Drehzahl von ca. 100 U/min und 128 Mikroschritten pro Vollschritt (Messung siehe Wiki, Motor: Wantai 42BYGHW609 mit 39 Ncm bei 1,7 A (Herstellerangabe). Der laut THB6128-Spezifikation zulässige Motor-Spitzenstrom von 2,2 A (VRef = 2,4 V) ist hier überschritten.

Mit dem Decay-Poti kann der Spannungsabbau in den Motorspulen beeinflusst werden. Eine mittlere Einstellung hat sich bei vielen Nema 17 Motoren bewährt.

Dokumentation (zum Download als *.pdf bzw. *.zip Bilder anklicken):

Creative Commons
Lizenzvertrag
Dieses Werk bzw. der Inhalt steht unter einer Creative Commons 3.0 Unported License: Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen.

Schaltplan:

Schaltplan

Minimal-Anschlussbelegung:

Minimal-Anschlüsse

Maximal-Anschlussbelegung:

Maximal-Anschlüsse

Sleep-Pin (SLP): Wenn der Sleep-Pin mit einem digitalen Ausgang eines Mikrocontrollers verbunden wird, dann kann die Referenzspannung und damit der Motorstrom verändert werden. Digital LOW (0 V) reduziert den Motorstrom um ca. 45% und digital HIGH (+5 V) hebt ihn um ca. 30% an (+3,3 V => +5%). Basis der Prozentangaben ist ein nicht verbundener Sleep-Pin bzw. ein auf INPUT eingestellter Mikrocontroller-Pin.

Bei RepRap-Elektroniken ist der Sleep-Pin häufig mit Reset (RST) verbunden. In diesem Fall liefert der Sleep-Pin ca. 3 V und aktiviert damit den Treiber (RST = HIGH).

Mikroschritte, off = nicht verbunden oder Masse, on = 2 - 5 V bzw. logisch HIGH, die Nummerierung MS1 - MS3 entspricht der Mikroschalter-Nummer auf dem RADDS-Board:

mode MS3 MS2 MS1
1 off off off
1/2 off off on
1/4 off on off
1/8 off on on
1/16 on off off
1/32 on off on
1/64 on on off
1/128 on on on

Zum Einstellen der Mikroschritte muss das RADDS-Board vom Arduino-DUE abgenommen werden. Um dies zu vereinfachen, wurde ein Demontagewerkzeug erstellt.

Die empfohlenen Kühlkörper sind ICK PGA 6 x 6 x 14 von fischerelektronik. Anders als die Typbezeichnung erwarten lässt, sind sie 14 x 14 x 14 mm groß.


Demontage-Werkzeug:

Demontage-Werkzeug

STL und
OpenSCAD
Dateien
downloaden:

demount.zip downloaden


RAPS128 mit Kühkörper:

RAPS128 Kühler

aktuelle Version in blau mit grünem Kühkörper:

RAPS128 grün blau

Schrittmotor-Tester (zum Download als *.pdf bzw. *.zip Bilder anklicken):

Die Entwicklung des RAPS128-Treibers resultierte aus einem Treibertest (YouTube). Der dabei eingesetzte Schrittmotor-Tester ist hier dokumentiert.

Die Basis ist ein Arduino Nano. Der Aufbau erfolgte auf einer Lochraster-Platine mit jeweils 3 verbundenen Bohrungen. Auf die Lochraster-Platine sind Buchsenleisten (Reichelt) gelötet, in die der Arduino Nano und der Motor-Treiber gesteckt werden. Die im Schaltplan eingezeichneten Kondensatoren sind unter dem Nano (Elko mit 10 µF, min 6,3 V) und dem Treiber (Elko mit 100 µF, min 25 V) versteckt. Zum Download steht nur der Schaltplan zur Verfügung, da die Verdrahtung sehr einfach ist und kein Platinen-Layout erstellt wurde.

Geschwindigkeit und Drehrichtung werden über ein Poti eingestellt (Mitte = Stillstand). Die Drehzahl-Regelung ist nicht-linear, wodurch die Drehzahl auch so klein eingestellt werden kann, dass man fast die Mikroschritte "mitzählen" kann. Eine Einstellung der Microschritte (1/2, 1/4, ...) ist im Programm-Code möglich. Ebenso muss im Programm-Code je nach Treiber das ENABLE-Signal entweder auf HIGH (THB6128) oder LOW (Pololu-Treiber) eingestellt werden. Die maximale Geschwindigkeit liegt bei gut 100 kHz des STEP-Signals. Das Programm funktioniert nur mit dem Nano! Da aus Geschwindigkeitsgründen die Ports direkt (nicht über digitalWrite()) gesetzt werden, besteht die Gefahr, dass bei anderen Arduino-Boards die serielle Verbindung unterbrochen wird und nur noch eine ISP-Programmierung das Board rettet.

Im Bild links ist ein "Schatten" zu sehen, der einen Winkel von rund 30° einschließt. Dieser Schatten ist die Bewegungsunschärfe einer Schraube bei der Belichtungszeit von 1/200 s. Daraus ergibt sich die Drehzahl zu rund 1000 U/min und die Stepper-Ansteuerung zu 53 kHz, was bei dem Motor bei 12 V das Maximum ist. Danach treten Schrittverluste auf.

Schrittmotor-Tester:

Schrittmotor-Tester aufgebaut

Schaltplan:

Schaltplan downloaden

Programm (Arduino-IDE):

Programm downloaden