Sterowanie silnikiem prądu stałego
Transkrypt
Sterowanie silnikiem prądu stałego
Sterowanie silnikiem prądu stałego Marcin Morawiec Cel ćwiczenia Implementacja w procesorze sygnałowym układu sterowania ze sprzężeniem prędkościowym. Opis konsoli pomiarowej: Rys. 1. Program „Konsola” Do ważniejszych funkcji programu „konsola” należą: 1 – wybór pliku „*.ldr”, który wgrany zostanie do procesora 2. Ładowanie programu do procesora 3. Zakładka „zmienne” – podgląd i zmiana wartości zmiennych występujących w kodzie programu. UWAGA zmienne te muszą być zadeklarowane w pamięci wewnętrznej jako zmienne globalne typu „float” 4. Przycisk „ON” – Wciśnięcie nadaje wartość „1” zmiennej „fal_on” 5. Zakładka „rejestracja” Umożliwia rejestrację w funkcji czasu dowolnie wybranych zmiennych (UWAGA zmienne te muszą być zadeklarowane w pamięci wewnętrznej jako zmienne globalne typu „float” PDF created with pdfFactory Pro trial version www.pdffactory.com 6. Zadajnik prędkości. Wprowadzona wartość (ze znakiem) po podzieleniu przez 1000 przepisywana jest do zmiennej „zadana_omega”. Zmienna ta przyjmuje wartości w zakresie <-1..1>. 7. Zadajnik prędkośći 8. Przycisk OFF - Wciśnięcie nadaje wartość „0” zmiennej „fal_on” 9.Rejestruj – rozpoczęcie rejestracji – uwaga rejestrowanych jest max. 500 próbek każdej zmiennej 10.Transfer – Przepisanie zarejestrowanych danych z procesora do komputera PC 11. Programy do wizualizacji zebranych danych. 12. Co ile przerwać rejestrowana jest jedna próbka danych. UWAGA – wartość minimalna „1” odpowiada długości jednego przerwania procesora (150µs). Możliwa jest rejestracja danych co „x*150µs”, gdzie x jest dowolna liczbą całkowitą. 13. Przycisk odczytu wartości zmiennych 14. Odblokowanie odczytywanych danych (kolor „czerwony” – dane z wybranej komórki nie są odczytywane/zmieniane) 15. Nazwa zmiennej odczytywanej/zapisywanej „UWAGA zmienne te muszą być zadeklarowane w pamięci wewnętrznej jako zmienne globalne typu float”. Wybór zmiennej potwierdzić Enterem 16. Adres wybranej zmiennej. W przypadku, gdy zmienna nie występuje w projekcie komórka podświetlona jest na czerwono 17. Odczytana wartość 18. Przycisk Zapisu 19. Wartość nadawana zmiennej typu float (UWAGA – potwierdzić Enterem) 20. Pasek postępu wgrywania programu (UWAGA – nie dochodzi do końca) Struktura oprogramowania sterującego. SPEED.c Program sterujący pracą przekształtnika realizowany jest w przerwaniach, wywoływanych co 150µs. Jest to najkrótszy czas generowania impulsu aktywującego tranzystory przekształtnika. W celu zwiększenie długości impulsów należy w mikroprocesorze utrzymywać stan odpowiedniej zmiennej sterującej przez kilka-kilkaset-kilka tysięcy przerwać (10 przerwań to 1.5ms, 1000 przerwań to 150ms, 1 000 000 przerwań to 150s itd). Przerwanie rozpoczyna się i kończy nawiasami klamrowymi po komendzie „void irq0_isr(int interrupt_number)”. Parametry silnika: In=2A, Un=30V, n=3000 obr/min Program ćwiczenia: 1. Zadać napięcie na zasilaczu 30V (kolor czerwony przewodu to +!!!! – sprawdzić połączenie przed podaniem zasilania). 2. Narysować schemat połączeń układu napędowego (rzeczywisty schemat z mostkiem H) 3. W oknie 6 wpisać wartość np. 100. Zmienna zadana_omega=100/1000=0.1 j.w. Następnie załączyć ON. Domyślny układ regulacji to napięciowy. Napięcie: uzad=zadana_omega. Zakres zmian napięcia to (-1…1). Zbadać pracę układu napędowego. Zarejestrować prąd twornika silnika (I1 – w [A] lub I1_b=I1/In, ud- napięcie PDF created with pdfFactory Pro trial version www.pdffactory.com zasilania w j.w.), prędkość mierzoną enkoderem – zmienna enkorder1, napięcie zadane uzad). 4. Wprowadzić opóźnienie (rampę) na sygnał zadany: zadana_omega. Rampa spowoduje, że napięcie zadane (uzad) nie będzie zadawane skokowo. Uwaga! Należy przypisać do zmiennej uzad= omega_zad (zmienne należy definiować jako float w pliku deklaracje.h). 5. Zarejestrować przebiegi (I1_b, uzad, omega_zad, ud, enkoder1). 6. Ustawić czas narastania (i hamowania) sygnału rampy aby rozruch maszyny trwał 1s (uwaga przerwanie = 150us należy odpowiednio przeliczyć!!!). 7. Zaprojektować układ regulacji ze sprzężeniem prędkościowym, w którym: zadana_omega – prędkość zadana, omega_zad – prędkość z rampą, uzad – napięcie zadane zmienna wyjściowa z regulatora prądu, I1_b – prąd twornika mierzony w j.w. fclipf(zmienna, ograniczenie) – funkcja służąca do ograniczenia wyjść z regulatorów, enkoder1 – zmierzona prędkość przeskalowana na j.w. Enkoder zastosowany w układzie napędowym zwraca tylko sygnał dodatniej prędkości!!! Należy wykorzystać sygnał rampy (omega_zad) oraz poniższy kod programu: if ((omega_zad<0)) znak=-1; else znak=1; enkoder1=enkoder1*znak; gdzie: znak jest znakiem prędkości kątowej wirnika. PDF created with pdfFactory Pro trial version www.pdffactory.com