Cyfrowe sterowniki wentylatorów z silnikami BLDC
Termin „wentylator DC” odnosi się obecnie do wentylatorów z bezszczotkowymi, dwufazowymi silnikami prądu stałego (BLDC). Wentylatory tego typu są często używane do chłodzenia podzespołów lub wentylacji płyt komputerowych. Jednak wysokowydajne układy elektroniczne stają się coraz bardziej skomplikowane i potrzebują coraz więcej energii, co powoduje, że wymagania stawiane chłodzeniu stają się coraz ostrzejsze. Wystarczy tylko policzyć liczbę wentylatorów zainstalowanych w jednym, nowoczesnym komputerze osobistym.
Podstawowa konstrukcja wentylatora bezszczotkowego: wentylator składa się ze śmigła wentylatora dołączonego do wirnika z magnesami trwałymi. Wirnik otacza zarówno uzwojenia stojana, jak i elektroniczny układ sterowania.
W przeszłości sterownik silnika nadzorował tylko utrzymywanie stałej prędkość przez wentylator. Takie rozwiązania są dzisiaj do zaakceptowania jedynie w przypadku chłodzenia ogólnego. Bardziej złożone urządzenia, takie jak mikroprocesory lub układy elektroniczne, wymagają kontrolowanej wymiany powietrza podczas wahań temperatury wywołanych zmianami obciążenia podzespołów. Gdy jest chłodno, wentylator powinien tłoczyć jak najmniejszą ilość powietrza by oszczędzić moc. Wraz ze wzrostem temperatury urządzenia, cyrkulacja powietrza powinna się zwiększać, przez co wydajność pozostaje niezmieniona. Co ciekawe, wolniejsza wymiana powietrza może zapewniać lepsze chłodzenie. Duża szybkość cyrkulacji powietrza pomiędzy urządzeniem a wentylatorem może wywołać powstanie podciśnienia. To „wymuszone” podciśnienie działa bardziej jak izolacja cieplna niż chłodzenie. W jej wyniku temperatura rośnie szybciej i do wyższych poziomów.
Aż do niedawna koszty nie pozwalały na zbudowanie „inteligentnych” sterowników wentylacji sterujących pracą wentylatora w zależności od potrzeb. Tanie mikrokontrolery (MCU) złamały barierę ceny i umożliwiły budowę ekonomicznych sterowników prędkości dla wentylatorów DC. Mikrokontrolery mają kilka ważnych zalet, nieodostępnych w tradycyjnych rozwiązaniach.
Współczesne mikrokontrolery mają wbudowaną nielotną pamięć Flash, dzięki czemu projektanci mogą z łatwością zmieniać algorytmy sterowania, dopasowując elektronikę do danego typu silnika. Przekłada się to bezpośrednio na niższe koszty produkcji elementów, dzięki uniwersalności linii produkcyjnych.
Reprogramowalna pamięć umożliwia projektantowi dostosowanie prędkości wentylatora do krzywej temperatury i zwiększenie efektywności pracy wiatraka. Sygnały zwrotne o temperaturze są dostarczane bezpośrednio z otoczenia lub z innych układów elektronicznych w systemie. Dla przykładu, wiele kart głównych ma wbudowane czujniki temperatury dla najważniejszych podzespołów. MCU może wykorzystać istniejące czujniki zamiast instalowania nowych, a co za tym idzie, dodatkowych kosztów.
Jeśli nastąpi awaria, taka jak błędne działanie lub blokada zatrzymująca silnik, mikrokontroler podejmuje akcje, np. zatrzymanie systemu, mające zapobiec dalszym uszkodzeniom. Ponadto może poinformować sterownik systemu o awarii, a nawet samemu zainicjować procedurę naprawczą.
Większość bezszczotkowych silników prądu stałego (BLDC) wykorzystywanych jako silniki wentylatorów, składa się z wirnika z magnesami trwałymi otoczonego uzwojeniami zainstalowanymi na biegunach stojana. Silniki BLDC nie mają ani szczotek ani komutatora. Komutacja odbywa się elektronicznie, gdy wirnik znajduje się na określonych etapach rotacji. W większości przypadków to czujnik Halla ustala położenie wirnika. Sygnał z czujnika wykorzystującego efekt Halla w odpowiednich momentach inicjuje komutację elektroniczną.
Typowy dwufazowy, bezszczotkowy silnik prądu stałego (BLDC) wykonany jest z wirnika z magnesami trwałymi otaczającego cztery cewki elektromagnesu. Cewki działają w parach, z cewką A i C tworzącymi jedną fazę oraz cewką B i D tworzącymi drugą.
Typowy dwufazowy silnik BLDC ma jedną parę biegunów na fazę, co daje cztery równomiernie rozmieszczone bieguny. Każdy krok komutacji porusza wirnik o 90°. Cztery kroki komutacji skutkują obrotem o 360°.
Przepływ prądu przez jedną parę uzwojenia indukuje pole magnetyczne pomiędzy biegunami. Magnes trwały w wirniku dopasowuje swoje położenie do wytworzonego pola magnetycznego. Po dopasowaniu, przerywa się zasilanie dotychczas używanych cewek i zasila drugą parę. Ten proces tworzy krok komutacji. Magnes trwały umieszczony w wirniku jest jednocześnie pchany i ciągnięty przez nowe pole magnetyczne, co powoduje obrót wirnika.
W momencie, w którym magnes trwały ponownie dopasowuje swoje położenie, następny krok komutacji powoduje wyłączenie drugiej pary cewek i ponowne włączenie pierwszej pary. Dwa kroki komutacji pozwoliły na obrót o 180°. Kolejne dwa kroki obrócą wirnik do początkowej pozycji i zakończą jeden pełny obrót. Jeśli bieguny pozostaną zasilone po tym jak magnes trwały dopasuje swoje położenie, to pole magnetyczne będzie próbowało schwytać wirnik spowalniając rotację. By zminimalizować ten efekt, zasilanie cewek zostaje odłączone przed samym dopasowaniem magnesu i biegunów. Wirnik mija wyłączony biegun, po czym następna para cewek jest zasilona, przyciągając do siebie wirnik. Krótki odcinek czasu, w którym żadna z cewek nie jest zasilona jest nazywany „czasem martwym”.
Głównym problemem przy sterowaniu silników jest niedopuszczenie do uwięzienia wirnika. Krytyczny jest czas zmiany zasilanych par biegunów. Załączenie pary cewek na zbyt długo powoduje utratę momentu bezwładności wirnika i brak obrotów silnika. Zbyt wczesne przełączenie komutacji powoduje utratę kontroli nad rotacją wirnika i ostatecznie utknięcie silnika. Położenie wirnika jest określane przez czujnik Halla umieszczony 45° pomiędzy cewkami stojana.
Komutacja pomiędzy dwufazowymi uzwojeniami w wentylatorach DC odbywa się poprzez zamienne zasilanie L1 i L2. „Strefy martwe” pomiędzy impulsami mocy ograniczają prąd dla kontroli prędkości i pomagają zmniejszyć moment zaczepowy.
Wyjście z czujnika Halla zmienia się w zależności od polaryzacji magnetycznej wirnika. Mikrokontroler monitoruje narastanie lub opadanie zbocza, w prosty sposób wykrywając ruch i położenie wirnika. Jeden krok komutacji w dwufazowym silniku odpowiada rotacji wału o 90° – ćwiartce pełnego obrotu. Tak, więc zmiana okresu komutacji steruje ogólną prędkością silnika. Całkowity czas komutacji jest sumą czasu zasilania pary cewek i „czasu martwego”, podczas którego wszystkie bieguny są wyłączone.
Załączanie i wyłączanie, które odbywa się podczas komutacji przypomina sterowanie za pomocą modulatora szerokości impulsów (PWM). MCU używa techniki PWM do kontroli szybkości silnika, a co za tym idzie szybkości wentylatora. Sygnał zwrotny z czujnika Halla informuje o aktualnych obrotach wiatraka i o tym, kiedy powinna odbyć się komutacja.
Mikrokontroler nieustannie monitoruje szybkość silnika poprzez sprawdzanie wyjścia czujnika i okresu efektu Halla. Jeśli okres jest krótszy niż założona długość trwania, to świadczy to o zbyt dużej szybkości silnika. MCU wydłuża “czas martwy” dla par biegunów, aż do osiągnięcia zamierzonego czasu trwania. W odwrotnej sytuacji, jeśli silnik obraca się wolniej niż to wymagane, „czas martwy” jest skracany.
Czujniki termiczne monitorują temperaturę sprzętu i informują o niej mikrokontroler wentylatora. MCU porównuje dane z zapisanymi w programie docelowymi wartościami temperatury i dostosowuje prędkość wiatraka.
Zbyt gwałtowne zmiany “czasu martwego” spowodują utknięcie silnika wentylatora. By temu przeciwdziałać, MCU jest zaprogramowany do wprowadzania wyłącznie stopniowych zmian czasu trwania „czasu martwego”.
Problemem silników dwufazowych jest brak pewności, w którą stronę silnik zacznie się obracać po uruchomieniu. Oczywistym jest, że wentylator musi obracać się w określonym kierunku, by zapewnić poprawną cyrkulację powietrza. Kolejność przełączeń komutacji nie pomoże, ponieważ sekwencja przełączeń jest taka sama dla obu kierunków rotacji. Początkowe położenie wirnika musi być znane przed uruchomieniem, tak by można było zasilić odpowiednią parę cewek. Informacja o początkowym położeniu pochodzi z czujnika Halla.
Przy pierwszym zasileniu silnika istnieje jednakowa szansa na to, że wirnik zacznie się obracać w każdym z kierunków. Niektórzy producenci silników projektują niesymetryczny stojan, tak by wymusić obroty w konkretnym kierunku, ale nie zawsze zapewnia to rotację w pożądaną stronę.
Do weryfikacji kierunku obrotów ponownie przydatny okazuje się czujnik Halla. MCU wykorzystuje technikę detekcji zbocza do ustalenia czy silnik obraca się w poprawnym kierunku. Na przykład, prawidłowy kierunek obrotów jest wykrywany za pomocą narastającego zbocza podczas zasilania określonej cewki stojana. Jeśli mikrokontroler wykryje zbocze opadające, to silnik obraca się wstecz.
Zablokowany wirnik lub inny problem, który nie pozwala na obrót silnika, rozpoznawany jest jako awaria silnika. Do wykrycia utknięcia wirnika ponownie używany jest czujnik Halla. Podczas poruszania się wirnika czujnik Halla wysyła do MCU ciągi impulsów. Jeśli te impulsy przestaną docierać do MCU, mikrokontroler zatrzymuje sterowanie PWM cewek, zapobiegając przegrzaniu. Może również uruchomić alarm dźwiękowy, powiadomić operatora i system o błędnym działaniu.
Najczęściej spotykanym czujnikiem temperatury używanym w wentylatorach jest dioda spolaryzowana w kierunku przewodzenia. Przy połączeniu ze stałym źródłem prądu, spadek napięcia na diodzie w kierunku przewodzenia jest zależy od temperatury otoczenia. Napięcie na diodzie jest mierzone za pomocą układu przetwornika analogowo-cyfrowego (ADC), który można znaleźć w większości mikrokontrolerów. Istnieje jednak tańsza alternatywa.
Załóżmy, że docelowa, maksymalna prędkość wentylatora to 4000 obrotów na minutę. Daje to 67 obrotów na sekundę lub 15 ms/obrót. Tak jak wcześniej wspomniane, wirnik potrzebuje czterech kroków komutacji do jednego, pełnego obrotu. Mówiąc inaczej, okres sterowania PWM jest zawsze dłuższy niż 3,75 ms. To dosyć długo dla zwykłego 8-bitowego MCU. Nawet z mikrokontrolerem taktowanym zegarem 4 MHz, 3,75 ms to 15000 cykli procesora. To pokazuje, że MCU jest niemal bezczynny przez okres sterowania PWM. Zamiast używać mikrokontroler z wbudowanym przetwornikiem ADC, można wykorzystać tańszy MCU o wystarczającej przepustowości, by za pomocą komparatora analogowego wykonać zadania przetwornika ADC.
Na rynku są dostępne dosłownie tysiące różnych konstrukcji sterowników silników. Niektóre opierają się na zaawansowanych, 32-bitowych DSP, inne na tanich 8-bitowych mikrokontrolerach. Konfiguracje są zależne od zastosowań. Naturalne jest, że sterownik silnika zaprojektowany z myślą o pralce nie znajdzie zastosowania dla układu wspomagania kierownicy w samochodzie. Wybór odpowiedniego mikrokontrolera jest zdeterminowany wymaganą szybkością, momentem, wielkością i precyzją ruchu silnika.
8-bitowy mikrokontroler wystarczy do zbudowania wentylatora DC. Korzystając z obliczeń przedstawionych wyżej, 8-bitowy, uniwersalny MCU taktowany 4 MHz zapewni więcej niż mocy obliczeniowej, niż jest to wymagane do sterowania wentylatora o prędkości 4000 obrotów na minutę. Będzie również potrzebował kilku wewnętrznych modułów, takich jak prosty zegar do pomiarów PWM, wewnętrzny zegar odniesienia, by wyeliminować potrzebę zewnętrznej kości krzemowej oraz komparator analogowy do pomiarów temperatury.
Projektant powinien również wziąć pod uwagę ograniczenia wynikające z wielkości obudowy mikrokontrolera. Elektronika w wentylatorach DC jest zwykle schowana pod wałem silnika wewnątrz wentylatora. Miejsce na płytce drukowanej jest ograniczone, więc niewielkie wymiary całego sterownika z pewnością pomogłyby konstruktorom.
Vincent Ko, System Engineer
Freescale Semiconductor