Echtzeit-(Motor-) Steuerung ist ein Desaster auf dem Raspi - die user shell lässt das nicht zu, und für Anfänger sind Realtime (kernel) Patchs frustrierend (wenn es überhaupt bootet), und hinterher laufen bestimmte libs nicht mehr oder noch schlimmeres, wenn der device tree oder ABI oder was auch immer geändert wurden.
Wenn du in C programmierst, kannst du trotzdem mit Multitasking und hochrangigen pthread tasks eine Menge erreichen
struct sched_param param;
param.sched_priority = 50; // default==20
pthread_setschedparam(threadID, SCHED_RR, ¶m);
// oder
pthread_setschedparam(threadID, SCHED_FIFO, ¶m);
wenn du mit Python arbeitest, sind dir aber die Hände gebunden.
Allerdings gibt es für Python-Nutzer div HATs, z.B. das
Propeller HAT
https://github.com/pimoroni/propeller-hat
http://www.exp-tech.de/propeller-hat
(C libs dafür habe ich noch nicht gefunden)
damit wird der zeitkritische Teil auf Parallax-Prozessoren ausgelagert.
Genauso gut kann man dafür dann aber auch einen Arduino Mega (per UART oder USB) oder Due (per UART, USB oder I2C) verwenden und den selber programmieren.
Lesezeichen