Dom / Wiadomości / Wiadomości branżowe / Silnik BLDC z Arduino: przewodnik po okablowaniu, kodowaniu i sterowaniu
Wiadomości branżowe
Nasz ślad obejmuje cały świat.
Dostarczamy klientom wysokiej jakości produkty i usługi z całego świata.

Silnik BLDC z Arduino: przewodnik po okablowaniu, kodowaniu i sterowaniu

Jak ESC pozwala Arduino sterować silnikiem BLDC

Arduino nie jest w stanie bezpośrednio sterować trzema fazami silnika BLDC – nie ma w nim wystarczającej wydajności prądowej ani wbudowanej logiki komutacji. To zadanie należy do układu ESC (elektronicznego regulatora prędkości), który znajduje się pomiędzy Arduino a silnikiem i przetwarza prosty sygnał PWM na czasowe przełączanie trójfazowe, które faktycznie obraca wirnik.

Z punktu widzenia Arduino ESC wygląda dokładnie jak standardowe serwo RC. Oczekuje impulsu o długości od około 1000 do 2000 mikrosekund, powtarzanego co 20 milisekund, gdzie szerokość impulsu odpowiada położeniu przepustnicy. Dlatego to samo Biblioteka serw używany w serwach hobbystycznych, działa do sterowania ESC - Arduino w ogóle nie komunikuje się z silnikiem, rozmawia z wbudowanym mikrokontrolerem ESC, który obsługuje faktyczną komutację.

Podłączanie Arduino do silnika BLDC za pomocą ESC

Trzy grube przewody silnika łączą się z silnikiem BLDC bezpośrednio z trójfazowymi wyjściami ESC — na tym etapie kolejność złączy nie ma znaczenia dla kierunku, ponieważ zamiana dowolnych dwóch przewodów powoduje jedynie odwrócenie kierunku obrotu. Zasilanie silnika (zazwyczaj bateria LiPo dopasowana do napięcia znamionowego silnika) podłącza się do przewodów wejściowych ESC, a nie do Arduino.

Strona sygnału jest prostsza: pojedynczy przewód PWM prowadzący z cyfrowego pinu Arduino do wejścia sygnałowego ESC oraz wspólna masa pomiędzy Arduino i ESC. Większość ESC zawiera BEC (obwód eliminatora akumulatora) na tym złączu sygnałowym, który dostarcza regulowane napięcie 5 V z powrotem do Arduino — co oznacza, że ​​oddzielne zasilanie płytki zwykle nie jest konieczne, o ile wyjście BEC ESC jest przystosowane do poboru prądu przez Arduino.

Kod Arduino do podstawowej kontroli prędkości

Po podłączeniu okablowania sam kod jest krótki. Biblioteka Servo traktuje ESC jak serwomotor i mapuje prędkość w tym samym zakresie 0-180, którego używa biblioteka dla kąta:

  • Podłącz pin sygnałowy ESC za pomocą ESC.attach(9, 1000, 2000) , ustawiając wyraźnie zakres szerokości impulsu
  • Odczyt potencjometru na pinie analogowym w celu ręcznej kontroli prędkości
  • Zamapuj odczyt analogowy 0-1023 na zakres 0-180, jakiego oczekuje ESC
  • Zapisz tę zmapowaną wartość za pomocą ESC.write(prędkość) wewnątrz głównej pętli

Ten wzór działa, ponieważ podstawowy format sygnału jest identyczny z serwomechanizmem hobbystycznym, jak udokumentowano w Odniesienie do biblioteki Arduino Servo , który wyjaśnia taktowanie impulsu i ograniczenia pinów, na których opiera się biblioteka.

Uzbrajanie i kalibracja ESC

Większość regulatorów ESC nie obraca silnika natychmiast po włączeniu zasilania — oczekują najpierw sekwencji uzbrajania, zwykle wyzwalanej przez przytrzymanie sygnału przepustnicy na minimum przez sekundę lub dwie po uruchomieniu. Pomijanie tego kroku jest najczęstszą przyczyną, dla której silnik uruchamia się na krótko po włączeniu zasilania, a następnie zatrzymuje się: ESC czeka na prawidłowy sygnał niskiego otwarcia przepustnicy, zanim przyjmie polecenia.

Kalibracja ustawia zrozumienie przez ESC minimalnej i maksymalnej szerokości impulsu w celu dopasowania do tego, co faktycznie wysyła Arduino. Zasil ESC sygnałem przepustnicy już ustawionym na maksimum, poczekaj na sygnały dźwiękowe potwierdzenia, następnie zmniejsz do minimum i poczekaj ponownie — uczy to ESC dokładnych punktów końcowych generowanych przez Twój kod, zamiast polegać na domyślnych ustawieniach fabrycznych, które mogą nie odpowiadać mapowanemu zakresowi potencjometru.

Czujnikowy vs bezczujnikowy BLDC: dlaczego zmienia konfigurację Arduino

Wszystko powyżej zakłada bezczujnikowy silnik BLDC w połączeniu z gotowym ESC — najczęstszą konfiguracją dla hobbystów i powodem, dla którego większość samouczków jest domyślnie ustawiona na tę opcję. Układ ESC wykrywa położenie wirnika na podstawie tylnego pola elektromagnetycznego generowanego w fazie niezasilanej, co działa dobrze, gdy silnik się obraca, ale oznacza, że ​​silnik potrzebuje krótkiego rampy rozruchowej w otwartej pętli, zanim ESC będzie mógł zablokować synchronizację BEMF.

Czujnikowy silnik BLDC zawiera trzy czujniki z efektem Halla, które bezpośrednio raportują położenie wirnika, nawet przy zerowych obrotach. Eliminuje to rampę rozruchową i zapewnia płynniejszą kontrolę przy niskiej prędkości, ale oznacza to również, że ESC lub sterownik musi mieć wejścia czujnika Halla – zwykły bezczujnikowy ESC nie ma do nich żadnego okablowania. Jeśli projekt wymaga precyzyjnego momentu obrotowego przy niskiej prędkości lub częstych uruchomień i zatrzymań, zakup od samego początku silnika z czujnikami i sterownika zgodnego z Hallem pozwala uniknąć późniejszej zmiany konfiguracji sterowania.

R5 Fast response Brushless DC Motor Controller

Od prototypu Arduino po sterowanie silnikiem na poziomie produkcyjnym

ESC sterowany PWM jest właściwym narzędziem do sprawdzenia koncepcji — jest tani, dobrze udokumentowany i nie wymaga oprogramowania konfiguracyjnego. Ale ma też prawdziwe ograniczenia: brak sprzężenia zwrotnego prądu z Arduino, minimalną logikę ochrony i rozdzielczość sterowania powiązaną z oknem impulsowym 1000–2000 mikrosekund, które nie skaluje się dobrze, gdy sterowanie momentem, regulacja prędkości w pętli zamkniętej lub zgłaszanie usterek stają się wymaganiami.

Kiedy projekt przechodzi od prototypowania do produktu stosowanego w praktyce, kolejnym krokiem jest zwykle sterownik komunikujący się za pośrednictwem magistrali cyfrowej, a nie pojedynczej linii PWM. interfejs debugowania UART-TTL używany do konfiguracji produkcyjnych sterowników silników odgrywa tutaj rolę podobną do monitora szeregowego Arduino — pozwala bezpośrednio odczytywać parametry i dostrajać zachowanie, zamiast zgadywać wyłącznie na podstawie szerokości impulsów.

Dla zespołów wyrastających z hobbystycznych ESC, punkt wejścia do programowalnych przez magistralę CAN sterowników silników BLDC firmy APT oferuje rodzaj konfigurowalnego ograniczania prądu i diagnostyki, których podstawowy ESC po prostu nie ujawnia. Zastosowania wymagające lepszej reakcji – ramiona robotyczne, uruchamiane mechanizmy, wszystko, co wiąże się z szybko zmieniającym się obciążeniem – są lepiej obsługiwane przez kontroler BLDC o krótkim czasie reakcji, stworzony do zastosowań w pętli zamkniętej w czasie rzeczywistym zamiast hobbystycznego ESC w otwartej pętli.

Ponieważ specyfikacje sterownika i silnika muszą być zgodne pod względem napięcia, prądu i zgodności z czujnikiem Halla, warto to sprawdzić wskazówki dotyczące parowania sterownika i silnika w celu dopasowania elektroniki napędu do specyfikacji silnika przed zatwierdzeniem sprzętu do uruchomienia produkcyjnego. Warto też zrozumieć jak warstwy oprogramowania zmieniają współczesne sterowanie silnikami , ponieważ dostrajanie na poziomie oprogramowania sprzętowego w coraz większym stopniu odróżnia dobry kontroler produkcyjny od zaledwie odpowiedniego.



Jesteś zainteresowany współpracą lub masz pytania?