Seite 1 von 1
Schrittmotorsteuerung in Micropython
Verfasst: Mittwoch 25. Dezember 2024, 09:10
von paul25
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.
Re: Schrittmotorsteuerung in Micropython
Verfasst: Mittwoch 25. Dezember 2024, 10:13
von Dennis89
Re: Schrittmotorsteuerung in Micropython
Verfasst: Donnerstag 3. April 2025, 20:25
von ctrltech
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.).
Re: Schrittmotorsteuerung in Micropython
Verfasst: Donnerstag 3. April 2025, 23:22
von sparrow
@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.
Re: Schrittmotorsteuerung in Micropython
Verfasst: Freitag 4. April 2025, 06:33
von noisefloor
Hallo,
... und willkommen im Forum
Ich verstehe einfach nicht, wie das geht. Also bitte ich jetzt um eure wertvolle Hilfe.
"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?
Gruß, noissefloor
Re: Schrittmotorsteuerung in Micropython
Verfasst: Freitag 4. April 2025, 13:55
von __blackjack__
@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.
Re: Schrittmotorsteuerung in Micropython
Verfasst: Freitag 4. April 2025, 14:20
von noisefloor
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