Cel projektu: sterownik FOC dla silników krokowych w formacie step-stick
Wymyśliłem sobie, że zmierzę się z zagadnieniem sterowania silnikiem BLDC/PMSM z wykorzystaniem FOC (Field Oriented Control). Dostępne są schematy, a nawet całe kompletne projekty, które to zadanie z powodzeniem realizują. Za przykład niech posłuży VESC:
https://github.com/vedderb/bldc
Jakkolwiek kolejny projekt sterownika do silnika elektrycznego nie ma większego uzasadnienia praktycznego, tak jednak mam poczucie, że zaprojektowanie wszystkiego od podstaw i doświadczenie problemów sprzętowych, jak i tych związanych z implementacją FOC w firmware, pozwoli mi posiąść bardziej kompletną wiedzę na ten temat. Po głębszym zastanowieniu uznałem, że w jakiś sposób odkrywcze i mające pewien sens praktyczny byłoby zaimplementowanie idei FOC dla silnika krokowego.
Założenia
- format PCB oraz sterowanie: STEP/DIR/ENABLE kompatybilne ze standardem stepstick,
- MCU: RP2040 i implementacja na stałym przecinku, bądź jeżeli będzie potrzebna większa dynamika, to użycie RP2350,
- wykorzystanie 2 rdzeni: jeden do FOC, a drugi do pozostałych zadań, takich jak komunikacja,
- pierwsza iteracja projektu złożona z dwóch płytek:
- na dolnej – stopień mocy, pomiar prądu, zabezpieczenie przeciwzwarciowe
- górna to moduł RP2040-Zero albo RP2350-Zero.
- napięcie maksymalne: 30 V, prąd fazowy jak dla silnika NEMA17, czyli do około 2 A. Więcej = lepiej,
- Pomiar temperatury tranzystorów mocy i zabezpieczenie przed przegrzaniem.
Cele / wish-list
- sensor-less FOC dla małych i dużych prędkości obrotowych:
- dla małych: High Frequency Injection,
- dla dużych: HFI bądź SMO,
- dla średnich: obie opcje, waga proporcjonalna do prędkości obrotowej.
- sygnalizacja gubienia kroków,
- sensor-less homing,
- redukcja składowej D prądu przynajmniej o połowę względem prądu maksymalnego silnika – zmniejszyłoby to moc strat w silniku w stanie statycznym o 75%,
- Rozdzielczość pomiaru kąta: 1/32 pełnego cyklu fazowego, czyli 8 mikrokroków; oczywiście im wiecej, tym lepiej.
Projektowany przeze mnie sterownik ma być zamienny ze standardowymi modułami stepstick, stąd, w idealnym przypadku, moja frezarka CNC albo drukarka 3D po zamianie stepsticka powinna po prostu działać jak wcześniej, aczkolwiek powinno się dać zaobserwować zmniejszenie grzania silników oraz redukcję rezonansów podczas dynamicznych ruchów. Nie obawiam się tego, czy podołam napisaniu oprogramowania, natomiast problemem może się okazać zbyt mało istotny wpływ pozycji rotora na indukcyjność cewek statora, co sprawiłoby, że bezczujnikowy FOC na niskich obrotach nie działa i pozostałaby mi wówczas jedynie praca asynchroniczna, jak ma to miejsce przy standardowym sterowaniu silnikiem krokowym.

