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

Podobne dokumenty