Sterowanie silnikiem BLDC z mikrokontrolera

Jan 26, 2022 6 Replies

W jednym ze swoich projektów mam zamiar wykorzystać silnik BLDC - na potrzeby eksperymentów dobrałem (raczej ze sporym zapasem) silniczek z drona, chociaż raczej nie będzie mi potrzebny ani moment obrotowy, ani maksymalna prędkość. Do pierwszych eksperymentów wykorzystuję sterownik do dronów, który dostałem w komplecie. Niestety korzystanie z niego jest nieco uciążliwe



- trzeba przejść przez tryb kalibracji a przy starcie generuje głośny pisk.



Generalnie szukam czegoś znacznie prostszego. Chodzi o układ, który będzie miał:



- wejście zasilania, np. 12V



- wyjścia do podłączenia trzech wyprowadzeń silnika



- wejście sterujące szybkością obrotów, przyjmujące sygnał z MCU (np. PWM albo częstotliwość).



Żadnego pomiaru napięcia baterii, żadnego piszczenia, żadnej kalibracji celem połączenia z przepustnicą.



Do regulacji szybkości obrotów na poziomie MCU i tak będę używał sprzężenia zwrotnego z czujnika optycznego.



Jest do tego jakiś w miarę prosty moduł/scalak, ewentualnie układ, który sam mógłbym sobie wyrzeźbić z kilku elementów?


w większości tych ESC sieci jakiś atmel z firmwarem, który można konfigurować i programować. Da się tam włączyć i wyłączyć beep i inne rzeczy - zobacz np BLHELI. trzeba sie tylko podłączyć serialem i odpalić BLHELI configurator

c.

Dronowy ESC nie zawsze jest idealnym rozwiązaniem, ale jeśli możesz go użyć, to to może być najprostsze im najtańsze rozwiązanie, nie wymagające dłubania własnego sterownika. Problemy mogą się pojawić jeśli zależy ci na uzyskaniu niskich obrotów.

Większość ESC przychodzi obecnie z firmware BLHeli (albo BLHeli32), a ono ma ogromne możliwości konfiguracji. Hałasy przy włączeniu da sie wyłączyć ustawiając głośność "startup beep volume" i ""beacon strength" w konfiguratorze ("BLHeli configurator" albo "BLHeli32 configurator", zależnie od wersji firmware).

Kalibracja jest niezbędna tylko jeśli używasz PWM a ta metoda obecnie prawie nie jest używana. Wszystkie ESC z BLHeli* obsługują protokół DShot. To jest cyfrowy protokół, którym przesyłasz nastawienie prędkości (przepustnicę) bezpośrednio, a nie zakodowane w długości impulsów. Jest kilka wersji różniących się szybkością transmisji. Tobie pewnie wystarczy najwolniejszy, DShot150. Są gotowe biblioteki Arduino z implementacją.

Jacek.

Każdy najprostszy ESC modelarski nazywany "regulator silnika bezszczotkowego" np:

formatting link
Sygnał sterujący to PWM o szerokości impulsów z zakresu 1ms-2ms:

formatting link

1ms silnik off, 2ms silnik pełne obroty.

Można kupić gotowe pudełko "tester serw" z potencjometrem gdzie jest już wbudowany generator impulsów sterujących (regulacja potencjometrem).

Większość prostych ESC nie wymaga kalibracji (nie jest to konieczne przy każdym uruchomieniu albo w ogóle nie ma kalibracji). Dźwięk (muzyczka) na początku sygnalizuje, że po włączeniu zasilania zadane impulsy odpowiadają stanu wyłączenia silnika (gaz off) i silnik jest gotowy do pracy. Jeśli nie ma dźwięku oznacza to, że "gaz" nie jest w pozycji off lub jest jakiś problem z podłączeniem. To jest taki układ bezpieczeństwa by silnik nie odpalił w sposób niespodziewany po podłączeniu zasilania (i np. zranił smigłem).

Atlantis napisał(a):

formatting link
Texas Ogólnie jest tego zatrzęsienie

Pow. rozwiązania raczej do 100-15000 rpm. Silniki do dronów należą do innej bajki, zresztą zupełnie nie nadają się do pracy stacjonarnej bez chłodzenia.

Ostatnio zamówiłem sobie driver gotowiec na BD63000 który działa ok. U mnie silnik nie ma czujników położenia. Jeszcze nie testowałem jego PWM, dopiero podchodzę do tematu.

Silnik od drona ma b. małą indukcyjność i rezystancję, czasem 3-5 zwojów i jakieś chore ampery. Typowe silniki mają większą ilość zwojów.

alojzy nieborak napisał(a):

Oczywiście do prototypu nikomu nie chce się rzeźbić na piechotę, lepij ściągnąć od kitaja za śmieszną cenę*.

*Sprawdzić czy dzisiejsze niskie ceny nie są opium dla zachodka, tak jak kiedyś zachodek uzależnił kitaja od opium w sensie dosłownym. Wot lekkie filozofowanie.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required