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