STSPIN32F0 – więcej niż mikrokontroler – jednoukładowy sterownik silników BLDC
Firma STMicroelectronics zaczyna stosować mikrokontrolery STM32 w układach SiP (System in Package), które integrują w jednej obudowie kilka struktur półprzewodnikowych, produkowanych z wykorzystaniem technologii półprzewodnikowych. W artykule przedstawiamy układ STSPIN32F0, który jest jednym z pierwszych tego typu układów wprowadzonych do masowej produkcji, składającym się z mikrokontrolera z rdzeniem Cortex-M0 oraz 3-fazowego sterownika silników BLDC.
Układ STSPIN32F0 integruje w miniaturowej obudowie VQFPN48, o wymiarach 7 x 7 mm, mikrokontroler STM32F0 (jest to układ STM32F031) z 32 kB pamięci Flash i 4 kB pamięci RAM, wyposażony w rdzeń Cortex-M0, taktowany przebiegiem zegarowym o częstotliwości do 48 MHz oraz rozbudowany, 3-fazowy tor sterowania praca silnika BLDC. Schemat blokowy tego układu pokazano na rysunku 1.
W części „silnikowej” zintegrowano sterowniki HS (High Side) i LS (Low Side) tranzystorów MOSFET, których bramki są sterowane za pośrednictwem driverów o wydajności prądowej do 600 mA, zintegrowano także kompletny, trzykanałowy tor analogowy ze wzmacniaczami operacyjnymi na wejściach i dekoderem obsługującym sensory Halla lub enkoder napędzany osią silnika (służą do synchronizacji faz napięć i prądów sterowania silnika zgodnie z położeniem rotora – rysunek 2), dodatkowy wzmacniacz operacyjny rail-to-rail oraz analogowy komparator przeciążenia stopni mocy o cyfrowo programowanym napięciu komparacji. Strukturę toru sterowania driverów silników pokazano na rysunku 3.
Wyjścia zintegrowanych w układzie wzmacniaczy operacyjnych wyprowadzono na zewnątrz, dzięki czemu można nie tylko wygodnie ustalać – za pomocą zewnętrznych rezystorów – wzmocnienie w poszczególnych kanałach, ale także mierzyć napięcie z toru wejściowego za pomocą ADC zintegrowanych w strukturze mikrokontrolera (rysunek 4).
Do sterowania pracą silnika BLDC zastosowano w układzie STSPIN32F0 timer mikrokontrolera TIM1, którego wyjścia TIM1_CHx i TIM1_CHxN są wewnętrznie dołączone do driverów tranzystorów mocy.
Ważnym elementem wyposażenia układu STSPIN32F0, mocno zwiększającym wygodę jego stosowania, jest wbudowana w strukturę przetwornica DC/DC, która zapewnia prawidłowe napięcia zasilające dla poszczególnych sekcji w zakresie napięć zewnętrznych 8-45 VDC. Korzystanie z niej wymaga dołączenia na zewnątrz STSPIN32F0 diody Schottky’ego oraz niewielkiego dławika (rysunek 5), przy czym częstotliwość taktowania przetwornicy wynosi ok. 200-330 kHz. Prezentowany układ ma także wbudowany stabilizator liniowy, który stabilizuje napięcie zasilające drivery H w sterowniku silnika.
Układ STSPIN32F0 wymaga oczywiście oprogramowania, bez którego najlepszy mikrokontroler nie jest zbyt wiele wart. Dla prezentowanego układu startowy zestaw firmware dostarcza producent, nazwa tego pakietu to ST Motor Control Workbench (opisane w user-manualu UM2168, dostępnym na stronie www.st.com). W ramach tego pakietu są dostępne algorytmy sterowania wektorowego FOC (Field Oriented Control) silnikami PMSM/BLDC w różnych konfiguracjach sprzętowych i topologiach sterowania obciążenia.
Z myślą o konstruktorach zamierzających szybko wdrożyć się w „tajniki” prezentowanego układu SiP, producent przygotował specjalny zestaw startowy, noszący oznaczenie STEVAL-SPIN3201 (fotografia 6). Umożliwia on samodzielne prowadzenie prób z udostępnionym oprogramowaniem. Rozwiązaniem w jednej strony wygodnym, ale w pewnym stopniu ograniczającym konstruktora, jest integracja końcówek mocy na płytce zestawu – wyposażono go w 3-fazowy półmostek mocy wykonany na tranzystorach STD140N6F7 (do 15 Arms). Parametry zastosowanych tranzystorów w bardzo wielu aplikacjach wystarczą, biorąc pod uwagę cenę zestawu startowego można je uznać za wybór optymalny. Płytka zestawu STEVAL-SPIN3201 została ponadto wyposażona w potencjometr do regulacji prędkości obrotowej silnika, zintegrowany programator-debugger ST-Link/V2, przewidziano także możliwość dołączenia do niej enkodera.