07-2005_050-053.pdf

(2222 KB) Pobierz
ep_07_050-053_st7_silniki_cz2.indd
S P R Z Ę T
Mikrokontrolery do
sterowania silnikami
serii ST7MC, część 2
Sterowanie trójfazowym
silnikiem indukcyjnym
Trójfazowy asynchroniczny silnik
indukcyjny wymaga zupełnie inne-
go sposobu sterowania niż opisany
powyżej, ale zmiana ta polega jedy-
nie na odpowiednich modyfikacjach
rejestrów konfiguracyjnych kontrole-
ra. Układ Motor Control Macrocell
w tej konfiguracji pracuje jako trój-
fazowy generator PWM, wytwarzają-
cy sygnały o obwiedni sinusoidalnej.
Z każdego z trzech wyjść generatora
wytwarzane są dwa sygnały komple-
mentarne do wysterowania dolnego
i górnego tranzystora mostka. Dodat-
kowo wprowadzany jest tzw. czas
martwy ( Dead Time ) – opóźnienie
między wyłączeniem dolnego, a załą-
czeniem górnego tranzystora; pozwa-
la to uniknąć jednoczesnego prze-
wodzenia dwóch tranzystorów w tej
samej gałęzi mostka. Uproszczony
schemat układu sterowania silnikiem
indukcyjnym przedstawia rys. 5 .
Do wysterowania bramek tranzysto-
rów mocy zastosowano trzy układy
L6386 (specjalizowany driver dolne-
go i górnego tranzystora w mostku
wysokonapięciowym). Wejścia MCIx
mogą być wykorzystane do realizacji
układu sterowania z zamkniętą pętlą
regulacji obrotów silnika.
Rejestry konfiguracyjne umożliwia-
ją dostosowanie wejść MCIx do wy-
branego rodzaju przetwornika obroto-
wo – impulsowego oraz wybór trybu
pracy: pomiar pozycji, prędkości ob-
Dobrze znana Czytelnikom EP rodzina 8–bitowych
mikrokontrolerów ST7 wzbogaciła się o serię układów
dedykowanych do układów sterowania silnikami z wirującym
magnesem (BLDC) oraz silnikami indukcyjnymi. Firma ST
Microelectronics wprowadziła w nich wiele nowinek technicznych,
nie występujących w innych kontrolerach „silnikowych”.
rotowej lub prędkości i kierunku (dla
enkodera inkrementalnego). Korzysta-
jąc z gotowych bibliotek dla języka C,
można zbudować układ z zamkniętą
pętlą o parametrach porównywalnych
z falownikiem wykorzystującym pro-
cesor DSP (soft – start, soft – stop,
optymalizacja parametrów pracy sil-
nika, regulacja poślizgu).
W podobny sposób realizuje się
sterowanie silnikiem prądu zmien-
nego z wirującym magnesem (PMAC
Permanent Magnet AC Motor ).
Dodatkowe peryferia w bloku
Motor Control Macrocell
Blok sterowania silnikiem jest
wyposażony w jeszcze kilka przy-
datnych układów i funkcji:
– Możliwość konfiguracji wyjść
MCOn: dla każdego z sześciu
wyjść można wybrać jego pola-
Rys. 5. Schemat sterowania silnika indukcyjnego
50
Elektronika Praktyczna 7/2005
27855347.010.png
Tanie narzędzia dla
kontrolerów rodziny ST7
S P R Z Ę T
www.st.com/mcu
EVBST7-01
System ewaluacyjny dla ST7FLiteS,
ST7FLite0
• 1...1,5kB pamięci Flash
• wewnętrzny oscylator
RC 1MHz
• zasilanie 2,4...5,5V
• automatyczna ochrona
przed spadkiem napięcia
zasilania (LVD)
• WDG, SPI, PWM
• 128B EEPROM
• 128B RAM
• 8-bitowy przetwornik
A/C
• dwa timery (8 i 16-
bitowy)
• programowanie
w układzie
• tani programator
ICPcable I
EVBST7-02
System ewaluacyjny dla ST7FLite1,
ST7FLite2
• 4...8kB pamięci Flash
• wewnętrzny oscylator RC
1MHz
• zasilanie 2,4...5,5V
• automatyczna ochrona
przed spadkiem napięcia
zasilania (LVD)
• WDG, SPI, PWM
• 128B EEPROM
• 256B lub 384B RAM
• 10-bitowy przetwornik
A/C
• dwa timery (8 i 16-
bitowy)
• programowanie
w układzie
• tani programator
ICPcable I
EVBST7-03
System ewaluacyjny dla ST72F26x
• 4...8kB pamięci Flash
• zasilanie 2,4...5,5V
• automatyczna ochrona
przed spadkiem napięcia
zasilania (LVD)
• WDG, PWM, RTC, SPI,
SCI, I2C
• 256B RAM
• 10-bitowy przetwornik
A/C
• dwa timery 16-bitowe
• programowanie
w układzie
• zagnieżdżona struktura
przerwań
• tani programator
ICPcable I
Pełna informacja o mikrokontrolerach ST7Lite i narzędziach na stronie www.st.com/mcu
Elektronika Praktyczna 7/2005
Masters Sp. z o. o.
80-389 Gdańsk, ul. Śląska 12
tel. (58) 761 86 86, fax (58) 761 87 87
www.masters.com.pl, masters@masters.com.pl
51
ST7FLite2
27855347.011.png 27855347.012.png 27855347.013.png 27855347.001.png 27855347.002.png 27855347.003.png 27855347.004.png 27855347.005.png
S P R Z Ę T
ryzację (wyjście proste lub zane-
gowane) oraz stan w czasie rese-
tu (niski, wysoki, wysoka impe-
dancja).
– Wejście stopu awaryjnego: wystero-
wanie tego wejścia powoduje na-
tychmiastowe wyłączenie silnika –
wyjścia MCO ustawiane są w stan
zdefiniowany dla resetu. Ten sam
efekt można osiągnąć także pro-
gramowo – ustawiając bit stopu
w odpowiednim rejestrze.
– Komparator analogowy: może
być wykorzystany do regulacji
lub ograniczania prądu uzwojeń.
Napięcie referencyjne komparato-
ra można ustawiać programowo
na jedną z 7 wartości z zakresu
0,2 do 3,5 V.
– Dodatkowy 8–bitowy timer z pro-
gramowanym preskalerem i roz-
budowanymi funkcjami porówna-
nia/przechwytywania. Doskonale
się nadaje do pomiaru prędkości
obrotowej.
– Wzmacniacz operacyjny: ma wy-
prowadzone oba wejścia i wyjście,
co umożliwia dowolne jego wy-
korzystanie (wzmacniacz wstępny
dla A/C, separator impedancji,
komparator itp.). Poza tym po-
przez ustawienie odpowiednich
bitów konfiguracyjnych, wzmac-
niacz może być wewnętrznie
dołączony do wybranego wejścia
przetwornika A/C lub do kompa-
ratora sprzężenia prądowego.
List. 1. Przykładowy program sterowania silnika BLDC
Programowanie
mikrokontrolerów ST7MC
Najbardziej efektywne jest wy-
korzystanie gotowych bibliotek dla
języka C, opracowanych przez firmę
STM. Biblioteki oraz noty aplika-
cyjne z przykładami można pobrać
bezpłatnie w dziale Downloads na
stronie firmowej www.mcu.st.com .
Dostępne są oddzielne biblioteki do
sterowania silnikiem indukcyjnym,
silnikiem BLDC oraz synchronicz-
nym silnikiem AC z wirującym ma-
gnesem. Biblioteki zawierają funk-
cje specyficzne dla danego rodzaju
silnika, a także funkcje pomocnicze
nie związane z silnikiem (obsługa
klawiatury, zapalanie LED, przetwa-
rzanie analogowo – cyfrowe, obsłu-
ga transmisji szeregowej itp.).
Na list. 1 przedstawiono przykła-
dowy program sterowania silnikiem
BLDC w trybie bezczujnikowym. Pro-
gram realizuje następujące funkcje:
– Po wciśnięciu przycisku START
silnik jest uruchamiany ze współ-
czynnikiem wypełnienia 25%.
– Po wciśnięciu przycisku STOP na
2 sekundy uruchamia się hamowa-
nie dynamiczne ze współczynni-
kiem wypełnienia 17%, następnie
stopień mocy zostaje wyłączony.
– Dodatkowo zapalane są diody
sygnalizacyjne: czerwona lub zie-
lona oraz obsługiwany jest stan
awaryjny zablokowania wirnika
( Motor Stalled ).
Uwaga: Przykład nie zawiera czę-
ści konfiguracyjnej – np. deklaracje
zmiennych, ustawienia rejestrów,
przyporządkowanie końcówek we/wy.
Wybrane funkcje biblioteczne
(zastosowane w przykładowym pro-
gramie) opisane są poniżej:
MTC_StartMotor : zainicjowanie
odpowiednich rejestrów i zmiennych,
pozycjonowanie wirnika, ustawienie
maski przerwań niezbędnych podczas
pracy silnika, uruchomienie silnika.
MTC_StopMotor : wyłączenie
52
Elektronika Praktyczna 7/2005
27855347.006.png 27855347.007.png 27855347.008.png
S P R Z Ę T
wszystkich tranzystorów mostka,
zablokowanie przerwań związanych
z silnikiem.
GetMotorStatus : zwraca 8–baj-
towe słowo stanu silnika, wybrane
bity: MOTOR_STALLED, AUTO_
SWITCH, EMERGENCY_STOP.
Set_Duty (u16 duty) : ustale-
nie wartości 16–bitowej zmiennej
– współczynnika wypełnienia sygnału
PWM, tzn. ustalenie prędkości obro-
towej (momentu w trybie prądowym).
Chk_Motor_Stalled : wykrywanie
stanu zablokowania wirnika poprzez
kontrolę wartości bitów MTC w re-
jestrze MPCR kontrolera. Wartość
maksymalna MTC=15 powoduje
ustawienie bitu MOTOR_STALLED.
active_brake (u16 duty, u16
time) : funkcja hamowania dyna-
micznego poprzez zasilenie jednego
uzwojenia prądem stałym i zwarcie
pozostałych. Dwie zmienne 16–bi-
towe: współczynnik wypełnienia
PWM ( duty ), czas hamowania w ms
( time ). Zwraca TRUE po upływie
czasu hamowania.
u8 GetRVn() : funkcja zwraca
ustawienie potencjometru dołączone-
go do jednego z wejść analogowych
kontrolera (RV1, RV2 lub RV3)
jako wartość 8–bitową. W załączo-
nym przykładzie potencjometry RV2
i RV3 ustalają wartości progowe dla
komparatora napięcia BEMF.
key_scan() : zwraca TRUE gdy
klawisz dołączony do pinu kontro-
lera jest wciśnięty przez określo-
ny czas. Funkcja realizuje filtrację
drgań styków.
Biblioteka dla silnika trójfazo-
wego AC zawiera odmienny zestaw
funkcji, dostosowany do specyfiki
silnika, poniżej opisano wybrane
funkcje podstawowe:
– Funkcje inicjujące rejestry
i zmienne: MTC_ResetPeripheral,
MTC_InitPeripheral, MTC_InitSi-
neGen. Służą do ustalenia konfi-
guracji pracy silnika.
– Funkcje ustalające napięcie i czę-
stotliwość fali sinusoidalnej oraz
kierunek obrotów (kolejność faz):
MTC_UpdateSine, MTC_Toggle_
Direction, MTC_Set_ClockWise_
Direction, MTC_Set_CounterCloc-
kWise_Direction.
– Funkcje odczytu bieżących para-
metrów (napięcia, prędkości, po-
ślizgu, kierunku obrotów): MTC_
GetVoltage, MTC_GetStatorFreq,
MTC_GetSlip, MTC_GetRotation-
Direction.
– Funkcje hamowania dynamiczne-
go: MTC_StartBraking, MTC_Bra-
ke, MTC_StopBraking.
Poza funkcjami podstawowymi
klasy MTC dostępne są także bar-
dziej rozbudowane procedury apli-
kacyjne (klasa ACM), umożliwiające
sterowanie silnikiem AC w trybie
falownikowym. W układzie z otwartą
pętlą sprzężenia sterowanie odbywa
się w podstawowym trybie stałego
stosunku U/f, natomiast w układzie
z pomiarem prędkości stosowane
jest sterowanie skalarne z kontrolą
poślizgu i optymalizacją sprawności
silnika.
Procedury ACM nie mają bez-
pośredniego dostępu do zasobów
sprzętowych, działają na zasadzie
wywołań funkcji MTC z odpowied-
nimi parametrami.
– Procedury miękkiego startu dla
zamkniętej i otwartej pętli: ACM_
SoftStart, ACM_SoftStartOL.
– Aktywacja trybu optymalizacji
poślizgu: InitSlipFreqReg, ACM_
SlipRegulation. Dla celów po-
miarowych stosowana jest także
funkcja utrzymania stałych obro-
tów przez określony czas ACM_
SustainSpeed.
– Funkcje odczytu parametrów pę-
tli regulacji proporcjonalnej i po-
ślizgu: ACM_GetPIParam, ACM_
GetOptimumSlip.
Programista może skorzystać
z predefiniowanych charakterystyk
regulacji (miękkiego startu, U/f, ska-
larnych), oprócz tego w notach apli-
kacyjnych opisane są metody dobo-
ru charakterystyk do specyficznych
wymogów aplikacji.
Znacznym ułatwieniem tworzenia
aplikacji może być zestaw ewalu-
acyjny, oferowany przez firmę STM.
Zestaw zawiera kompletny sterow-
nik ze stopniem mocy, wejścia
przetworników prędkości i czujników
Halla, izolowany port szeregowy
z konwerterem USB, dodatkowy port
szeregowy LIN/SCI, klawisze, poten-
cjometry. W zestawie jest testowy
silnik BLDC, opcjonalnie można za-
kupić także silnik indukcyjny. Sto-
pień mocy może sterować silnikami
BLDC lub indukcyjnymi o mocy do
1000 W i napięciu pracy od 12 do
300 V. Dołączone oprogramowanie
zawiera środowisko programistyczne
IDE oraz bardzo wygodny interfejs
graficzny, umożliwiający programo-
wanie parametrów w rejestrach kon-
figuracyjnych mikrokontrolera.
Jacek Przepiórkowski
Elektronika Praktyczna 7/2005
53
27855347.009.png
Zgłoś jeśli naruszono regulamin