--- still under construction ---
Artikel wie prinzipiell ein Schrittmotor aufgebaut ist, gibt es zuhauf
und es macht meiner Meinung nach keinen Sinn,
ein weiteres Häufchen (Info natürlich) mit Ähnlichem dazu zu packen.
Leider gibt es auch Themen worüber strikt geschwiegen wurde,
oder ich es einfach bisher nicht gefunden habe,
welche ich aber immanent wichtig empfinde.
Und diese Lücke versuche ich nach besten Wissen und Gewissen zu füllen.
Jeder kennt den Zusammenhang, wenn ich
zwei anziehende Magnete nebeneinander halte.
Je geringer der Abstand, desto größer die Kraft.
Ebenso verhält es sich beim Schritt-Motor mit Stator und Anker.
Es werden also bevorzugt Positionen aufgesucht,
wo die Summe der Luftspalte am kleinsten ist.
Das bedeutet, das wenn ich den Motor ideal sinusförmig ansteuere,
die Bewegung mehr oder weniger linear ist (Mikrostep-Betrieb).
Vier Elektrische 90° entsprechen vier mechanischen Vollschritten.
Jeder Vollschritt (bei 1,8° sind das 200 stk je mechanischer Umdrehung)
kann noch einen Fehler von ca. 5% haben.
5% Fehler entsprechen bei 1,8° für einen Vollschritt, dann
0,09° mechanisch bzw. sind elektrisch 4,5°.
Zum Anfang
Um festzustellen, wie gut ein Schrittmotor seinen Schritten folgt,
ist ein Incremantalgeber erforderlich.
In meinen Fall habe ich den RI 30-0/1024 AS.34KA von Hengstler verwendet,
welcher trotz seiner 27 Jahre immer noch funktioniert.
Entsprechend seiner Bezeichnung hat er ca. 0,352° = 360°/1024 Auflösung
Da er eine 5 V Schnittstelle hat, ist eine Pegelwandlung nötig,
welche ich mit einen fertigen Modul realisiert habe
z.B.
makershop.de 4 Kanal Pegelwandler I2C 5V-3.3V Level
Der Link ist nur ein Beispiel und nicht die günstigste Quelle.
So ein bi-direktionaler Pegelwandler besteht lediglich aus zwei Pullup Widerständen
und einen N-Kanal FET, welcher die beiden Welten via Drain und Source
miteinander verbindet. Gate liegt auf 3,3 V.
Die Verbindung hält an, bis die Gate-Source-Spannung
einen Schwellwert unterschreitet. Das ist spätestens der Fall,
wenn auf der high-Seite die Spannung größer 3,3 V wird.
Oberhalb dieser Spannung wirken auf beiden Seiten
lediglich die Pull up Widerstände.
Alternativ kann man auch ICs verwenden, welche mit 3,3 V betrieben werden
und dabei 5V Tolerant sind. Z.B. 74LVX245, 4050.
Desweiteren wird ein Schrittmotor-Treiber benötigt.
So wie ich das zurzeit abschätze, reicht für den Test der fast günstigste.
Den DRV8825 kann ich noch diskret ansteuern und hat 32 Microsteps → 0,056°
Also etwas darunter, was der Incrementalgeber aufzulösen vermag.
360°/4096 = 0,088° (Warum? Siehe weiter unten).
Mögliche Alternativen habe ich in einer Motortreiber-Tabelle zusammengefasst.
Zum Anfang
Damit der Incrementalgeber etwas Halt hat, habe ich noch einen Halter gedruckt.
Als Verbindungsstück zwischen Motor und Incrementalgeber habe ich
eine Trommel gedruckt, um gleichzeitig ein Moment auf die Achse geben zu können.
Der Schaltplan ist gleichzeitig auch das Layout.
Die Nummern an der Raspberry-Steckerleiste sind die GPIOxx
Nummern.
Mehr Details habe ich darüber in
Raspberry Zero W IO
geschrieben.
Genutzt habe ich nur die eine Pfostenreihe mit den geraden Pin-Nummern.
Leider musste ich im Schaltplan noch etwas ändern.
Pin 28 GPIO1 lässt sich leider nicht ansteuern und ist zum Pin 32 GPIO12 gewandert.
Das Foto der Rückseite ist ein wenig älter als die vorherige Skizze.
Daher fehlen noch ein paar Drähte, welche nicht so wichtig sind, wie Masse ;-)
Die Diode über den 5 V Spannungsregler 7805
habe ich auch noch später eingebaut,
da ich den Raspberry teilweise via Micro-USB betreibe und ich nicht möchte,
dass mir dann der Spannungsregler stirbt.
Und so sieht es von oben aus (älteres Foto).
Die Masse habe ich mir am Kühlkörper des Spannungsreglers abgegriffen
und die 24 V habe ich direkt an die Anode der rechten Diode angeschlossen.
Zum Anfang
Für die Software gibt es verschiedenen Lösungsansätze, welche ich unter
Raspberry >
Drehgeber
beschrieben habe.
Zum Anfang
Nachdem ich wusste das der Incrementalgeber funktionierte,
habe ich angefangen den
Motor
anzusteuern.
Siehe Raspberry > Schrittmotor
Zum Anfang
Zum Anfang
python.org
python
mint-first.de
python Übungsaufgaben
w3schools.com
Python Tutorial
github.com
Simple Electronics with GPIO Zero.PDF
http://www.airspayce.com/mikem/bcm2835/
https://www.kampis-elektroecke.de/raspberry-pi/raspberry-pi-gpio/interrupts/
Zum Anfang