Witam.
Obecnie walczę z regulatorem PID do sterowania silnikiem BLDC. Idea jest taka, że regulator jako sygnał sterujący zwraca liczbę którą podstawiam do rejestrów odpowiedzialnych za generacje przebiegów PWM.
Problem polega na tym że przy zadawaniu prędkości maksymalnej (3500 obr/min) silnik rozpędza się do około 1100-1200 obr/min i do tego nie bardzo trzyma prędkość tzn prędkość bardzo skacze.
Poniżej zamieszczam fragment kodu odpowiadającego za regulator PID i podstawianie otrzymanej wartości pod odpowiednie rejestry (nastawy są na razie wzięte z kosmosu
)
Obecnie walczę z regulatorem PID do sterowania silnikiem BLDC. Idea jest taka, że regulator jako sygnał sterujący zwraca liczbę którą podstawiam do rejestrów odpowiedzialnych za generacje przebiegów PWM.
Problem polega na tym że przy zadawaniu prędkości maksymalnej (3500 obr/min) silnik rozpędza się do około 1100-1200 obr/min i do tego nie bardzo trzyma prędkość tzn prędkość bardzo skacze.
Poniżej zamieszczam fragment kodu odpowiadającego za regulator PID i podstawianie otrzymanej wartości pod odpowiednie rejestry (nastawy są na razie wzięte z kosmosu
Kod: C / C++
