Sterowniki silników krokowych firmy Trinamic, cz. 2.pdf

(430 KB) Pobierz
ep_03_092-094_trinamic_cz2.indd
P O D Z E S P O Ł Y
Sterowniki silników
krokowych firmy
TRINAMIC, część 2
Komunikacja z procesorem nadrzęd-
nym może odbywać się za pośrednic-
twem łącza szeregowego lub 8-bitowej
szyny równoległej. Układ może współ-
pracować z enkoderem inkremental-
nym, możliwa jest też synchroniczna
praca kilku układów TMC453 w jed-
nym systemie napędowym. Kontroler
posiada 84 rejestry funkcyjne, ale po
zapisaniu rejestrów konfiguracyjnych
tylko 4 rejestry robocze wystarczają
do sterowania silnikiem. Poszczególne
bloki funkcjonalne kontrolera TMC453
są przedstawione na rys. 8 .
- Interfejs komunikacyjny: kontroler
posiada interfejs równoległy oraz
szeregowy, używane zamiennie.
Wybór interfejsu zależy od sta-
nu wejścia IIC_EN (czytanego w
czasie zerowania układu). Inter-
fejs równoległy ma 8-bitowy port
z multipleksowaniem adres/dane i
zatrzaskiem adresu (jak w mikro-
kontrolerach 8051). Przepływem
danych sterują sygnały ALE, WE,
CS i OE (piny NWE_SCL, NCS,
NOE). Interfejs szeregowy jest zbli-
żony do standardu I2C z liniami
transmisyjnymi SDA i SCL (pin
NWE_SCL). W trybie komunikacji
szeregowej stan linii AD0…AD7
portu równoległego determinuje
adres SLAVE układu TMC453.
- Generator trajektorii ruchu: umoż-
liwia zdefiniowanie dowolnych tra-
jektorii ruchu, np. trapezowa, trój-
kątna, paraboliczna, typu S i róż-
nych ich kombinacji. Po włączeniu
zasilania jest automatycznie pre-
definiowana trajektoria trapezowa.
Zdefiniowanie własnej trajektorii
wymaga zapisania wartości ponad
20 rejestrów, ale do pracy silni-
ka według tej trajektorii wystarczy
operowanie na 4 rejestrach ruchu.
- Rejestr poleceń: rejestr kolejki rozka-
zów do wykonania. Polecenia prze-
syłane przez procesor nadrzędny są
wpisywane do rejestru i następnie
wykonywane w kolejności zapisu.
Każdy rozkaz to 32-bitowe słowo
składające się z pola kodu rozka-
Niemiecka firma TRINAMIC Microchips oferuje szeroką gamę
specjalizowanych układów scalonych - sterowników silników
krokowych. Właściwości tych układów są na tyle interesujące,
że zasługują na szersze omówienie.
zu i pola danych. Niektóre rozkazy
mogą być wykonane po spełnieniu
określonego warunku. Taki system
umożliwia realizację przez kontroler
zadań w czasie rzeczywistym bez
angażowania procesora nadrzędnego
– procesor wysyła ‚pakiet’ poleceń
wtedy gdy dysponuje wolną mocą
obliczeniową, następnie polecenia
są wykonywane przez kontroler
TMC453 z uwzględnieniem krytycz-
nych zależności czasowych.
- Generator sekwencji sterujących:
wytwarza sekwencje sterujące
uzwojeniami silnika dla stopnia
mocy. Układ ma bardzo duże
możliwości konfiguracji, w zależ-
ności od ilości uzwojeń silnika i
typu stopnia mocy. Poza standar-
dowymi sekwencjami sterowania
pełnokrokowego, półkrokowego i
mikrokrokowego, użytkownik może
zdefiniować własną sekwencję ste-
rującą o długości do 128 słów.
Przy pracy mikrokrokowej kontro-
ler stosuje sinusoidalny przebieg
prądu w uzwojeniach, ale istnieje
możliwość zdefiniowania innego
kształtu obwiedni prądu i zapi-
sania go w pamięci 128x8 bitów.
Dziewięć wyjść cyfrowych może
być odpowiednio skonfigurowa-
nych do sterowania różnych ro-
dzajów stopni mocy.
- Blok analogowego sterowania sil-
nikiem: składa się z trzech prze-
tworników DAC buforowanych
wzmacniaczami operacyjnymi i
źródła napięcia referencyjnego.
Blok ten współpracuje z generato-
rem sekwencji sterujących i umoż-
liwia generowanie różnych warto-
ści prądu uzwojeń.
- Interfejs enkodera różnicowego:
umożliwia pracę napędu w try-
bie z zamkniętą pętlą sprzężenia
zwrotnego. Sygnały z enkodera są
przetwarzane na informację o aktu-
alnej pozycji, prędkości, kierunku.
- Regulator proporcjonalny (PID Con-
troller): w połączeniu z enkoderem
umożliwia bardzo precyzyjną regula-
cję pozycji i jej korygowanie. Regu-
lator monitoruje trajektorię ruchu i
wprowadza poprawki, gdy wartości
rzeczywiste różnią się od zadanych.
Powyższy opis jest z konieczno-
ści bardzo skrótowy i nie wyczer-
puje wszystkich możliwości układów
TMC428 i TMC453. Warto zauważyć,
że korzystanie z tych kontrolerów
zmienia filozofię oprogramowania dla
92
Elektronika Praktyczna 3/2005
27831241.051.png 27831241.052.png
P O D Z E S P O Ł Y
Pojawienie się układów takich
jak opisane powyżej sygnalizu-
je pewną tendencję współczesnej
elektroniki: dzięki specjalizowa-
nym układom scalonym konstruk-
tor systemu nie musi wgłębiać
się w najdrobniejsze szczegóły
projektu. Korzystając z odpowied-
nich układów można na przykład
zbudować urządzenia wykorzystu-
jące komunikację USB lub TCP/IP
praktycznie bez znajomości pro-
tokołów komunikacyjnych. Teraz
możemy zrobić to samo z ukła-
dami napędowymi. Być może za
parę lat publikacje elektroniczne
będą zawierać wyłącznie opisy
takich „klocków” do budowy róż-
nych urządzeń?
Rys. 8.
o prędkości obrotowej silnika. Jest
to jedyna wada układu, bo nie ma
możliwości zastosowania zewnętrz-
nego kwarcu. Jednak uwzględniając
przeznaczenie kontrolera do ukła-
dów pozycjonujących – nie jest to
krytyczny parametr.
- Kontroler pozycji: realizuje funkcje
przemieszczenia od pozycji aktu-
alnej do zadanej (według trajekto-
rii trapezowej). Użytkownik może
określić parametry trajektorii (pręd-
kość minimalną i maksymalną).
Rejestry/liczniki pozycji aktualnej i
docelowej są 16-bitowe. Poza prze-
mieszczeniem z pozycji bieżącej X
do zadanej Y, kontroler realizuje
także funkcję poszukiwania pozy-
cji zerowej (przy pomocy wejścia
czujnika krańcowego lub zderzaka
w skrajnym położeniu) oraz funk-
cję przemieszczenia do predefinio-
wanej pozycji parkingowej.
- Dekoder i regulator prądu uzwojeń:
generuje sekwencje impulsowe do
silników krokowych. Poprzez wpisy-
wanie wartości do odpowiednich re-
jestrów programista określa parametry
obiektu – czyli mamy do czynienia
jakby z programowaniem w języku
wysokiego poziomu. Nawet niewielka
znajomość szczegółowych procedur
programowania silników pozwala na
stworzenie wyrafinowanego napędu o
dużych możliwościach.
przepisanie zawartości pamięci OTP-
-ROM do odpowiednich rejestrów.
Dzięki temu nie trzeba po każdym
uruchomieniu systemu wpisywać
ponownie parametrów konfiguracyj-
nych. Programowanie pamięci OTP
odbywa się poprzez interfejs sze-
regowy. Do programowania nie są
wymagane żadne zmiany układowe
ani specjalny programator, ale raz
wpisane parametry nie mogą być
już zmienione. Oczywiście w cza-
sie pracy można wielokrotnie mo-
dyfikować zawartość rejestrów kon-
figuracyjnych RAM, lecz nie można
zmienić np. przypisanego do ukła-
du adresu SLAVE.
- Generator zegarowy: wewnętrzny ge-
nerator 4 MHz ±10% dostarcza sy-
gnałów taktujących dla wszystkich
pozostałych bloków kontrolera. Do-
kładność generatora decyduje m.in.
Kontroler „all-in-one” typu TMC222
Kontroler TMC222 zawiera pro-
cesor sterujący o możliwościach nie-
wiele ustępujących pojedynczej sekcji
TMC428 oraz stopień mocy - dwa
mostki H o prądzie wyjściowym
800 mA i napięciu zasilania 8…29 V.
Przy pomocy TMC222 i kilku elemen-
tów zewnętrznych można zbudować
inteligentny kontroler pozycjonujący
do silnika krokowego. Parametry kon-
figuracyjne zdefiniowane przez użyt-
kownika mogą być przechowywane w
pamięci RAM lub zapisane na stałe
w pamięci OTP-ROM. Schemat bloko-
wy układu przedstawia rys. 9 .
- Interfejs szeregowy: 2-przewodo-
wy, zgodny z I2C. Adres SLAVE
układu zależy od stanu wejścia
HW(najmłodszy bit) i wartości
wpisanej do OTP-ROM (4 bity).
Daje to możliwość podłączenia
32 układów TMC222 do wspólnej
szyny. Maksymalna szybkość trans-
feru danych wynosi 350 kbps.
- Blok sterowania i rejestrów: zawie-
ra zestaw adresowanych rejestrów
(RAM), decydujących o trybie pracy
kontrolera. Po włączeniu zasilania
lub programowym resecie następuje
Rys. 9.
Elektronika Praktyczna 3/2005
93
27831241.053.png 27831241.054.png 27831241.001.png 27831241.002.png 27831241.003.png 27831241.004.png 27831241.005.png 27831241.006.png 27831241.007.png 27831241.008.png 27831241.009.png 27831241.010.png 27831241.011.png 27831241.012.png 27831241.013.png 27831241.014.png 27831241.015.png 27831241.016.png 27831241.017.png 27831241.018.png 27831241.019.png 27831241.020.png 27831241.021.png 27831241.022.png 27831241.023.png 27831241.024.png 27831241.025.png 27831241.026.png 27831241.027.png 27831241.028.png 27831241.029.png 27831241.030.png 27831241.031.png 27831241.032.png 27831241.033.png 27831241.034.png 27831241.035.png 27831241.036.png 27831241.037.png 27831241.038.png 27831241.039.png 27831241.040.png 27831241.041.png 27831241.042.png
P O D Z E S P O Ł Y
Rys. 10.
miernego wzrostu temperatury,
spadku napięcia zasilania, zwarcia
lub przerwy w obwodach wyjścio-
wych. Każdy stan awaryjny powo-
duje ustawienie odpowiednich flag
alarmu w rejestrze stanu układu.
Schemat aplikacyjny kontrolera
TMC222 jest bardzo prosty – wy-
starczy dołączyć kilka kondensatorów
filtrujących zasilanie oraz 2 konden-
satory pompy ładunkowej ( rys. 10 ).
Sterowanie napędem polega na wy-
syłaniu odpowiednich rozkazów. Każ-
dy rozkaz składa się z 1-bajtowego
kodu rozkazu oraz opcjonalnie do 8
bajtów danych. Kontroler reaguje na
12 różnych rozkazów, niektóre z nich
powodują wysłanie przez kontroler 8
bajtów informacji:
- GetFullStatus1 [kod hex 0x81]
– kontroler odsyła zawartość reje-
strów konfiguracyjnych,
- GetFullStatus2 [0xFC] - kontroler
odsyła zawartość rejestrów pozycji
bieżącej, docelowej i parkingowej,
- GetOTPParam [0x82] - kontroler
odsyła zawartość pamięci ROM-
-OTP,
- GotoSecurePosition [0x84] – prze-
mieszczenie napędu do pozycji
parkingowej,
- HardStop [0x85] – natychmiastowe
(awaryjne) zatrzymanie silnika,
- ResetPosition [0x86] – zerowanie
rejestru pozycji,
- ResetToDefault [0x87] – przepisanie
zawartości pamięci OTP do reje-
strów konfiguracyjnych,
- RunInit [0x88] – inicjalizacja napę-
du, poszukiwanie punktu zerowego,
- SetMotorParam [0x89] – wpisanie za-
wartości rejestrów konfiguracyjnych,
- SetOTP [0x90] – zapis parametrów
w pamięci OTP,
- SetPosition [0x8B] – zapis reje-
strów pozycji docelowej i parkin-
gowej, przemieszczenie napędu do
pozycji docelowej,
- SoftStop [0x8F] – zatrzymanie sil-
nika z fazą łagodnego hamowania.
Po zapisaniu parametrów konfigura-
cyjnych w pamięci OTP, sam program
roboczy sterowania silnikiem może
być bardzo prosty – pozwala to reali-
zować nawet skomplikowane funkcje
napędowe przy pomocy najprostszych
mikrokontrolerów 8-bitowych.
Jacek Przepiórkowski
sterowania prądem uzwojeń. Wbu-
dowane przetworniki DAC i układ
regulacji prądu uzwojeń (metodą
kluczowania prądu PWM) umożli-
wiają pracę w trybie pełnokroko-
wym, półkrokowym i mikrokroko-
wym (do 16 mikrokroków). W try-
bie pracy mikrokrokowej uzwojenia
silnika sterowane są według ob-
wiedni sinusoidalnej, odpowiednie
wartości prądu są stabelaryzowane
i przechowywane w pamięci ROM.
Użytkownik może określić mak-
symalną wartość prądu roboczego
uzwojeń oraz prądu podtrzymania
w zakresie od 59 do 800 mA (z
rozdzielczością 4-bitową).
- Bloki zasilania: kontroler ma we-
wnętrzny stabilizator +5 V do za-
silania części cyfrowej oraz powie-
lacz napięcia z pompą ładunkową
do wysterowania bramek górnych
tranzystorów mostka.
- Zabezpieczenia: wbudowane ukła-
dy monitorujące powodują wyłą-
czenie silnika w przypadku nad-
Dodatkowe informacje
Więcej informacji na temat oferty firmy
Trinamic można znaleźć na stronie
http://www.trinamic.com.
94
Elektronika Praktyczna 3/2005
27831241.043.png 27831241.044.png 27831241.045.png 27831241.046.png 27831241.047.png 27831241.048.png 27831241.049.png 27831241.050.png
Zgłoś jeśli naruszono regulamin