Hej,
Disclaimer: nigdy nie programowałem GPIO na raspi.
Z tego co wiem, raspi ma tylko jeden sprzętowy kanał PWM, a jak ktoś chce więcej, to musi radzić sobie software'owo lub różnymi innymi dodatkami.
Wygooglałem, że w Pythonie robi to np. biblioteka WiringPi.
Pytanie do praktyków: czy częstotliwość rzędu 500 Hz powielona trzy razy (bo potrzebuję trzech kanałów) jest realna na raspberry pi 3 (z poziomu Pythona, nie C), czy od razu dać sobie z tym spokój i zrobić międzymordzie na AVR? Nie jestem pewien, o którym raspberry tam piszą, a przecież między jedynką i trójką jest przepaść.
Czy ten PWM jest bardzo niestabilny, gdy procesor jest obciążony? Jeśli tak, to czy użycie schedulera FIFO lub RR (sched_setscheduler, nie wiem czy da się to zrobić z poziomu Pythona ale na pewno można napisać wrapper) pomaga?