Zitat Zitat von Rabenauge Beitrag anzeigen
Echtes Multitasking funktioniert mit nem Single-Core nicht.
Das ist natürlich Unsinn. Das klassische Multitasking System UNIX wurde auf und für eine PDP8 bzw PDP11 geschrieben. Und das waren Single-Core CPUs. Linux wurde zuerst auf einem 386 gebaut, ebenfalls Single Core. Und das erste preemptive Windows, Windows NT, lief auch auf einem Single Core.

Zitat Zitat von Moppi Beitrag anzeigen
Ja, das mit PWM ist wohl die einzige Möglichkeit, einen sauberen Gleichlauf der Stepper hinzubekommen.
Sicher nicht. Du hast ja schon mal mit AccelStepper() rumgespielt. Die kann das. Ebenso wie alle 3D-Drucker oder Lasergravierer mit grbl. Aus der Doku zu AccelStepper:

You can have multiple simultaneous steppers, all moving at different speeds and accelerations, provided you call their run() functions at frequent enough intervals.
Die Arduino SW ist ja Open Source. Man kann also sowohl in die PWM Library als auch in AccelStepper reinschauen und sehen, wie das da gemacht wird.

Zitat Zitat von Moppi Beitrag anzeigen
Sind immer dieselben Probleme, unter Nutzung nur einer CPU.
Dazu benutzt man Interrupte. Dafür sind sie da. Oder man macht es kooperativ, wie AccelStepper es mit seiner run()-Funktion tut.

MfG Klebwax