Szybsze opracowywanie zastosowań silników bezszczotkowych prądu stałego (BLDC) dla przemysłu motoryzacyjnego i Internetu rzeczy (IoT) dzięki sterownikowi silnika A4964KJPTR-T
Przekazane przez: Północnoamerykańscy redaktorzy DigiKey
2021-10-26
Bezszczotkowe silniki prądu stałego (BLDC) są coraz częściej wykorzystywane w wielu różnorodnych zastosowaniach, od zdalnych mechanizmów otwierania garaży sterowanych przez Internet rzeczy (IoT) i szyb samochodowych po satelitarne sterowniki napędu. Problemem, przed jakim stają projektanci silników bezszczotkowych prądu stałego (BLDC), jest to, że algorytmy niezbędne do sterowania nimi są złożone i często wyspecjalizowane. To sprawia, że przeciętnemu inżynierowi trudno jest je uruchomić w rozsądnym czasie.
Deweloperzy zazwyczaj mają wybór między rozwiązaniem opartym na oprogramowaniu działającym na mikrokontrolerze, które stanowi elastyczne rozwiązanie programowe, ale także obciąża mikrokontroler oraz skorzystaniem z dedykowanego układu scalonego (IC). Ta druga opcja obejmuje pełen wachlarz funkcji sterowania silnikiem bezszczotkowym prądu stałego (BLDC) i odciąża z nich hosta.
W niniejszym artykule omówiono różnice między rozwiązaniem programowym opartym na mikrokontrolerze a dedykowanym rozwiązaniem sprzętowym. Następnie szczegółowo przeanalizowano sposób korzystania ze sterownika silnika A4964KJPTR-T firmy Allegro MicroSystems, zaprojektowanego w celu uproszczenia sterowania silnikiem BLDC, specjalnie w zastosowaniach motoryzacyjnych. Artykuł pokazuje sposób interakcji ze sterownikiem A4964KJPTR-T oraz przedstawia kilka najlepszych praktyk pozwalających uniknąć nieoczekiwanego działania.
(Bardzo) krótkie wprowadzenie do silników bezszczotkowych prądu stałego
Silniki bezszczotkowe prądu stałego (BLDC) wydajnie dostarczają moment obrotowy w szerokim zakresie prędkości, są ciche i nie powodują problemów wynikających z mechanicznego tarcia typowego dla silników szczotkowych. Silniki bezszczotkowe prądu stałego są sterowane prądem, a nie napięciem, co pozwala na ich wykorzystanie w wielu różnych zastosowaniach, dla których projektuje się je w różnych kształtach, rozmiarach i budżetach.
Na przykład silnik QBL4208-41-04-006 firmy TRINAMIC Motion Control na napięcie 24V charakteryzuje się prędkością obrotową 4000obr./min i zapewnia moment obrotowy do 0,06Nm (ilustracja 1). Silnik jest lekki (0,3kg) i oferuje deweloperom kilka opcji sterowania, takich jak obsługa bezczujnikowa z wykorzystaniem siły przeciwelektromotorycznej lub użycie wbudowanych czujników, które wykrywają położenie.
Ilustracja 1: QBL4208-41-04-006 to silnik bezszczotkowy prądu stałego (BLDC) o napięciu 24V i prędkości obrotowej 4000obr./min, który może dostarczyć nieco ponad 0,06Nm momentu obrotowego przy maksymalnej prędkości. (Źródło ilustracji: TRINAMIC Motion Control GmbH)
Aby uzyskać większy moment obrotowy, projektanci mogą użyć silnika QBL4208-41-04-025, również firmy TRINAMIC Motion Control (ilustracja 2). Jest to silnik bezszczotkowy prądu stałego (BLDC) o napięciu 24V i prędkości obrotowej 4000obr./min, który może dostarczyć nieco ponad 0,25Nm momentu obrotowego.
Ilustracja 2: silnik bezszczotkowy prądu stałego (BLDC) QBL4208-41-04-025 firmy TRINAMIC Motion Control o napięciu 24V i prędkości obrotowej 4000obr./min może dostarczyć nieco ponad 0,25Nm momentu obrotowego przy maksymalnej prędkości. (Źródło ilustracji: TRINAMIC Motion Control GmbH)
Silniki bezszczotkowe prądu stałego (BLDC) są zasilane przez linie trójfazowe, które wytwarzają pole magnetyczne, które z kolei aktywuje magnesy poruszające stojanem i obracające silnik.
Teoretycznie brzmi to łatwo, ale w praktyce sterowanie silnikiem bezszczotkowym prądu stałego jest dość skomplikowane, pozostawiając deweloperom wybór między wykorzystaniem pakietów oprogramowania do sterowania a wyborem dedykowanego rozwiązania mikroelektronicznego.
Oprogramowanie kontra dedykowane rozwiązania mikroelektroniczne
Istnieje kilka czynników, które deweloperzy powinni wziąć pod uwagę, chcąc rozwiązać problem obracania silnika bezszczotkowego prądu stałego. Czynniki te sprowadzają się w zasadzie do następujących:
- Koszt wykazu materiałów BOM a koszty robocizny
- Złożoność płytki a złożoność oprogramowania
- Czas konserwacji i jej koszty
Z punktu widzenia sprzętu podążenie drogą oprogramowania może być bardzo kuszące, ponieważ dedykowane rozwiązanie mikroelektroniczne zwiększa koszty wykazu materiałów BOM. Zamiast ponosić koszty dedykowanego układu mikroelektronicznego wydajemy ułamek więcej na mikrokontroler i umieszczamy w nim wszystkie algorytmy sterujące. Wydaje się, że to rozwiązanie najlepsze dla wszystkich, ale zespoły często nie biorą pod uwagę pełnych konsekwencji takiej decyzji.
Owszem, zmniejsza to koszt wykazu materiałów BOM, ale następnie dodatkowo obciąża mikrokontroler w wyniku potrzeby przetwarzania danych stanu silnika i ciągłego sterowania silnikiem. Jeśli mikrokontroler ma również za zadanie próbkować inne czujniki, komunikować się z radiem i sterować innymi urządzeniami, koszty rozwoju oprogramowania i utrzymania mogą wystrzelić w kosmos, jeśli nie zostanie zachowana ostrożność.
Dlatego rozwiązanie oparte na oprogramowaniu w mikrokontrolerze może zapewnić elastyczność, ponieważ zespół może dostroić swoje algorytmy sterowania silnikiem. Korzystanie z oprogramowania nie oznacza również, że sprawy zawsze muszą się nadmiernie komplikować.
Na przykład, zwykle przeniesienie algorytmu sterowania silnikiem do mikrokontrolera może zajmować więcej pamięci RAM i wymagać dużej ilości pamięci flash. Jeśli jednak zespół użyje mikrokontrolera zaprojektowanego do sterowania silnikiem, takiego jak F280049CRSHSR firmy Texas Instruments, algorytmy będą wbudowane w bibliotekę znajdującą się w pamięci ROM mikrokontrolera. Oznacza to, że jedynym dodatkowym kodem dodanym do aplikacji będą wywołania funkcji w celu uzyskania dostępu do biblioteki, która wykonuje wszystkie zadania.
Obracanie silnika bezszczotkowego prądu stałego nie sprowadza się jednak tylko do oprogramowania, wymaga również sprzętu. Ilustracja 3 przedstawia przykładowe zastosowanie z wykorzystaniem mikrokontrolera C2000 z tej samej grupy produktowej co F280049CRSHSR, ilustrując elementy niezbędne i opcjonalne do sterowania silnikiem bezszczotkowym prądu stałego. Poza mikrokontrolerem potrzebny jest również 3-fazowy stopień mocy, który może zasilać trzy fazy silnika bezszczotkowego prądu stałego, umożliwiając jego obrót.
Ilustracja 3: mikrokontrolery C2000 firmy Texas Instruments są przeznaczone do sterowania silnikami. Ilustracja przedstawia przykładowe zastosowanie mikrokontrolera pośrodku z wymaganymi i opcjonalnymi obwodami do sterowania silnikiem bezszczotkowym prądu stałego (BLDC). (Źródło ilustracji: Texas Instruments)
Wykorzystanie mikrokontrolera do sterowania silnikiem jest zdecydowanie ciekawe, ale jak wygląda dedykowane rozwiązanie sprzętowe? Przyjrzyjmy się układowi mikroelektronicznemu sterownika silnika A4964KJPTR-T firmy Allegro MicroSystems.
Sterownik silnika A4964KJPTR-T firmy Allegro MicroSystems
Układ mikroelektroniczny sterownika silnika A4964KJPTR-T firmy Allegro MicroSystems jest dedykowanym sterownikiem silnika bezszczotkowego prądu stałego, który zawiera wszystkie inteligentne rozwiązania niezbędne do sterowania silnikiem (ilustracja 4). Ten układ mikroelektroniczny został specjalnie zaprojektowany do zastosowań motoryzacyjnych i do użytku z tranzystorami MOSFET z kanałem N, a także posiada funkcję rozruchu bezczujnikowego i komutacji, więc potrzebuje tylko minimum sprzętu zewnętrznego. Układ mikroelektroniczny A4964KJPTR-T działa również w szerokim zakresie napięć, od 5,5 do 50V, czyli pokrywającym prawie każde standardowe zastosowanie, łącznie z instalacjami samochodowymi.
Być może najbardziej interesującą cechą układu A4964KJPTR-T jest możliwość połączenia z mikrokontrolerem lub centralną elektroniczną jednostką sterującą (ECU) przez szeregowy interfejs urządzeń peryferyjnych (SPI) w celu skonfigurowania różnych rejestrów do obsługi silnika. Oczywiście mikrokontroler nie musi być tak potężny, jak ten, który samodzielnie obsługuje algorytmy sterowania silnikiem.
Ilustracja 4: sterownik silnika bezszczotkowego prądu stałego A4964KJPTR-T, który może działać przy napięciu od 5,5 do 50V i zapewnia bezczujnikowy rozruch i komutację. Prędkość silnika można skonfigurować za pomocą szeregowego interfejsu urządzeń peryferyjnych (SPI) lub dedykowanego sygnału z modulacją szerokości impulsu (PWM). (Źródło ilustracji: Allegro MicroSystems)
Interesujące jest również to, że sterownik A4964KJPTR-T może również sterować prędkością silnika bez interfejsu SPI, po prostu dostarczając sygnał z modulacją szerokości impulsu (PWM). Ustawienia silnika mogą być przechowywane w pamięci nieulotnej, a następnie wczytywane po włączeniu zasilania, umożliwiając jedynie sterowanie silnikiem za pomocą sygnału z modulacją szerokości impulsu (PWM).
Z perspektywy konfiguracji sterownik A4964KJPTR-T posiada 32 adresowalne 16-bitowe rejestry plus rejestr statusu. Rejestr statusu jest unikalny, ponieważ pierwsze 5 bitów jest przesyłanych podczas każdej operacji odczytu-zapisu na szeregowym interfejsie urządzeń peryferyjnych (SPI), umożliwiając oprogramowaniu sprawdzenie ogólnego statusu w celu sprawdzenia, czy występują jakieś błędy lub problemy. Wszystkie rejestry statusu można odczytać podczas operacji zapisu do układu mikroelektronicznego, ponieważ żadne dane nie są przesyłane z powrotem ze sterownika A4964KJPTR-T.
Pośród 32 rejestrów adresowalnych znajdują się również dwa rejestry specjalne. Rejestr 30 jest tylko do zapisu, a rejestr 31 jest tylko do odczytu. Rejestr tylko do zapisu umożliwia deweloperowi ustawienie wejściowego sygnału zapotrzebowania lub współczynnika cyklu pracy, z jakim silnik będzie napędzany, o wartości od 0 do 1023. Dane rejestru tylko do odczytu zmieniają się na podstawie żądanych danych, które są zapisywane w rejestrze 29, będącym rejestrem wyboru odczytu. Rejestr ten umożliwia pobieranie szerokiego zakresu informacji telemetrycznych, takich jak:
- Diagnostyka
- Prędkość silnika
- Średni prąd zasilania
- Napięcie zasilania
- Temperatura układu mikroelektronicznego
- Wejściowy sygnał zapotrzebowania
- Zastosowany szczytowy cykl pracy mostka
- Zastosowane przesunięcie fazy
Poza tymi specjalnymi rejestrami, pozostałych 30 umożliwia dostrojenie określonego zastosowania silnika i umożliwia włączanie lub wyłączanie błędów, takich jak błędy ograniczenia prądu i napędu bramki.
Dedykowane sterowniki silników są interesujące, ponieważ w kilkudziesięciu rejestrach konfiguracyjnych zbierają wszystko, co trzeba skonfigurować do pracy silnika. To radykalnie eliminuje wszelkie zadania oprogramowania, które obciążałyby mikrokontroler, a co ważniejsze, znacznie obniża koszty rozwoju i konserwacji oprogramowania. Sterowanie silnikiem bezszczotkowym prądu stałego (BLDC) polega wtedy zaledwie na wysyłaniu sygnałów z wykorzystaniem modulacji szerokości impulsu (PWM), które nie obciąża mikrokontrolera, lub włączanie bitu silnika i przekazywanie wejściowego sygnału zapotrzebowania przez szeregowy interfejs urządzeń peryferyjnych (SPI) w celu obracania silnikiem bezszczotkowym prądu stałego.
Wskazówki i porady dotyczące korzystania ze sterownika A4964KJPTR-T
Sterownik A4964KJPTR-T jest stosunkowo prosty w podłączeniu, ale poniżej przedstawiono kilka wskazówek i porad, o których powinni pamiętać deweloperzy, a które mogą uprościć i przyspieszyć prace rozwojowe:
- Rejestr statusu jest zwracany na szeregowym interfejsie urządzeń peryferyjnych (SPI) podczas każdego zapisu do układu i nie jest dostępny jako dedykowany, adresowalny rejestr. Oznacza to, że aby uzyskać informacje o statusie, kod sterownika musi monitorować linię SDO magistrali szeregowego interfejsu urządzeń peryferyjnych (SPI) podczas zapisu do układu mikroelektronicznego.
- Informacje o błędach są zawarte w rejestrze statusu, ale przegląd statusu układu mikroelektronicznego jest dostępny w każdej transakcji SPI w pierwszych pięciu bitach, gdy mikrokontroler dostarcza informacje dostępu do adresu. Dane te można wykorzystać do ustalenia, czy wystąpiły jakiekolwiek problemy.
- W mapie pamięci istnieją dwa unikalne rejestry, które są tylko do odczytu i tylko do zapisu. Jest to proste, ale nie należy próbować dokonywać odczytu z rejestru tylko do zapisu, ponieważ spowoduje to zapisanie do rejestru wszelkich fikcyjnych danych używanych w sekwencji odczytu.
- Układ mikroelektroniczny posiada pewną nieulotną pamięć, którą można wykorzystać do przechowywania domyślnych parametrów. Parametry te są wczytywane do pamięci RAM i używane podczas uruchamiania. Aby zapewnić najefektywniejsze uruchomienie układu mikroelektronicznego w stanie gotowości, należy zaprogramować w układzie mikroelektronicznym „bezpieczne” wartości uruchomieniowe.
- Jeśli urządzenie końcowe pracuje w środowisku o dużych zakłóceniach lub wysokim natężeniu promieniowania, zaprojektowanie kodu aplikacji w celu okresowego potwierdzania danych konfiguracyjnych nie będzie złym pomysłem. Konfiguracja układu mikroelektronicznego jest przechowywana w pamięci RAM, co oznacza, że jest ona podatna na promieniowanie kosmiczne, błędy bitowe i wszystkie te ciekawe i rzadkie zdarzenia, do których może dojść w przypadku elektroniki.
Podsumowanie
Wdrażanie silników bezszczotkowych prądu stałego (BLDC) w motoryzacji, Internecie rzeczy (IoT) lub innych obszarach jest dość powszechne, ale sterowanie nimi może być skomplikowane. Aby poradzić sobie ze złożonością oprogramowania, deweloperzy mogą użyć dedykowanego sterownika silnika bezszczotkowego prądu stałego, takiego jak sterownik A4964KJPTR-T, który zawiera wszystkie funkcje sterowania silnikiem.
Do interakcji z układem mikroelektronicznym nadal wymagane jest oprogramowanie, jednak mikrokontroler, na którym ono działa, musi tylko przeprowadzić ustawienia konfiguracyjne, a sterownik A4964KJPTR-T zajmuje się sterowaniem silnika. Deweloperzy, którzy zastosują się do powyższych wskazówek i porad, przekonają się, że mogą zaoszczędzić sporo czasu i frustracji podczas nauki obsługi sterownika A4964KJPTR-T.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




