4 stepper am raspi ansteuern

OP #3627658
Lesenswert?

Ich hab eine Idee, ich möchte mit meinem Raspi V2 und der WiringPi2 
Library 2 MCP23017 ansteuern die dann wiederum 4 L293Ds ansteuern, von 
denen jeder 1 Stepper kontrolliert.

Nur müssen die 4 Stepper gleichzeitig angesteuert werden und mit 
unterschiedlichen Geschwindigkeiten. Meine Idee: 4 Theras aufmachen die, 
die MCPs gleichzeitig kontrollieren. Nur, wird WiringPi2 Probleme machen 
beim Threading?

Oder gibt es bessere Lösungen um 4Stepper am Raspi zu kontrollieren?
Angehängte Dateien:
Gast #3627733
Lesenswert?

Verstehe ich das so richtig? 4 Threads starten Timer und setzen Flags. 
Ein Thread baut die Flags zu 2 Byte zusammen und versendet sie über I2C.

piHiPri(), piThreadCreate(), delayMicroseconds(), piLock() und 
wiringPiI2CWriteReg16(). Alles aus einer Library - sollte doch 
problemlos zusammen arbeiten.

Na ja - Rasbian ist halt kein wirkliches Echtzeitbetriebssystem. Die 
Schritte werden etwas ungleichmässig. Bei LinuxCNC.org finden sich 
einige Diskussionen zu diesem Thema.
Gast #3627806
Lesenswert?

USB ist halt ein ganz anderer Ansatz - zu langsam für einzelne Schritte.

Wenn du eine CNC Maschine bauen willst, ist so eine 4-Achsten Steuerung 
mit P-Code über USB eine feine Sache. Wenn du mit Schrittmotoren und 
Beschleunigungsrampen experimentieren willst - bleib bei deinem Ansatz.
(Firma: mechapro GmbH) Persönliche Seite #3627820
Lesenswert?

Das wäre wohl mit Kanonen auf Spatzen geschossen. Schrittmotorcontroller 
mit USB-Anschluss kosten pro Stück mehr als der Raspi.

Man kann auch aus einer Timer-Routine heraus alle 4 Motoren ansteuern. 
Wenn pro Motor unabhängige Rampen gefordert sind oder sich alle Motoren 
bahnsynchron bewegen sollen wird das allerdings etwas kniffelig. Was 
genau sollen die Motoren denn machen?

Mit freundlichen Grüßen
Thorsten Ostermann

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren