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?
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.
Man nimmt 4 Stepper Controller und steuert diese zB über USB mit dem rpi an...
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.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.