Politechnika Wrocławska Projekt Sterownik momentu obrotowego silnika prądu stałego Autorzy: Paweł Bogner Marcin Dmochowski Prowadzący: mgr inż. Jan Kędzierski 30.04.2012 r.
1 Opis ogólny Celem projektu było skonstruowanie sterownika silnika prądu stałego z regulacją natężenia prądu. Urządzenie jest oparte na mikrokontrolerze serii HCS12, mostku H własnego projektu oraz układzie pomiarowym ze wzmacniaczem operacyjnym. Komunikacja z urządzeniem odbywa się poprzez interfejs RS232. Do testów wykorzystany został silnik prądu stałego marki Maxon. 2 Interfejs użytkownika Z urządzeniem można komunikować się poprzez interfejs RS232 przy następujących parametrach: baud rate: 38400, bity danych: 8, bit parzystości: brak, bit stopu: 1. Po włączeniu wyświetlany jest komunikat powitalny mający na celu przetestowanie komunikacji. Użytkownik może wpisać wartość zadaną prądu płynącego przez silnik w znormalizowanych jednostkach. Nie zdecydowano się na skalowanie do jednostek układu SI, ponieważ sterownik ma możliwość pracy z różnymi silnikami poprzez dobór wartości rezystora pomiarowego oraz regulację wzmocnienia napięcia odkładającego się na nim. Należy wprowadzić żądaną wartość i wysłać znak nowej linii. Liczba ta może być dodatnia (obroty silnika w jedną stronę) lub ujemna (obroty w przeciwną stronę). Wprowadzenie zera powoduje zahamowanie silnika przez otwarcie obydwu dolnych stron mostka. Po wprowadzeniu komendy odsyłany jest jeden z następujących komunikatów zwrotnych: OK: stopped. silnik jest hamowany; OK: [wartosc] wprowadzono poprawną wartość zadaną; Error: absolute value of the set point must be greater than 500. wprowadzono wartość zadaną o zbyt małym module. 3 Mikrokontroler W projekcie został użyty mikrokontroler MC9S12A64. Jest to szesnastobitowy układ z rodziny HCS12. Zegar skonfigurowano w następujący sposób: zegar zewnętrzny 8 MHz, tryb dużej prędkości: internal bus clock: 25 MHz, PLL clock: 50 MHz, Zostały wykorzystane następujące peryferia: ADC przetwornik analogowo-cyfrowy, służy do pomiaru napięcia na rezystorze pomiarowym. Parametry:
rozdzielczość: 10b, czas konwersji: 20 µs, czas próbkowania: 18 cykli zegara, SCI interfejs komunikacji szeregowej, umożliwia komunikację poprzez terminal. Parametry: rozmiar bufora wejściowego: 128, rozmiar bufora wyjściowego: 128, PWM modulacja szerokości impulsu, służy do sterowania napięciem podawanym na uzwojenie silnika. Parametry: okres: 1024 µs RTI cykliczne przerwanie. Parametry: okres: 4096 µs TC0 timer, cykliczne przerwanie. Parametry: okres: 20 ms 4 Opis wyprowadzeń Rysunek 1: Płytka drukowana widziana od góry Oto lista wszystkich wyprowadzeń dostępnych dla użytkownika: Sterownik momentu obrotowego silnika prądu stałego 2
SVL1, SVP1 gniazdo na moduł z mikrokontrolerem; J1 gniazdo interfejsu RS232; R13 potencjometr regulujący wzmocnienie wzmacniacza operacyjnego; R9 potencjometr regulujący potencjał odniesienia dla wzmacniacza operacyjnego; S1, S2, P2, P3 zworki ustawiające konfigurację rezystorów pomiarowych; P4 złącze silnika; P1 złącze zasilania; 5 Zastosowane rozwiązania 5.1 Pomiar prądu Pomiar prądu zrealizowano metodą pośrednią przez pomiar napięcia na rezystorze. Dostępne są 4 rezystory po 0, 47 Ω. Za pomocą zworek można łączyć je w różne konfiguracje, aby dopasować układ do potrzeb użytkownika, mianowicie możliwe są połączenia szeregowe po 1, 2, 3 oraz 4 i równoległe po 1, 2, 3 oraz 4 rezystory, uzyskując zakres rezystancji od ok. 0, 1 Ω do ok. 2 Ω. Napięcie, które odkłada się na rezystorach jest wstępnie filtrowane przez dolnoprzepustowy filtr RC drugiego rzędu, a następnie podawane jest na wejście odwracające wzmacniacza operacyjnego. Porównywane jest ono z napięciem odniesienia, które, tak jak wzmocnienie, można dostroić za pomocą potencjometru. 5.2 Mostek H Zastosowany mostek H został zaprojektowany samodzielnie. Do jego konstrukcji wykorzystano tranzystory MOSFET z kanałem typu N IRF530 oraz drivery IR2110. Mostek sterowany jest poprzez selektywne otwieranie tranzystorów, mianowicie na jedną górną stronę podawany jest sygnał PWM, a na przeciwległą dolną stronę logiczny stan wysoki. Tranzystory w drugiej przekątnej mostka są zamknięte. Użyte drivery przeznaczone są do pracy impulsowej, dlatego mikroprocesor w cyklicznym przerwaniu na bardzo krótki okres czasu zamyka obydwie górne strony oraz otwiera obydwie dolne strony, aby możliwe było naładowanie kondensatorów przez obecne w driverach przetwornice, które to mogą być aktywne tylko podczas otwarcia tranzystora po dolnej stronie. Następnie mikroprocesor wznawia normalną pracę kanałów PWM, otwierając uprzednio otwartą górną stronę. Ładunek zgromadzony w kondensatorach używany jest do zasilania bramki tranzystora po otwartej górnej stronie. 5.3 Regulator PID Do sterowania prądem płynącym przez uzwojenie silnika zastosowano algorytm PID. Implementacja pozwala także w łatwy sposób zmieniać nastawy regulatora. Oto zmienne użyte w programie: 1 v o l a t i l e word meas ; // pomiar 2 byte kp, ki, Td ; // nastawy (PID IND) 3 i n t 3 2 t i n t e g r a l =0; // c a l k a 4 i n t 3 2 t e r r o r ; // uchyb 5 i n t 3 2 t e r r o r p r e v =0; // poprzedni uchyb 6 v o l a t i l e i n t 3 2 t c o n t r o l v a l u e ; // w y j s c i e r e g u l a t o r a Sterownik momentu obrotowego silnika prądu stałego 3
7 v o l a t i l e long s e t p o i n t ; // wartosc zadana 8 i n t 3 2 t s a t =20000; // o g r a n i c z e n i e i n t e g r a t o r a 9 long time ; // podstawa czasu Jednostki nastaw są jednostkami znormalizowanymi. Oto fragment kodu, który odpowiada za regulację: 1 ( void ) AD1 Measure (TRUE) ; 2 ( void ) AD1 GetValue16(&meas ) ; 3 meas=56000 meas ; 4 e r r o r=s e t p o i n t meas ; 5 i n t e g r a l+=e r r o r time ; 6 i f ( i n t e g r a l >s a t ) i n t e g r a l=s a t ; 7 else i f ( i n t e g r a l <( s a t ) ) i n t e g r a l= s a t ; 8 c o n t r o l v a l u e=e r r o r kp+i n t e g r a l k i+td ( e r r o r e r r o r p r e v )/ time ; 9 c o n t r o l v a l u e /=100; 10 e r r o r p r e v=e r r o r ; 11 12 i f ( c o n t r o l v a l u e >40000) c o n t r o l v a l u e =40000; 13 else i f ( c o n t r o l v a l u e <0) c o n t r o l v a l u e =0; Instrukcje te wykonują się w pętli głównej programu. Na początku wykonywany jest pomiar prądu, którego wartość jest normalizowana, ponieważ układ pomiarowy jest w konfiguracji odwracającej. Następnie wyliczany jest uchyb. Kolejnym krokiem jest całkowanie wraz z saturacją. Na końcu wyliczana jest zmienna sterująca (wraz z ograniczeniem) i zapamiętywana jest wartość bieżącego uchybu. Podstawa czasu jest uzyskiwana poprzez inkrementowanie zmiennej time w przerwaniu cyklicznym. 6 Schemat układu Rysunek 2: Gniazdo mikrokontrolera Sterownik momentu obrotowego silnika prądu stałego 4
Rysunek 3: Lewa strona mostka H Rysunek 4: Prawa strona mostka H Sterownik momentu obrotowego silnika prądu stałego 5
Rysunek 5: Układ konwersji poziomów napięć z SCI do RS232 Rysunek 6: Rezystory pomiarowe Sterownik momentu obrotowego silnika prądu stałego 6
Rysunek 7: Układ pomiaru napięcia Rysunek 8: Układ zasilania Sterownik momentu obrotowego silnika prądu stałego 7
Rysunek 9: Pozostałe połączenia Sterownik momentu obrotowego silnika prądu stałego 8