Vous êtes sur la page 1sur 4

SPRZT

Mikrokontrolery do
sterowania silnikami
serii ST7MC, cz 2

Sterowanie trjfazowym
silnikiem indukcyjnym

Trjfazowy asynchroniczny silnik


indukcyjny wymaga zupenie innego sposobu sterowania ni opisany
powyej, ale zmiana ta polega jedynie na odpowiednich modykacjach
rejestrw konguracyjnych kontrolera. Ukad Motor Control Macrocell
w tej konguracji pracuje jako trjfazowy generator PWM, wytwarzajcy sygnay o obwiedni sinusoidalnej.
Z kadego z trzech wyj generatora
wytwarzane s dwa sygnay komplementarne do wysterowania dolnego
i grnego tranzystora mostka. Dodatkowo wprowadzany jest tzw. czas
martwy (Dead Time) opnienie
midzy wyczeniem dolnego, a zaczeniem grnego tranzystora; pozwala to unikn jednoczesnego przewodzenia dwch tranzystorw w tej
samej gazi mostka. Uproszczony
schemat ukadu sterowania silnikiem
indukcyjnym przedstawia rys. 5.
Do wysterowania bramek tranzystorw mocy zastosowano trzy ukady
L6386 (specjalizowany driver dolnego i grnego tranzystora w mostku
wysokonapiciowym). Wejcia MCIx
mog by wykorzystane do realizacji
ukadu sterowania z zamknit ptl
regulacji obrotw silnika.
Rejestry konguracyjne umoliwiaj dostosowanie wej MCIx do wybranego rodzaju przetwornika obrotowo impulsowego oraz wybr trybu
pracy: pomiar pozycji, prdkoci ob-

50

Dobrze znana Czytelnikom EP rodzina 8bitowych


mikrokontrolerw ST7 wzbogacia si o seri ukadw
dedykowanych do ukadw sterowania silnikami z wirujcym
magnesem (BLDC) oraz silnikami indukcyjnymi. Firma ST
Microelectronics wprowadzia w nich wiele nowinek technicznych,
nie wystpujcych w innych kontrolerach silnikowych.
rotowej lub prdkoci i kierunku (dla
enkodera inkrementalnego). Korzystajc z gotowych bibliotek dla jzyka C,
mona zbudowa ukad z zamknit
ptl o parametrach porwnywalnych
z falownikiem wykorzystujcym procesor DSP (soft start, soft stop,
optymalizacja parametrw pracy silnika, regulacja polizgu).
W podobny sposb realizuje si
sterowanie silnikiem prdu zmien-

nego z wirujcym magnesem (PMAC


Permanent Magnet AC Motor).

Dodatkowe peryferia w bloku


Motor Control Macrocell

Blok sterowania silnikiem jest


wyposaony w jeszcze kilka przydatnych ukadw i funkcji:
Moliwo konguracji wyj
MCOn: dla kadego z szeciu
wyj mona wybra jego pola-

Rys. 5. Schemat sterowania silnika indukcyjnego

Elektronika Praktyczna 7/2005

SPRZT

www.st.com/mcu

EVBST7-01
System ewaluacyjny dla ST7FLiteS,
ST7FLite0

1...1,5kB pamici Flash


wewntrzny oscylator
RC 1MHz
zasilanie 2,4...5,5V
automatyczna ochrona
przed spadkiem napicia
zasilania (LVD)
WDG, SPI, PWM
128B EEPROM

128B RAM
8-bitowy przetwornik
A/C
dwa timery (8 i 16bitowy)
programowanie
w ukadzie
tani programator
ICPcable I

EVBST7-02
System ewaluacyjny dla ST7FLite1,
ST7FLite2
4...8kB pamici Flash
wewntrzny oscylator RC
1MHz
zasilanie 2,4...5,5V
automatyczna ochrona
przed spadkiem napicia
zasilania (LVD)
WDG, SPI, PWM
128B EEPROM

256B lub 384B RAM


10-bitowy przetwornik
A/C
dwa timery (8 i 16bitowy)
programowanie
w ukadzie
tani programator
ICPcable I

EVBST7-03
System ewaluacyjny dla ST72F26x

4...8kB pamici Flash


zasilanie 2,4...5,5V
automatyczna ochrona
przed spadkiem napicia
zasilania (LVD)
WDG, PWM, RTC, SPI,
SCI, I2C
256B RAM
10-bitowy przetwornik
A/C

dwa timery 16-bitowe


programowanie
w ukadzie
zagniedona struktura
przerwa
tani programator
ICPcable I

Pena informacja o mikrokontrolerach ST7Lite i narzdziach na stronie www.st.com/mcu

Masters Sp. z o. o.
Elektronika Praktyczna 7/2005

80-389 Gdask, ul. lska 12


tel. (58) 761 86 86, fax (58) 761 87 87
www.masters.com.pl, masters@masters.com.pl51

Na pytach: RTC, termometr analogowy, LCD, LED, pole prototypowe

Tanie narzdzia dla


kontrolerw rodziny ST7

SPRZT

ryzacj (wyjcie proste lub zanegowane) oraz stan w czasie resetu (niski, wysoki, wysoka impedancja).
Wejcie stopu awaryjnego: wysterowanie tego wejcia powoduje natychmiastowe wyczenie silnika
wyjcia MCO ustawiane s w stan
zdeniowany dla resetu. Ten sam
efekt mona osign take programowo ustawiajc bit stopu
w odpowiednim rejestrze.
Komparator analogowy: moe
by wykorzystany do regulacji
lub ograniczania prdu uzwoje.
Napicie referencyjne komparatora mona ustawia programowo
na jedn z 7 wartoci z zakresu
0,2 do 3,5 V.
Dodatkowy 8bitowy timer z programowanym preskalerem i rozbudowanymi funkcjami porwnania/przechwytywania. Doskonale
si nadaje do pomiaru prdkoci
obrotowej.
Wzmacniacz operacyjny: ma wyprowadzone oba wejcia i wyjcie,
co umoliwia dowolne jego wykorzystanie (wzmacniacz wstpny
dla A/C, separator impedancji,
komparator itp.). Poza tym poprzez ustawienie odpowiednich
bitw konguracyjnych, wzmacniacz moe by wewntrznie
doczony do wybranego wejcia
przetwornika A/C lub do komparatora sprzenia prdowego.

Programowanie
mikrokontrolerw ST7MC

Najbardziej efektywne jest wykorzystanie gotowych bibliotek dla


jzyka C, opracowanych przez rm
STM. Biblioteki oraz noty aplikacyjne z przykadami mona pobra
bezpatnie w dziale Downloads na
stronie rmowej www.mcu.st.com.
Dostpne s oddzielne biblioteki do
sterowania silnikiem indukcyjnym,
silnikiem BLDC oraz synchronicznym silnikiem AC z wirujcym magnesem. Biblioteki zawieraj funkcje specyczne dla danego rodzaju
silnika, a take funkcje pomocnicze

52

List. 1. Przykadowy program sterowania silnika BLDC

nie zwizane z silnikiem (obsuga


klawiatury, zapalanie LED, przetwarzanie analogowo cyfrowe, obsuga transmisji szeregowej itp.).
Na list. 1 przedstawiono przykadowy program sterowania silnikiem
BLDC w trybie bezczujnikowym. Program realizuje nastpujce funkcje:
Po wciniciu przycisku START
silnik jest uruchamiany ze wspczynnikiem wypenienia 25%.
Po wciniciu przycisku STOP na
2 sekundy uruchamia si hamowanie dynamiczne ze wspczynnikiem wypenienia 17%, nastpnie
stopie mocy zostaje wyczony.
Dodatkowo zapalane s diody

sygnalizacyjne: czerwona lub zielona oraz obsugiwany jest stan


awaryjny zablokowania wirnika
(Motor Stalled).
Uwaga: Przykad nie zawiera czci konguracyjnej np. deklaracje
zmiennych, ustawienia rejestrw,
przyporzdkowanie kocwek we/wy.
Wybrane funkcje biblioteczne
(zastosowane w przykadowym programie) opisane s poniej:
MTC_StartMotor: zainicjowanie
odpowiednich rejestrw i zmiennych,
pozycjonowanie wirnika, ustawienie
maski przerwa niezbdnych podczas
pracy silnika, uruchomienie silnika.
MTC_StopMotor: wyczenie

Elektronika Praktyczna 7/2005

SPRZT
wszystkich tranzystorw mostka,
zablokowanie przerwa zwizanych
z silnikiem.
GetMotorStatus: zwraca 8bajtowe sowo stanu silnika, wybrane
bity: MOTOR_STALLED, AUTO_
SWITCH, EMERGENCY_STOP.
Set_Duty (u16 duty): ustalenie wartoci 16bitowej zmiennej
wspczynnika wypenienia sygnau
PWM, tzn. ustalenie prdkoci obrotowej (momentu w trybie prdowym).
Chk_Motor_Stalled: wykrywanie
stanu zablokowania wirnika poprzez
kontrol wartoci bitw MTC w rejestrze MPCR kontrolera. Warto
maksymalna MTC=15 powoduje
ustawienie bitu MOTOR_STALLED.
active_brake (u16 duty, u16
time): funkcja hamowania dynamicznego poprzez zasilenie jednego
uzwojenia prdem staym i zwarcie
pozostaych. Dwie zmienne 16bitowe: wspczynnik wypenienia
PWM (duty), czas hamowania w ms
(time). Zwraca TRUE po upywie
czasu hamowania.
u8 GetRVn(): funkcja zwraca
ustawienie potencjometru doczonego do jednego z wej analogowych
kontrolera (RV1, RV2 lub RV3)
jako warto 8bitow. W zaczonym przykadzie potencjometry RV2
i RV3 ustalaj wartoci progowe dla
komparatora napicia BEMF.
key_scan(): zwraca TRUE gdy
klawisz doczony do pinu kontrolera jest wcinity przez okrelony czas. Funkcja realizuje ltracj
drga stykw.
Biblioteka dla silnika trjfazowego AC zawiera odmienny zestaw
funkcji, dostosowany do specyki
silnika, poniej opisano wybrane
funkcje podstawowe:
Fu n k c j e i n i c j u j c e r e j e s t r y
i zmienne: MTC_ResetPeripheral,
MTC_InitPeripheral, MTC_InitSineGen. Su do ustalenia konguracji pracy silnika.
Funkcje ustalajce napicie i czstotliwo fali sinusoidalnej oraz
kierunek obrotw (kolejno faz):
MTC_UpdateSine, MTC_Toggle_
Direction, MTC_Set_ClockWise_
Direction, MTC_Set_CounterClockWise_Direction.
Funkcje odczytu biecych parametrw (napicia, prdkoci, polizgu, kierunku obrotw): MTC_
GetVoltage, MTC_GetStatorFreq,
MTC_GetSlip, MTC_GetRotationDirection.
Funkcje hamowania dynamiczne-

Elektronika Praktyczna 7/2005

go: MTC_StartBraking, MTC_Brake, MTC_StopBraking.


Poza funkcjami podstawowymi
klasy MTC dostpne s take bardziej rozbudowane procedury aplikacyjne (klasa ACM), umoliwiajce
sterowanie silnikiem AC w trybie
falownikowym. W ukadzie z otwart
ptl sprzenia sterowanie odbywa
si w podstawowym trybie staego
stosunku U/f, natomiast w ukadzie
z pomiarem prdkoci stosowane
jest sterowanie skalarne z kontrol
polizgu i optymalizacj sprawnoci
silnika.
Procedury ACM nie maj bezporedniego dostpu do zasobw
sprztowych, dziaaj na zasadzie
wywoa funkcji MTC z odpowiednimi parametrami.
Procedury mikkiego startu dla
zamknitej i otwartej ptli: ACM_
SoftStart, ACM_SoftStartOL.
Aktywacja trybu optymalizacji
polizgu: InitSlipFreqReg, ACM_
SlipRegulation. Dla celw pomiarowych stosowana jest take
funkcja utrzymania staych obrotw przez okrelony czas ACM_
SustainSpeed.
Funkcje odczytu parametrw ptli regulacji proporcjonalnej i polizgu: ACM_GetPIParam, ACM_
GetOptimumSlip.
Programista moe skorzysta
z predeniowanych charakterystyk
regulacji (mikkiego startu, U/f, skalarnych), oprcz tego w notach aplikacyjnych opisane s metody doboru charakterystyk do specycznych
wymogw aplikacji.
Znacznym uatwieniem tworzenia
aplikacji moe by zestaw ewaluacyjny, oferowany przez rm STM.
Zestaw zawiera kompletny sterownik ze stopniem mocy, wejcia
przetwornikw prdkoci i czujnikw
Halla, izolowany port szeregowy
z konwerterem USB, dodatkowy port
szeregowy LIN/SCI, klawisze, potencjometry. W zestawie jest testowy
silnik BLDC, opcjonalnie mona zakupi take silnik indukcyjny. Stopie mocy moe sterowa silnikami
BLDC lub indukcyjnymi o mocy do
1000 W i napiciu pracy od 12 do
300 V. Doczone oprogramowanie
zawiera rodowisko programistyczne
IDE oraz bardzo wygodny interfejs
graczny, umoliwiajcy programowanie parametrw w rejestrach konguracyjnych mikrokontrolera.
Jacek Przepirkowski

53