Hier handelt es sich um eine beliebte und weit verbreitete Schaltung zum Ansteuerung von stärkeren Schrittmotoren mit bis zu 2A Phasenstrom. Dabei kann der Phasenstrom durch einen Regler (Spindeltrimmer) fest eingestellt werden. Die Strom-Regelung (Chopper Betrieb) sorgt für optimale Leistung der Motoren und erlaubt den Betrieb mit Motoren unterschiedlichster Nennspannung.
Die Schaltung ist sowohl für Roboter- aber auch für andere Anwendungen wie Eigenbau Fräsen sehr gut geeignet.
Die Schaltung wird ausschließlich über Takt- und Richtungssignale gesteuert. Die Schritte müssen also im Gegensatz zu intelligenten Schrittmotorsteuerungen wie RN-Schrittmotor, durch das Steuerboard/PC als Takt vorgegeben werden. Die Schaltung eignet sich daher vornehmlich für Anwender mit etwas Schrittmotor- und ein wenig Programmiererfahrung. Bis zu 30 Volt Motorspannung und Phasenströme bis maximal 2A sind möglich!
Aufbauhinweise zum Schrittmotor-Treiber
Der Aufbau der Schaltung ist durch eine vorgefertigte Platine erheblich leichter als mit Lochraster. Ein erprobter Platinenentwurf steht in diesem Artikel zum Download bereit. Zahlreiche Leiterplattenhersteller können genutzt werden um daraus eine Platine anzufertigen zu lassen. ! fertigen daraus in dieDie überschaubare Anzahl an Bauelementen erlaubt auch ungeübten Elektronik-Einsteigern einen einfachen Aufbau. Durch den Bestückungsdruck und die Bestückungsliste, etwas weiter hinten in dieser Dokumentation, ist der Aufbau unkritisch. Auf schwierig zu lötende und schwierig reparierbare SMD Teile wurde absichtlich verzichtet. Die Schaltung ist je nach Erfahrung in ca. 30 Minuten aufgebaut.
Dennoch einige Anmerkungen zu kleinen Hürden:
1. Bei den Netzwerkwiderstand RN1 auf die Polung achten. Der kleine Punkt auf dem Bauteil muss auf der Seite liegen wo die kleine 1 auf der Platine aufgedruckt ist.
2. Bei den Kondensatoren (Elkos) die Polung beim Einlöten beachten. Diese ist auf Bauelementen und Platine aufgedruckt.
3. Nicht vergessen das das IC 2 gesockelt wird. Also erst Sockel einlöten und dann IC einsetzen.
4. Beim Betrieb sollte ein Kühlkörper an den L298 angebracht werden. Dieses IC ist so plaziert, das es auch an eine Gehäusewand oder Kühlfläche montiert werden kann. Bei längerer Dauerbelastung sollte der Kühlkörper entsprechend groß sein.
5. Beim Einlöten der Motortreiber IC´s L298 ist eventuell zu bedenken das diese eine genaue Höhe einnehmen müssen, damit diese später bequem an einen Kühlkörper geschraubt werden kann
Das waren eigentlich schon die besonderen Punkte die zu beachten sind. Ansonsten natürlich sauber mit einem 10–25 W Lötkolben alles auf der Unterseite verlöten. Grundkenntnisse beim Löten werden empfohlen.
Nach dem Aufbau sollten Sie noch mal alle Lötpunkte kontrollieren. Wenn Sie dann Spannung anlegen, dann sollten in etwa 50 bis 100 mA Strom fließen. Ist der Strom deutlich höher, dann deutet das auf ein Lötfehler hin.
Erläuterung der Anschlüsse, Regler und Kurzschlussbrücken der Schrittmotor Schaltung
Motor
Anschluss den Schrittmotor
Über diese 4 polige Schraubklemme (steckbare Schraubklemme) wird ein Schrittmotor angeschlossen. Dabei ist darauf zu achten das eine Wicklung an die beiden linken und eine Wicklung an die beiden rechten Schraubklemmen angeschlossen wird.
Dreht sich später ein Motor nicht, so muß eine Wicklung umgepolt werden. Dreht der Motor falsch herum, dann Wicklungen umtauschen.
Die Motoren werden bipolar angesteuert. Das bedeutet das eine eventuelle Mittelanzapfung an der Motorwicklung nicht benötigt wird.
Es können Motoren von Nennspannungen ab 1V bis zur Motorspannung (max. 30V) angeschlossen werden.
Power
Motorspannung
Über diese Schraubklemme wird die Motorspannung angelegt. Es reicht eine unstabilisierte Gleichspannung von ca. 7 bis maximal 30V aus Damit das Board den Strom optimal regeln kann, sollte diese Spannung immer höher sein als die Nennspannung des Motors.
Plus + und Minus – sind auf der Platine markiert, von hinten gesehen ist Plus links!
MOTCTRL
Ansteuerung
Diese TTL kompatible Buchse nach Roboternetz-Definition dient zum Ansteuern des Schrittmotors und zur Versorgung des Boardes mit 5V Logikspannung.
Die Belegung entspricht den üblichen Datenportsteckern wie z.B. bei RN-Control etc.)
Pinbelegung
Pin 1 Clock/Takt (bei GND Flanke bewegt sich Motor einen Schritt)
Pin 2 CW/CCW (Drehrichtung, Pullup vorhanden)
Pin 3 RESET (Pullup vorhanden)
Pin 4 CNTL
Pin 5 H/F (Halb- oder Vollschritt, Pullup vorhanden)
Pin 6 Enable (Motor wird durch GND ausgeschaltet, Pullup vorhanden)
Pin 7 SYNC
Pin 8 HOME
Pin 9 GND / Masse
Pin10 Logikspannung +5V (dient zur Versorgung der Schaltung)
Oft werden nur einige Leitungen zur Ansteuerung benötigt, die anderen können unbelegt bleiben. Die wichtigsten Leitungen sind fett markiert.
JP1
Ansteuerung
Alternativ zur oberen Buchse MOTCTRL kann auch diese fünfpolige Stiftleiste zur Ansteuerung des Boards dienen, die wichtigsten Leitungen sind ebenfalls hier heraufgeführt.
Pinbelegung
Pin 1 Logikspannung +5V (dient zur Versorgung der Schaltung)
Pin 2 GND / Masse
Pin 3 Enable (Motor wird durch GND ausgeschaltet, Pullup vorhanden)
Pin 4 CW/CCW (Drehrichtung, Pullup vorhanden)
Pin 5 Clock/Takt (bei GND Flanke bewegt sich Motor einen Schritt)
Spindeltrimmer R1
Motorstrom festlegen
Über diesen Spindeltrimmer wird eine Referenzspannung eingestellt, die man an der nachfolgenden zweipoligen Stiftleiste UREF mit einem Multimeter messen kann.
Die Höhe der Referenzspannung legt den maximalen Motorstrom fest.
Die notwendige Referenzspannung berechnet sich aus folgender Formel:
Vref=Motorstrom * 0,51
Beispiel:
Für 1 Ampere müsste somit 0,51 Volt eingestellt werden (1*0,51=0,51V).
UREF
Referenzspannung messen
An dieser zweipoligen Stiftleiste sollte man ein Multimeter (Spannungsmessgerät) anschließen wenn man die Referenzspannung zur Wahl des Motorstroms einstellt.
Schaltplan zum Schrittmotor-Treiber
Bestückungsplan zum Schrittmotor-Treiber
Schrittmotor Ansteuerung mit einem Controllerboard
Das nachfolgende Programm demonstriert wie man den Schrittmotortreiber RN-Stepp297 an ein Controllerboard anschließt und wie man den Motor per Software zum drehen bringt. Zur Demonstration verwenden wir das universelle Controllerboard RN-Control, es könnte natürlich auch jedes andere Board z.B. ein Arduino verwendet werden. Um möglichst wenig Ports zu belegen verwenden wir die fünfpoligen Stiftleiste zum Ansteuern. Neben +5V und GND müssen wir hier nur noch 3 Ports PA0 bis PA2 opfern. Auf dem Bild kann man leicht die Verkabelung erkennen.
Als Motor verwenden wir in unserem Beispiel den Sanyo Denki Schrittmotor Typ 103-770-1640, natürlich kann auch jeder andere Schrittmotor genutzt werden. In unserem Fall müsste der Stecker wie folgt an das Kabel geschraubt werden:
Von links nach rechts (von hinten gesehen): blau , blau/weiss , rot, rot/weiss
Dieser verwendete Motor hat einen maximalen Phasenstrom von 1,4A pro Wicklung. Wir müssen somit die Referenzspannung wie folgt berechnen: Vref=1,4 * 0,51
Das ergibt 0,71 Volt. Wir müssen somit das Board unter Spannung setzen (vor allem Logikspannung) und ein Spannungsmesser an UREF anschließen. Nun drehen wir an de roberen Schraube solange bis 0,71 Volt angezeigt wird, das war´s. Natürlich reicht es für den Test auch aus wenn wir einen viel niedrigeren Strom nutzen, wenn der Motor nicht so stark belastet werden soll nehmen nimmt man nur die Hälfte oder ein Drittel, dadurch erwärmt sich der Motor im Stand auch nicht so stark.
Das Basic-Programm demonstriert wie man Motor ein- und ausschaltet und wie man auf einfache Weise Taktimpulse erzeugt die den Motor genau 1 Umdrehung machen lassen. Der Quellcode ist selbsterklärend.
- Taste 1: Schaltet Motorstrom ein (Stellung wird gehalten)
- Taste 2: Bewegt Motor genau 400 Halbschritte (1 Umdrehung bei den meisten Motoren)
- Taste 3: Bewegt Motor schneller genau 400 Halbschritte
- Taste 4: Ändert die Drehrichtung
- ‘Taste 5: Schaltet Motor aus
Bascom-Programm für Schrittmotor Ansteuerung
'################################################### 'Schrittmotoransteuerung mit RN-Control und 'Ansteuerungsboard RN-Stepp297 'RN-Stepp297 ist die bekannt Standardschaltung 'mit L297 und L298 'rn_stepp297_beispiel ' ' ' RN-Stepp97 wird wie folgt angeschlossen ' Enable auf PA0 / Richtung auf PA1 / Takt auf PA2 ' 'Aufgabe: ' Dieses Testprogramm zeigt wie man RN-Stepp297 ' über Takt- und Richtungsleitung ansteuert ' Den verschiedenen Tasten sind bestimmte Funktionen zugeordnet ' Taste 1: Schaltet Motorstrom ein (Stellung wird gehalten) ' Taste 2: Bewegt Motor genau 400 Halbschritte (1 Umdrehung bei den meisten Motoren) ' Taste 3: Bewegt Motor schneller genau 400 Halbschritte ' Taste 4: Ändert die Drehrichtung ''Taste 5: Schaltet Motor aus ' 'Autor: Frank 'Weitere Beispiele und Beschreibung der Hardware 'unter https://www.mikrocontroller-elektronik.de/ 'und http://www.roboternetz.de/ '############################################################## $programmer = 12 'MCS USB (Zeile weglassen wenn anderer Programmer) ' -------------- RN-Control übliche _____________________ Declare Function Tastenabfrage() As Byte $regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 64 $crystal = 16000000 'Quarzfrequenz $baud = 9600 Config Scl = Portc.0 'Ports fuer IIC-Bus Config Sda = Portc.1 Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung Config Pina.7 = Input 'Für Tastenabfrage Porta.7 = 1 'Pullup Widerstand ein Dim Taste As Byte Dim Ton As Integer I2cinit Start Adc Sound Portd.7 , 400 , 450 'BEEP Sound Portd.7 , 400 , 250 'BEEP Sound Portd.7 , 400 , 450 'BEEP Print Print "**** RN-CONTROL V1.4 *****" Print "Demoprogramm um Zusatzboard RN-Stepp297 zu testen/demonstrieren" Print ' -------------- Ende RN-Control übliche _____________________ Config Pina.0 = Output Stepper_enable Alias Porta.0 Config Pina.1 = Output Stepper_richtung Alias Porta.1 Config Pina.2 = Output Stepper_takt Alias Porta.2 Dim I As Integer Stepper_enable = 0 ' Erst mal aus Do Taste = Tastenabfrage() If Taste <> 0 Then Select Case Taste Case 1 'Schaltet Motorstrom ein Stepper_enable = 1 Case 2 'Bewegt Motor genau 400 Halbschritte (1 Umdrehung bei den meisten Motoren) For I = 1 To 400 Stepper_takt = 0 : Waitus 1 : Stepper_takt = 1 Waitms 30 Next Case 3 For I = 1 To 400 Stepper_takt = 0 : Waitus 1 : Stepper_takt = 1 Waitms 5 Next Case 4 Toggle Stepper_richtung Case 5 'Schaltet Motor aus Stepper_enable = 0 End Select Sound Portd.7 , 400 , 500 'BEEP End If Waitms 100 Loop End ' Diese Unterfunktion fragt die Tastatur am analogen Port ab ' Sollte beim betätigen einer Taste kein Quittungston kommen, dann ' muss die die Tastenabfrage (Select Case Anweisung in Funktion ) ' an ihr Board angepaßt werden. Widerstandstoleranzen sorgen in ' Einzelfällen manchmal dafür das die Werte etwas anders ausfallen ' Am besten dann den WS wert mit Print für jede Taste ausgeben lassen Function Tastenabfrage() As Byte Local Ws As Word Tastenabfrage = 0 Ton = 600 Ws = Getadc(7) ' Print "ws= " ; Ws If Ws < 1010 Then Select Case Ws Case 400 To 455 Tastenabfrage = 1 Ton = 550 Case 335 To 380 Tastenabfrage = 2 Ton = 500 Case 250 To 305 Tastenabfrage = 3 Ton = 450 Case 180 To 220 Tastenabfrage = 4 Ton = 400 Case 100 To 130 Tastenabfrage = 5 Ton = 350 End Select Sound Portd.7 , 400 , Ton 'BEEP End If End Function
Bauteile Bestückungsliste / Bestellliste
Platinenbezeichnung Beschreibung Bestellnummer/Bezugsquelle C1 Keramik Kondensator 100n Bezugsquelle Reichelt* C2 Elko 2200uF 35V Bezugsquelle Reichelt* C3 Elko 470uF 6,3V Bezugsquelle Reichelt* C4 Keramik Kondensator 3,3n Bezugsquelle Reichelt* C5 Keramik Kondensator 100n Bezugsquelle Reichelt* D1 Diode BYV 27/200 Bezugsquelle Reichelt* D2 Diode BYV 27/200 Bezugsquelle Reichelt* D3 Diode BYV 27/200 Bezugsquelle Reichelt* D4 Diode BYV 27/200 Bezugsquelle Reichelt* D5 Diode BYV 27/200 Bezugsquelle Reichelt* D6 Diode BYV 27/200 Bezugsquelle Reichelt* D7 Diode BYV 27/200 Bezugsquelle Reichelt* D8 Diode BYV 27/200 Bezugsquelle Reichelt* IC1 Motortreiber L298 L 298 Bezugsquelle Reichelt* IC2 Steppertreiber L297 Bezugsquelle Reichelt* JP1 Stiftleiste 5polig Bezugsquelle Reichelt* MOTCTRL Wannenbuchse 10pol Bezugsquelle Reichelt* MOTOR Wannenbuchse 4 pol gewinkelt Bezugsquelle Reichelt* POWER Wannenbuchse 2 pol gewinkelt Bezugsquelle Reichelt* R1 Spindeltrimmer stehend Bezugsquelle Reichelt* R2 Widerstand 22K Bezugsquelle Reichelt* R3 Drahtwiderstand 0,51 Ohm 5W Bezugsquelle Reichelt* R4 Drahtwiderstand 0,51 Ohm 5W Bezugsquelle Reichelt* R5 Widerstand 2,7K Bezugsquelle Reichelt* RN1 Netzwerkwiderstand 5x1k Bezugsquelle Reichelt* UREF Stiftleiste 2 polig Bezugsquelle Conrad* Zusätzlich notwendig: 1 Stück IC-Fassung/Sockel 20 polig Bezugsquelle Reichelt* 4 Stück Befestigungsbolzen Bezugsquelle Reichelt* 1 Stück Stecker für Motorspannung Bezugsquelle Reichelt* 1 Stück Stecker für Motor Bezugsquelle Reichelt* 1 Stück Kühlkörper Bezugsquelle Reichelt* 2 Stück Flachkabel Stecker Bezugsquelle Reichelt* 1 Stück Flachkabel Bezugsquelle Reichelt* Alle Angaben ohne Gewähr
Downloads
Eagle-Dateien (ZIP)
Bascom Beispielprogramme (ZIP)
Leiterplatte zum Projekt bestellen
Neu! Die Leiterplatte für dieses Projekt ist direkt über den Shop PlatinenCenter erhältlich. Da die Platinen dort vorgefertigt werden, sind diese sehr preiswert lieferbar.
Individuelle Leiterplatten
Möchtest du keine vorgefertigte Leiterplatte, weil Du vielleicht vorher Änderungen an dem Layout vornehmen möchtest, dann empfehlen ich die Anbieter auf unserer Leiterplatten-Service Seite.
Das Leiterplattenangebot ist ein Service Angebot der jeweiligen Anbieter. Bei Fragen bezüglich Lieferung und Preis bitte dort nachfragen!
Weblinks zum Thema
- Forum für Diskussionen
- Bascom
- Schrittmotor Erläuterungen in RN-Wissen
- passendes Controllerboard RN-Control
Weitere Bezugsquellen
- für Schrittmotoren z.B. hier bei Ebay* oder Amazon*
- andere Schrittmotortreiber hier bei Ebay*
Hilfreiche Bücher zum Thema
Letzte Aktualisierung am 2025-01-03 / * Affiliate Links
Geeignete Lötstation bzw. Lötkolben
Letzte Aktualisierung am 2025-01-03 / * Affiliate Links
Weitere Hinweise
Vor dem Aufbau bitte nachfolgende Hinweise lesen:Das Projekt unterliegt einer CC-Lizenz - Lizenzhinweis (zum Aufklappen anklicken)
Falls Dir der Beitrag gefallen oder geholfen hat kannst Du dem Autor aber gerne durch eine kleine Spende Danke sagen!
Kann man das RN-Stepp297-Modul als Komplettbausatz oder Fertigmodul irgendwo erwerben? Zwar fand ich in manchen Foren einige Posts, die darauf hinwiesen, aber nirgendwo einen Shop oder dergleichen.
Vielen Dank im Voraus!
Die Schaltung gab es als Bausatz, leider jetzt nicht mehr da es den Shop nicht mehr gibt. Aber du kannst dir leicht selbst Bausatz zusammenstellen, die Bezugsquellen aller Teile sind in dem Beitrag angegeben.