POLITECHNIKA WARSZAWSKA. Wydział Elektroniki i Technik Informacyjnych. Mikrokontrolery ARM

Podobne dokumenty
Sterownik momentu obrotowego silnika prądu stałego

INSTRUKCJA Regulacja PID, badanie stabilności układów automatyki

Obiekt. Obiekt sterowania obiekt, który realizuje proces (zaplanowany).

STEROWANIE ROBOTEM MOBILNYM TYPU LINE-FOLLOWER

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

LICZNIK IMPULSÓW Z WYŚWIETLACZEM LED NA SZYNĘ DIN LIMP-1 ZASILANY 230VAC

Badanie napędu z silnikiem bezszczotkowym prądu stałego

SDD287 - wysokoprądowy, podwójny driver silnika DC

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Proste układy wykonawcze

Ćw. 18: Pomiary wielkości nieelektrycznych II

Podstawy Automatyki. Wykład 6 - Miejsce i rola regulatora w układzie regulacji. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Przykładowe zadanie egzaminacyjne dla kwalifikacji E.20 w zawodzie technik elektronik

NIEZBĘDNY SPRZĘT LABORATORYJNY

REGULATOR PI W SIŁOWNIKU 2XI

SDD287 - wysokoprądowy, podwójny driver silnika DC

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2019 CZĘŚĆ PRAKTYCZNA

Politechnika Wrocławska

Laboratorium Analogowych Układów Elektronicznych Laboratorium 6

ANALOGOWE I MIESZANE STEROWNIKI PRZETWORNIC. Ćwiczenie 3. Przetwornica podwyższająca napięcie Symulacje analogowego układu sterowania

Ćwiczenie 1a. Silnik prądu stałego jako element wykonawczy Pomiar momentu obrotowego i prędkości obrotowej CZUJNIKI POMIAROWE I ELEMENTY WYKONAWCZE

Regulacja prędkości posuwu belki na prowadnicach pionowych przy wykorzystaniu sterownika Versa Max

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Analogowy sterownik silnika krokowego oparty na układzie avt 1314

Automatyka i sterowania

Sterowniki Programowalne Sem. V, AiR

Regulator PID w sterownikach programowalnych GE Fanuc

Instrukcja do ćwiczenia 6 REGULACJA TRÓJPOŁOŻENIOWA

Funkcjonowanie i budowa modelu układu regulacji temperatury. Jakub Rotkiewicz AIR 2018

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ DPC250; DPC250-D; DPC4000; DPC4000-D


płytka montażowa z tranzystorami i rezystorami, pokazana na rysunku 1. płytka montażowa do badania przerzutnika astabilnego U CC T 2 masa

Regulator PID w sterownikach programowalnych GE Fanuc

Ćw. 8 Bramki logiczne

KA-NUCLEO-F411CE. Płytka rozwojowa z mikrokontrolerem STM32F411CE

Sterowanie pracą reaktora chemicznego

Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej, Zakład Energoelektroniki i Sterowania Laboratorium energoelektroniki

1.2. Architektura rdzenia ARM Cortex-M3...16

Rysunek 1 Schemat ideowy sterownika GSM

WZMACNIACZ OPERACYJNY

Nazwa kwalifikacji: Eksploatacja urządzeń elektronicznych Oznaczenie kwalifikacji: E.20 Numer zadania: 01

Konstrukcja mostka mocy typu "H" opartego o układ HIP4081A Robert Szlawski

Moduł wejść/wyjść VersaPoint

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

Ćw. 18: Pomiary wielkości nieelektrycznych II

Politechnika Białostocka

Dobór parametrów regulatora - symulacja komputerowa. Najprostszy układ automatycznej regulacji można przedstawić za pomocą

Podstawy Automatyki. Wykład 9 - Dobór regulatorów. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Instrukcja obsługi SDC106

ĆWICZENIE 15 BADANIE WZMACNIACZY MOCY MAŁEJ CZĘSTOTLIWOŚCI

Prowadzący(a) Grupa Zespół data ćwiczenia Lp. Nazwisko i imię Ocena LABORATORIUM 4. PODSTAW 5. AUTOMATYKI

UWAGA! ELEKTRYCZNE POD NAPIĘCIEM!

MOBOT RoboSnake. Moduł wieloczłonowego robota

2.1 Porównanie procesorów

MCAR Robot mobilny z procesorem AVR Atmega32

Wstęp Architektura... 13

Raport z budowy robota Krzysio

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

Funkcje sterowania cyfrowego przekształtników (lista nie wyczerpująca)

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

INSTRUKCJA OBSŁUGI REGULATOR PWM GRZAŁKI ZASILANEJ Z PANELI SŁONECZNYCH.

Zabezpieczenie akumulatora Li-Poly

U 2 B 1 C 1 =10nF. C 2 =10nF

Podzespoły i układy scalone mocy część II

Politechnika Białostocka

E-TRONIX Sterownik Uniwersalny SU 1.2

Programowanie Układów Logicznych kod kursu: ETD6203. Szczegóły realizacji projektu indywidualnego W dr inż.

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

PL B1. AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE, Kraków, PL BUP 14/12

Część 5. Mieszane analogowo-cyfrowe układy sterowania

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

Podstawy Automatyki. Wykład 7 - Jakość układu regulacji. Dobór nastaw regulatorów PID. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

LUZS-12 LISTWOWY UNIWERSALNY ZASILACZ SIECIOWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, kwiecień 1999 r.

LABORATORIUM PODSTAW ELEKTRONIKI MATERIAŁY POMOCNICZE SERIA PIERWSZA

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

2.2 Opis części programowej

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

UWAGA. Wszystkie wyniki zapisywać na dysku Dane E: Program i przebieg ćwiczenia:

SPECYFIKACJA PRZETWORNIK RÓŻNICY CIŚNIEŃ

Ćwiczenie 24 Temat: Układy bramek logicznych pomiar napięcia i prądu. Cel ćwiczenia

DWUKIERUNKOWY REGULATOR SILNIKA DC VDC 20A

Politechnika Białostocka

2. Zawartość dokumentacji. 1. Strona tytułowa. 2. Zawartość dokumentacji. 3. Spis rysunków. 4. Opis instalacji kontroli dostępu. 3.

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

Regulacja dwupołożeniowa.

Politechnika Białostocka

Sprzężenie mikrokontrolera (nie tylko X51) ze światem zewnętrznym cd...

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Politechnika Poznańska, Instytut Elektrotechniki i Elektroniki Przemysłowej, Zakład Energoelektroniki i Sterowania Laboratorium energoelektroniki

Politechnika Warszawska Wydział Samochodów i Maszyn Roboczych Instytut Podstaw Budowy Maszyn Zakład Mechaniki

Generator funkcyjny. Spis treści. Działanie. Interfejs. Adam Miarka Maksymilian Szczepanik

Dla naszego obiektu ciągłego: przy czasie próbkowania T p =2.

AP3.8.4 Adapter portu LPT

Ćwiczenie 22. Temat: Przerzutnik monostabilny. Cel ćwiczenia

Część 6. Mieszane analogowo-cyfrowe układy sterowania. Łukasz Starzak, Sterowanie przekształtników elektronicznych, zima 2011/12

Ćwiczenie 2b. Pomiar napięcia i prądu z izolacją galwaniczną Symulacje układów pomiarowych CZUJNIKI POMIAROWE I ELEMENTY WYKONAWCZE

Transkrypt:

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Mikrokontrolery ARM Projekt: Aktywny układ regulacji prędkości obrotowej silnika DC ze sprzężeniem zwrotnym Opis końcowy projektu Wykonał: Maciej Barszczewski

1. Opis działania układu regulacji Celem niniejszego projektu jest zaprojektowanie oraz wykonanie układu regulacji prędkości obrotowej silnika DC, przy czym ma to być regulacja aktywna, bazująca na sprzężeniu zwrotnym. Zastosowanie sprzężenia zwrotnego w układzie regulacji pozwoli (w pewnym zakresie prędkości obrotowej) na uniezależnienie zadanej prędkości obrotowej od aktualnego obciążenia silnika. 2. Wykaz głównych elementów składowych układu regulacji Do głównych części składowych projektowanego układu regulacji możemy zaliczyć wymienione poniżej elementy: Płytka ewaluacyjna STM32F411RE Nucleo - stanowi ona połączenie programatora oraz programowanego mikrokontrolera z rodziny STM32 wraz z dogodnym wyprowadzeniem połączeń w postaci złącz typu goldpin. Sercem projektowanego układu regulacji będzie 32-bitowy mikrokontroler STM32F411RET6, oparty na rdzeniu ARM Cortex M4. Rys. 1. Płytka ewaluacyjna STM32F411RE Nucleo

Silnik elektryczny DC - silnik elektryczny o dopuszczalnym napięciu zasilania w zakresie 5 12 V. Silnik będzie stanowił obiekt regulacji. Oś silnika jest zakończona kołem pasowym co ułatwi montaż tarczy kodowej. Rys. 2. Silnik elektryczny przewidziany do wykorzystania w projekcie Tranzystor typu MOSFET tranzystor stanowiący element wykonawczy układu regulacji (docelowo zastosowano tranzystor IRF530N) Dioda - dioda zabezpieczająca element wykonawczy przed wysokimi napięciami wstecznymi, wynikającymi z indukcyjnościowego charakteru silnika (docelowo nie zastosowano diody ze względu na diodę zintegrowaną z tranzystorem) Transoptor szczelinowy transoptor będzie stanowił przetwornik pomiarowy układu regulacji, w układzie zostanie użyty transoptor TCST1103

Tarczka kodowa papierowa tarczka z wyciętymi po obwodzie otworami, współpracująca z transoptorem szczelinowym. Tarczka zostanie przyklejona do koła pasowego znajdującego się na osi silnika Przyciski typu microswitch przyciski umożliwiające uruchomienie, zatrzymanie oraz zmianę zadanej prędkości obrotowej silnika Wyświetlacz alfanumeryczny jego zadaniem będzie informowanie użytkownika o zadanej oraz aktualnej prędkości obrotowej silnika Zasilacz 12 V DC - źródło zasilania silnika Zasilacz 5 V DC - źródło zasilania mikrokontrolera, wyświetlacza oraz transoptora 3. Schemat blokowy oraz wyjaśnienie algorytmu działania układu regulacji Zasadniczym elementem układu regulacji prędkości obrotowej silnika będzie regulator typu PI w wersji dyskretnej. Zastosowany regulator będzie miał postać programową i zostanie zaimplementowany w mikrokontrolerze STM32. Projektowany układ przybierze wówczas postać widoczną na poniższym rysunku. Rys. 3. Schemat układu regulacji W projektowanym układzie obiektem regulacji O będzie silnik DC, zaś przedmiotem regulacji będzie jego prędkość obrotowa. Pomiar prędkości obrotowej będzie możliwy dzięki zastosowaniu transoptora szczelinowego w połączeniu z tarczą kodowa (odpowiednik PP na schemacie). Tarcza, obracając się wraz z wirnikiem silnika, będzie powodowała generowanie cyklicznych impulsów przez transoptor. Częstotliwość tych impulsów będzie ściśle powiązana z prędkością obrotową silnika. Impulsy wytwarzane przez transoptor trafiają na wejście GPIO mikrokontrolera. Następnie na ich podstawie zostaje obliczona aktualna prędkość obrotowa silnika (PV zmienna procesowa), która zostaje porównana z wartością zadaną przez użytkownika (SP wartość zadana). Obliczona różnica SP PV (odchyłka

regulacji) zostaje przekazana do modułu regulatora jako wartość wejściowa. Regulator, w zależności od wielkości oraz znaku obliczonej odchyłki, odpowiednio dobiera wartość wyjściową CV tak, aby jak najbardziej zbliżyć prędkość obrotową silnika do wartości zadanej przez użytkownika. Następnie ustalona przez regulator wartość CV jest interpretowana przez mikrokontroler jako żądane wypełnienie sygnału PWM, który trafia do tranzystora wykonawczego sterującego pracą silnika. Z tego powodu dopuszczalne wartości CV powinny być programowo ograniczone do przedziału 0 100%, niezależnie od obciążenia silnika. Zgodnie z założeniami projektowymi użytkownik będzie miał możliwość zmiany wartości zadanej prędkości obrotowej silnika. Dostosowywanie wartości zadanej będzie możliwe przy użyciu dołączonych przycisków (start, stop, przyspiesz, zwolnij), a zadana prędkość będzie prezentowana na wyświetlaczu alfanumerycznym. Ze względu na fakt, iż maksymalny prąd, który układ regulacji będzie w stanie dostarczyć silnikowi to 100% wypełnienie sygnału PWM, dopuszczalna prędkość maksymalna zadana przez użytkownika zostanie ograniczona do około połowy (ograniczenie to zostanie dobrane w fazie testów) prędkości silnika nieobciążonego zasilanego napięciem nominalnym 12V. Ograniczenie to zostanie wprowadzone, aby przy żądanej prędkości maksymalnej istniała możliwość skorzystania z zapasu mocy w przypadku pojawienia się zewnętrznego obciążenia silnika. Poniżej został zamieszczony schemat blokowy prezentujący połączenie elementów składowych projektowanego układu regulacji. Rys. 4. Schemat blokowy układu regulacji prędkości obrotowej

4. Implementacja algorytmu oraz opis rzeczywistego układu Podczas prac z rzeczywistym układem oraz testowania proponowanych powyżej rozwiązań, zaszła potrzeba wprowadzenia zmian w układzie zaproponowanym na schemacie Rys. 4.: Zastosowanie drabinki rezystorowej przy łączeniu wyprowadzeń wyświetlacza alfanumerycznego z pinami GPIO mikrokontrolera w celu podciągnięcia napięcia stanu wysokiego GPIO do wartości 5V Dołączenie rezystora podciągającego do kolektora tranzystora znajdującego się w transoptorze Zastosowanie dodatkowego tranzystora bipolarnego NPN (BC547) w celu umożliwienia wysterowania tranzystora MOSFET napięciem o wartości 12V W poniższych podpunktach zamieszczono opis głównych funkcjonalności składających się na całościowy układ regulacji prędkości obrotowej silnika: Pomiar prędkości obrotowej silnika Do koła pasowego na wirniku silnika przyklejona została tekturowa tarcza z wyciętym pojedynczym otworem. Tarcza obraca się w szczelinie transoptora. Każdy pełny obrót osi silnika powoduje jednorazowe otwarcie tranzystora znajdującego się w transoptorze, a więc też jednorazowe zwarcie do masy odpowiedniego pinu mikrokontrolera. Licznik TIM1 mikrokontrolera został ustawiony w tryb zliczania pomiędzy dwoma kolejnymi przerwaniami zewnętrznymi (a więc w naszym wypadku kolejnymi dwoma przejściami otworu tarczy kodowej przez transoptor). Każde przerwanie zewnętrzne pochodzące od pinu połączonego z tranzystorem transoptora powoduje zapamiętanie aktualnej wartości licznika, następnie jej wyzerowanie i rozpoczęcie kolejnego zliczania. Ponieważ częstotliwość taktowania licznika jest znana, na podstawie zliczonej wartości możliwe było obliczenie odstępu czasowego pomiędzy dwoma kolejnymi przerwaniami. Z wyznaczonego w ten sposób czasu jednego pełnego obrotu osi silnika T możliwe jest obliczenie aktualnej prędkości obrotowej silnika. Odbywa się to w oparciu o następujący wzór: gdzie T wyrażone jest w sekundach. Generowanie sygnału PWM sterującego prędkością obrotową silnika Do generowania sygnału PWM sterującego prędkością obrotową silnika został wykorzystany timer TIM3, posiadający tryb PWM. Ustalanie wypełnienia sygnału odbywa

się cyklicznie, w pętli programu. Aktualne wypełnienie zależy od wartości wyjściowej bloku regulatora PID (sygnał CV). Sygnał PWM pochodzący z timera jest przekazywany na zewnątrz mikrokontrolera poprzez jeden z pinów GPIO. Ów pin, poprzez rezystor, jest połączony z bazą tranzystora bipolarnego, użytego w celu podciągnięcia napięcia podawanego na bramkę tranzystora MOSFET do wartości 12V, umożliwiającej wysterowanie tego drugiego. Odpowiedni czas otwarcia i zatkania tranzystora MOSFET powoduje zmianę prędkości obrotowej silnika. Obsługa wyświetlacza alfanumerycznego Do obsługi wyświetlacza nie została użyta żadna zewnętrzna biblioteka. Ta koncepcja była podyktowana chęcią szybszego wdrożenia się w programowanie mikrokontrolera (obsługa wyświetlacza została zaimplementowana jako pierwsza funkcjonalność projektu). Wbrew wcześniejszym założeniom, bezpośrednie łączenie pinów mikrokontrolera z wyprowadzeniami wyświetlacza nie zapewniało jego poprawnego działania. Wynika to z faktu, iż napięcie na pinach mikrokontrolera ustawionych w stan wysoki jest zbyt niskie, aby sterownik wyświetlacza rozpoznawał je jako stan wysoki. W tym celu została zastosowana drabinka rezystorowa umożliwiająca zewnętrzne podciągnięcie stanu wysokiego do wartości 5V. Implementacja regulatora PID W celu zrealizowania funkcjonalności regulatora PID została użyta biblioteka CMSIS oferowana przez producenta mikrokontrolera, firmę STMicroelectronics. Po uruchomieniu mikrokontrolera regulator PID winien być zainicjalizowany. W tym celu wywoływana jest funkcja arm_pid_init_q15, która jako parametry przyjmuje wartości trzech nastaw regulatora, tj. Kp, Kd oraz Ki. Następnie proces regulacji odbywa się w pętli programu, za pomocą cyklicznego wywoływania funkcji arm_pid_q15. Jako parametr funkcji podawany jest aktualny błąd (odchyłka regulacji), czyli różnica pomiędzy aktualną prędkością obrotową silnika a zadaną wartością prędkości. Funkcja zwraca wyjście regulatora PID, czyli wartość sygnału CV. Argument zwracany przez funkcję jest typu int16, tak więc wartość wyjściowa regulatora mieści się w przedziale od -32768 do 32767. Tak duża rozpiętość sygnału CV jest skalowana na przedział od 0 do 65535, gdyż takie wartości przyjmuje rejestr licznika TIM3 przechowujący aktualne wypełnienie sygnału PWM. Dobór nastaw regulatora PID według założeń projektowych miał zostać przeprowadzony w oparciu o metodę Zieglera-Nicholsa. Próba takiego doboru nastaw nie zakończyła się powodzeniem, gdyż nie udało się spełnić podstawowego wymagania metody, tj. wprowadzenia obiektu w niegasnące oscylacje. Wobec zaistniałej sytuacji nastawy regulatora zostały dobrane eksperymentalnie. Uzyskana jakość regulacji była zadowalająca, lecz przeznaczając więcej czasu na eksperymentowanie z wartościami nastaw, jakość ta na pewno mogłaby ulec poprawie. Wpływ na poprawę jakości regulacji można byłoby również uzyskać eliminując zakłócenia powstałe przy pomiarze prędkości obrotowej silnika (drgania transoptora trzymanego w dłoni). W tym celu należałoby zbudować statyw unieruchamiający

silnik oraz transoptor bądź zastanowić się nad inną metodą pomiaru (np. czujnik Halla, prądniczka tachometryczna).