Politechnika Wrocławska Wydział Elektroniki K IERUNEK : Automatyka i robotyka S PECJALNOSC : Robotyka PRACA DYPLOMOWA MAGISTERSKA Badanie własności nap˛edów elektrycznych stosowanych w robotyce Testing of robotic electric drivers characteristics AUTOR: Michał Juszczak PROWADZ ACY ˛ PRAC E: ˛ dr inż. Marek Wnuk OPIEKUN: dr inż. Marek Wnuk OCENA PRACY: Wrocław 2006 prac˛e dedykuj˛e Rodzicom Składam serdeczne podzi˛ekowania Panu dr Markowi Wnukowi za poświ˛econy czas, cenne wskazówki i wyrozumiałość. Spis treści 1 Wstep 2 Silnik BLDC 2.1 Wprowadzenie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Budowa silnika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Model matematyczny silnika pradu ˛ stałego . . . . . . . . . . . . . . . . . . . . 2.4 Sterowanie silnikiem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Struktura układu sterowania . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Komutacja z wykorzystaniem czujników Hall’a . . . . . . . . . . . . . 2.4.3 Komutacja z wykorzystaniem kodera kwadraturowego . . . . . . . . . 2.4.4 Komutacja z wykorzystaniem SEM indukowanej w uzwojeniach stojana 6 6 6 8 11 11 14 17 18 3 Konstrukcja stanowiska 3.1 Moduł sterownika . . . . . . . . . . . . . . . 3.1.1 Moduł z procesorem MC68332 . . . 3.1.2 Zasilacz lokalny . . . . . . . . . . . 3.2 Układ docelowy . . . . . . . . . . . . . . . . 3.2.1 Silnik . . . . . . . . . . . . . . . . . 3.2.2 Obcia˛żenie . . . . . . . . . . . . . . 3.2.3 Wzmacniacz mocy z logika˛ sterujac ˛ a˛ 3.2.4 Układ pomiaru pradu ˛ . . . . . . . . . 3.2.5 Koder kwadraturowy . . . . . . . . . 3.2.6 Interfejs użytkownika . . . . . . . . . 3.3 Zasilacz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 22 23 23 24 24 27 31 32 32 35 36 Oprogramowanie sterownika 4.1 Struktura oprogramowania CPU . . . . . . . 4.1.1 Kolejkowy interfejs szeregowy QSM 4.1.2 Regulator pr˛edkości . . . . . . . . . 4.2 Oprogramowanie TPU . . . . . . . . . . . . 4.2.1 Konfiguracja TPU . . . . . . . . . . 4.2.2 Funkcja COMM . . . . . . . . . . . 4.2.3 Funkcja HALLD . . . . . . . . . . . 4.2.4 Funkcja FQD . . . . . . . . . . . . . 4.2.5 Funkcja PWM . . . . . . . . . . . . 4.2.6 Funkcja FQM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 38 39 41 42 42 43 46 47 48 49 4 5 5 Obsługa i możliwości stanowiska 50 6 Eksperymenty 54 7 Podsumowanie 60 1 Spis rysunków 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 Budowa silnika BLDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konfiguracja trójkat ˛ i gwiazda uzwojeń stojana . . . . . . . . . . . . . . . . . Konstrukcje silników BLDC . . . . . . . . . . . . . . . . . . . . . . . . . . . Schemat zast˛epczy silnika BLDC . . . . . . . . . . . . . . . . . . . . . . . . . Schemat blokowy układu sterowania silnikiem BLDC . . . . . . . . . . . . . . Przebiegi napi˛eć sterujacych ˛ silnika . . . . . . . . . . . . . . . . . . . . . . . Kierunek przepływu pradu ˛ w kolejnych fazach komutacji . . . . . . . . . . . . Schemat układu wzmacniacza . . . . . . . . . . . . . . . . . . . . . . . . . . Rozkład wektorów pól stojana dla różnych stanów czujników Hall’a . . . . . . Polaryzacja faz wraz kierunkiem nat˛eżenia pola stojana przed komutacja˛ . . . . Polaryzacja faz wraz kierunkiem nat˛eżenia pola stojana po komutacji . . . . . . Przebieg sygnałów na wyjściu kodera kwadraturowego . . . . . . . . . . . . . Podział etapów komutacji na 6 sektorów . . . . . . . . . . . . . . . . . . . . . Charakterystyki zwrotnych SEM indukowanych w fazach silnika . . . . . . . . Zależność mi˛edzy sygnałami na wyjściu czujników Hall’a a przebiegiem indukowanych SEM w uzwojeniach stojana . . . . . . . . . . . . . . . . . . . . . Układ detekcji przejścia SEM przez punkt neutralny . . . . . . . . . . . . . . . Układ detekcji ze sztucznym punktem neutralnym . . . . . . . . . . . . . . . . Budowa stanowiska . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schemat blokowy cz˛eści elektronicznej stanowiska . . . . . . . . . . . . . . . Płytka sterownika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lokalny zasilacz płytki sterownika +5V . . . . . . . . . . . . . . . . . . . . . Stojan silnika BLDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wirnik silnika BLDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Układ dyskretyzujacy ˛ napi˛ecie wyjściowe czujników Halla . . . . . . . . . . . Przebieg napi˛ecia na wyjściu komparatora i odpowiadaja˛ mu wartości logiczne Złacze ˛ Z4 i Z5 silnika . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Układ sprz˛egajacy ˛ silnik z pradnic ˛ a˛ . . . . . . . . . . . . . . . . . . . . . . . Charakterystyka pradnicy ˛ dla różnych wartości rezystancji obcia˛żenia . . . . . Tor pomiarowy napi˛ecia pradnicy ˛ . . . . . . . . . . . . . . . . . . . . . . . . Złacze ˛ Z1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mechanizm hamujacy ˛ - rzut boczny . . . . . . . . . . . . . . . . . . . . . . . Mechanizm hamujacy ˛ - zdj˛ecie . . . . . . . . . . . . . . . . . . . . . . . . . . Schemat ideowy półmostka mocy . . . . . . . . . . . . . . . . . . . . . . . . Układ pomiaru pradu ˛ silnika . . . . . . . . . . . . . . . . . . . . . . . . . . . Układ AS5040 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Układ podłaczenia ˛ kodera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Płytka kodera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mocowanie kodera na wale silnika . . . . . . . . . . . . . . . . . . . . . . . . Złacze ˛ Z6 i Z7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schemat połaczenia ˛ sterownika LCD . . . . . . . . . . . . . . . . . . . . . . . Złacze ˛ Z3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schemat zasilacza +10V, 3A . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagram działania głównej p˛etli programu . . . . . . . . . . . . . . . . . . . . Cykl pomiarowy kolejki SPI . . . . . . . . . . . . . . . . . . . . . . . . . . . Bajt sterujacy ˛ dla MAX1270 . . . . . . . . . . . . . . . . . . . . . . . . . . . Struktura układu regulatora pr˛edkości . . . . . . . . . . . . . . . . . . . . . . Schemat obsługi zdarzeń przez TPU . . . . . . . . . . . . . . . . . . . . . . . 2 6 7 8 8 11 12 13 14 15 16 16 17 17 18 19 20 20 21 22 22 23 24 24 25 26 27 27 28 29 29 30 30 31 32 32 33 34 34 35 35 36 36 38 40 41 41 43 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 Struktura stanu w tablicy komutacji . . . . . . . . . . . . . . . . . . . . . . . Charakterystyka pr˛edkości silnika dla komutacji z kodera kwadraturowego po przekłamaniu licznika pozycji funkcji FQD . . . . . . . . . . . . . . . . . . . Widok płyty czołowej stanowiska . . . . . . . . . . . . . . . . . . . . . . . . Konstrukcja menu użytkownika . . . . . . . . . . . . . . . . . . . . . . . . . Zależność pr˛edkości silnika od wypełnienia sygnału sterujacego ˛ napi˛eciem zasilania . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Charakterystki w otwartym układzie regulacji przy wymuszeniu PWM=100% . Charakterystki w otwartym układzie regulacji przy wymuszeniu PWM=70% . . Charakterystyka w otwartym układzie regulacji dla różnych wartości współczynnika PWM (bez obcia˛żenia silnika) . . . . . . . . . . . . . . . . . . . . . Charakterystyka regulatora PD dla K p = 50 = const. . . . . . . . . . . . . . . Charakterystyka regulatora PD dla K p = 30 = const. . . . . . . . . . . . . . . Charakterystyka regulatora PD dla K p = 20 = const. . . . . . . . . . . . . . . Charakterystyka regulatora PD dla K p = 10 = const. . . . . . . . . . . . . . . Charakterystyka regulatora PD dla K p = 10 = const. . . . . . . . . . . . . . . Charakterystyka regulatora PD dla K p = 5 = const. . . . . . . . . . . . . . . . Charakterystyka regulatora PD dla K p = 5 = const. . . . . . . . . . . . . . . . Charakterystyki silnika w zamkni˛etym układzie regulacji dla Set speed = 5850, K p =10, Kd =14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Charakterystyki silnika w zamkni˛etym układzie regulacji dla Set speed = 3516, K p =20, Kd =14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Charakterystyki silnika w zamkni˛etym układzie regulacji dla Set speed = 2110, K p =20, Kd =14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Charakterystyki silnika w zamkni˛etym układzie regulacji dla Set speed = 1055, K p =20, Kd =14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schemat ideowy stopnia mocy z logika˛ sterujac ˛ a˛ . . . . . . . . . . . . . . . . 3 45 48 50 51 54 55 55 55 56 56 57 57 57 58 58 58 59 59 59 64 Spis tablic 1 2 3 4 5 6 7 8 9 10 Opis wyprowadzeń silnika . . . . . . . . . . . . . . . . . . . . . . . . . . . . Polaryzacja uzwojeń i odpowiadajace ˛ jej stany wyjściowe czujników Hall’a . . Opis złacza ˛ Z1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zależność sygnałów sterujacych ˛ mostka od biegunu napi˛ecia zasilajacego ˛ silnik Opis wyprowadzeń kodera . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opis wyprowadzeń wyświetlacza . . . . . . . . . . . . . . . . . . . . . . . . . Spis wykorzystanych funkcji z przydziałem kanałów i priorytetów obsługi . . . Tablica komutacji dla trybu bezczujnikowego . . . . . . . . . . . . . . . . . . Tablicy komutacji dla trybu z wykorzystaniem funkcji HALLD . . . . . . . . . Sposób dekodowania stanu wyjść czujników Hall’a przez funkcje HALLD . . . 4 26 27 29 31 35 36 43 45 46 47 1 Wstep Robotyka jest interdyscyplinarna˛ dziedzina˛ nauki łacz ˛ ac ˛ a˛ w sobie m.in. zagadnienia konstrukcji mechanicznych, teorii układów sterowania i elektroniki. Jej opanowanie pozwala na tworzenie maszyn spełniajacych ˛ najróżniejsze, cz˛esto bardzo wysokie oczekiwania ludzi co do rodzaju i jakości wykonywanych przezeń prac. Roboty powstały z myśla˛ o zastapieniu ˛ człowieka przy wykonywaniu zadań którym ludzie nie sa˛ wstanie sprostać ze wzgl˛edu na swoje ograniczenia. Dlatego od tradycyjnego robota wymaga si˛e przede wszystkim dużej precyzji i powtarzalności wykonywanych ruchów. Za ruch robota odpowiadaja˛ bezpośrednio jednostki nap˛edowe z których przeważajac ˛ a˛ cz˛eść stanowia˛ silniki elektryczne. Znaczna wi˛ekszość rozwiazań ˛ robotycznych wykorzystuje silniki pradu ˛ stałego (DC), jednak należy również wspomnieć o bardzo dobrych własnościach silników pradu ˛ zmiennego (AC) ze sterowaniem wektorowym, których popularność stale wzrasta. W chwili obecnej przeważaja˛ jednak silniki pradu ˛ stałego. Maja˛ one dobre charakterystyki i wyróżniaja˛ si˛e stosunkowo prostym układem sterowania, który pozwala na regulacj˛e wybranych parametrów ruchu. Lista dost˛epnych silników DC jest bardzo szeroka, niemniej każdy silnik ze wzgl˛edów konstrukcyjnych można sklasyfikować do jednej z czterech podstawowych grup: • z magnesami trwałymi • szeregowych • bocznikowych • szeregowo - bocznikowych Każda˛ grup˛e cechuje inny obwód wzbudzenia silnika, który rzutuje na jakość jego charakterystyki elektromechanicznej. Prawie wszystkie silniki pradu ˛ stałego wyposażone sa˛ w mechaniczny komutator, który jest głównym powodem ich wad i ograniczeń. Wyjatek ˛ stanowi podgrupa silników z magnesami trwałymi, w których rol˛e komutatora pełni układ elektroniczny wytwarzajacy ˛ sygnały sterujace ˛ w oparciu o informacje sprz˛eżenia zwrotnego od położenia wirnika. Rozwiazanie ˛ takie pozwoliło wyeliminować niedogodności zwiazane ˛ z obecnościa˛ mechanicznego komutatora, zwi˛ekszajac ˛ jednocześnie możliwość łatwego kształtowania charakterystyk. Bezkomutatorowe silniki pradu ˛ stałego (BLDC) stały si˛e alternatywa˛ dla silników szczotkowych. Przy takich samych charakterystykach elektromechanicznych gwarantuja˛ wyższe maksymalne pr˛edkości obrotowe, lepsza˛ dynamik˛e i daja˛ możliwość bardziej precyzyjnego sterowania położeniem wirnika. Szczególne własności nap˛edów z tego typu silnikami skłoniły do podj˛ecia tematu i bliższego przyjżenia si˛e im w niniejszej pracy. Praktyczne podejście do zagadnienia narodziło pomysł powstania stanowiska badawczo - dydaktycznego, które w przyst˛epny sposób pozwoli na zapoznanie si˛e z różnymi technikami komutacji tego typu silników i stworzy możliwość pomiaru jego rzeczywistych charakterystyk. 5 2 2.1 Silniki BLDC Wprowadzenie Bezkomutatorowe silniki pradu ˛ stałego należa˛ do grupy silników synchronicznych. Oznacza to, że pola wytwarzane przez uzwojenia stojana i magnesy trwałe osadzone na wirniku, poruszaja˛ si˛e z tymi samymi pr˛edkościami. Sposób zasilania faz silnika jest zależny od sygnałów sterujacych, ˛ które generowane sa˛ w oparciu o sygnał sprz˛eżenia zwrotnego od położenia wirnika. Odpowiednie zsynchronizowanie ich pozwala uzyskać stały moment i pr˛edkość obrotowa˛ silnika. Zastapienie ˛ komutatora mechanicznego elektronicznym jest powodem wielu zalet tego silnika. Brak szczotek na komutatorze oznacza brak wyładowań łukowych. Powoduje to zmiejszenie zakłóceń radioelektrycznych i pozwala na prac˛e silnika w środowiskach agresywnych i wybuchowych. Brak szczotek zwi˛eksza również bezawaryjność silnika i jego żywotność. Zaleta˛ zastosowania komutatora elektronicznego jest możliwość stosunkowo łatwego kształtowania charakterystyk silnika (np. można stabilizować wybrany parametr). Mimo, że silnik BLDC jest silnikiem synchronicznym nie wyst˛epuje w nim zjawisko utraty synchronizmu w przypadku przecia˛żenia silnika, co jest wada˛ innych maszyn synchronicznych. Właściwość ta wynika ze sposobu generowania wirujacego ˛ pola magnetycznego. Pole to jest wytwarzane w dziedzinie kata ˛ mechanicznego położenia wirnika wzgl˛edem stojana a nie jak w typowych maszynach synchronicznych w dziedzinie czasu. 2.2 Budowa silnika Budowa silnika BLDC z wirujacym ˛ magnesem jest w zasadzie odwróceniem silnika komutatorowego z magnesami trwałymi: uzwojenia znajduja˛ si˛e w stojanie a wirnik wykonany jest z odpowiednio ukształtowaniego magnesu. Mechaniczny komutator w silniku BLDC został zastapiony ˛ elektronicznym przełacznikiem, ˛ którego stan wyjściowy określony jest funkcja˛ położenia rotora. Rysunek 1: Budowa silnika BLDC Ze wzgl˛edu na liczb˛e uzwojeń, silniki BLDC możemy podzielić na jednofazowe, dwufazowe i trójfazowe. Najbardziej popularne i najszerzej stosowane sa˛ silniki trójfazowe, dlatego też b˛eda˛ one głównym obiektem rozważań i badań w ninejszej pracy. W przeciwieństwie do silników jedno czy dwufazowych silniki trójfazowe zapewniaja˛ ciagłość ˛ oddziaływania momentu nap˛edowego na wirnik. Ponadto pozwalaja˛ ze znacznie wi˛eksza˛ dokładnościa˛ sterować położeniem wirnika. Z powodów tych znajduja˛ one coraz cz˛eściej zastosowanie w aplikacjach, które 6 wymagaja˛ dużej precyzji, czyli m.in. takich jak robotyka. Dla silników trójfazowych wyróżnić można dwie metody połaczenia ˛ uzwojeń stojana: • gwiazda • trójkat ˛ (delta) Rysunek 2: Konfiguracja trójkat ˛ i gwiazda uzwojeń stojana Sposób połaczenia ˛ uzwojeń ma wpływ na metod˛e sterowania i parametry silnika. Sterowanie silnikami z uzwojeniami połaczonymi ˛ w gwiazd˛e jest bardziej skomplikowane niż silnikami pracujacymi ˛ w konfiguracji delta. W pierwszym wypadku silnik może wymagać zasilania tylko dwóch faz, podczas gdy trzecia faza pozostaje nieobcia˛żona. Warunek ten powoduje, że układ logiczny sterujacy ˛ końcówka˛ mocy staje si˛e troch˛e bardziej złożony. Konfiguracja delta uzwojeń stojana wymaga obcia˛żenia wszystkich faz podczas pracy silnika. Silniki z uzwojeniami połaczonymi ˛ w gwiazd˛e charakteryzuja˛ si˛e wi˛ekszym momentem, mniejsza˛ pr˛edkośca˛ obrotowa˛ i mniejszym poborem pradu ˛ niż silniki o uzwojeniach połczonych w trójkat. ˛ Trójkatne ˛ połaczenie uzwojeń zapewnia wi˛esza˛ moc silnika, wi˛eksza˛ pr˛edkość obrotowa,˛ powoduje jednak wi˛ekszy pobór pradu ˛ i nagrzewanie si˛e silnika. Nie stanowi to jednak wi˛ekszego problemu, ponieważ uzwojenia silnika BLDC zamontowane sa˛ na stojanie silnika co pozwala w łatwy sposób odprowadzać nagromadzone ciepło. W silniku trójfazowym liczba biegunów stojana jest zawsze równa wieloktotności liczby trzy. Wirnik silnika wykonany jest z odpowiedniego materiału magnetycznego o parzystej liczbie naprzemian porozmieszczanych biegunów magnetycznych N i S. Rodzaj stosowanego materiału uwarunkowany jest wymaganym nat˛eżeniem generowanego pola. Do wytworzenia stałego pola magnetycznego tradycyjnie używa sie magnesu ferrytowego. Wraz z rozwojem nowych technologii, pojawiły si˛e nowe stopy magnetyczne o znacznie lepszych parametrach. Chociaż koszt stosowanie magnesu ferrytowego jest najniższy, to posiada on wad˛e, która˛ jest mały stosunek wytwarzanego pola do obj˛etości materiału. Stosowanie stopów magnetycznych zapewnia dużo wi˛eksza˛ wartość tego współynnika. Powoduje to, że wirnik jest lżejszy, a zatem charakteryzuje si˛e mniejszym momentem bezwładności. Dzi˛eki temu parametry dynamiczne silnika ulegaja˛ znacznej poprawie. W przeciwieństwie do stojana, liczba par biegunów wirnika jest zawsze parzysta. Wyróżnić można dwie konstrukcje wirnika: • z magnesami naklejonymi na powierzchni˛e wirnika 7 • z magnesami umieszczonymi promieniowo Liczba biegunów stojana i wirnika determinuje wiele parametrów silnika. Ich stosunek określa krok silnika i wpływa na jakość wytwarzanego momentu. Wi˛eksza liczba biegunów gwarantuje bardziej równomierne rozłożenie momentu nap˛edowego a maniejszy krok pozwala uzyskać wi˛eksza˛ moc przy małych pr˛edkościach obrotowych. Poniżej przedstawiono przykładowe konstrukcje silników BLDC: Rysunek 3: Konstrukcje silników BLDC Zależność mi˛edzy ilościa˛ par biegunów stojana i wirnika określa również tzw. współczynnik obrotu, który mówi ile pełnych obrotów pola magnetycznego przypada na jeden obrót mechaniczny. Przykładowo dla silnika o sześciu biegunach stojana i ośmiu wirnika współczynnik ten wynosi 2. Natomiast gdy liczbe biegunów wirnika zwi˛ekszymy do dziesi˛eciu to na jeden obrót wirnika b˛edzie przypadać pi˛eć obrotów pola. 2.3 Model matematyczny silnika pradu ˛ stałego Punktem wyjścia do budowy modelu matematycznego silnika [12], [7] jest jego schemat zast˛epczy przedstawiony na poniższym rysunku: Rysunek 4: Schemat zast˛epczy silnika BLDC W pierwszej kolejności należy rozpatrzyć indukcyjność uzwojeń stojana. W celu określenia wartości strumienia magnetycznego skojarzonego z uzwojeniem fazy a, należy uwzgl˛ednić strumienie od pradu ˛ Ia płynacego ˛ w fazie a oraz pradów ˛ Ib i Ic w uzwojeniach faz b oraz c skojarzone z uzwojeniem fazy a. 8 Zatem strumień magnetyczny skojarzony z uzwojeniem fazy a stojana wyrażony b˛edzie zależnościa: ˛ ψa = Ia Laa + Ib Lab + Ic Lac Dla wszystkich faz otrzymamy: ψa Laa Lab Lac Ia ψs = Lba Lbb Lbc Ib ψc Lca Lcb Lcc Ic (1) (2) przy czym: Ia , Ib , Ic - prady ˛ fazowe stojana ψa , ψb , ψc - strumienie magnetyczne skojarzone odpowiednio z faza˛ A, B i C stojana Laa , Lbb , Lcc - indukcyjności własne Lab , Lac , Lba . . . - indukcujności wzajemne Korzystajac ˛ z drugiego prawa Kirchoffa, na podstawie schematu zast˛epczego (rysunek 4) wyznaczamy równania napi˛eciowe obwodu twornika: Rs 0 0 Ia Vas − vn Laa Lab Lac Ia Ea Vbs − vn = 0 Rs 0 Ib + d Lba Lbb Lbc Ib + Eb (3) dt Vcs − vn 0 0 Rs Ic Lca Lcb Lcc Ic Ec gdzie: Rs - rezystancje uzwojeń faz stojana Ea , Eb , Ec - siły elektromotoryczne indukowane w uzwojeniach stojana Vas ,Vbs ,Vcs - potencjały na zaciskach faz uzwojeń stojana vn - potencjał punktu neutralnego uzwojeń stojana, który wyraża si˛e zależnościa: ˛ vn = c 1 [Vas +Vbs +Vcs ] − ∑ Ek 3 k=a (4) Indukowana SEM w uzwojeniach twornika ma przebieg trapezoidalny. Wartość szczytowa˛ takiego przebiegu wyznaczamy z równania: E p = λω (5) Jeżeli założymy, że uzwojenia fazowe silnika sa˛ symetryczne to ich indukcyjności własne b˛eda˛ takie same: Laa = Lbb = Lcc = L (6) Podobnie jednakowe b˛eda˛ indukcyjności wzajemne faz a − b, a − c, b − c w odniesieniu do jednej fazy: Lab = Lac = Lbc = Lba = Lca = Lcb = M (7) Po uwzgl˛ednieniu zależności (6) i (7) równanie (3) przyjmie postać: Vas − vn 1 0 0 Ia L M L Ia Ea Vbs − vn = Rs 0 1 0 Ib + d M L M Ib + Eb dt Vcs − vn 0 0 1 Ic M M L Ic Ec 9 (8) Jeżeli przyjmie si˛e, że suma pradów ˛ fazowych jest równa zeru (Ia + Ib + Ic = 0) to ostatecznie otrzymamy: Vas 1 0 0 Ia L−M 0 0 Ia Ea Vbs = Rs 0 1 0 Ib + d 0 L−M 0 Ib + Eb (9) dt Vcs 0 0 1 Ic 0 0 L−M Ic Ec Równanie strumieniowo - pradowe ˛ (2) i pradowo-napi˛ ˛ eciowe (8) stanowia˛ układ równań wia˛ża˛ cych wielkości elektryczne symetrycznego trójfazowego silnika synchronicznego pradu ˛ stałego z trapezoidalnym rozkaładem pola w szczelinie powietrznej. Dla pełnego opisu silnika należy jeszcze uwzgl˛ednić zależność określajac ˛ a˛ wartość wytwarzanego momentu elektromagnetycznego Te . W wytwarzaniu tego momentu uczestnicza˛ składowe zależne od zmian energii elektromagnetycznej przy obrocie wirnika: [Ea Ia + Eb Ib + Ec Ic ] ω Wartość SEM indukowana w odpowiednich fazach silnika: Te = (10) Ea = fa (θ)λω Eb = fb (θ)λω Ec = fc (θ)λω (11) Funkcje fa (θ), fb (θ), fc (θ) maja˛ przebieg o kształcie indukowanej SEM i przyjmuja˛ wartości z przedziału [−1, 1]. Pr˛edkość katowa ˛ wirnika ω powiazana ˛ jest z cz˛estotliwośćia˛ generowanej SEM zależnościa: ˛ dθ p = ω dt 2 (12) gdzie: p - liczba biegunów Równania stanu silnika BLDC w postaci macierzowej można wyrazić w nast˛epujacy ˛ sposób: x = Ax + Bu (13) Wektor stanu x: x= Ia Ib Ic θ ω (14) Macierz silnika A: Rs Ll 0 0 A= 0 Rs Ll 0 0 0 (λ p fa (θ)) Ll (λ p fb (θ)) Ll Rs Ll (λ p fc (θ)) Ll 0 0 0 10 (λ p fa (θ)) Ll (λ p fb (θ)) Ll (λ p fc (θ)) Ll −B J p 2 (15) Macierz wymuszenia B: 1 Ll 0 B= 0 0 0 0 1 Ll 0 0 0 0 0 1 Ll 0 0 0 0 0 −1 J (16) 0 Wektor wymuszenia u: Va Vb u= Vc Tl (17) gdzie: Va ,Vb ,Vc - napi˛ecia fazowe Tl - moment obcia˛żenia 2.4 Sterowanie silnikiem Jak wspomniano wcześniej, silnik BLDC jest silnikiem pradu ˛ stałego pozbawionym komutatora mechanicznego. Powoduje to, że komutacja tego rodzaju silnikami przebiega w całkowicie odmienny sposób niż tradycyjnych silników szczotokowych. Rol˛e komutatora pełni tutaj układ elektroniczny, który wytwarza sygnały sterujace ˛ dla silnika w oparciu o sygnal sprz˛eżenia zwrotnego od położenia wirnika. 2.4.1 Struktura układu sterowania Na poniższym rysunku przedstawiono ogólny schemat blokowy układu sterowania silnikami BLDC. Jest on właściwy dla wszystki rodzajów silników bezszczotkowych, zarówno pradu ˛ stałego jak i zmiennego. Rysunek 5: Schemat blokowy układu sterowania silnikiem BLDC W układzie sterowania wyróżnić można trzy główne elementy: 11 • jednostka sterujaca ˛ • wzmacniacz • czujnik położenia Zadanie jednostki sterujacej ˛ polega na wygenerowaniu odpowiednich sygnałów sterujacych ˛ dla wzmacniacza, który załacza ˛ odpowiednie fazy silnika, zgodnie ze wcześniej zaprogramowanym schematem komutacji [10]. Do utrzymania synchronizmu jednostka sterujaca ˛ wykorzystuje sygnały z czujników położenia wirnika. Dla silników pradu ˛ stałego kształty napi˛eć sterujacych ˛ sa˛ prostokatne ˛ i zależa˛ od konstrukcji silnika. Dla trójfazowego silnika z uzwojeniami połaczonymi ˛ w gwiazde przedstawiaja˛ si˛e nast˛epujaco: ˛ Rysunek 6: Przebiegi napi˛eć sterujacych ˛ silnika Przesuni˛ecie fazowe napi˛eć sterujacych ˛ wynika ze sposobu rozmieszczenia kolejnych par biegunów magnetycznych stojana, które na osi stojana porozmieszczane sa˛ wzgl˛edem siebie co 120 stopni. Warto zwrócić uwag˛e, że w każdym momencie komutacji jedna faza silnika pozostaje nieobcia˛żona. Jest to cecha˛ charakterystyczna˛ silników trójfazowych o uzwojeniach stojana połaczonych ˛ w gwiazd˛e. 12 Kierunki przepływu pradu ˛ w uzwojeniach silnika odpowiadajace ˛ sygnałom sterujacym ˛ z rysunku 6 przedstawiono poniżej: Rysunek 7: Kierunek przepływu pradu ˛ w kolejnych fazach komutacji 13 Wzmacniacz przetwarza sygnały komutacji o niskich energiach dostarczonych z jednostki sterujacej ˛ na sygnały, którymi można bezpośrednio wysterować uzwojenia silnika. Rysunek 8: Schemat układu wzmacniacza Wzmacniacz zbudowany jest z trzech par komplementarne połaczonych ˛ tranzystorów mocy tworzacych ˛ mostek. Konstrukcja mostka zapewnia bipolarne sterowanie uzwojeniami silnika. Żeby wybrana˛ faz˛e silnika spolaryzować dodatnim napi˛eciem zasilania należy właczyć ˛ górny tranzystor odpowiedniej pary komplementarnej przy jednoczesnym blokowaniu dolnego tranzystora. Zasilenie fazy napi˛eciem ujemnym uzyskujemy przez odwrotna˛ polaryzacje tranzystorów. Faza silnika pozostaje nieobcia˛żona przy jednoczesnym blokowaniu obu połaczonych komplementarnie tranzystorów. Czujniki położenia dostarczaja˛ jednostce sterujacej ˛ informacje o aktualnym położeniu wirnika. Sterownik wykorzystuje ja˛ do wytworzenia sygnałów komutacji dla silnika. Wyróżnić można trzy główne sposoby określania pozycji wirnika wzgl˛edem biegunów magnetycznych stojana: • czujniki Hall’a • koder kwadraturowy • pomiar SEM indukowanej w uzwojeniach stojana Wszystkie trzy sposoby dostarczaja˛ sygnały sprz˛eżenia zwrotnego o różnym charakterze, dlatego każda metoda wymaga innej struktury komutatora i algorytmów sterowania. 2.4.2 Komutacja z wykorzystaniem czujników Hall’a Komutacja zapewnia odpowiedni rotacje pola stojana [8]. Dla właściwej pracy silnika wymaga sie aby wektory pola wytwarzane przez uzwojenia stojana i magnesy wirnika były możlwie prostopadłe. Jak przedstawiaja˛ przepiegi sygnałów sterujacych ˛ na jeden pełen obrót pola przypada sześć kolejnych kombinacji zasilania uzwojeń silnika, odpowiada to również sześciu kolejnym zmianom wektorów pól stojana. Zmiana wektora pola musi nastapić ˛ w ściśle określonym momencie. Najprostrzym i najpardziej popularnym sposobem określenia momentu komutacji jest wykorzystanie czujników Halla’a. W silniku trójfazowym wykorzystuje si˛e trzy czujniki Hall’a, które dostarczaja˛ trzech sygnałów, reprezentujacych ˛ sześć stanów komutacji. 14 Każdej kombinacji sygnałów z czujnika Hall’a odpowiada jeden wektor nat˛enia pola stojana. Wszystkie kombinacje sygnałów wyjściowych czujników Halla i odpowiadajace ˛ im wektory nat˛eżenia pola przedstawione sa˛ na rysunku 9 Rysunek 9: Rozkład wektorów pól stojana dla różnych stanów czujników Hall’a Sygnały A, B i C z czujników Halla przyjmuja˛ wartości logiczne 0 i 1. Zależa˛ one od tego, nad którym biegunem pola wirnika (N albo S) znajduje si˛e określony czujnik. Dwie nast˛epne ilustracje prezentuja˛ kolejne fazy komutacji. Bieżacej ˛ pozycji wirnika z rysunku 10 odpowiada stan wyjściowy czujników Hall’a ABC[110] (zgodnie z rysunkiem 9). Polaryzacje +Udb fazie A zapewnia tranzystor Q1. Faza C jest zwierana do −Udb za pomoca˛ Q4, faza B pozostaje nieobcia˛żona. Po osiagni˛ ˛ eciu określonej pozycji wirnika, nast˛epuje zmiana sygnałw wyjściowych czujników Hall’a z ABC[110] na ABC[100] (rysunek 11). Jednocześnie nast˛epuje zmiana polaryzacji uzwojeń stojana, która utrzyma właściwy kierunek wektora pola stojana wzgl˛edem pola wirnika. Wytwarzanie wirujacego ˛ pola magnetycznego w sześciu kolejnych krokach komutacji nie pozwala utrzymać stałego kata ˛ mi˛edzy wektorami pola stojana i wirnika. Podczas obrotu wirnika kat ˛ mi˛edzy wektorami zmienia sie od 60 do 120 stopni. 15 Rysunek 10: Polaryzacja faz wraz kierunkiem nat˛eżenia pola stojana przed komutacja˛ Rysunek 11: Polaryzacja faz wraz kierunkiem nat˛eżenia pola stojana po komutacji 16 2.4.3 Komutacja z wykorzystaniem kodera kwadraturowego Z kodera kwadraturowego, podobnie jak z czujników Hall’a otrzymujemy trzy sygnały sprz˛eżenia zwrotnego, ale o zupełnie innym charakterze [8]. W przeciwieństwie do czujników Hall’a, sygnały z kodera kwadraturowego nie określaja˛ bezwzglednej pozycji wirnika i momentu komutacji. Na wyjściach A i B czyjnika, wytwarzane sa˛ dwa przebiegi prostokatne ˛ przesuni˛ete w fazie o 90 stopni. Liczba kolejno zliczonych zboczy sygnałów na wyjściach A i B kodera pozwala dokładnie określicz przemieszczenie katowe ˛ wirnika. Stopień dokładnośći pomiaru zależy od rozdzielczości zastosowanego kodera. Pomiar obrotu dokonywany jest wzgl˛edem ustalonego punktu odniesienia. Punktem tym może być tzw. impuls indeksujacy ˛ z trzeciego wyjścia kodera, który pojawia sie raz na pełen obrót. Przemieszczenie można również mierzyć wzgl˛edem uprzednio ustalonej pozycji wirnika. Rysunek 12: Przebieg sygnałów na wyjściu kodera kwadraturowego Ponieważ komutacja silnika BLDC powinna nastapić ˛ w sześciu ściśle określonych momentach, zastosowanie kodera kwadraturowego wymaga przydzielenia całej sekwencji elektrycznych komutacji sześciu równych sektorów: Rysunek 13: Podział etapów komutacji na 6 sektorów 17 Powyżej założono, że na jeden obrót mechaniczny silnika, czujnik położenia wytwarza na obu wyjściach łacznie ˛ 1000 impulsów. Jeżeli przyjmiemy, że na jeden obrót wirnika przypada jeden obrót pola stojana to komutacja silnika powinna nast˛epować po zliczeniu 166 kolejnych impulsów. Zadaniem sterownika jest ciagłe ˛ zliczanie sygnałów czujnika i zmiana sygnałów sterujacych ˛ w chwili przekraczania graniac kolejnych sektorów. 2.4.4 Komutacja z wykorzystaniem SEM indukowanej w uzwojeniach stojana W metedzie tej wykorzystuje si˛e fakt, że podczas komutacji jedna z faz silnika pozostaje nieobcia˛żona [7]. W wyniku obrotu wirnika w uzwojeniach stojana indukuja˛ si˛e zwrotne siły elektromotoryczne. Zwrotna˛ SEM indukowana˛ w nieobcia˛żonym uzwojeniu stojana można w łatwy sposób zmierzyć i wykorzystać jej charaktertstyczny przebieg do wytworzenia sygnałów sprzeżenia zwrotnego od położenia wirnika. Rozkłady pól magnetycznych wytwarzane przez magnesy wirnika i przebiegi zwrotnych SEM przedstawiono na rysunku poniżej: Rysunek 14: Charakterystyki zwrotnych SEM indukowanych w fazach silnika 18 Kształt indukowanych SEM przypomina trapez, stad ˛ tego typu przebiegi nazwa si˛e trapezoidalnym. Wartośći SEM określone sa˛ wzgl˛edem punktu neutralnego uzwojeń twornika. Przebieg indukowanej SEM oscyluje wzgl˛edem potencjału punktu w którym skupiaja˛ sie wszystkie uzwojenia silnika. Moment zmiany sygnału sprz˛eżenia nast˛epuje, gdy punkt neutralny silnika i zacisk nieobcia˛żonej fazy osiagaj ˛ a˛ takie same potencjały. Każdej zmianie sygnałów sprz˛eżenia zwrotnego odpowiada zmiana sygnałów sterujacych ˛ silnikiem (podobnie jak dla komutacji z czujnikami Halla). Zwiazek ˛ mi˛edzy sygnałami na wyjściu czujników Hall’a a przebiegiem SEM w fazach silnika przedstawiono poniżej: Rysunek 15: Zależność mi˛edzy sygnałami na wyjściu czujników Hall’a a przebiegiem indukowanych SEM w uzwojeniach stojana Klasyczny układ generujacy ˛ sygnały sprz˛eżenia zwrotnego w oparciu o indukowana˛ SEM przedstawiono na rysunku 16. Do detekcji przejścia indukowanej SEM przez punkt neutralny silnika wykorzystuje si˛e komparatory napi˛ecia. Na wejściu komparatorów należy dodatkowo właczyć ˛ filtr RC, który tłumi zakłócenia powstajace ˛ w wyniku przłaczania ˛ tranzystorów wchodzacych ˛ w skład mostka. Stan wejść multipleksera zależy od etapu komutacji i zapewnia wybór wyjścia odpowiedniego komparatora. Układ z rysunku 16 zakłada, że punkt neutralny silnika został wyprowadzony na zewnatrz. ˛ Pomiar SEM nie przedstawia wtedy wiekszych problemów i sprowadza si˛e do podłaczenia ˛ wejść komparatora mi˛edzy odpowiednie zaciski wyjściowe silnika. Cz˛esto jednak dost˛ep do punktu neutralnego silnika jest niemożliwy. W takich przypadkach, do pomiaru SEM stosuje si˛e różne techniki. Jedna znich polega na stworzeniu sztucznego punktu neutralnego z trzech odpowiednio połaczonych ˛ rezystorów. Potencjał tego punktu jest teoretycznie taki sam jak punktu neutralnego uzwojeń stojana. Układ pomiarowy w tym przypadku jest identyczny jak poprzednio z tym, że teraz jedno z wejść komparatora jest właczone ˛ w środek gwiazdy stworzonej z układu rezystorów (rysunek 17). Metoda sterowania z wykorzystaniem SEM indukowanych w uzwojeniach silnika (sensorless control) nie wymaga żadnych dodatkowych zewn˛etrznych czujników położenia. Jest to główna˛ 19 Rysunek 16: Układ detekcji przejścia SEM przez punkt neutralny Rysunek 17: Układ detekcji ze sztucznym punktem neutralnym i właściwie jedyna˛ zaleta˛ takiego rozwiazania. ˛ Niedogodności zwiazane ˛ z ta˛ technika˛ to przede wszystkim ograniczenie dolnej, minimalnej pr˛edkości obrotowej. Problem ten zwiazany ˛ jest z warunkiem wytworzenia SEM o odpowiednio dużej amplitudzie. Z warunkiem tym zwiazana ˛ jest również wrażliwość silnika na gwałtowne zmiany obcia˛żenia, które moga˛ wyprowadzić silnik z synchronizmu. Przedstawione wyżej techniki sterowania silnikiem, oparte na pomiarze zwrotnej siły elektromotorycznej nie zostały zaimplementowane podczas konstrukcji stanowiska badawczego. Właściwości silnika z tego typu sterowaniem eliminuja˛ go z zastosowań w dziedzinach w których wymaga si˛e dużej dynamiki przy cz˛estych zmianach kierunku ruchu i przyspieszeń. Rozdział ten pokrótce omówił podstawowe zagadnienia zwiazane ˛ z budowa˛ i sterowaniem silnikami BLDC. Kolejne rozdziały przedstawia˛ konkretne rozwiaza ˛ układowe i gł˛ebsza˛ analize wybranych problemów. 20 3 Konstrukcja stanowiska Badajac ˛ własności nap˛edów elektrycznych należy wziać ˛ pod uwag˛e nie tylko te cechy, które wynikaja˛ z własności samego silnika, należy rozpatrzyć silnik wraz z układem sterowania jako całość. Cz˛esto to bowiem możliwości samego układu sterowania decyduja˛ o osiagach ˛ konkretnego silnika. Szczególnie bezszczotkowe silniki pradu ˛ stałego sa˛ jednostkami nap˛edowymi, których działanie w równym stopniu zależy od parametrów silnika co układu sterowania. Jednym z głównych założeń podczas realizacji pracy, było stworzenie stanowiska badawczego, które w jak najszerszym aspekcie b˛edzie prezentowało zagadnienia zwiazane ˛ z silnikami BLDC. Uwzgl˛edniajac ˛ powyższe, konieczne stało si˛e podzielenie fizycznego stanowiska na moduły, które rozdzielaja˛ układ sterownika od reszty stanowiska. Stwarza to dodatkowa˛ możliwość sprawdzenia i przetestowania różnych układów sterowników pod katem ˛ wykorzystania ich w aplikacjach z tego typu silnikami. W skład stanowiska wchodza˛ trzy główne elementy: • Moduł sterownika • Moduł układu docelowego • Zasilacz mocy Schemat blokowy stanowiska przedstawiono na rysunku 18. Rysunek 18: Budowa stanowiska Moduł sterownika łaczy ˛ si˛e z układem docelowym za pomoca˛ złacz ˛ Z1, Z2 i Z3. Elementem dodatkowym jest komputer nadrz˛edny, który przechwytuje dane pomiarowe sterownika i pozwala na ich wygodna˛ analize. Obecnoć komputera daje dodatkowa˛ możliwość zmiany programu sterownika, co pozwala np. na zaimplementowanie własnych algorytmów sterowania silnikiem. 21 Schemat blokowy układu elektronicznego stanowiska pokazano na rysunku 19. Rysunek 19: Schemat blokowy cz˛eści elektronicznej stanowiska 3.1 Sterownik Do zadań sterownika należy zbieranie i przetwarzanie danych z czujników, obsługa interfejsu użytkownika, generowanie sygnałów komutacji dla silnika i komunikacja. Sterownik został zmontowany na płytce uniwersalnej na której głównym elementem jest moduł z proesorem MC68332. Ponadto płytka sterownika zawiera zasilacz lokalny i interfejs RS232. Płytk˛e układu sterownika przedstawiono na rysunku 20. Rysunek 20: Płytka sterownika 22 MAX232 służy do dopasowania napi˛eć mi˛edzy układem transmisji szeregowej procesora MC68332, a układem UART płyty głównej komputera, umożliwiajac ˛ realizacje transmisji w standardzie RS232. Złacza ˛ Z1, Z2 i Z3 łacz ˛ a˛ płytke sterownika z układem docelowym i zostana˛ opisane przy okazji omawiania kolejnych elementów stanowiska. 3.1.1 Moduł z procesorem MC68332 Sercem modułu jest 32-bitowy mikrokontroler MC68332 firmy Motorola [6]. Oprócz mikrokontrolera w skład modułu wchodzi zestaw niezb˛ednych towarzyszacych ˛ mu elementów takich jak zewn˛etrzna pami˛eć programu i danych, rezonator kwarcowy, rezystory wymuszajace ˛ odpowiednie stany logiczne na określonych portach. Dodatkowe zworki i złacza ˛ zwiekszaja˛ elestyczność układu, umożliwiajac ˛ wybór trybu pracy. Wyprowadzone złacze ˛ BDM daje dost˛ep do wewn˛etrznego emulatora mikrokontrolera, który w bardzo wygodny sposób pozwala na modyfikowanie i testowanie pisanych programȯw z poziomu PC. Podstawowe własności mikrokontrolera MC68332: • 32-bitowa jednostka centralna CPU • wewn˛etrzny programowalny dekoder adresowy • układ watchdog • moduł transmisji szeregowej SQM, w skład którego wchodza,˛ układ transmisji asynchronicznej SCI, oraz kolejkowy interfejs szeregowy QSPI • wewn˛etrzny układ emulatora BDM • specjalizowany, programowalny układ procesora czasowego TPU, umożliwiajacy ˛ realizowanie różnych zadań czasowo-licznikowych na 16 oddzielnych kanałach • 2KB szybkiej pami˛eci RAM, która może zostać wykorzystana przez jednostk˛e centralna,˛ badź ˛ pracować jak pami˛eć programu dla układu TPU Na szczególna˛ uwag˛e zasługuje układ TPU, który wykonuje cała˛ prac˛e zwiazan ˛ a˛ ze sterowaniem silnikiem BLDC. Zostanie mu poświ˛econy osobny rozdział w którym b˛eda˛ przedstawione szczegóły dotyczace ˛ konfiguracji kanałów i funkcji TPU odpowiedzialnych za określone działania. 3.1.2 Zasilacz lokalny Do zasilania układów płytki sterownika słóży lokalny zasilacz o stabilizowanym napi˛eciu wyjściowym równym +5V. Schemat zasilacz przedstawia rysunek 21. Rysunek 21: Lokalny zasilacz płytki sterownika +5V 23 Mostek B1 zapewnia poprawna˛ polaryzacje napi˛ecia wejściowego stablizatora. Rol˛e stabilizatora pełni popularny układ 7805 o pradzie ˛ obcia˛żenia 1A. Zworka J1 pozwala na zasilanie ukłdów płytki sterownika z zewn˛etrznego źródła. Dioda LED sygnalizuje stan pracy stabilizatora. 3.2 3.2.1 Układ docelowy Silnik Jedna˛ z pierwszych decyzji, która˛ trzeba było podjać ˛ na wczesnym etapier pracy, był dobór odpowiedniego silnika. Ze wzgl˛edów praktycznych silnik powinien był charakteryzować si˛e małymi gabarytami, i być wyposażony w czujniki Halla. Wymagania takie spełniaja˛ silniczki stosowane w nap˛edach CD-ROM, gdzie sa˛ wykorzystywane do obracania nośnikami CD. Zdj˛ecia silnika przedstawiono na rysunku 22 i 23. Rysunek 22: Stojan silnika BLDC Rysunek 23: Wirnik silnika BLDC 24 Parametry konstrukcyjne silnika: • silnik trójfazowy • uzwojenia stojana połaczone ˛ w gwiazd˛e • 9 biegunów magnetycznych po stronie stojana • 18 par biegunów magnetycznych wirnika • 3 czujniki Halla z wyjściami analogowymi • brak wyprowadzenia punktu neutralnego Parametry robocze: • napi˛ecie zasilania 10-12V • pr˛edkość obrotowa ok. 11000 obr/min • max. prad ˛ rozruchowy ok. 600mA • prad ˛ znamionowy ok. 350mA Konstrukcja silnika zapewnia mu krok 10 stopni. Przy sześciostopniowej sekwencji komutacji, jednemu obrotowi pola magnetycznego stojana odpowiada mechaniczne przemieszczenie wirnika o 60 stopni. Zatem na jeden obrót mechaniczny przypada sześć kolejnych sześciostopniowych sekwencji komutacji. Ze wzgl˛edu na analogowy charakter sygnałów wyjściowych czujników Halla, koniecze było zastosowanie dodatkowego układu przetwarzajacego ˛ ciagły ˛ sygnał wyjściowy na wartości dyskretne. Schemat układu realizujacego ˛ te zadanie przedstawiono na rysunku 24 Rysunek 24: Układ dyskretyzujacy ˛ napi˛ecie wyjściowe czujników Halla 25 Przebieg napi˛ecia mi˛edzy para˛ wyjść czujnika Halla i odpowiadajace ˛ mu wartości dyskretne przedstawiono na rysunku 25. Rol˛e przetwornika w układzie z rysunku 24 pełnia˛ zwykłe komparatory napi˛ecia. Wyjście komparatora nasyca si˛e do jednego z biegunów napi˛eć zasilania w zależności od polaryzacji jego wejść. W przypadku, gdy potencjał wejścia nieodwracaja˛ cego komperatora jest wi˛ekszy od potencjału wejścia odwracajacego, ˛ wyjście układu nasyca sie do napi˛ecia +5V. Stopień wyjściowy układu LM311 z otwartym kolektorem, wymagana dodatkowo rezystorów podciagaj ˛ acych. ˛ Wyjścia komparatorów sa˛ bezpośrednio łaczone ˛ z kanałami wejściowymi TPU, na których działa funkcja HALLD. Eliminacj˛e zakłóceń (przerzutów) powstajacych ˛ przy zmianie polaryzacji wyjść czujników Halla, zapewniaja˛ filtry cyfrowe w stopniach wejściowych kanałów TPU. Filtr tłumi impulsy o cz˛estotliwości przekraczajacej ˛ 4 takty zegara CPU. Diody LED dołaczone ˛ do wyjść komparatora odzwierciedlaja˛ stany sygnałów sprz˛eżenia zwrotnego z czujników położenia. Rysunek 25: Przebieg napi˛ecia na wyjściu komparatora i odpowiadaja˛ mu wartości logiczne Opis wyprowadzeń silnika znajduje si˛e w tabeli 1. Nr. Oznaczenie Opis 1 U Faza U silnika 2 V Faza V silnika 3 W Faza W silnika 4 H1 − Ujemne wyjście 1 czujnika Hall’a 5 H1 + Dodatnie wyjście 1 czujnika Hall’a 6 H2 − Ujemne wyjście 2 czujnika Hall’a 7 H2 + Dodatnie wyjście 2 czujnika Hall’a 8 H3 − Ujemne wyjście 3 czujnika Hall’a 9 H3 + Dodatnie wyjście 3 czujnika Hall’a 10 UH − Ujemny biegun zasilania czujników Hall’a 11 UH + Dodatni biegun zasilania czujników Hall’a Tablica 1: Opis wyprowadzeń silnika 26 Sygnały zasilajace ˛ uzwojenia stojana i sygnały sprzeżenia zwrotnego zostały rozdzielone i łacz ˛ a˛ sia˛ z płytka˛ układu docelowego za pomoca˛ złacza ˛ Z4 i Z5. Rysunek 26: Złacze ˛ Z4 i Z5 silnika Polaryzacje uzwojeń silnika i odpowiadajace ˛ im zdyskretyzowane stany wyjściowe czujników Halla przedstawiono w tabeli 2. Faza U Faza V Faza W Czujnik H1 Czyjnik H2 Czujnik H3 -U +U +U 0 0 1 -U -U +U 1 0 1 +U -U +U 1 0 0 +U -U -U 1 1 0 +U +U -U 0 1 0 -U +U -U 0 1 1 Tablica 2: 3.2.2 Obciażenie ˛ Obcia˛żenie silnika BLDC stanowi silnik szczotkowy z magnesami stałymi, pracyujacy ˛ w trybie pradnicowym. ˛ Sprz˛eżenie mechaniczne silnika i pradnicy, ˛ realizowane jest za pomoca˛ kół pasowych o przełożeniu 2 do 1 (rysunek 27). Rysunek 27: Układ sprz˛egajacy ˛ silnik z pradnic ˛ a˛ 1. Koło pasowe silnika 2. Silnik BLDC 3. Koło pasowe pradnicy ˛ 4. Pradnica ˛ 5. Pasek sprz˛egajacy ˛ 27 Moment hamujacy ˛ wytwarzany na wale pradnicy ˛ ma charakter dynamiczny i zależy od pr˛edkości obrotowej silnika nap˛edzajacego. ˛ Układ taki doskonale symuluje zjawisko tarcia lepkiego. Przy ustalonej pr˛edkości silnika, siła hamowania pradnicy ˛ zależy tylko od pradu ˛ obcia˛żenia i jest do niego proporcionalna. Wartość pradu ˛ oncia˛żenia można wyznaczyć z zależności: Iobc = U Robc (18) przy czym: ˛ U - napi˛ecie na zaciskach wyjściowych pradnicy Robc - rezystancja obcia˛żenia pradnicy ˛ Napi˛ecie U na zaciskach wyjściowych pradnicy: ˛ U = E − Iobc Rt (19) gdzie: Rt - rezystancja uzwojeń twornika E - SEM indukowana w uzwojeniach twornika Wartość indukowanej SEM jest proporcionalna do pre˛edkości obrotowej wirnika: E = kω (20) Ostatecznie wartość napi˛ecia na zaciskach pradnicy ˛ wyznacza równanie (21) U= E l 1 + RRobc (21) Zależność napi˛ecia na zaciskach pradnicy ˛ od pr˛edkości dla różnych wartości rezystancji obcia˛ żenia uzyskana˛ w trakcie eksperymentu przedstawiono na rysunku 28. Rysunek 28: 28 Im wi˛eksza rezystancja obcia˛żenia, tym mniejsze oddziaływanie twornika pradnicy, ˛ a co zatym idzie mniejszy moment hamujacy. ˛ Dla bardzo dużych rezystancji charakterystyka pradnicy ˛ praktycznie nie różni si˛e od charakterystyki biegu jałowego. Do regulacji momentu hamowania służy układ mikroprzełaczników, ˛ który obcia˛ża wyjście pradnicy ˛ różnymi wartościami rezystancji. Liniowa charakterystyka pradnicy ˛ (silnika) w pełnym zakresie pr˛edkości sprawia, że można ja˛ z powodzeniem wykorzystać do określania pr˛edkości obrotowej silnika. W tym celu do wyjścia pradnicy ˛ oprócz obcia˛żenia podłaczono ˛ układ umożliwiajacy ˛ pomiar napi˛ecia wyjściowego pradnicy ˛ (rysunek 29). Rysunek 29: Tor pomiarowy napi˛ecia pradnicy ˛ Na wejściu układu pomiarowego zastosowano dzielnik napi˛ecia złożonu z rezystorów R9 i R10. Zadaniem dzielnika jest ograniczenie maksymalnej wartości napi˛ecia wyjściowego prad˛ nicy na wejściu kolejnego stopnia toru pomiarowego do ok. 4V. Ze wzgl˛edu na duża˛ wartość napi˛ecia pulsacji (max.2V) do wyjścia dzielnika dołaczono ˛ aktywny dwubiegunowy filtr dolnoprzepustowy o duże stałej czasowej RC. Filtr tłumi również składowa˛ dużej cz˛estotliwości napi˛ecia wyjściowego pochodzac ˛ a˛ od iskrzenia na szczotkach. Duża wartość stałej czasowej filtru byłaby niepożadana, ˛ gdybyśmy napi˛ecie pradnicy ˛ wykorzystali jako sygnał sprz˛eżenia zwrotnego od pr˛edkości. Zwi˛ekszyło by to bowiem znacznie stałe czasowe układu regulacji. Wyjście filtru łaczy ˛ si˛e z dwunastobitowym przetwornikiem analogowo-cyfrowym MAX1270 firmy MAXIM [17], który komunikuje si˛e ze sterownikiem za pomac ˛ a˛ interfejsu SPI poprzez złacze ˛ Z1 (rysunek 30). W tabeli 3 znajduje sie opis wyprowadzeć SPI. Rysunek 30: Złacze ˛ Z1 Nr Oznaczenie Nr Oznaczenie 1 GDN 6 VCC 2 PCS1 7 PCS1 3 PCS2 8 PCS3 4 SCK 9 MISO 5 MOSI 10 GDN Tablica 3: Opis złacza ˛ Z1 29 Rol˛e obcia˛żenia statycznego pełni układ mechaniczny ze spr˛eżyna˛ (rysunek 31), która poprzez sworzeń dociska tarcz˛e hamujac ˛ a˛ umieszcona˛ na kole pasowym pradnicy. ˛ Moment hamujacy ˛ ma charakter tarcia suchego i jest proporcionalny do siły nacisku spr˛eżyny. Rysunek 31: Mechanizm hamujacy ˛ - rzut boczny 1. Pokr˛etło regulacji siły hamowania 2. Obudowa układu dociskowego sworzeń - pr˛eżyna 3. Sworzeń dociskowy 4. Tarcza hamulca 5. Pradnica ˛ Rysunek 32: Mechanizm hamujacy ˛ - zdj˛ecie Pokr˛etło umieszczone na ramieniu wysi˛egnika pozwala na płynna˛ regulacj˛e siły tarcia. 30 3.2.3 Wzmacniacz mocy z logika˛ sterujac ˛ a˛ Energi˛e do silnika dostarcza stopień mocy, którego kompletny schemat ideowy przedstawiono na w dodatku B (rysunek 67). Wzmacniacz składa si˛e z trzech identycznych, niezależnie sterowanych półmostków mocy (rysunek 33). Rysunek 33: Schemat ideowy półmostka mocy Stopień wyjściowy półmostka tworzy para komplementarnie połaczonych ˛ tranzystorów bipolarnych T2 i T3 . Dolny tranzystor półmostka T3 zapewna ujemne zasilanie fazy silnika. Baza tranzystora T3 wysterowywana jest z wyjścia bramki AND U1C. Rezystor R3 służy do ograniczenia pradu ˛ bazy T3 , natomiast rezystor R5 zapewnia blokowanie tranzystora na wypadek rozwarcia sygnałów sterujacych. ˛ Konstrukcja układu logicznego w stopniu wejściowym mostka gwarantuje, że niezależnie od sygnałów sterujacych ˛ (IN1, E i PWM) wyjściowe tranzystory T2 i T3 nigdy nie b˛eda˛ właczone ˛ jednocześnie. Stan wejścia IN1 decyduje o kierunku napi˛ecia na wyjściu stopnia mocy. Jedynka na wejściu powoduje, że górny tranzystor T2 wchodzi w stan nasycenia, natomiast T3 jest blokowany. w przypadku, gdy IN=0 sytuacja jest odwrotna. Wejście E uaktywania lub blokuje określony półmostek. Stan niski powoduje, że oba tranzystory stopnia wyjściowego sa˛ blokowane. Przy właczonym ˛ półmostku stan tranzystorów wyjściowych określony jest sygnałem sterujacym ˛ wejścia IN. Wejście górnego tranzystora T2 sterowane jest z wyjścia bramki U2A poprzez tranzystor T1 . Rezystory R1 , R3 , R4 ograniczaja˛ prady ˛ baz tranzystorów T1 , T3 i T2 , a rezystor R2 pełni taka˛ sama˛ funkcje jak R5 w dolnej cz˛eści mostka. Tabela 4 przedstawia zależność mi˛edzy sygnałami sterujacymi, ˛ a biegunem napi˛ecia podawanego na faz˛e silnika. Wejście PWM reguluje wartość skuteczna˛ napi˛ecia zasilania. Do sygnalizacji polaryzacji uzwojeń stojana użyto dodatkowo dwukolorowych diod LED. IN1 E 0 0 0 1 1 0 1 1 T2 T3 V LED OFF OFF - nie świeci OFF ON -U zielony OFF OFF - nie świeci ON OFF +U czerwony Tablica 4: 31 3.2.4 Układ pomiaru pradu ˛ Tor pomiaru pradu ˛ silnika pokazano na rysunku 34 Przetwornik prad ˛ - napi˛ecie tworza˛ Rysunek 34: Układ pomiaru pradu ˛ silnika dwa równolegle połaczone ˛ rezystory pomiarowe o rezystancji 1Ω każdy. Napi˛ecie z rezystorów pomiarowych podawane jest na wzmacniacz U12. Na wejściu wzmacniacza zastosowano filtr przeciwzakłóceniowy EMI skadaj ˛ acy ˛ si˛e z R33 ,C8 , R34 ,C9 iC10 . Stałopradowe ˛ wzmocnienie wzmacniacza wyznacza zależność: R35 ku = − (22) R33 Na wyjściu wzmacniacza znajduja˛ si˛e dwa kaskadowo połaczone ˛ dolnoprzepustowe filtry aktywne Sallen Keya. Ich zadaniem jest ograniczenie pasma sygnału na wejściu przetwornika A/C. Wyjście filtru dołaczono ˛ do drugiego kanału przetwornika MAX1270 [17]. 3.2.5 Koder kwadraturowy Wyjściowe sygnały kodera kwadraturowego wykorzystywane sa˛ nie tylko jako sygnały sprz˛eżenia zwrotnego w procesie komutacji. Moga˛ być one również zródłem informacji o kierunku i predkości wirnika. Zastosowano 10 - bitowy koder magnetyczny AS5040 firmy Austriamicrosystem (rysunek 35). Wewnatrz ˛ obudowy układu umieszczony jest zespół czuj- Rysunek 35: ników Halla, przedwzmacniacz analogowy, regulator napi˛ecia i interfejs cyfrowy [9]. AS5040 jest czujnikiem bezkontaktowym i wymaga jedynie umieszczenia niewielkiego magnesu na lub pod obudowa.˛ Dziesi˛eciobitowa rozdzielczość pozwala na wykrycie 1024 pozycji przy pełnym obrocie o 360 stopni. Dzi˛eki dużej skali integracji czujnik wymaga minimum obwodów zewn˛etrznych. Jest alternatywa˛ dla koderów optycznych z uwagi duża˛ niezawodność działania i małe wymiary. Syganały wyjściowe wyprowadzone sa˛ w kilku wariantach: 32 • przez interfejs szeregowy – położenie wzgl˛edne (sygnały A, B, Index) - tryb 1 – położenie bezwzgl˛edne (sygnały Lsb, Dir) - tryb 2 • wyjście PWM Układ może pracować z dwoma poziomami napi˛eć zasilania (3,3V i 5V). Rozdzielczość kodera jest programowalna w zakresie od 7 do 10 bitów. Domyślna˛ wartościa˛ jest 10 bitów. Bardzo ciekawa˛ własnościa˛ układu jest to, że może on pracować jako komutator silnika bezszczotkowego. Wymaga to przeprogramowania układu w inny tryb pracy. Po przeprogramowaniu wszystkie trzy wyjścia kodera kwadraturowego, zostaja˛ zastapione ˛ sygnałami sterujacymi ˛ U, V, W silnika. Wykorzystanie układu AS5040 bezpośrednio jako komutatora ogranicza si˛e do sterowania silnikami tylko o określonej konstrukcji. Wymagany jest silnik trójfazowy o 1 lub 2 parach biegunów magnetycznych wirnika. Zastosowany układ pracuje w trybie 1 (domyślnym) w którym dost˛epne sa˛ 3 wyjścia kodera kwadraturowego (A, B, Index). Schemat połaczenia ˛ układu przedstawiono na rysunku 36. Wyjścia A i B kodera łaczone ˛ sa˛ z kanałami TPU, na których działa funkcja FQD. Dioda LED Rysunek 36: sygnalizuje, czy położenie czujnika wzgl˛edem magnesu jest właściwe, zapewniajac ˛ tym samym ważność odczytywanych danych. Układ AS5040 został zmontowany na osobnej płytce (rysunek 37). Mechaniczne sprz˛eżenie kodera z silnikiem przedstawiono na rysunku 38. W tabeli 5 zanajduje si˛e opisy wyprowadzeń kodera. Poszczególne wyjścia kodera i sygnały zasilania łacz ˛ a˛ si˛e z płytka˛ elektroniki układu docelowego za pomoca˛ złacz ˛ Z5 i Z6 (rysunek 39) 33 Rysunek 37: Płytka kodera Rysunek 38: Mocowanie kodera na wale silnika 34 Nr. Sygnał Opis 1 A 1 kanału kodera 2 B 2 wyjście koder 3 MagINCn+MagDeCn sygnalizacja 4 Vss masa zasilania 5 Vdd zasilanie +5V Tablica 5: Opis wyprowadzeń kodera Rysunek 39: Złacze ˛ Z6 i Z7 3.2.6 Interfejs użytkownik Komunikacja z użytkownikiem realizowana jest za pomoca˛ trzech monostabilnych przycisków i wyświetlacza LCD, umieszczonych na płycie czołowej urzadzenia. ˛ Przyciski połaczone ˛ sa˛ z wejściami kanałów TPU. Stany przycisków skanowane sa˛ z zadana˛ cz˛estotliwościa˛ przez odpowiednio skonfigurowana˛ funkcj˛e DIO [17]. Elementem wizualizacyjnym jest alfanumeryczny wyświetlacz LCD, wmożliwiajacy ˛ wyświetlanie w każdej z 2 linii do 16 znaków. Moduł wyświetlacza zawiera własny sterownik, który realizuje wszystkie zadania zwiazane ˛ z umieszczaniem danych na matrycy. W skład modułu sterujacego ˛ wyświetlaczem wchodzi kontroler, sterownik linii i kolumn samej matrycy graficznej, oraz pami˛eć RAM ekranu. Interfejs kontrolera przystosowany jest do bezpośredniej współpracy z szyna˛ mikrokontrolera MC68332. Połaczenie ˛ mi˛edzy sterownikiwm wyświetlacza a mikrokontrolerem przedstawiono na rysunku 40. Rysunek 40: Schemat połaczenia ˛ sterownika LCD Opis wszystkich wyprowadzeń wyświetlacza zamieszczono w tabeli 6. Wewn˛etrzna orga35 Nr. Sygnał 1 Vss 2 Vdd 3 V0 4 RS 5 R/W 6 E 7...14 D0...D7 Opis masa zasilania zasilanie +5V kontrast 0:rozkaz, 1:znak 0:zapis, 1:odczyt strob 1->0 szyna danych Tablica 6: nizacja pami˛eci w układzie MC68332 wymaga, aby urzadzenia ˛ 8 - bitowe łaczyły ˛ si˛e z mikrokontrolerem za pomoca˛ górnej połówki magistrali. Wybór układu wyświetlacza zapewnia sygnał CS9 wewn˛etrznego dekodera adresowego. Stan linii adresowej A0 decyduje czy dane na magistrali maja˛ być traktowane jako rozkaz, czy jako kod zanku do wyświetlenia. Wyświetlacz zamontowany jest płytce elektroniki układu docelowego, i łaczy ˛ si˛e z płytka˛ sterownika za pomoca˛ zacza ˛ Z3 (rysunek 41) Rysunek 41: Złacze ˛ Z3 3.3 Zasilacz Ze wzgl˛edu na parametry silnika, konieczne stało si˛e skonstruowanie zewn˛etrznego zasilacza o napi˛eciu wyjściowym 12V i minimalnej wydajności pradowej ˛ 0.6A. Schemat ideowy zasilacza przedstawiono na rysunku 42. Na wejściu układu zastosowano transformator troidalny o napi˛eciu uzwojenia wtórnego 12V i Rysunek 42: Schemat zasilacza +10V, 3A pradzie ˛ obcia˛żenia 4.1A. Napi˛ecie wyjściowe transformatora prostowane jest w układzie mostka B1, i dalej poprzez konensator 4700µF podawane na wejście stabilizatora LM350. Zadaniem kondensatora jest ograniczenie amplitudy napi˛ecia t˛etnień na wejściu stabilizatora. Układ LM350 należy do grópy trójkońcówkowych stabilizatorów o dobieranej wartości napi˛ecia wyjściowego. Zamiast wyprowadzenia masy posiada on wyjście regulacji napi˛ecia, którego potencjał w czasie normalnej pracy stabilizatora, jest zawsze o 1,25V niższy od potencjału końcówki 36 wyjściowej stabilizatora. Układ wymusza na rezystorze R2 napi˛ecie o wartości 1,25V, ustalajac ˛ tym samym prad, ˛ który przez niego płynie. Ponieważ przez wyprowadzenie regulacji napi˛ecia płynie prad ˛ o bardzo małej wartości, napi˛ecie wyjściowe stabilizatora wyznacza si˛e z zależności: Ra + P1 Uwy = 1, 25(1 + ) (23) R2 Potencjometr P1 pozwala na płynna˛ regulacje napi˛ecia wyjściowego w zakresie 4V . Odpowiednio wysoka wartość pojemności kondensatora na wyjściu stabilizatora zapewnia cz˛estotliwościowa˛ kompensacj˛e p˛etli sprz˛eżenia zwrotnego stabilizatora. Dodatkowy kondensator o pojemności 10µF mi˛edzy końcówka˛ służac ˛ a˛ do ustalania napi˛ecia wyjściowego a masa˛ układu, zwi˛eksza tłumienie t˛etnień i zakłóceń impulsowych. Dioda D1 służy do razładowywania kondensatora C2. Diode D2 chroni stabilizator przed uszkodzeniem w przypadku zwarcia jego zacisków wejściowych. 37 4 Oprogramowanie sterownika Ponieważ cały ci˛eżar sterowania silnikiem, jak też zbieranie niektórych danych pomiarowych spoczywa bezpośrednio na procesorze czasowym TPU, który jest jednostka˛ autonomiczna,˛ działajac ˛ a˛ niezależnie od CPU wykonujac ˛ a˛ własny program (zwany mikrokodem), opis oprogramowania podzielono na dwie cz˛eści. Pierwsza z nich przedstawia zadania wykonywane przez procesor główny, natomiast druga stanowi opis zagadnień zwiazanych ˛ z konfiguracja˛ i działaniem funkcji jednostki TPU. 4.1 Struktura oprogramowania CPU Uproszczony diagram przedstawiajacy ˛ działanie głównej p˛etli programu CPU pokazano na rysunku 43. Rysunek 43: Diagram działania głównej p˛etli programu 38 Po starcie programu w pierwszej kolejności nast˛epuje inicjalizacja zmiennych i konfiguracja urzadzeń ˛ zewn˛etrznych współpracujacych ˛ z mikrokontrolerem. Działanie p˛etli głównej programu ograniczone jest do obsługi interfejsu użytkownika i wysyłania sygnałów sterujacych ˛ do urzadzeń ˛ zewn˛etrznych. W skład interfejsu użytkownika wchodzi wielopoziomowe menu, które pozwala na wybór trybu pracy i ustawienie wielu parametrów zwiazanych ˛ z praca˛ silnika m.i. takich jak: • nastawa współczynnika wypełnienia PWM (przy wyłaczonym ˛ regulatorze) • nastawa pr˛edkości (regulator właczony) ˛ • nastawa kierunku ruchu • nastawa parametrów regulatora • wybór trybu komutacji – z koderem – z czujnikami Hall’a – r˛eczna • automatyczne zdejmowanie charakterystyk silnika – charakterystyki dynamiczne – charakterystyki elektromechaniczne Wi˛ekszość parametrów to dane wejściowe funkcji TPU, które CPU przekazuje za pośrednictwem wspólnego obszaru pami˛eci RAM. Pomiary, przetwarzanie danych pomiarowych i algorytm regulacji realizowane sa˛ w trzech podprogramach obsługi przerwań, których źródłem sa: ˛ • kolejkowy interfejs szeregowy QSM • funkcja FQM jednostki TPU • układ przerwań cyklicznych PIT 4.1.1 Kolejkowy interfejs szeregowy QSM (Queued Serial Module) Moduł QSM jest jednym z dodatkowych elementów na wyposarzeniu mikrokontrolera, który umożliwia mu komunikacj˛e z urzadzeniami ˛ zewn˛etrznymi za pomoca˛ dwóch interfejsów szeregowych[10]: • asynchronicznego SCI • kolejkowego, synchronicznego SPI SCI Transmisja synchroniczna wykorzystywana jest do komunikacji z komputerem nadrz˛ednym. Konfiguracja interfejsu nast˛epuje po wywołaniu funkcji SciInit. Pr˛edkość transmisji ustawiona jest na sztywno i wynosi 9600 bodów. Inne funkcje bezpośrednio zwiazane ˛ z modułem SCI to SciStart i SCIPutText. Funkcja SciStart wlacza ˛ moduł sterownika SCI, natomiast SCIPutText wysyła dane do bufora transmisji SCI. 39 SPI Kolejkowy interfejs szeregowej transmisji synchronicznej SPI komunikuje si˛e ze wcześniej wspomnianym przetwornikiem ADC MAX1270, który odpowiedzialny jest za próbkowanie i przetworzenie ciagłych ˛ w czasie sygnałów pomiaru pradu ˛ silnika i napi˛ecia pradnicy. ˛ Mechanizm kolejkowy kontrolera podmodułu SPI pozwala na dokonanie całych serii pomiarów bez interwencji i wykorzystania cennych zasobów CPU. Możliwe jest zaprogramowanie do 16 niezależnych transmisji. Dla każdej przewidziany jest własny rejestr sterujacy, ˛ rejestr danych przeznaczonych do wysłania i rejestr odbiorczy. Rejestr sterujacy ˛ zwi˛eksza funkcjonalność układu umożliwiajac ˛ ustawienie dla każdego zadania indywidualnie niektórych parametrów transmisji. Do konfiguracji podmodułu SPI służy funkcja SpiInit. Ustala ona m.in. pr˛edkość transmisji (4Mhz) i szerokość ramki danych (16-bitów). Wykorzystanie pełnej kolejki, czyli 16 transmisji do obsługi 2 kanałów pomiarowych przetwornika pozwala uzyskać duża˛ cz˛estotliwość próbkowania mierzonego sygnału. Schemat działania cyklu pomiarowego SPI przedstawiono na rysunku 44. Rysunek 44: Cykl pomiarowy kolejki SPI W celu zainicjowania pomiaru na określonym kanale należy wysłać do przetwornika ramke sterujac ˛ a˛ o strukturze jak na rysunku 45. Do wyboru kanału, z którego przetwornik pobiera 40 Rysunek 45: Bajt sterujacy ˛ dla MAX1270 próbk˛e sygnału do przetworzenia służa˛ bity SEL2, SEL1 i SEL0 [11]. Bit RNG ustawla zakres pomiarowy przetwornika, natomiast pozycja BIP pozwala na pomiar napi˛eć ujemnych. Podczas każdej transmisji nast˛epuje inicjacja pomiaru na jednym kanale i jednoczesny odczyt pomiaru z kanału drugiego. Po wykonaniu pełnej kolejki sterownik SPI zgłasza przerwanie do CPU i rozpoczyna kolejna˛ steri˛e 16 pomiarów. W programie obsługi przerwania nast˛epuje cyfrowa filtracja zebranych pomiarów. Filtracji dokonuje funkcja Mediana, która sortuje wyniki pomiaru, a nast˛epnie odrzuca wartości skrajne (najwi˛eksza˛ i najmniejsza). ˛ Końcowym wynikiem przetwarzania jest średnia arytmetyczna z pozostałych nieodrzuconych pomiarów. 4.1.2 Regulator pr˛edkości Podczas gdy komutacja zapewnia właściwy obrót wirnika silnika BLDC, jego pr˛edkość zależy wyłacznie ˛ od amplitudy napi˛ecia zasilania. Do modulacji wartości skutecznej tego napi˛ecia wykorzystuje si˛e technike PWM. W celu uzyskania zadanej pr˛edkości obrotowej silnika skonstruowano regulator, którego struktur˛e przedstawiono na rysunku 46. Rysunek 46: Struktura układu regulatora pr˛edkości Zastosowany regulator działa w oparciu o algorytm PD, który wyraża si˛e nast˛epujacym ˛ równaniem [4]: u(t) = k p e(t) + kd de(t) dt (24) Zaimplementowanie algorytmu w sterowniku wymaga przekształcenia go do postaci dyskretnej: u(k) = u p (k) + ud (k) (25) u p = k p e(k) (26) ud = kd (e(k) − e(k − 1)) T gdzie: 41 (27) u(k) - sygnał wyjściowy regulatora u p (k) - sygnał wyjściowy cz˛eści proporcjonalnej ud (k) - sygnał wyjściowy cz˛eści różniczkowej e(k) - bład ˛ w kroku k e(k − 1) - bład ˛ w kroku k-1 T - czas próbkowania k p - wzmocnienie cz˛eści proporcjonalnej kd - wzmocnienie cz˛eści różniczkowej Algorytm PD w oparciu o uchyb regulacji wytwarza sygnał sterujacy, ˛ wyrażony czasem wypełnienia, który jest parametrem wejściowym funkcji PWM układu TPU[13]. Za wykonanie algorytmu regulacji odpowiedzialna jest funkcja Regulat działajaca ˛ na strukturze pd_reg, która zawiera wszystkie wcześniej wymienione parametry regulatora. Górna wartość sygnału zwracanego przez regulator u(k) jest ograniczona parametrem PWMPER funkcji PWM[13]. Użycie regulatora jest opcjionalne i zależy od stanu zmiennej reg_on. 4.2 Oprogramowanie TPU (Time Processor Unit) Wielka˛ zaleta˛ mikrokontrolera MC68332 jest obecność układu TPU. Jest to zarazem główny powód, dla którego mikrokontroler ten znakomicie nadaje si˛e do sterowania różnego rodzaju silnikami. Celem wprowadzenia układu TPU było odcia˛żenie procesora CPU od realizacji skomplikowanych zadań czasowo-licznikowych z jakimi też bez watpienia ˛ wia˛że si˛e komutacja szybkimi sinikami BLDC. TPU umożliwia obsług˛e wielu różnych funkcji czasowych na 16 niezależnych kanałach. Zasoby sprz˛etowe układu zapewniaja˛ duża˛ szybkość wykonywania wielu zadań jednocześnie. TPU udost˛epnia tryb emulacji w którym pami˛eć ROM mikrokodu zostaje zastapiona ˛ pami˛ecia˛ TPURAM. Rozwiazanie ˛ takie stwarza możliwość pisania i uruchamiania własnych zestawów funkcji TPU. 4.2.1 Konfiguracja TPU Przed uruchomieniem TPU należy układ skonfigurować [5]. Do najważniejszych ustawień zalicza si˛e: – cz˛estotliwość pracy zegara TCR1 – cz˛estotliwość pracy zegara TCR2 – tryb pracy (układ pracuje w trybie emulacji) W celu zapewnienia dużej niezawodności i minimalnych opóżnień obsługi zdarzeń działajacych ˛ funkcji TPU, przed przystapieniem ˛ do ich konfiguracji należy uważnie rozważyć dobór kanałów i priorytetów. Mechanizm kolejkowania zadań TPU zapewnia odpowiedni przydział czasu procesora dla funkcji o danym priorytecie. Ogólny schemat według którego TPU podejmuje decyzj˛e o wykonaniu zadań w zależności od priorytetu przedstawiono na rysunku 47. Schemat obsługi zdarzen TPU gwarantuje, że funkcje o priorytecie najwyższym (H) b˛eda˛ czterokrotnie cz˛eściej wykonywane niż funkcje o priorytecie najniższym (L), i dwukrotnie cz˛eściej niż funkcje ze średnim priorytetem (M). W tabeli 7 przedstawiono zestaw wykorzystanych 42 Rysunek 47: Schemat obsługi zdarzeń przez TPU Nr kanału Funkcja Priorytet 13 COMM MASTER H 14 COMM 1 15 COMM 2 0 COMM 3 1 COMM 4 2 COMM 5 3 HALLD A H 4 HALLD B 5 HALLD C 6 PWM M 7 FQD A H 8 FQD B H 10 FQM H 9 DIO L 11 DIO L 12 DIO L Tablica 7: Spis wykorzystanych funkcji z przydziałem kanałów i priorytetów obsługi (złacze ˛ Z2) funkcji TPU wraz z przydzielonymi im kanałami i priorytetami obsługi. W tak skonstruowanym systemie (tabela 7) krytyczna˛ sprawa˛ jest obsługa funkcji zwiaza˛ nych z komutacja˛ silnika. Każde opóżnienie może wiazać ˛ si˛e z pogorszeniem jakości ruchu silnika, jakościa˛ wytwarzanego momentu, może doprowadzić do rozsynchronizowania komutacji, a nawet do zatrzymania ruchu wirnika. Z tego wzgl˛edu wszystkim funkcjom bioracym ˛ bezpośredni udział w generowaniu sygnałów komutacji został przydzielony arbitralnie priorytet najwyższy. Jednak nawet najwyższy priorytet nie zawsze zapewnia obsług˛e wszystkich zadań w wymaganym czasie. Dlatego konieczna jest analiza najgorszego przypadku (WCL-Worst Case Latency) , która pozwala określić maksymalne dopuszczalne opóźnienia zdarzeń krytycznych. Dzi˛eki temu uzyskujemy informacje o warunkach w których komutacja silnikiem może przebiegać bezawaryjnie. Dla funkcji niezwiazanych ˛ z komutacja˛ silnika analiza taka była zb˛edna ze wzgl˛edu na charakter wykonywanych przez nie zadań. 4.2.2 Funkcja COMM COMM [19] jest główna˛ funkcja˛ wykorzystywana˛ w procesie sterowania silnikiem BLDC. Jej podstawowym zadaniem jest generowanie sygnałów komutacji. Funkcja jest bardzo elastyczna i może być wykorzystana do sterowania silnikami zarówno trój jak i czterofazowymi. Działanie funkcji obejmuje dwa tryby: • czujnikowy (Sensored Mode) • bezczujnikowy (Sensorless Mode) 43 Tryb pracy określa źródło, z którego funkcja COMM czerpie inforamcje o aktualnym położeniu wirnika. Dla trybu bezczujnikowego źródłem tym jest funkcja FQD [14], która zlicza impulsy z kodera umieszczonego na wale silnika. W trybie czujnikowym sygnały sprz˛eżenia zwrotnego przekazywane sa˛ za pośrednictwem funkcji HALLD [16] dekodujacej ˛ stany wyjść z czujników Hall’a. Inicjalizacja funkcji COMM nast˛epuje po wywołaniu procedury InitComm, której parametrem wejściowym jest zmienna określajaca ˛ tryb jej pracy. Poniżej zestawiono i opisano wszystkie parametry funkcji COMM odpowiedzialne za jej działanie: • COUNTER_ADDR - parametr ten przechowuje adres pod którym znajduje si˛e licznik pozycji funkcji FQD (wykorzystywany tylko przez tryb bezczujnikowy). • NO_OF_PINS - określa liczb˛e kanałów wykorzystywanych do wytwarzania sygnałów komutacji. • STATE_NO - zmienna przechowuje numer pozycji w tablicy komutacji, odzwierciedlajacy ˛ bieżacy ˛ stan komutacji. W trybie sensorycznym zawartość rejestru nadpisywana jest przez funkcj˛e HALLD. • OFFSET - parametr, który pozwala na regulacj˛e kata ˛ mi˛edzy wektorem pola stojana i wirnika. OFFSET używany jest m.in. do wytworzenia momentu startowego, kompensacji opóźnień, hamowania silnika i określenia kierunku ruchu. (tylko sensorless mode) • UPDATE_PERIOD - służy do określenia cz˛estotliwości z jaka˛ funkcja COMM dokonuje porównania mi˛edzy suma˛ licznika pozycji FQD i parametru OFFSET z parametrami UPPER i LOWER. • UPPER i LOWER - zawieraja˛ górna˛ i dolna˛ wartość pozycji licznika po przekroczeniu której powinna nastapić ˛ komutacja. Z chwila˛ gdy suma licznika pozycji FQD i parametru OFFSET przekroczy wartość przechowywana˛ w rejestrze UPPER nastapi ˛ zwi˛ekszenie zawartości zmiennej STATE NO o jeden. Spowoduje to jednocześnie zmian˛e stanów wyjściowych kanałów funkcji COMM zgodnie z nowa˛ pozycja˛ STAT_NO w tablicy komutacji. Zawartość rejestru UPPER zostaje zaktualizowana w sposób zapewniajacy ˛ właściwe sterowanie silnikiem. Analogiczna sytuacja jest ze zminna˛ LOWER, z tym że zawartość STAT_NO jest dekrementowana w każdym kolejnym etapie komutacji. • NO_OF_STATES - ośmiobitowy parametr, który określa liczb˛e stanów wyjściowych generowanych przez funkcje. Liczba możliwych stanów jest ograniczona i zależy od obszaru pami˛eci RAM zajmowanego przez kolejne kanały funkcji COMM, nie liczac ˛ kanału COMM MASTER. Ustawienia najważniejszych parametrów funkcji COMM dla trybu bezczujnikowego: NO OF PINS=6, NO OF STATES=18, UPDATE PERIOD=2, UPPER=9, LOWER=-9, OFFSET=64 (dla ruchu silnika w prawo) Poniżej pokazano sposób konstruowania tablicy komutacji (również dla trybu sensorless). Struktur˛e pojedynczego stanu w tablicy komutacji przedstawiono na rysunku 48. gdzie: 44 Rysunek 48: Struktura stanu w tablicy komutacji E1, E2, E3 - sygnały uaktywnijace ˛ poszczególne półmostki stopnia mocy. IN1, IN2, IN3 - pozycje ustalajace ˛ biegun napi˛ecia zasilania faz silnika Długość stanu - zawiera liczb˛e impulsów po zliczeniu których powinna˛ nastapić ˛ przejście do kolejnego etapu komutacji. Długość stanu wyznaczono z zależności: Długość stanu = Nk 1024 = = 28.4 Nsk ∗ N p 6∗6 (28) gdzie: Nk - rozdzielczość kodera AS5040. Nsk - liczba sekwencji komutacji przypadajaca ˛ na jeden obrót pola magnetycznrgo stojana N p - liczba obrotów pola magnetycznego stojana przypadajaca ˛ na jeden obrót mechaniczny wirnika. Podczas wypełniania tablicy komutacji wykorzystano dane zdobyte podczas identyfikacji silnika (podrozdział 3.2.1). Po uwzgl˛ednienu wyniku równania 28 i wykorzystaniu danych z tabeli 2 (str. 26) wpis w tablicy komutacji przedstawia si˛e nast˛epujaco: ˛ Nr stanu Długość stanu Konfiguracja wyjść kanałów 0 28 011111 1 29 010111 2 28 110111 3 29 110101 4 28 111101 5 29 011101 6 28 01111 7 29 01011 8 28 110111 9 29 11010 10 28 11110 11 29 01110 12 28 01111 13 29 01011 14 28 110111 15 29 11010 16 28 11110 17 28 01110 Tablica 8: Tablica komutacji dla trybu bezczujnikowego 45 Konfiguracja funkcji COMM dla trybu pracy z wykorzystaniem czujników Hall’a jest znacznie prostsza. Wynika to z odmiennego charakteru sygnału sprz˛eżenia zwrotnego dostarczanego przez inna˛ funkcje wejściowa.˛ Podczas, gdy dla trybu sensorless obliczenie numeru stanu w tablicy komutacji (STATE_NO) spoczywało na samej funkcji COMM, to w przypadku drugiego trybu parametr ten jest gotowym produktem wyjściowym funkcji HALLD [8]. Dla funkcji COMM ustawiamy tylko NO OF PINS=6. Tablic˛e komutacji dla trybu czujnikowego Hall,a przedstawiono na rysunku 9. Nr stanu Konfiguracja wyjść kanałów 0 000000 1 000000 2 011111 3 111101 4 110111 5 011111 6 010111 7 011101 8 111101 9 110111 10 011101 11 110101 12 110101 13 010111 14 000000 15 000000 Tablica 9: Tablicy komutacji dla trybu z wykorzystaniem funkcji HALLD 4.2.3 Funkcja HALLD Funkcja HALLD [16] jest przeznaczona do współpracy z funkcja˛ COMM. Została stworzona, żeby umożliwić funkcji COMM sterowanie silnikami wyposażonymi w czujniki Hall’a. Wykorzystuje dwa lub trzy kanały wejściowe do dekodowania stanów wyjściowych tych czujników. Podstawowe parametry funkcji to: • DIRECTION - ustawia kierunek ruchu silnika • PINSTATE - reprezentuje bieżacy ˛ stan na wejściu kanału • STATE_NO_ADDRE - zawiera adres, pod którym funkcja umieszcza wynik swojego działania, czyli numer stanu reprezentujacy ˛ odpowiednia˛ pozycj˛e w tablicy komutacji (należy wpisać adres, pod którym umieszczona jest zmienna STATE_NO funkcji COMM). Współpraca funkcji HALLD z COMM Z chwila,˛ gdy nastapi ˛ zmiana stanu na jednym z kanałów wejściowych, funkcja HALLD (według wzorca z tabeli 10) generuje nowy stan wyjściowy i umieszcza go w parametrze STATE_NO funkcji COMM. Po umieszczeniu danej reprezentujacej ˛ nowa˛ pozycj˛e w tablicy komutacji, HALLD powiadamia COMM o nowej wartości w rejestrze STATE_NO, w wyniku której pominna nastapić ˛ zmiana stanu na wyjściach kanałów funkcji COMM. 46 Kanał HALLD A Kanał HALLD B Kanał HALLD C DIRECTION STATE_NO 0 0 0 0 0 0 0 1 0 2 0 1 0 0 4 0 1 1 0 6 1 0 0 0 8 1 0 1 0 10 1 1 0 0 12 1 1 1 0 14 0 0 0 1 1 0 0 1 1 3 0 1 0 1 5 0 1 1 1 7 1 0 0 1 9 1 0 1 1 11 1 1 0 1 13 1 1 1 1 15 Tablica 10: Sposób dekodowania stanu wyjść czujników Hall’a przez funkcje HALLD 4.2.4 Funkcja FQD FQD [14] dostarcza funkcji COMM sygnałów sprz˛eżenia zwrotnego od położenia wirnika w postanci wartości licznika pozycji. Wykorzystuje dwa kanały, do których podłaczono ˛ wyjścia kodera kwadraturowego AS5040. Wartość licznika pozycji odzwierciedla położenie wirnika wzgl˛edem stojana. Licznik jest inkrementowany badź ˛ dekrementowany w zależności przesuni˛ecia fazowego mi˛edzy sygnałami na wejściach kanałów A i B. FQD może pracować w dwóch trybach: • normalnym (normal mode) • szybkim (fast mode) W trybie normalnym rejestr licznika pozycji ulega zwi˛ekszeniu, lub zmniejszeniu przy zmianie stanu któregokolwiek z 2 sygnałów wyjściowych kodera. Tryb ten w przeciwieństwie do trybu szybkiego, zapewnia wykorzystanie pełnej rozdzielczości kodera. W trybie szybkim kanł B jest niewykorzystywany, a zmiana licznika pozycji nast˛epuje tylko przy zboczu narastajacym ˛ sygnału na wejściu kanału pierwotnego. W ten sposób maksymalne dopuszczalene opóźnienie obsługi zdarzeń funkcji FQD zwi˛eksza si˛e czterokrotnie, gwarantujac ˛ jednocześnie prawidłowa˛ aktualizacje licznika pozycji przy znacznie wi˛ekszych cz˛estotliwościach zmian sygnału wejściowego. Do inicjalizacji FQD służy procedura FqdInit, która odpowiada za ustawienia niżej przedstawionych pól konfiguracyjnych w pami˛eci RAM obu kanałów: • POSITION_COUNT - inicjalizacja licznika pozycji (tylko kanał pierwotny) • CORR_PINSTATE_ADDR - adres parametru CHAN_PINSTATE drugiego kanału FQD. • EDGE_TIME_ADDR - pole powinno wskazywać parametr EDGE_TIME rezydujacego ˛ w obszarze RAM kanału pierwotnego. Zmiana trybu pracy funkcji FQD nast˛epuje po wywołaniu procedury FqdMode. Przełacze˛ nie trybu może nastapić ˛ w dowolnym momencie, jednak funkcja FQD powinna zawsze rozpoczynać działanie w trybie normalnym (normal mode). W programie sterownika przełaczenie ˛ 47 trybu jest warunkowe i nast˛epuje po przekroczeniu ustalonych pr˛edkości obrotowych silnika. Progi przełaczenia ˛ trybu zostały dobrane w wyniku eksperymentu. Jego wynik pozwolił ustalić maksymalna˛ pr˛edkość silnika, przy której TPU zapewnia poprawne zliczenie wszystkich zboczy impulsów na obu obu wejściach kanałów. Na rysunku 49 przedstawiono skutki przekroczenia dozwolonych pr˛edkości, przy komutacji silnika z wykorzystaniem funkcji FQD pracujacej ˛ w trybie normalnym. Przy wysokich pr˛edkościach silnika funkcja FQD nie jest w stanie policzyć wszystkich zboczy szybkozmiennego sygnału z obu wyjść kodera kwadraturowego, wskutek czego nast˛epuje przekłamanie zawartości licznika pozycji. Wpływa to bezpośrednio na kat ˛ mi˛edzy wektorami pola stojana i wirnika i objawia si˛ezmiana˛ pr˛edkości obrotowej silnika. Zmiana kata ˛ b˛edzie nast˛epowała tak długo, aż silnik zwolni do pr˛edkości przy której nastapi ˛ prawidłowe zliczanie wszystkich zboczy impulsów z obu wyjścia kodera. Na rysunku 49 widać, że próg przy którym powinno nastapić ˛ przeaczenie ˛ funkcji FQD z trybu normalnego na szybki i na odwrót mieści si˛e w okolicach 4200rpm. Rysunek 49: Charakterystyka pr˛edkości silnika dla komutacji z kodera kwadraturowego po przekłamaniu licznika pozycji funkcji FQD 4.2.5 Funkcja PWM PWM jest funkcja˛ wyjściowa˛ wykorzystana˛ do modulacji wartości skutecznej napi˛ecia zasilajacego ˛ silnik. Wyjście kanału funkcji PWM łaczy ˛ si˛e z wejściem (PWM) logiki sterujacej ˛ stopnia mocy (rysunek 33). Pożadan ˛ a˛ wartość napi˛ecia zasilania uzyskujemy poprzez regulacj˛e wypełnienia przebiegu prostokatnego ˛ o stałym okresie. Inicjalizacja funkcji nast˛epuje po wywołaniu procedury PwmInit. Poniżej przedstawiono główne parametry definiujace ˛ działanie funkcji: • PWMHI - ustawia wypełnienie sygnału • PWMPER - odpowiada za ustawienie okresu impulsu Wartość skuteczna˛ napi˛ecia zasilajacego ˛ fazy silnika Usk wyznacza zależność: 48 Usk = PW MHI Uz PW MPER (29) gdzie: Uz - nap˛ecie zasilajace ˛ stopi˛eń mocy 4.2.6 Funkcja FQM Działanie funkcji FQM (Frequency Measurement) polega na zliczaniu impulsów wejściowych w zadanym przedziale czasu. Jej głównym przeznaczeniem jest pomiar cz˛estotliwości. Funkcja może pracować w dwóch trybach, z których jeden obejmuje wykonanie pojedynczego pomiaru, a drugi zapewnia ciagłość ˛ ich wykonywania. Wywołanie procedury FqmInit zapewnia funkcji inicjalizacj˛e nast˛epujacych ˛ parametrów: • CHANNEL_CONTROL - rejestr sterujacy ˛ kanał zawierajacy ˛ pola TBS, PAC i PSC. TBS służy do wyboru zegara podstawy czasu dla kanału, natomiast PAC określa rodzaj wykrywanego zbocza. Pole PSC jest niewykorzystywane. • WINDOW_SIZE - wartość w tym rejestrze ustala okres pomiarowy. Funkcja została skonfigurowana do pracy w trybie ciagłym. ˛ Jest wykorzystana do pomiaru pr˛edkości obrotowej silnika. Sygnał pomiary pr˛edkości pobierany jest z drugiego wyjścia kodera kwadraturowego (kanał B). Po wykonaniu pojedynczego pomiaru FQM zgłasza przerwanie do CPU. W programie obsługi przerwania w oparciu o dane pomiarowe funkcji FQM nast˛epuje wyliczenie pr˛edkości obrotowej silnika. 49 5 Obsługa i możliwości stanowiska Jak wspomniano w rozdziale (3.2.6) komunikacja z użytkownikiem realizowana jest za pomoca˛ przycisków i wyświetlacza LCD umieszczonych na płycie czołowej układu docelowego. W skład interfejsu wchodza˛ również diody sygnalizacyjne, mikroprzełaczniki ˛ i mechanizm regulacji siły docisku (rysunek 50). Rysunek 50: Widok płyty czołowej stanowiska Na płycie czołowej urzadzenia ˛ wyróżnić można nast˛epujace ˛ elementy: 1 - wyświetlacz LCD. 2 - pradnica ˛ . 3 - diody sygnalizujace ˛ stany wyjściowe czujników Hall’a. 4 - silnik BLDC. 5 - diody sygnalizujace ˛ polaryzacje faz silnika. 6 - dioda sygnalizujaca ˛ właściwe umieszczenie czujnika AS5040 wzgl˛edem magnesu 7 - mechaniczny układ regulacji siły docisku 8 - mikroprzełacznik ˛ do wyboru rezystancji obcia˛żenia pradnicy ˛ 9 - układ trzech przycisków służacych ˛ do przemieszczania si˛e po menu, wykonywania nastaw, inicjacji pomiarów itd. 50 Ze wzgl˛edu na duża˛ liczb˛e dost˛epnych funkcji stanowiska konieczne stało si˛e skonstruowanie wielopoziomowego menu i przydzielenie każdemu z przycisków kilku znaczeń. Menu zostało zaprojektowane w sposób zapewniajacy ˛ łatwa˛ i wygodna˛ obsług˛e stanowiska. Jego struktur˛e przedstawiono na rysunku 51. Rysunek 51: Konstrukcja menu użytkownika 51 Najwyższy poziom menu składa si˛e z pozycji, które reprezentuja˛ cztery główne tryby pracy stanowiska: • Komut.HALLD - komutacja silnika nast˛epuje w oparciu o sygnały sprz˛eżenia zwrotnego z czujników Hall’a. Użytkownik mam możliwoć regulacji takich parametrów jak: – Set kier. - ustawia kierunek ruchu silnika – Set pwm - moduluje wartość skuteczna˛ napi˛ecia zasilajacego ˛ silnik poprzez regulacj˛e wypełnienia przebiegu prostokatnego. ˛ Przy zmianie tego parametru silnik pracuj˛e bez regulatora pr˛edkości (jeżeli wcześniej regulator był właczony ˛ to z chwila˛ pierwszej zmiany parametru PWM nast˛epuje jego automatyczne wyłaczenie). ˛ – Set rpm - służy do nastawy pożadanej ˛ wartości pr˛edkości silnika. Silnik pracuje pod kontrola˛ regulatora pr˛edkości PD. • Komut.AS5040 - w trybie tym silnik sterowany jest z wykorzystaniem sygnałów z kodera kwadraturowego AS5040. W tym przypadku istnieje możliwość regulacji takich samych parametrów jak to miało miejsce w ostatnio omawianym punkcie. Dodatkowym parametrem regulacji jest: – Set offset - pozwala na regulacj˛e kata ˛ mi˛edzy wektorami pola stojana i wirnika. Dla obu wymienionych wyżej trybów pracy w czasie regulacji dost˛epnych parametrów istnieje możliwość obserwacji napi˛ecia generowanego na wyjściu prodnicy tachometrycznej, pradu ˛ silnika i jego pr˛edkości obrotowej. • Komut.Reczna - pozwala prześledzić w trybie krokowym kolejne etapy komutacji silnika. Użytkownik zmienia polaryzacj˛e faz silnika poprzez r˛eczna˛ zmian˛e parametru STATE_NO, która reprezentuje stan w tablicy komutacji. Zespół diod na panelu stanowiska daje możliwość zaobserwowania polaryzacji faz silnika, jak też stanu wyjść czujników Hall’a w różnych fazach komutacji. • Charakterystyki - podmenu zostało stworzone w celu przeprowadzenia automatycznych pomiarów wybranych charakterystyk. Zawiera pola ustawiajace ˛ warunki pomiarowe, jak też pozycj˛e wyboru pożadanej ˛ charakterystyki: – Set Kp - pole nastawy wzmocnienia cz˛eści proporcionalnej regulatora – Set Kd - nastawa wzmocnienia cz˛eści różniczkujacej ˛ regulatora – Set pwm - nastawia˛ wartość napi˛ecia zasilania silnika w chwili jego startu przy sterowaniu w p˛etli otwartej – Set speed - zadaje wartość pr˛edkości silnika przy sterowaniu z wykorzystaniem regulatora pr˛edkości PD. – Set offset - ustawia kat ˛ mi˛edzy wektorem pola stojana i wirnika w chwili startu silnika dla komutacji z wykorzystaniem kodera kwadraurowego. – Nr charakterystyki - umożliwia wybór mierzonej charakterystyki. Stanowisko umożliwia pomiar do siedmiu różnych charakterystyk. Ich opis znajduje si˛e poniżej. 52 Opis dost˛epnych charakterystyk CH0 (SPEED - U p ) - charakterystyka pradnicy ˛ tachometrycznej. Pomiar dokonywany jest przy komutacji silnika z wykorzystaniem czujników Hall’a i rozpoczyna si˛e od maksymalnej pr˛edkości, zgodnie z wartościa˛ na pozycji Set speed. CH1 (PWM -SPEED) - mierzy zależność napi˛ecia zasilania (wypełnienia sygnału sterujacego) ˛ silnika od pr˛edkości. CH2 (T - SPEED) - bada odpowiedź silnika na wymuszenie skokiem napi˛ecia o wartości określonej parametrem Set pwm (regulator pr˛edkości wyłaczony). ˛ CH3 (SPEDD - I) - umożliwia pomiar pradu ˛ silnika w funkcji p˛edkości w warunkach rozruchowych i przy zmianie obcia˛żenia. CH4 (T - SPEED) - bada własności dynamiczne silnika przy sterowaniu z wykorzystaniem czujników Hall’a i przy właczonym ˛ regulatorze pr˛edkości PD. Przed pomiarem charakterystyki należy ustawić wzmocnienia Kd i K p regulatora, zadać pr˛edkość silnika poprzez ustawienie parametru w polu Set speed, oraz dobrać obcia˛żenie silnika (za pomoca˛ mikroprzełaczników, ˛ badź ˛ mechanicznego układu dociskowego). CH5 (OFFSET - SPEED) - bada wpływ parametru Offset na pr˛edkość silnika (komutacja z kodera). Przed wykonaniem pomiaru należy ustawić parametr Set pwm. Przeprowadzenie serii pomiarów dla różnych wartości tego parametru pozwala ustalić optymalne wartości OFFSET dla różnych pr˛edkości obrotowych silnika. CH6 (SPEED - T) - Bada odpowiedź silnika na wymuszenie skokiem napi˛ecia o wartści określonej przez paramter Set pwm. Przed wykonaniem pomiaru należy ustalić warunki poczatkowe ˛ poprzez ustawienie parametrów Set pwm i Offset. 53 6 Eksperymenty W rozdziale tym przedstawiono próbk˛e możliwości skonstruowanego urzadzenia. ˛ Skupiono si˛e na przeprowadzeniu tylko kilku doświadczeń, które pozwoliły scharakteryzować podstawowe własności badanego nap˛edu. Wykonano m.in. eksperymenty testujace ˛ dynamik˛e silnika dla różnych wymuszeń i momentów obcia˛żenia. Pomiarów dokonano zarówno w p˛etli otwartej, jak też z wykorzystaniem zaimplementowanego regulatora pr˛edkości PD. Przy sterowaniu pr˛edkościa˛ silnika w otwartym układzie regulacji podstawowa˛ sprawa˛ jest znajomość charakterystyki, która określa zależność mi˛edzy pr˛edkościa˛ obrotowa˛ silnika a napi˛eciem przyłożonym do jego zacisków. W celu sprawdzenia własności zastosowanego silnika BLDC przy takim sterowaniu, eksperymenty zacz˛eto od zbadania tego typu charakterystyki. Rysunek 52: Zależność pr˛edkości silnika od wypełnienia sygnału sterujacego ˛ napi˛eciem zasilania Pomiary przeprowadzono dla trzech różnych momentów obcia˛żenia. Na każdym z trzech przedstawionych na rysunku 52 wykresów można wyróżnić dwa charakterystyczne odcinki (ok. 5000rpm i 2500rpm) w których pr˛edkość pozostaje stała mimo zmiany napi˛ecia zasilajacego ˛ silnik. Jest to spowodowane cz˛estotliwościa˛ przebiegu modulujacego ˛ napi˛ecie zasilania silnika, która w pewnym momencie pokrywa si˛e z cz˛estotliwościa˛ komutacji. Zjawisko to jest szczególnie widoczne przy wi˛ekszych momentach obcia˛żenia, gdzie dopiero zmiana wypełnienia o ok. 15% doprowadza do zmiany pr˛edkości obrotowej silnika. Zmiana pr˛edkości jest skokowa, co uniemożliwia uzyskanie pr˛edkości pośrednich (np. miedzy 4000 a 5000rpm). Przypadłość ta zatem eliminuje zastosowanie otwartego układu regulacji w sytuacji, gdy wymagana jest płynna regulacja pr˛edkości silnika w pełnym możliwym zakresie jej zmian. W kolejnym etapie badań zdj˛eto rodzin˛e charakterystyk silnika, które prezentuja˛ zarówno jego właściwości dynamiczne jak też elektromechaniczne. Badano odpowiedź silnika na wymuszenie skokiem napi˛ecia o wartości programowanej parametrem PWM. Pomiary wykonano dla różnych momentów obcia˛żenia. Ze wzgl˛edu na stosunkowo mały moment elektromechaniczny rozwijany przez silnik, dla napi˛eć zasilania poniżej 60%PWM pomiarów dokonano przy biegu jałowym silnika (rysunek 55). 54 Rysunek 53: Charakterystyka silnika przy PWM=100% Rysunek 54: Charakterystyka silnika przy wymuszeniu PWM=70% Rysunek 55: Charakterystyka w otwartym układzie regulacji dla różnych wartości współczynnika PWM (bez obcia˛żenia silnika) 55 Przed wykonaniem analogicznych charakterystyk w zamkn˛etym układzie regulacji pr˛edkości, przetestowano zachowanie regulatora dla różnych wartości współczynników wzmocnienia K p i Kd . Testy przeprowadzono dla jednej zadanej pr˛edkości silnika (5680rpm) i bez jego obcia˛ żenia (rysunki od 56 do 62). Okazało si˛e, że najlepsze warunki regulacji zapewniaja˛ współczynniki wzmocnienia K p =10 i Kd =14. Przy wartościach K p >20 układ zachowywał si˛e niestabilnie (wyst˛epowały przeregulowania) co w konsekwencji znacznie wydłużyło czas ustalania odpowiedzi. Po wst˛epnej identyfikacji optymalnych nastaw regulatora zbadano charakterystyki dla różnych obcia˛żeń i zadanych pr˛edkości silnika (rysunki od 63 do 66). Pierwszy pomiar wykonano dla takiej samej wartości zadanej pr˛edkości jak to miał miejsce podczas testowania parameterów regulatora. Na rysunku 66 widać, że nastawy K p =10 i Kd =14 zapewniaja˛ bardzo podobny przebieg charakterystyki dynamicznej dla różnych obcia˛żeń silnika (z wyjatkiem ˛ sytuacji, gdy wartość momentu obcia˛żenia przekroczyła maksymalny moment rozwijany przez silnik dla zadanej wartości pr˛edkości). Dla wi˛ekszych obcia˛żeń silnika ostrość charakterystyki uległa lekkiemu spłaszczeniu. Sytuacj˛e mogłoby poprawić zwi˛ekszenie wzmocnienia cz˛eści proporcionalnej regulatora. Dla mniejszych nastaw pr˛edkości, w celu zachowania równie dobrej dynamiki konieczne stało si˛e zwi˛ekszenie wzmocnienia K p . Rysunek 56: Odpowiedź regulatora dla KP = 50 Rysunek 57: Odpowiedź regulatora dla KP = 30 56 Rysunek 58: Odpowiedź regulatora dla KP = 20 Rysunek 59: Odpowiedź regulator dla KP = 10 Rysunek 60: Odpowiedź regulator dla KP = 10 57 Rysunek 61: Odpowiedź regulator dla KP = 5 Rysunek 62: Odpowiedź regulator dla KP = 5 Rysunek 63: Pr˛edkość zadana Set speed = 5850, K p =10, Kd =14 58 Rysunek 64: Pr˛edkość zadana Set speed = 3516, K p =20, Kd =14 Rysunek 65: Pr˛edkość zadana Set speed = 2110, K p =20, Kd =14 Rysunek 66: Pr˛edkość zadana Set speed = 1055, K p =20, Kd =14 59 7 Podsumowanie Wynikiem niniejszej pracy jest kompletne stanowisko badawczo - dydaktyczne dajace ˛ możliwość zapoznania si˛e z właściwościami i różnymi metodami sterowania bezkomutatorowych silników pradu ˛ stałego BLDC. Główna˛ przesłanka˛ podczas tworzenia stanowiska była ch˛eć umożliwienia jego użytkownikom łatwego przyswojenia wiedzy, jak też nabrania pewnej intuicji w zakresie tematów zwiazanych ˛ z komutacja˛ tego typu silnikami. Rozdzielenie modułu sterownika od cz˛eści silnikowej zwi˛ekszyło uniwersalność całej konstrukcji, stwarzajac ˛ szans˛e wykorzystania i sprawdzenia wielu różnych układów sterowników pod katem ˛ zastosowania ich w aplikacjiach z tego typu silnikami. Ponieważ jest to m.in. stanowisko badawcze konieczne stało si˛e zaimplementowanie mechanizmów pozwalajacych ˛ na tworzenie charakterystyk, które sa˛ podstawowym źródłem informacji o własnościach każdego silnika. Zawsze duża˛ zaleta˛ jest możliwość testowania charakterystyk obiektów rzeczywistych. Istnieja˛ co prawda inne metody badawcze w postaci modeli matematycznych i odpowiedniego oprogramowania, jednak wyniki ich działania sa˛ zwykle wyidealizowane. Wia˛że si˛e to z trudnościa˛ zamodelowania wszystkich zjawisk fizycznych zachodzacych ˛ w rzeczywistym środowisku. Nienależy oczywiście zapominać o wielu dobrych stronach takiego podejścia do problemów. W oparciu o model matematyczny silnika BLDC, który został przedstawiony w rozdziale 2 stworzono pakiet do symulacj w środowisku Simulink. Wyniki jego działania mogłyby być pewnym punktem odniesienia dla rzeczywistych pomiarów przeprowadzonych z wykorzystaniem tego stanowiska. Oprogramowanie sterownika umożliwia pomiar do siedmiu różnych charakterystyk dla dwóch trybów komutacji. Podstawowa˛ zależnościa˛ decydujacym ˛ o możliwości wykorzystania silnika do konkretnego zadania jest stosunek momentu rozwijanego przez silnik do jego pr˛edkości obrotowej. W celu umożliwienia zbadania tych zależności konieczne stało si˛e skonstruowanie mechanizmu regulujacego ˛ moment obcia˛żenia silnika. Wykorzystano dwie metody obcia˛żenia odzwierciedlajace ˛ dwa różne rodzaje tarć. Rol˛e obcia˛żenia dynamicznego, charakteryzujacego ˛ tarcie lepkie pełni pradnica ˛ tachometryczna, natomiast tarcie suche realizowane jest za pomoca˛ układu mechanicznego ze spr˛eżyna˛ dociskowa.˛ Bardzo ważna˛ cecha˛ silnika jest jego dynamika. Stanowisko stawarza również możliwość pomiaru tego typu charakterystyk zarówno w p˛etli otwartej jak też z wykorzystaniem zaimplementowanego regulatora pr˛edkości PD. Przy sterowaniu w p˛etli otwartej istnieje możliwość regulacji wymuszenia poprzez ustawienie wypełnienia przebiegu prostokatnego ˛ sterujacego ˛ napi˛eciem zasilania silnika. Przy korzystaniu z regulatora należy zadbać o ustawienie wzmocnień K p i Kd i p˛edkości Set speed. Sposób zapisu wyników pomiarowych przez sterownik umożliwia łatwe i szybkie wykonanie wykresów z wykorzystaniem np. programu Matlab. Oprócz automatycznego zdejmowania charakterystyk możliwa jest r˛eczna zmiana wybranych parametrów sterowania dla określonego trybu komutacji. Zastosowanie wyświetlacza LCD pozwala na bezpośrednia˛ obserwacj˛e pomiarów pradu ˛ silnika, napi˛ecia pradnicy, ˛ czy też pr˛edkości obrotowej silnika. Zespół diod sygnalizacyjnych pozwala prześledzić sposób generowania sygnałów komutacji w zależności od sygnałów sprzeżenia zwrotnego od położenia wirnika wzgl˛edem czujników Hall’a. W ramach pracy przeprowadzono kilka pomiarów charakterystyk prezentujacych ˛ cz˛eść możliwości stanowiska. Załaczono ˛ również instrukcj˛e obsługi, która krok po kroku prowadzi użytkownika przez wszystkie czynności niezb˛edne do właściwego przeprowadzenia pomiaru wybranych charakterystyk. W ramach propozycji kontynuacji prac należy wymienić zaimplementowanie ostatniego trybu sterowania silnikiem, w którym sygnały komutacji generowane sa˛ na podstawie pomiaru SEM indukowanych w nieobcia˛żonych uzwojeniach silnika. Może si˛e to jednak wiazać ˛ z koniecznościa˛ użycia innego silnika BLDC, niż ten który został wykorzystany w pracy. Konstruk60 cja tego silnika zapewnia prawidłowa˛ komutacj˛e z wykorzystanie czujników Hall’a i kodera, jednak nie zmierzono charakterystyk przebiegów SEM, które gwarantowały by możliwość zastosowania bezczujnikowej techniki komutacji. 61 Dodatek A Instrukcja obsługi stanowiska Poniżej zaprezentowano przykładowa˛ procedur˛e post˛epowania przy pomiarze wybranej charakterystyki silnika z wykorzystaniem stanowiska. Do pomiaru charakterystyki niezb˛edny jest dost˛ep do komputera PC, który umożliwi prezentacj˛e wyników pomiaru w odpowiedniej formie. Załóżmy, że chcemy zmierzyć charakterystyk˛e silnika dla trybu komutacji z czujnikami Hall’a przy wykorzystaniu regulatora pr˛edkości PD. W tym celu należy przeprowadzić nast˛epujace ˛ czynności: 1. W menu głównym wybieramy pozycj˛e Charakterystyki (prawy przycisk) 2. W podmenu Charakterystyki znajdujemy pole Parametr K p (przycisk środkowy) i ustawiamy wartość wzmocnienia cz˛eści proporcionalnej regulatora (przycisk prawy lub lewy). 3. Podobnie dla cz˛eści różniczkujacej ˛ Kd regulatora (Parametr Kd ). 4. Na pozycji Set speed ustawiamy pożadan ˛ a˛ wartość pr˛edkości. 5. W kolejnym kroku zaleca si˛e dobór obcia˛żenia silnika. Dokonujemy tego za pomoca˛ mikroprzełaczników ˛ umieszczonych na płycie czołowej stanowiska (rysunek 50), badź ˛ hamulca mechanicznego zamocowanego na wysi˛egniku obok pradnicy ˛ (rysunek 31). 6. Nast˛epnie przechodzimy do podmenu Nr Charakterystyki i wybieramy numer charakterystyki odpowiadajacy ˛ naszym wymaganiom. 7. Po wykonaniu powyższych czynności można zainicjować pomiar naciskajac ˛ najpierw przycisk środkowy i trzymajac ˛ go jednocześnie wcisnać ˛ przycisk lewy. 62 8. Przed wysłaniem wyników pomiaru do komputera PC należy uruchomić i skonfigurować program Hyperterminal, czyli: – ustawić właściwy numeru portu – pr˛edkość transmisji (9600bodów) – wybrać katalog do odbioru plików 9. Po wykonaniu ustawień można przeprowadzić transmisj˛e danych do komputera. 10. Ostatnim etapem jest wizualizacja wyników pomiarów. Do tego celu zaleca si˛e wykorzystanie programów Matlab albo Gnuplot, które w wygodny sposób pozwalaja˛ na prezentacj˛e i analiz˛e uzyskanych wyników pomiaru. 63 Dodatek B Rysunek 67: Schemat ideowy stopnia mocy z logika˛ sterujac ˛ a˛ 64 Literatura [1] Dziadecki.A., Szklarsk.L., Strycharz.J., Jaracz.K.: Automatyka nap˛edu elektrycznego. Kraków, WAGH 1996 [2] Dyson.A., Bannoura.M.: TPU Microcoding for Beginners. Austin, ATM 1999 [3] Czyż.W.: Rodzina M680xx. Gdańsk, ARTEX 1994 [4] Greblicki.W.:Teoretyczne podstawy automatyki. Wrocław, Oficyna Wydawnicza Politechniki Wrocławskiej 2001 [5] Hanselman.H.: Brushless Permanent Magnet Motor Design. [6] Wnuk.M.: Moduł z procesorem MC68332. [7] 3-phase BLDC Motor Control with Sensorless Back-EMF ADC Zero Crossing Detection using 56F80x. @Freescale Semiconductor, Inc. [8] 3-Phase BLDC Motor Control with Quadrature Encoder using 56F800/E. @Freescale Semiconductor, Inc. [9] AS5040 10 bit 360 Programmable Magnetic Rotary Encoder - Data Sheet. Austriamicrosystem. [10] Brushless DC Motor Controla Made Easy. Microchip Technology Inc. - AN857. [11] Brushless DC Motor Fundamentals. Microchip Technology Inc. - AN885. [12] Brushless DC Motor Simulink Simulator - Usage Manual. Department of Electronics and Communication Engineering, National Institute of Technology Karnataka. [13] Discrete Input/Output TPU Function (DIO). @Motorola Inc - TPUPN18/D. [14] Fast Quadrature Decode TPU Function (FQD). @Motorola Inc - TPUPN02/D. [15] Frequency Measurement TPU Function (FQM). @Motorola Inc - TPUPN03/D. [16] Hall Effect Decode TPU Function (HALLD). @Motorola Inc. - TPUPN10/D. [17] MAX1270 - Data Sheet [18] Motor Control Sensor Feedback Circuits. Microchip Technology Inc. - AN894. [19] Multiphase Motor Commutation TPU Function (COMM). @Motorola Inc - TPUPN09/D. [20] Time Processor Unit - Reference Manual. @Motorola Inc. [21] Queued Serial Module - Reference Manual. @Motorola Inc. 65