Witam!
Mam problem z regulatorem obrotów do BLDC.
Co już zrobiłem?
1 sterowanie MOSFETami za pomocą drivera IR2108
2 silnik się kręci, ale nie ma synchro(można go zatrzymać palcem, wtedy zaczyna drgać
3 wstępny model porównywania BEMF z użyciem komparatora(działa)
Z czym mam problem?
1 synchronizacja!
2 start silnika
Użyłem silnika z HDD do testów.
wywaliłem delaye z kodu i próbuję osiągnąć synchronizację pomiędzy pomiarami a komutacjami.
Efekt jest taki, że silnik po zakręceniu(a zakręciłem go fest, silnikiem lotniczym DC) zwalnia i się zatrzymuje.
Jak się zatrzyma, to drga chwilę i przestaje.
Jak go poruszę, to też drga. Ale ni cholery nie chce się zakręcić sam.
Kiedy wyłączę komutacje i zostawię tylko pomiar, przerwanie pięknie się robi mrugając mi ledem jak obracam silnik(nawet pomalutku)
Nie ma jeszcze PWM, zrobię w końcowej fazie.
oto kod:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wg mojego oka powinno być git. No bo jest 6 kroków pracy. Przy przerwaniu wywołanym komparatorem(które wykonuje się przy przecięciu BEMF wolnej cewki oraz BEMF sumy) kontroler przełącza się na kolejny krok.
Jak wyłączę przerwania i wrzucę komutacje co 2ms, a następnie zakręcę silnikiem- wtedy sam się kręci i kręci. Dopóki go nie zatrzymam albo nie odłączę zasilania.