Sterowanie silnikiem prądu stałego przy użyciu tablicy do
Transkrypt
Sterowanie silnikiem prądu stałego przy użyciu tablicy do
POLITECHNIKA WROCŁAWSKA INSTYTUT MASZYN I NAPĘDÓW ELEKTRYCZNYCH LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM Opracowanie: mgr inż. Krzysztof P. Dyrcz mgr inż. Zdzisław Żarczyński LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM 1. CEL ĆWICZENIA Celem ćwiczenia jest poznanie możliwości zastosowania mikrokontrolera SAB 80C535 w sterowaniu silnikami prądu stałego z wykorzystaniem wewnętrznego przetwornika A/C oraz licznika T2, a także poznanie układów sterowania silnikami prądu stałego. 2. PRZYGOTOWANIE DO ĆWICZENIA ∗ ∗ ∗ ∗ ∗ ∗ Zapoznanie się ze strukturą wewnętrzną przetwornika A/C, Zapoznanie się ze strukturą wewnętrzną licznika T2 i przetwornika A/C, Instrukcje asemblera SAB 80C535, obsługa przerwań, Zintegrowane środowisko programowe asm535, Zapoznanie się z zastosowanym sterownikiem silnika prądu stałego. 3. STANOWISKO LABORATORYJNE ∗ ∗ ∗ ∗ ∗ Sterownik Minikon z klawiaturą i wyświetlaczem, IBM PC z programem Monitor, silnik prądu stałego, sterownik silnika prądu stałego, oscyloskop. 4. WPROWADZENIE Sterowanie silnikiem prądu stałego oparte jest na wykorzystaniu licznika T2 do generowania sygnału prostokątnego o regulowanej szerokości (PWM). Licznik T2 umożliwia generowanie czterech niezależnych sygnałów PWM, które dostępne są na liniach portu P1: P1.0..P1.3. Jednakże do sterowania silnika prądu stałego można wykorzystać tylko jeden z nich. Sygnał ten wzmacniany jest w układzie pośredniczącym ( sterowniku ), którego obciążenie stanowi silnik. Aby licznik T2 generował impulsy PWM, musi zostać skonfigurowany do pracy w 0 trybie porównania i 0 trybie autoładowania. Dla przypomnienia: ∗ 0 tryb porównania W tym trybie pracy licznika T2 linie portu P1.0..P1.3 sterowane są przez układy wewnętrzne licznika T2. Oznacza to, że niemożliwa jest programowa zmiana stanu tych linii, czyli wpisanie dowolnej wartości do mniej znaczących bitów portu P1 nie powoduje zmiany stanu tych linii. Linie te sterowane są przez dwa sygnały: − w przypadku zrównania się wartości rejestrów TH2 i TL2 licznika T2 oraz odpowiadających rejestrów CRC, CC1..CC3 na Sterowanie silnikiem prądu stałego Strona 2 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM liniach tych pojawia się sygnał 1 logicznej wygenerowanej przez odpowiednie komparatory rejestrów CRC, CC1..CC3. − w przypadku przepełnienia licznika T2 linie te są zerowane (przyjmują wartość zera logicznego). Tryb 0 porównania wybiera się przypisując w rejestrze T2CON wartość bitu T2CM=0. Rejestr T2CON T2PS I3FR I2FR ∗ T2R1 T2R0 T2CM adres 0C8H T2I1 T2I0 0 tryb autoładowania Wpis wartości początkowej z rejestru CRC do licznika T2 dokonywany jest wskutek przepełnienia licznika T2, czyli osiągnięcia przez licznik wartości 0FFFFH+1. Przepełnienie licznika powoduje ustawienie flagi przerwania TF2 (znacznik ten przyjmuje wartość jedynki logicznej). Tryb 0 autoładowania ustawia się przypisując znacznikom T2R1 i T2R0 z rejestru T2CON odpowiednie wartości: T2R1=1, T2R0=0. Rejestr T2CON T2PS I3FR I2FR T2R1 T2R0 T2CM adres 0C8H T2I1 T2I0 Sterownik silnika prądu stałego zbudowany został w oparciu o układ scalony TLE 4203. Do sterowania silnikiem wykorzystuje się dwa sygnały: ENABLE - sygnał zezwolenia, oraz sygnał PWM z jednej z czterech linii portu P1. Zasada działania sterownika jest następująca: jeżeli wypełnienie impulsu wynosi 50%, wówczas wartość średnia napięcia na zaciskach silnika równa jest zero i silnik nie pracuje. Jeżeli wypełnienie impulsu jest większe od 50%, wówczas na zacisku dodatnim silnika pojawia się pewna wartość napięcia stałego i wirnik silnika wiruje w prawo. Im większe jest wypełnienie impulsu tym większa jest wartość napięcia zasilającego silnik, a więc tym samym większa jest prędkość obrotowa. W przypadku, gdy wypełnienie impulsu jest mniejsze od 50%, wówczas na zacisku ujemnym silnika pojawia się napięcie zasilające, a tym samym zmienia się kierunek wirowania silnika. Analogicznie, im mniejsze jest wypełnienie impulsu, tym większa jest prędkość obrotowa silnika. Schemat sterownika przedstawiono na rys 6.1. Na rys 6.2 przedstawiono schemat stopni wyjściowych układu TLE 4203 z podłączonym silnikiem. Sterowanie silnikiem prądu stałego Strona 3 OUT 2 VCC 74LS04 7400 7406 LED 4k3 7406 k260 PC702V x2 7400 74LS04 PWM 74LS04 74LS04 Enable VCC 7406 7406 k260 k260 VCC VCC 4k3 k260 DZ 5V6 2x510 / 0.5W TLE 4203 M OUT 1 POWER GND LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM Rys 6.1. Sterowanie silnikiem prądu stałego z układem scalonym TLE 4203. Sterowanie silnikiem prądu stałego Strona 4 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM + T1 Układ sterowania T3 M T4 T2 - Rys.6.2. Schemat stopni wyjściowych układu TLE4203. 5. LITERATURA 1. SIEMENS, „Microcomputer Components. SAB 80515 / SAB 80C515 8 bit single chip Microcontroller Family”. Users Manual. 2. Krzysztof P. Dyrcz, Czesław T. Kowalski, Zdzisław Żarczyński, „Podstawy techniki mikroprocesorowej”, skrypt PWr., Wrocław 1999 3. A. Rydzewski, „Mikrokontrolery jednoukładowe rodziny MCS-51”. Sterowanie silnikiem prądu stałego Strona 5 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM Sterowanie silnikiem prądu stałego Strona 6 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM 1. WSTĘP W większości przypadków silniki prądu stałego pracują w układach napędowych o regulowanej prędkości. Stosując mikrokontroler SAB 80C515/535 również można budować układy sterowania silnikami prądu stałego z możliwością regulacji prędkości. Należy do tego celu wykorzystać licznik T2, który generuje impulsy o regulowanej szerokości. Zmiana szerokości impulsu odbywa się poprzez zmianę zawartości rejestrów jednego z wybranych (aktualnie skonfigurowanych do pracy) komparatorów. Zawartość rejestru komparatora można modyfikować wpisując do niego liczbę, której wartość zależna jest od wielkości napięcia doprowadzonego do wejścia analogowego mikrokontrolera i zmierzonego przez przetwornik a/c. Uzyskujemy w ten sposób układ regulacji, w którym zadajnikiem prędkości silnika jest potencjometr zmieniający napięcie na wejściu analogowym przetwornika a/c. W ćwiczeniu należy napisać program realizujący regulację prędkości silnika prądu stałego wg opisanej powyżej zasady. Dla uzyskania zadowalającej dokładności regulacji należy skonfigurować przetwornik a/c do pomiaru z rozdzielczością 10-bitową. Osiem mniej znaczących bitów wyniku pomiaru należy przesłać do komórki o adresie 100H, natomiast 2 najbardziej znaczące bity do zewnętrznej pamięci danych do komórki o adresie 101H. W programie należy wykorzystać przerwanie od licznika T2, przy czym w podprogramie obsługi przerwania należy umieścić procedury obsługi znacznika przerwania TF2, modyfikacji rejestrów komparatora oraz obsługi znacznika CY, wskazującego koniec modyfikacji rejestrów komparatora. Algorytm programu przedstawiono poniżej. Start programu Deklaracja stałych Przerwanie od T2 org $... Skok do podprogramu obsługi przerwania Podprogram obsługi przerwania. (kasowanie TF2, modyfikacja rejestrów, ustawienie CY) org $200. Konfiguracja licznika T2. Odblokowanie przerwań org $500. Konfiguracja przetwornika a/c. Sprawdzanie znacznika CY Stop programu Rys.6.3. Algorytm programu do regulacji prędkości silnika prądu stałego. Sterowanie silnikiem prądu stałego Strona 7 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM 2. PRZEBIEG ĆWICZENIA 1. Zapoznać się z wyposażeniem stanowiska. 2. Przygotować moduł sterownika do pracy z przetwornikiem a/c , licznikiem T2 i do współpracy z komputerem PC. 3. Dokonać niezbędnych połączeń układów na stanowisku. 4. Uruchomić komputer IBM PC. 5. Napisać program w języku asemblera do regulacji prędkości obrotowej silnika sygnałem napięciowym z potencjometru. 6. Uruchomić i przetestować program, zaobserwować pracę silnika. Sterowanie silnikiem prądu stałego Strona 8 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM Sterowanie silnikiem prądu stałego Strona 9 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM 1. WSTĘP W niektórych przypadkach nie istnieje potrzeba płynnej regulacji prędkości obrotowej silnika, a jedynie jej zmiany do określonej, z góry założonej wartości. Wystarczy wówczas napisać program, w którym odpowiednie rejestry komparatora modyfikowane będą wartościami wpisanymi z klawiatury komputera, przy czym wartościami zadanymi są częstotliwość impulsów w Hz oraz wypełnienie w %. Wpisane z klawiatury wartości dzielone są na bardziej i mniej znaczące bajty wg wzorów: częstotliwość: F = 65535 - INT(1000000/F) F1 = INT(F/256) F2 = INT(F-256*F1) przy czym: F - wartość częstotliwości w Hz wpisana z klawiatury, F1 - bardziej znacząca wartość częstotliwości (rejestr CRCH) F2 - mniej znacząca wartość częstotliwości (rejestr CRCL) wypełnienie: W = 65535 - INT(W*10000/F) W1 = INT(W/256) W2 = INT(W-256*W1) przy czym: W - wypełnienie impulsu w % wpisane z klawiatury W1 - bardziej znacząca wartość wypełnienia (rejestr CCH1) W2 - mniej znacząca wartość wypełnienia (rejestr CCL1). Program wpisywania wartości częstotliwości i wypełnienia, oraz wyliczający mniej i bardziej znaczące wartości częstotliwości i wypełnienia należy napisać w języku BASIC, natomiast podprogram modyfikujący rejestru licznika T2 w asemblerze. Obliczone na podstawie przedstawionych wzorów wartości częstotliwości i wypełnienia należy wysłać do komórek pamięci zewnętrznej RAM, tak aby były dostępne dla podprogramu modyfikacji licznika T2. Dla poszczególnych wartości należy zarezerwować odpowiednio komórki pamięci o następujących adresach: 05H - bardziej znacząca wartość częstotliwości (rejestr CRCH) 02H - mniej znacząca wartość częstotliwości (rejestr CRCL) 0BH - bardziej znacząca wartość wypełnienia (rejestr CCH1) 08H - mniej znacząca wartość wypełnienia (rejestr CCL1). Program w języku BASIC przedstawiono poniżej, samodzielnie należy napisać podprogram obsługi licznika T2. Sterowanie silnikiem prądu stałego Strona 10 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM 5 INPUT „Podaj czestotliwosc [Hz] = ”,F : FX=F : F=65535-INT(1000000/F) 8 INPUT „Wypelnienie (max 100%) [%] = ”, W 10 W=100-W : W=65535-INT(W*10000/FX) 20 F1=INT(F/256) : F2=INT(F-256*F1) : PRINT F1,F2 30 W1=INT(W/256) : W2=INT(W-256*W1) : PRINT W1,W2 40 XBY(02H)=F2 : XBY(05H)=F1 50 XBY(08H)=W2 : XBY(0BH)=W1 55 CALL 0 60 GOTO 5 2. PRZEBIEG ĆWICZENIA 1. Zapoznać się z wyposażeniem stanowiska. 2. Przygotować moduł sterownika do pracy z licznikiem T2 i do współpracy z komputerem PC. 3. Dokonać niezbędnych połączeń układów na stanowisku. 4. Uruchomić komputer IBM PC. 5. Napisać podprogram w języku asemblera do konfiguracji licznika T2. 6. Napisać program w języku BASIC do obsługi podprogramu .asm. 7. Uruchomić i przetestować programy, zaobserwować pracę silnika. Sterowanie silnikiem prądu stałego Strona 11 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM Sterowanie silnikiem prądu stałego Strona 12 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM 1. WSTĘP Często istnieje potrzeba skokowej zmiany prędkości silnika w określonej, zaprogramowanej sekwencji. Należy wówczas napisać program, który automatycznie będzie zmieniał szerokość generowanego impulsu, a tym samym wpływał na zmianę prędkości sterowanego silnika. Wartości służące do zmiany szerokości generowanego impulsu (czyli wartości wpisywane do rejestru CCL wybranego komparatora) wygodnie jest umieścić w tablicy. Program czyta wówczas odpowiednie wartości z tablicy wg założonego algorytmu i modyfikuje zawartość rejestru CCL wybranego komparatora zmieniając tym samym szerokość generowanego przez licznik T2 impulsu. W ćwiczeniu należy napisać program realizujący powyższe zadanie, przy czym poniżej przedstawiono deklarację tablicy z wartościami szerokości impulsu: TAB: db #05,#10,#15,#20,#25,#30,#35,#40,#45,#50,#55,#60,#65,#70,#75,#80 db #85,#90,#95,#100,#105,#110,#115,#120,#125,#130,#135,#140,#145 db #150,155,#160,#165,#170,#175,#180 Poniżej przedstawiono algorytm działania programu: Start programu Deklaracja stałych org $0000 Założenie licznika powtórzeń Wprowadzenie opóźnienia. Modyfikacja rejestru CCL2 org $200 Uruchomienie licznika T2. Konfiguracja do pracy z komparatorem CC2 Deklaracja tablicy Stop programu Rys.6.4. Algorytm działania programu modulowania szerokości impulsu. Sterowanie silnikiem prądu stałego wykorzystującego tablicę Strona 13 do LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM 2. PRZEBIEG ĆWICZENIA 1. Zapoznać się z wyposażeniem stanowiska. 2. Przygotować moduł sterownika do pracy z licznikiem T2 i do współpracy z komputerem PC. 3. Dokonać niezbędnych połączeń układów na stanowisku. 4. Uruchomić komputer IBM PC. 5. Napisać program w języku asemblera do sekwencyjnej regulacji prędkości obrotowej silnika. 6. Uruchomić i przetestować program, zaobserwować pracę silnika. Sterowanie silnikiem prądu stałego Strona 14 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM Sterowanie silnikiem prądu stałego Strona 15 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM 1. WSTĘP W części trzeciej ćwiczenia należało napisać program realizujący zmianę wypełnienia szerokości generowanego impulsu wg określonego algorytmu, wykorzystujący wartości zapisane w tablicy do modyfikacji rejestrów odpowiedzialnych za wypełnienie impulsu. Innym sposobem algorytmicznego sterowania szerokością impulsu jest wykorzystanie modulacji programowej. Szerokość generowanego impulsu zmienia się wg określonego algorytmu zapisanego w programie, przy czym moment tej zmiany wyznaczony jest przez znacznik TF2 przerwania od licznika T2. W ćwiczeniu należy napisać program działający wg powyższych założeń, przy czym należy przyjąć następujący algorytm zmiany szerokości impulsu: • licznik T2 należy skonfigurować do pracy z komparatorem CC2 • zmiana szerokości impulsu realizowana jest od zadanej wartości początkowej do wartości maksymalnej w podprogramie obsługi przerwania, • podczas kolejnej modyfikacji zawartość rejestrów komparatora CC2 zwiększa się o 1, • należy wprowadzić zwłokę czasową pomiędzy kolejnymi modyfikacjami zawartości rejestrów równą 10 kolejnym zgłoszeniom przerwania od licznika T2 (czyli zawartość rejestru CC2 modyfikowana jest co 10 przerwań). Poniżej przedstawiono algorytm działania programu. Start programu Deklaracja stałych Adres obsługi przerwania od T2. Skok do podprogramu obsługi przerwania org $.. Podprogram obsługi przerwania. (założenie zwłoki czasowej, modyfikacja rejestru CC2) Adres programu org $200. Konfiguracja licznika T2. Uaktywnienie przerwań Stop programu Rys.6.5. Algorytm działania programu realizującego modulację programową. Sterowanie silnikiem prądu stałego Strona 16 LABORATORIUM STEROWNIKÓW MIKROPROCESOROWYCH W NAPĘDZIE ELEKTRYCZNYM 2. PRZEBIEG ĆWICZENIA 1. Zapoznać się z wyposażeniem stanowiska. 2. Przygotować moduł sterownika do pracy z licznikiem T2 i do współpracy z komputerem PC. 3. Dokonać niezbędnych połączeń układów na stanowisku. 4. Uruchomić komputer IBM PC. 5. Napisać program w języku asemblera realizujący modulację programową. 6. Uruchomić i przetestować program, zaobserwować pracę silnika. Sterowanie silnikiem prądu stałego Strona 17