Hallo Leute, ich bin ein neues Mitglied dieses Forums. Ich habe vor Kurzem ein ESP32-Board gekauft und darauf Micropython installiert. Da ich einige der Grundlagen von Python kenne, dachte ich darüber nach, DIY-Projekte mit dieser fantastischen Sprache und Plattform zu machen.
Ich habe den ganzen Tag versucht, herauszufinden, wie man einen Schrittmotor (NEMA23) mit einem externen Treiber wie einem DM556 antreibt. Ich verstehe einfach nicht, wie das geht.
Also bitte ich jetzt um eure wertvolle Hilfe.
Schrittmotorsteuerung in Micropython
"When I got the music, I got a place to go" [Rancid, 1993]
Klingt spannend – genau sowas habe ich auch mal mit einem kleinen XY-Tisch probiert. Ich hatte ähnliche Herausforderungen, gerade beim Timing der Step/Dir-Signale über GPIO. Das sauber hinzubekommen, ohne dass das System blockiert, ist gar nicht so trivial.
Wie hast du das mit den Rampen (Beschleunigung/Abbremsen) gelöst? Ich hatte anfangs einfach feste Pausen zwischen den Steps, aber das war bei schnelleren Bewegungen nicht mehr sauber. Irgendwann hab ich dann angefangen, Beschleunigungsrampen per Software nachzubilden – aber das wird schnell komplex, gerade wenn mehrere Achsen gleichzeitig laufen.
Bin gespannt, wie du weiter machst – und ob du die Ansteuerung eher bei Python belässt oder später auf was „echtzeitfähigeres“ wechselst (z. B. Microcontroller, Steuerung etc.).
Wie hast du das mit den Rampen (Beschleunigung/Abbremsen) gelöst? Ich hatte anfangs einfach feste Pausen zwischen den Steps, aber das war bei schnelleren Bewegungen nicht mehr sauber. Irgendwann hab ich dann angefangen, Beschleunigungsrampen per Software nachzubilden – aber das wird schnell komplex, gerade wenn mehrere Achsen gleichzeitig laufen.
Bin gespannt, wie du weiter machst – und ob du die Ansteuerung eher bei Python belässt oder später auf was „echtzeitfähigeres“ wechselst (z. B. Microcontroller, Steuerung etc.).
@ctrltech: Nur vorsichtshalber: der ESP32 ist ja ein Microcontroller und es wird "MicroPython" verwendet. Das ist nicht mein Gebiet, aber mein - möglicherweise falscher - Stand ist, dass MicroPython für das Ziel kompiliert wird. Das kann aber auch falsch sein.
- noisefloor
- User
- Beiträge: 4172
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
... und willkommen im Forum
Gruß, noissefloor
... und willkommen im Forum

"geht nicht" ist i.d.R. keine Aussage, auf der man Hilfe aufbauen kann. Da musst du schon mehr Details liefern. Was verstehst du nicht? Wie man MicroPython auf den Microcontroller installiert? Wie an den Programmcode auf den Microcontroller bekommt? Das Programm selber? Wenn letzteres: zeig' mal den Code, den du versucht hast, auszuführen? Oder verstehst du nicht, wie man den Schrittmotor an den Microcontroller anschließt?Ich verstehe einfach nicht, wie das geht. Also bitte ich jetzt um eure wertvolle Hilfe.
Gruß, noissefloor
- __blackjack__
- User
- Beiträge: 13997
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@sparrow: MicroPython ist auch interpretierter Bytecode. Man kann das vorkompilieren, dann ist der Start/der Import von Modulen schneller, aber man hat trotzdem zur Laufzeit einen Interpreter und automatische Speicherverwaltung der Objekte.
“The best book on programming for the layman is »Alice in Wonderland«; but that's because it's the best book on anything for the layman.” — Alan J. Perlis
- noisefloor
- User
- Beiträge: 4172
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Was bzgl. der Hardware und MicroPython richtig / wichtig ist: man braucht eine passende MicroPython Firmware für den eingesetzten Mikrocontroller. Die stellt dann a) die Laufzeitumgebung bereit, die den MicroPython Code ausführt und b) enthält die plattformspezifische Unterstützung, damit die entsprechenden Zugriffe auf die spezifische Hardware des Mikrocontrollers auch verfügbar sind.
Dazu gibt es in der MicroPython Doku reichlich Anleitungen, wie z.B. für MicroPython auf dem ESP32.
Gruß, noisefloor
Dazu gibt es in der MicroPython Doku reichlich Anleitungen, wie z.B. für MicroPython auf dem ESP32.
Gruß, noisefloor