Stanowisko BLDC – urządzenie mierzące parametry pracy silnika

Wrzesień 14, 2015
Wysłane przez Michał Drwięga

W niniejszym wpisie chciałbym przedstawić kolejny projekt studencki związany z silnikami bezszczotkowymi DC (BLDC), który wykonałem w roku 2013. Celem projektu było stworzenie bezczujnikowego regulatora trójfazowego silnika BLDC w oparciu o mikrokontroler Freescale oraz jednoski mierzącej i wizualizującej parametry pracy takiego silnika. Miało to umożliwić badanie jakości sterowania, a także strojenie regulatora do danego silnika, aby uzyskać jak największą efektywność napędu.

Jednostka badająca parametry pracy silnika została wyposażona w czujniki, a także pobiera dane z regulatora. Dodatkowym zadaniem urządzenia pomiarowego jest pośredniczenie w transmisji między regulatorem silnika, a komputerem. Jednym z etapów projektu jest stworzenie aplikacji komputerowej do wizualizacji danych sensorycznych pobranych z jednostki badającej parametry pracy silnika. Zgodnie z wytycznymi, zakłada się wykorzystanie zestawu bibliotek Qt, a także asynchronicznej transmisji szeregowej (UART). Wizualizowane będą takie parametry jak prędkość obrotowa wału, temperatura silnika, pobierany prąd, czy aktualny poziom wysterowania układu wykonawczego. Aplikacja powinna umożliwiać pośrednie przesyłanie wartości zadanej do regulatora. Struktura blokowa projektu przedstawiona została na poniższym rysunku.

diagram_blokowy
Diagram blokowy przedstawiający strukturę projektu

 

bldc_station_and_regulator
Urządzenie pomiarowe wraz z regulatorem BLDC oraz trójfazowym silnikiem BLDC z komputerowego dysku twardego (HDD)

 

Podstawowe informacje związane ze sterowaniem silnikami bezszczotkowymi zostały przedstawione w następującym wpisie: Wprowadzenie do sterowania silnikami BLDC. Regulator, który jest integralną częścią projektu opisano w artykule: Bezczujnikowy regulator silnika BLDC w oparciu o mikrokontroler Freescale. Kolejną częścią projektu jest aplikacja do wizualizacji danych pobranych z jednostki pomiarowej, opisana w artykule: Aplikacja do wizualizacji danych w Qt. Natomiast w dalszej części znajduje się opis urządzenia pomiarowego.

 

Jednostka pomiarowa


 

Jak już wspomniano, jednostka badająca parametry pracy silnika została wyposażona w czujniki, a także pobiera dane z regulatora. Jej kolejnym zadaniem jest wysyłanie danych do aplikacji komputerowej, z którą komunikuje się za pomocą interfejsu UART. Poniżej zamieszczono wizualizacje projektu części sprzętowej urządzenia pomiarowego.

 

 

bldc_station_top_vis

bldc_station_bottom_vis

 

Część sprzętowa urządzenia pomiarowego


Poniżej przedstawiono opis projektu części sprzętowej jednostki pomiarowej BLDC. Układ został podzielony na moduły, które opisano w poszczególnych sekcjach.

Układ zasilania

W celu poprawnej pracy, urządzenie wymaga dostarczenia stałego napięcia zasilania (DC) mieszczącego się w granicach od 8 do 15 V. Przewidziano miejsce na dodatkowe złącze wysoko prądowe, aby umożliwić zasilanie z niego regulatora silnika BLDC. Należy jednak zapewnić odpowiednią wydajność prądową. Schemat ideowy układu zasilania znajduje się poniżej.

bldc_station_supply_circuit
Schemat ideowy układu zasilania

Obwód wyposażono w zabezpieczenie przed odwrotną polaryzacją napięcia zasilającego. Składa się ono z tranzystora MOSFET z kanałem typu N (Q1) i rezystora podłączonego do jego bramki (R1). W przypadku prawidłowej polaryzacji prąd płynie przez diodę pasożytniczą tranzystora, a następnie przez złącze źródło-dren, ponieważ napięcie na bramce jest znacznie wyższe niż na źródle. Natomiast w przypadku niepoprawnej polaryzacji napięcia prąd nie przepływa przez tranzystor i zabezpiecza układ. Warto zaznaczyć, że spadek napięcia na tranzystorze jest niewielki, przez co ogranicza się straty mocy. Należy jednak wziąć pod uwagę spadek napięcia na tym tranzystorze podczas pomiarów napięć uzyskanych z regulatora względem masy regulatora. Dodatkowo, wykorzystano dwukierunkową diodę zabezpieczającą transil, której zadaniem jest tłumienie przepięć i wysokonapięciowych impulsów. Napięcie znamionowe diody to 16V, a chwilowa moc strat osiąga poziom 600W.

Jako magazyn energii dla stabilizatora wykorzystano kondensator elektrolityczny C1. Jego dodatkowym zadaniem jest również filtrowanie zakłóceń o niskich częstotliwościach. Zakłócenia o wysokich częstotliwościach filtrowane są przez kondensator ceramiczny C2. Na wyjściu stabilizatora zastosowano kondensator tantalowy C3 ze względu na wyższej jakości parametry, a szczególnie ze względu na mniejszą rezystancję szeregową ESR (Equivalent Series Resistance). Zastosowany stabilizator liniowy LDO (Low DropOut) pozwala uzyskać na wyjściu napięcie 5V, które zasila większość podzespołów urządzenia. Jego wydajność prądowa jest nadmiarowa i nawet przy obudowie o dużej rezystancji termicznej (SOT-89) nie powinien się nagrzewać.

Układ mikrokontrolera

Zdecydowano się na wykorzystanie mikrokontrolera AVR ATmega32A ze względu na stosunkowo rozbudowane peryferia, dostępność, a przede wszystkim ze względu na wcześniejsze doświadczenia z mikrokontrolerami tej rodziny. Na schemacie można zauważyć, że zasilanie części analogowej zostało podłączone przez odpowiedni filtr. Ponadto, układ wyposażono w trzy diody LED (D2-D4) w celu wizualizacji parametrów pracy urządzenia, a także w przełączniki (S1-S4), aby umożliwić komunikację z użytkownikiem.

bldc_station_uC_circuit
Schemat ideowy podłączenia mikrokontrolera AVR
Układ źródła napięcia odniesienia

W celu zapewnienia stabilności wykonywanych pomiarów przez przetwornik analogowo-cyfrowy w który wyposażony jest mikrokontroler Atmega32 zdecydowano się wykorzystać zewnętrzne źródło napięcia referencyjnego. Schemat widoczny na rysunku zaczerpnięto z noty katalogowej układu LM336D-5.0 i po modyfikacjach wartości niektórych elementów zdecydowano się wykorzystać w projektowanym urządzeniu. Dołączone elementy dyskretne pozwalają uzyskać większą stabilność temperaturową napięcia, a także regulować jego wartość w nieznacznym zakresie.

Schemat ideowy układu źródła napięcia odniesienia
Schemat ideowy układu źródła napięcia odniesienia
Układ wejściowy analogowych torów pomiarowych

W celu dostosowania mierzonych napięć fazowych i napięcia zasilania silnika zdecydowano się na wykorzystanie układów składających się z dzielników napięciowych i filtrów dolnoprzepustowych RC. Wartości rezystorów dobrano tak, aby napięcia wyjściowe dzielników nie przekraczały poziomu 5V. Natomiast parametry filtrów dla napięć fazowych dobrano tak, aby odcinane były częstotliwości związane z sygnałem PWM sterującym tranzystorami w module wykonawczym, które wynoszą 20kHz.

 

bldc_station_sample_circuit
Schemat ideowy układu wejściowego analogowych torów pomiarowych
Układ wyświetlacza alfanumerycznego LCD

W celu wizualizacji parametrów pracy urządzenia i komunikacji z użytkownikiem zdecydowano się na wyposażenie urządzenia w wyświetlacz alfanumeryczny LCD ze sterownikiem HD4470. O wyborze takiego wyświetlacza zdecydował jego niewielki koszt, dostępność obszernej dokumentacji, a także dostępność bibliotek napisanych w języku C. Ponadto wybrany model umożliwia wyświetlanie dwóch linii, gdzie w każdej znajduje się 16 znaków.

Do sterowania wyświetlaczem z poziomu mikrokontrolera potrzebne są cztery porty dla danych (tryb 4-bitowy), a także trzy do sterowania operacjami, czyli łącznie wymaganych jest 7 linii mikrokontrolera w takiej konfiguracji. Dodatkowo zdecydowano się na programowe sterowanie podświetleniem wyświetlacza. Do tego celu wykorzystano generowany przez mikrokontroler sygnał PWM, który wysterowuje tranzystor Q2 przez który zasilany jest moduł podświetlenia. Tym samym uzyskano wartość podświetlenia zależną od wartości wypełnienia generowanego sygnału PWM. Natomiast regulacja kontrastu wyświetlacza zrealizowana została z wykorzystaniem potencjometru montażowego PR1.

Schemat podłączenia wyświetlacza alfanumerycznego LCD
Schemat podłączenia wyświetlacza alfanumerycznego LCD
Złącza

Urządzenie wyposażono w złącza umożliwiające połączenie z sensorami, czy dodatkowymi modułami. W dalszej części opisano poszczególne złącza i wyprowadzone sygnały.

Złącze interfejsu UART

W celu komunikacji z komputerem przez interfejs UART, przewidziane zostało złącze posiadające trzy linie: TXD, RXD i masę. Umożliwia ono podłączenie odpowiedniej przejściówki, aby przeprowadzić komunikację. Schemat tego złącza widoczny jest przy układzie mikrokontrolera.

Złącze KANDA

Złącze to jest wykorzystywane do programowania mikrokontrolera. Umożliwia podłączenie wielu standardowych programatorów szeregowych. Warto zauważyć, że do programowania wykorzystywany jest interfejs SPI (Serial Peripheral Interface), którego linie: MOSI, MISO, SCK zostały wyprowadzone. Na rysunku przedstawiono kolejność wyprowadzonych sygnałów.

 

Schemat złącza KANDA wykorzystywanego do programowania mikrokontrolera
Schemat złącza KANDA wykorzystywanego do programowania mikrokontrolera
Złącze sensora DS18B20

Wykorzystany sensor temperatury DS18B20 komunikuje się z mikrokontrolerem przez interfejs 1-Wire. Oprócz linii sygnałowej z mikrokontrolera sensor wymaga napięcia zasilania 5V, które również zostało doprowadzone do złącza. Ponadto linia interfejsu 1-Wire została podciągnięta do VCC przez rezystor R17.

 

bldc_station_DS18B20

Złącze modułu enkodera magnetycznego AS5040

W celu pomiaru prędkości obrotowej wału silnika zdecydowano się wykorzystać enkoder magnetyczny AS5040. Do złącza doprowadzono zasilanie 5V, ponadto doprowadzono trzy porty mikrokontrolera w celu odczytywania sygnałów z enkodera. Wystarczyły jedynie trzy linie, ponieważ wykorzystywany będzie jedynie wyjście inkrementalne w trybie kwadraturowym. Dlatego też na liniach oznaczonych A_LSB_U i B_Dir_V w tym trybie pojawią się sygnały kwadraturowe przesunięte względem siebie, aby umożliwić odczytanie kierunku obrotów.

bldc_station_encoder_connector

Złącze regulatora silnika BLDC

W celu komunikacji jednostki pomiarowej z regulatorem BLDC wykorzystano złącze na którym wyprowadzono dwie linie interfejsu I2C. Ponadto linie: U_PHASE, V_PHASE i W_PHASE doprowadzone zostały do układu wejściowego toru pomiarowego. Sygnały te są napięciami na poszczególnych fazach trójfazowego silnika BLDC. Ponadto do złącza doprowadzony zostanie sygnał analogowy z sensora pomiaru prądu pobieranego przez silnik. Sygnał ten będzie mieścił się w przedziale 0-5V, aby umożliwić bezpośredni pomiar przetwornikiem ADC mikrokontrolera. Dodatkowo na złączu można zauważyć doprowadzony sygnał A_LSB_U, który jest wyjściem kwadraturowym z enkodera magnetycznego. Został on dołączony na wypadek, gdyby okazało się problematyczne sterowanie silnikiem na podstawie obrotów obliczonych z czasu między poszczególnymi komutacjami.

bldc_station_regulator_connector

Część sprzętowa modułu enkodera


W celu zmierzenia prędkości obrotowej wału silnika BLDC zdecydowano się wykorzystać enkoder magnetyczny AS5040 wykonywany przez firmę Austriamicrosystems. Enkoder posiada wiele trybów pracy, jednak wymaga najpierw zaprogramowania. Natomiast domyślnie ustawiony jest tryb kwadraturowy. Ze względu na brak odpowiedniego programatora zdecydowano się wykorzystać enkoder w domyślnym trybie kwadraturowym. Odczytywane są dwa wyjścia kwadraturowe, których sygnały są przesunięte względem siebie w celu umożliwienia odczytu kierunku obrotów wału silnika. Na rysunku  przedstawiono schemat ideowy modułu enkodera. Wartości kondensatorów: C1, C2 i rezystora R1 zaczerpnięte zostały z dokumentacji enkodera. Układ wyposażony został w dwie diody, które informują o tym, czy magnes został umieszczony w odpowiedniej odległości od układu scalonego.

bldc_station_scheme_encoder
Schemat ideowy modułu z enkoderem magnetycznym AS5040

Tory pomiarowe


Pomiar prędkości obrotowej

Pomiar prędkości obrotowej wału silnika BLDC zrealizowano z wykorzystaniem enkodera magnetycznego AS5040. Zasadę działania modułu opisano w dalszej części. Rozwinięta zostanie natomiast część dotycząca sposobu pomiaru prędkości obrotowej przez mikrokontroler na podstawie wejścia kwadraturowego. W celu obliczenia prędkości obrotowej wymagana jest znajomość częstotliwości sygnału z wyjścia kwadraturowego. Zostanie ona obliczona z wykorzystaniem dwóch timerów mikrokontrolera Atmega32. Zdecydowano się na metodę pomiaru w której jeden timer odmierza podstawę czasu, natomiast drugi zlicza impulsy wejściowe. Ponieważ Atmega32 posiada tylko jeden timer 16 bitowy (TIMER1), zdecydowano, że będzie on liczył impulsy wejściowe, natomiast 8 bitowy TIMER0 będzie odmierzał podstawę czasu w której zliczane będą impulsy. Odpowiednie obliczenia pozwolą uzyskać częstotliwość sygnału i jednocześnie prędkość obrotową. Długość podstawy czasu dobrana zostanie doświadczalnie tak, aby uzyskać zadowalający kompromis między szybkością pomiaru i jego dokładnością. Zmierzone wartości wizualizowane będą za pomocą aplikacji, lub na wyświetlaczu LCD.

Pomiar temperatury

W celu wykonania pomiaru temperatury wykorzystano sensor DS18B20. Jego dokładność do +/- 0.5 oC dla zakresu temperatur od -10oC do +85 oC. Sensor ten umożliwia wybranie rozdzielczości wyniku pomiaru. Wybrano najwyższą możliwą rozdzielczość, czyli 12 bitów. W takim trybie jednak sporym ograniczeniem wydaje się czas pomiaru, który maksymalnie może wynieść 750ms.

Pomiar pobieranego prądu

Pomiar pobieranego prądu wykonywany jest na podstawie napięcia dostarczanego z regulatora BLDC, w którym zastosowano odpowiedni układ pomiaru prądu składający się z rezystora pomiarowego o rezystancji R = 0,003 Ω, a także wzmacniacza pomiarowego o wzmocnieniu równym K=200. Wykorzystany przetwornik analogowo-cyfrowy działa w trybie 10 bitowym, a jego napięcie referencyjne wynosi V_REF = 5V. Można łatwo obliczyć rozdzielczość mierzonego napięcia.

V_RES = V_REF / 210  = 4,88 mV

Aby obliczyć rozdzielczość mierzonego prądu należy skorzystać z poniższego wzoru.

I_RES = V_RES / (K*R) = 0,00488 / (200 * 0,003)  = 8,13 mA

Otrzymana rozdzielczość wydaje się wystarczająca, aczkolwiek należy wziąć pod uwagę, że na dokładność pomiaru wpływ ma szereg czynników, takich jak niedokładność przetwornika A/C, niedokładność rezystora pomiarowego, niedokładność źródła napięcia odniesienia, niedokładność wzmacniacza pomiarowego, czy zakłócenia toru pomiarowego.

Pomiar napięć fazowych i zasilającego silnika BLDC

Wykorzystane układy wejściowe torów pomiarowych zostały już opisane wcześniej. W celu obliczenia rozdzielczości pomiarów napięć wejściowych dzielników należy najpierw obliczyć rozdzielczość pomiaru dla przetwornika 10 bitowego.

V_RES = V_REF / 210  = 4,88 mV

Wykorzystując wzór na napięcie wyjściowe dzielnika U_wy = U_we * R_2 /(R_1 + R_2) można obliczyć rozdzielczość pomiaru na wejściu dzielnika.

V_RES2 = V_RES *(R_1+R_2) / R2

Przyjmując wartości rezystorów R_1 = 2,2k Ω i R_2 = 4,7k Ω otrzymujemy następującą wartość.

V_RES2 =0,00488 * (4700 + 2200) / 2200 = 15 mV

Należy jednak jak w przypadku pomiaru prądu wziąć pod uwagę poszczególne niedokładności. W tym przypadku znaczny wpływ na wyniki pomiarów będą dodatkowo miały wartości rezystorów, które mają określoną tolerancję.

Protokół komunikacji z komputerem


W celu umożliwienia komunikacji urządzenia z komputerem konieczne było zaprojektowanie odpowiedniego protokołu komunikacyjnego. Warto zaznaczyć, że do omawianej komunikacji wykorzystuje się interfejs szeregowy UART ze strony mikrokontrolera. Natomiast w celu przeprowadzenia transmisji ze strony komputera wymagana jest przejściówka UART → USB, która pozwala symulować port szeregowy COM. Przejściówka wykorzystywana w pracy oparta była na układzie FTDI232. Główną ideą zaprojektowanego protokołu komunikacji jednostki pomiarowej z komputerem jest wykorzystanie architektury klient-serwer. Rolę klienta pełni aplikacja komputerowa, która wysyła odpowiednio zakodowane rozkazy. Natomiast rolę serwera pełni jednostka pomiarowa, która dekoduje i realizuje otrzymywane rozkazy. W dalszej części przedstawiono szczegółowy opis projektowanego protokołu.

Suma kontrolna

W celu weryfikowania poprawności transmisji zaimplementowano obliczanie prostej sumy kontrolnej. Algorytm zlicza liczbę wystąpień bitów o stanie wysokim w ciągu wysłanych bajtów. Metoda ta nie zapewnia dużej odporności na zakłócenia, ponieważ jest duże prawdopodobieństwo, że suma bitów o wysokim stanie niepoprawnego ciągu bajtów będzie równa sumie poprawnego. Aczkolwiek w tym przypadku sprawdziła się, a jej znaczną zaletą jest niewielka złożoność obliczeniowa.

Opis protokołu

W pierwszym odebranym bajcie danych przez jednostkę pomiarową, dwa najstarsze bity są bitami kontrolnymi o wartościach wysokiego stanu logicznego (11). Kolejne 6 bitów określa rozkaz, który należy wykonać. Łatwo obliczyć, że w ten sposób możemy zakodować do 64 różnych rozkazów, co wydaje się być wartością zupełnie wystarczającą. Drugi bajt zawiera sumę kontrolną rozkazu i dopiero po weryfikacji rozpoczyna się wykonywanie rozkazu. Zaimplementowany protokół zakłada przesyłanie bardziej znaczących bajtów przed mniej znaczącymi (Big endian). Każdy dodatkowo przesyłany ciąg danych jest weryfikowany sumą kontrolną, której algorytm został przedstawiony w poprzednim podrozdziale. Rozkazy podzielono na cztery części w zależności od wartości pierwszych czterech bitów: 0xC (1100) rozkazy przesłania informacji zwrotnej, 0xD (1101) rozkazy wysłania informacji do regulatora, 0xE (1110) rozkazy konfiguracyjne jednostki pomiarowej, 0xF (1111) pozostałe rozkazy.

Protokół komunikacji jednostki pomiarowej z regulatorem BLDC

W celu komunikacji regulatora z dedykowaną jednostką pomiarową wykorzystano magistralę I2C.  W zaprojektowanym protokole komunikacji, regulator działa w trybie SLAVE, natomiast jednostka nadrzędna w trybie MASTER i jest odpowiedzialna za generowanie sygnału zegarowego na SCL, a także rozpoczynanie i kończenie komunikacji. Rozkazy będą formułowane przez jednostkę pomiarową i przesyłane do regulatora.

Suma kontrolna

W celu weryfikowania poprawności transmisji zaimplementowano obliczanie prostej sumy kontrolnej. Algorytm zlicza liczbę wystąpień bitów o stanie wysokim w ciągu wysłanych bajtów. Metoda ta nie zapewnia dużej odporności na zakłócenia, ponieważ jest duże prawdopodobieństwo, że suma bitów o wysokim stanie niepoprawnego ciągu bajtów będzie równa sumie poprawnego. Aczkolwiek w tym przypadku sprawdziła się, a jej znaczną zaletą jest niewielka złożoność obliczeniowa.

Opis protokołu komunikacji regulatora z jednostką pomiarową

W pierwszym przesłanym bajcie danych, zaraz po bajcie z adresem odbiornika znajduje się rozkaz. Dwa najstarsze bity są bitami kontrolnymi o wartościach wysokiego stanu logicznego (11). Kolejne 6 bitów określa rozkaz, który należy wykonać. Łatwo obliczyć, że w ten sposób możemy zakodować do 64 różnych rozkazów, co wydaje się być wartością zupełnie wystarczającą. Zaimplementowany protokół zakłada przesyłanie bardziej znaczących bajtów przed mniej znaczącymi (Big endian). W zależności od rozkazu następnie przesyłane są dwa bajty z danymi lub są pomijane. Dodatkowy bajt zawiera obliczoną sumę kontrolną.

Oprogramownie


 

Oprogramowanie mikrokontrolera jest rozwijane w języku C. Wybrane środowisko pracy to Atmel Studio 6.0 dostarczane w wersji bezpłatnej przez firmę Atmel. Wykorzystano gotowe biblioteki do obsługi wyświetlacza alfanumerycznego LCD i do obługi sensora temperatury DS18B20. Poniżej zamieszczono odnośniki do stron www na których można znaleźć wykorzystane biblioteki.

http://radzio.dxp.pl/hd44780/ http://gandalf.arubi.uni-kl.de/avr\_projects/tempsensor/index.html

Funkcjonalności


 

Urządzenie spełnia rolę jednostki pomiarowej parametrów pracy silnika BLDC, a także sterującej pracą tego silnika. Główne funkcjonalności urządzenia są następujące.

  • Wizualizacja na wyświetlaczu alfanumerycznym LCD:
    • Wartości temperatury silnika zmierzonej sensorem DS18B20
    • Wartości prędkości obrotowej silnika zmierzonej enkoderem magnetycznym AS5040
    • Wartość pobieranego przez silnik prądu
    • Wartości napięć fazowych w danych chwilach, a także napięcia zasilania silnika
  • Sygnalizacja za pomocą diod LED:
    • Stanu zasilania urządzenia
    • Stanu komunikacji I2C z regulatorem (aktywna / nieaktywna)
    • Stanu komunikacji z komputerem przez UART (aktywna / nieaktywna)
    • Wykonania pomiaru temperatury
  • Działanie jako serwer w komunikacji z komputerem (architektura klient-serwer)
    • Wysyłanie wyników pomiarów do komputera
    • Wysyłanie zadanych parametrów do regulatora BLDC
    • Komunikacja z użytkownikiem za pomocą klawiatury składającej się z czterech przycisków
    • Możliwość konfiguracji podświetlenia wyświetlacza
    • Możliwość zmiany trybu działania urządzenia z poziomu klawiatury

Podsumowanie


 

Odnośnie pomiarów pobieranego przez silnik prądu, okazało się, że zastosowany wzmacniacz pomiarowy nie nadaje się do pomiarów niewielkich prądów lub zakłócenia są na tyle wysokie, że uniemożliwiają ten pomiar. Jednak w zasadzie pomiar prądu miał zostać zrealizowany jedynie w celu wykrywania nadmiernego poboru, przez co zdaje się, że cel został osiągnięty.

Największym problemem okazał się pomiar prędkości obrotowej silnika na podstawie czasu między komutacjami. Okazało się, że mierzone czasy są na tyle niedokładne, że praktycznie uniemożliwiają obliczenie prędkości obrotowej. Zdecydowano się z tego powodu wykorzystać enkoder magnetyczny w celu pomiaru prędkości obrotowej, która następnie podawana jest na wejście regulatora PID. Dodatkowym problemem okazały się zakłócenia pomiaru wyjścia kwadraturowego enkodera. Wymagane było uśrednianie pomiaru, a także zastosowanie prostego filtru IIR, co jednak nie spowodowało, że zakłócenia zostały wyeliminowane całkowicie. Ponadto zauważono, że poziom zakłóceń ulegał zwiększeniu w chwili wykonywania pomiarów przez sensor temperatury DS18B20, a także w chwili, gdy realizowana była transmisja szeregowa.

Warto wspomnieć, że testowano trzy metody sterowania kluczami w półmostkach układu wykonawczego regulatora. Pierwsza zakładała kluczowanie górnych tranzystorów (unipolarna +), druga kluczowanie dolnych tranzystorów (unipolarna -), natomiast w trzeciej metodzie kluczowano zarówno górne jak i dolne tranzystory (bipolarna). W pierwszej metodzie straty mocy były spore ze względu na brak możliwości generowania czasów martwych sygnałów sterujących. Natomiast między metodami unipolarnymi nieznacznie efektywniejsza okazała się ta z kluczowaniem dolnych tranzystorów Mosfet z kanałami N, ponieważ miały one mniejsze ładunki bramek, a także mniejszą rezystancję na złączu dren-źródło (R_DS).

Podsumowując, udało się częściowo zrealizować postawione cele. Zaprojektowane i wykonane urządzenia oraz aplikacja nadają się jako stanowisko badawcze, jednak wykorzystanie regulatora silnika do innych celów niż badawcze, na tym etapie prac wydaje się niemożliwe, chociażby ze względu na niską niezawodność.

bldc_station_1

bldc_station_2

Źródła


  • Arkadiusz Domoracki, Krzysztof Krykowski: Silniki BLDC – klasyczne metody sterowania. Zeszyty Problemowe – Maszyny Elektryczne Nr 72/2005
  • Napęd z bezszczotkowym silnikiem prądu stałego (BLDC) [online]. http://www.ely.pg.gda.pl/kane/Dydaktyka/BLDC-instrukcja.pdf
  • AVR444: Sensorless control of 3-phase BLDC motors based on tinyAVR and megaAVR devices [online]. http://www.atmel.com/Images/doc8012.pdf
  • Marek Kabała, Marek Wnuk. Moduł z mikrokontrolerem MC9S12A64 (lub MC9S12C32) [online]. http://rab.ict.pwr.wroc.pl/~mw/Proj/Micro/hc12/hc12a64.pdf
  • AVR221: Discrete PID controller [online]. http://www.atmel.com/images/doc2558.pdf
  • MC9S12DJ64 Data Sheet and Reference Manual. [online]. http://www.freescale.com
  • Tomasz Orłowski: Maszyna stanów skończonych dla programisty systemów wbudowanych. [online]. http://www.ep.com.pl/files/1436.pdf
  • UM10204 I2C-bus specification and user manual – NXP. [online]. http://www.nxp.com/documents/user\_manual/UM10204.pdf

Tagi: , , , , , , , ,

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

  • Polski
  • English