Szybkie wdrożenie sterowania silnikiem z użyciem układu scalonego sterownika ze zintegrowanym mikrokontrolerem

Przez: Jacob Beningo

Przekazane przez: Północnoamerykańscy redaktorzy DigiKey

Silniki coraz częściej wykorzystywane są w zastosowaniach takich jak samochody, robotyka, sterowanie przemysłowe i statki powietrzne. Jednak elektronika silników jest zwykle ciężka, nieporęczna, nieefektywna i trudno się z nią pracuje ze względu na wysokie napięcia napędu. W związku z rosnącym zapotrzebowaniem projektantów na niższe koszty wykazu materiałów BOM, wyższą sprawność i mniejsze rozmiary elektroniki, a także większą elastyczność i szybszy czas wprowadzania na rynek, istnieje zapotrzebowanie na wyższy stopień integracji i prostotę obsługi.

W niniejszym artykule przedstawiono linię sterowników silników trójfazowych SiP (system-in-package) z wbudowanym mikrokontrolerem STSPIN32F32F060x firmy STMicroelectronics i pokazano, w jaki sposób można je wykorzystać, aby sprostać wspomnianym wyzwaniom związanym z projektowaniem, kosztami i czasem wprowadzania na rynek.

Jak sterować silnikiem trójfazowym

Aby skutecznie sterować silnikiem trójfazowym, projekt musi zawierać kilka bloków sprzętowych:

  • mikrokontroler
  • układ scalony sterownika silnika
  • wysokonapięciowe tranzystory MOSFET lub IGBT (odpowiedzialne za rzeczywiste przełączanie)

W tradycyjnym projekcie sterownika silnika, deweloper zazwyczaj wydziela część płytki drukowanej, która będzie odpowiednia dla wszystkich trzech bloków. Zazwyczaj mikrokontroler wysyła sygnały z modulacją szerokości impulsu (PWM) do układu scalonego sterownika silnika, który dokładnie monitoruje te sygnały wraz z prądem i napięciem na wyjściu sterownika silnika, aby sterować pracą tranzystorów MOSFET. Mikrokontroler często komunikuje się również z układem scalonym sterownika silnika poprzez magistralę I2C lub SPI, aby umożliwić korzystanie z niestandardowych funkcji i charakterystyk. Może on też wykorzystywać około sześciu dyskretnych sygnałów GPIO do sterowania zachowaniem mostka.

Wyzwanie związane z zewnętrznym sterownikiem mostkowym układu scalonego w cyklu nowoczesnych prac rozwojowych polega na tym, że jego zastosowanie generuje dodatkowe koszty. Jest on również bardzo złożony oraz zajmuje cenne miejsce na płytce drukowanej, nie wspominając już o sygnałach na wejściu-wyjściu (I/O) na mikrokontrolerze, które mogłyby być wykorzystane do czegoś innego. To właśnie w tym miejscu należy wspomnieć o nowej klasie zintegrowanych mikrokontrolerów i mostków, które upraszczają konstrukcję aplikacji do sterowania silnikiem, jednocześnie zmniejszając koszty wykazu materiałów BOM i minimalizując powierzchnię płytek drukowanych.

Dlaczego warto korzystać z STSPIN32F060x

Klasę tę reprezentuje seria komponentów STSPIN32F060x SiP firmy STMicroelectronics, która obejmuje mikrokontroler STM32F031x6x7 Arm® Cortex®-M0 z 600-woltowym potrójnym sterownikiem półmostkowym (ilustracja 1). Każdy sterownik półmostkowy może być użyty do sterowania pracą tranzystora MOSFET lub IGBT na każdej fazie bezszczotkowego silnika prądu stałego (BLDC).

Schemat układu STM32F060x firmy STMicroelectronics zawierającego STM32F031 Arm Cortex-M0 (kliknij, aby powiększyć)Ilustracja 1: układ STM32F060x zawiera STM32F031 Arm Cortex-M0 z potrójnym sterownikiem półmostkowym 600V, co pozwala zmniejszyć koszty, zaoszczędzić miejsce na płytce drukowanej i wymaga mniejszej liczby styków montażowych. (Źródło obrazu: STMicroelectronics)

Ta seria produktów oferuje bardzo ciekawe funkcje i zabezpieczenia. Na przykład części te obejmują:

  • komparator z zaawansowaną funkcją inteligentnego wyłączania (smartSD), która zapewnia szybkie i skuteczne zabezpieczenie przed przeciążeniem i przetężeniem
  • zintegrowane wysokonapięciowe diody typu bootstrap
  • zabezpieczenie przed równoczesnym przewodzeniem
  • ochrona przed czasem martwym
  • ochrona podczas odcięcia przy spadku napięcia

Wbudowany mikrokontroler pracuje z częstotliwością 48 megaherców (MHz) i zawiera 32 kilobajty (kB) pamięci flash z 4 kilobajtami pamięci RAM, co doskonale nadaje się do sterowania FOC (ang. Field Oriented Control).

Grupa STM32F060x zawiera obecnie dwie części – STSPIN32F0601 oraz STSPIN32F0602. Podstawowa różnica pomiędzy nimi polega na tym, że 0601 obsługuje prąd sterowania bramką do 0,35A, podczas gdy 0602 może obsługiwać prąd sterowania bramką do 1,0A.

Warto zauważyć, że wewnątrz układu scalonego mikrokontroler STM32F031 jest podłączony do sterownika bramek przez kilka linii wejść-wyjść ogólnego przeznaczenia (GPIO), które są wewnątrz obudowy. GPIO PA11 służy do włączania sterownika bramek, a GPIO PB12 do wykrywania usterek mostka. GPIO PA8-PA10 są używane dla wejść sterownika bramek strony wysokiej, natomiast GPIO PB13-15 są używane dla wejść sterownika bramek strony niskiej. Oszczędza to programistom konieczności używania zewnętrznych wtyków GPIO do sterowania sterownikiem bramek, a jednocześnie pozwala uniknąć poświęcania miejsca na płytce drukowanej na prowadzenie ścieżek do osobnego układu scalonego. Integracja obu komponentów upraszcza złożoność sprzętu i projektu oraz może znacznie obniżyć koszty wykazu materiałów BOM.

Przyspieszenie prac rozwojowych dzięki płytce rozwojowej EVSPIN32F0601S1

Układ STSPIN32F060x obsługiwany jest przez płytkę rozwojową EVSPIN32F0601S1, czyli kompletny zestaw startowy falownika trójfazowego, który zawiera wszystkie elementy elektroniczne niezbędne do uruchomienia bezszczotkowego silnika prądu stałego za pomocą kontrolera STSPIN32F0601 (ilustracja 2). Układ EVSPIN32F0601S1 jest podzielony na pięć głównych sekcji:

  • STSPIN32F0601
  • odłączany debugger STLINK
  • sieć sprzężenia zwrotnego
  • stopień mocy
  • zasilacz

Wygląd płytki rozwojowej EVSPIN32F0601S1 firmy STMicroelectronicsIlustracja 2: płytka rozwojowa EVSPIN32F0601S1 zawiera wszystkie elementy elektroniczne niezbędne do uruchomienia bezszczotkowego silnika prądu stałego za pomocą kontrolera STSPIN32F0601. (Źródło obrazu: STMicroelectronics)

W razie potrzeby STLINK-debugger na płytce drukowanej może być usunięty z płytki rozwojowej, co pozwala deweloperom na zmniejszenie rozmiaru płytki tak, aby można było ją zastosować w prototypach i obudowach typu PoC (proof-of-concept). Deweloperzy mogą nadal podłączyć zewnętrzny debugger STLINK-V3SET (ilustracja 3) do listew SWD na płytce rozwojowej.

Wygląd debuggera STLINK-V3SET firmy STMicroelectronicsIlustracja 3: debugger STLINK-V3SET jest zewnętrznym debuggerem, który może być używany do programowania i debugowania aplikacji napisanych za pomocą mikrokontrolera STM32. (Źródło obrazu: STMicroelectronics)

Płytka rozwojowa zawiera również sieć sprzężenia zwrotnego, która może być wykorzystywana do algorytmów sterowania silnikiem, które wymagają czujników w celu realizacji sprzężenia zwrotnego napięcia i prądu. W wielu nowoczesnych konstrukcjach sieci sprzężenia zwrotnego można usunąć i zastosować algorytm FOC. Jest to bezczujnikowy algorytm sterowania silnikiem, który może jeszcze bardziej obniżyć koszty wykazu materiałów BOM i zmniejszyć ostateczny rozmiar płytki drukowanej.

Stopień mocy zapewnia deweloperom tranzystory MOSFET lub IGBT strony górnej i dolnej, które są używane do przełączania napięcia w różnych uzwojeniach silnika. Ciekawostką w projekcie płytki jest to, że wymiary odpowiadają obudowom DPAK lub PowerFlat, co pozwala deweloperom modyfikować płytkę rozwojową, jeśli zdecydują się na użycie własnych tranzystorów MOSFET lub IGBT.

Zasilacz z kolei zapewnia zakres napięć wejściowych prądu stałego lub zmiennego od 50 do 280V. Wbudowany transformator flyback może również generować napięcia +15 i +3,3V do wykorzystania w ramach zastosowania.

Aby móc eksperymentować z płytką rozwojową, należy podłączyć do niej bezszczotkowy silnik prądu stałego jak np. QBL4208-41-04-006 firmy Trinamic Motion Control GmbH (ilustracja 4). Każda faza bezszczotkowego silnika prądu stałego jest podłączana do EVSPIN32F0601S1 poprzez odpowiednie wyjściowe zaciski śrubowe.

Wygląd silnika bezszczotkowego prądu stałego QBL4208-41-04-006 firmy Trinamic Motion Control GmbHIlustracja 4: silnik bezszczotkowy prądu stałego QBL4208-41-04-006 pracuje z prędkością 4000 obrotów na minutę i może być używany z płytką rozwojową EVSPIN32F0601S1 w celu opracowywania różnych zastosowań. (Źródło ilustracji: Trinamic Motion Control GmbH)

Podczas gdy płytka rozwojowa EVSPIN32F0601S1 posiada cały sprzęt niezbędny do sterowania bezszczotkowym silnikiem prądu stałego, silnik trójfazowy wymaga również oprogramowania. Aby z powodzeniem sterować silnikiem, deweloperzy mogą korzystać z zestawu rozwojowego oprogramowania X-CUBE-MCSDK firmy STMicroelectronics. Biblioteka ta może być używana z pakietami oprogramowania, takimi jak ST32CubeIDE i ST32CubeMx i umożliwia łatwe konfigurowanie rozwiązań sterowania silnikiem.

Sterowanie bezszczotkowym silnikiem prądu stałego przy użyciu oprogramowania

Pakiet oprogramowania X-CUBE-MCSDK zawiera dwie aplikacje wysokiego poziomu: MotorControl Workbench i Motor Profiler. MotorControl Workbench umożliwia programiście stworzenie projektu sterowania silnikiem w celu jego łatwego uruchomienia. Do sterowania silnikiem można stosować różne algorytmy, w tym FOC, jak również różne topologie sprzężenia zwrotnego, np:

  • jeden rezystor bocznikowy
  • trzy rezystory bocznikowe
  • dwa izolowane czujniki prądu

Motor Profiler umożliwia programiście wprowadzenie ogólnych parametrów silnika, a następnie całkowite jego wyprofilowanie. Profilowanie dostarcza ogólne parametry silnika wymagane przez algorytmy takie jak FOC, aby sterować silnikiem.

Tworzenie projektu w aplikacji Motor Control Workbench jest proste. Deweloper musi otworzyć Motor Control Workbench i wybrać nowy projekt. Następnie może wprowadzić swoje parametry, jak pokazano na ilustracji 5:

  • rodzaj zastosowania
  • liczba silników, które będą sterowane
  • konfiguracje sterowania i mocy
  • parametry silnika, takie jak bieguny, prędkość obrotowa, napięcie i prąd znamionowy

Wygląd projektu w aplikacji Motor Control WorkbenchIlustracja 5: konfiguracja projektu w aplikacji Motor Control Workbench pozwala deweloperowi na dostosowanie ustawień projektu do sprzętu. (Źródło ilustracji: Beningo Embedded Group)

Po dodaniu informacji dotyczących projektu, deweloper klika OK, co spowoduje przeniesienie do aplikacji Motor Control Workbench (ilustracja 6). Z poziomu pulpitu deweloperzy mogą dostosować sposób działania swojej aplikacji. Mogą skonfigurować:

  • ustawienia oprogramowania układowego takie jak profil startowy, ustawienia sterowania i opcje wykrywania
  • cyfrowe ustawienia wejść-wyjść, takie jak interfejs enkodera, hallotrony, komunikacja szeregowa oraz przyciski uruchamiania i zatrzymywania
  • funkcje przetwornika cyfrowo-analogowego (DAC)
  • ustawienia wejść analogowych i zabezpieczeń dla sprzężenia zwrotnego od prądu fazowego, napięcia magistrali, temperatury i stopnia współczynnika mocy (PFC).

Wygląd Motor Control WorkbenchIlustracja 6: Motor Control Workbench umożliwia deweloperowi dostosowanie oprogramowania układowego, regulację częstotliwości MCU i taktowania wraz z zabezpieczeniem cyfrowych wejść-wyjść, przetwornika cyfrowo-analogowego i wejścia analogowego. (Źródło ilustracji: Beningo Embedded Group)

Deweloperzy mają nawet możliwość włączania i wyłączania ustawień poprzez kliknięcie pola wyboru, np:

  • pomiar napięcia magistrali
  • pomiar temperatury
  • pomiar prądu z zabezpieczeniem przed przetężeniem
  • pomiar prędkości

Programista nie musi nawet widzieć ani jednego interfejsu API czy linii kodu, aby całkowicie skonfigurować swoją aplikację do zarządzania pracą silnika.

Podsumowanie

Deweloperzy i projektanci systemów sterowania silnikami stają w obliczu rosnącej presji obniżenia kosztów, zwiększenia wydajności i zmniejszenia rozmiarów elektroniki. Jak wykazano, STSPIN32F060x SiP do sterowania trójfazowym bezszczotkowym silnikiem prądu stałego nie tylko obniża koszty wykazu materiałów BOM, ale także zmniejsza ilość miejsca na płytkach drukowanych i złożoność systemu. Zawiera on również efektywny ekosystem, w tym płytkę rozwojową i oprogramowanie zaprojektowane tak, aby umożliwić deweloperom szybkie i łatwe uruchamianie aplikacji do sterowania silnikiem.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Informacje o autorze

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo is an embedded software consultant. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer, and holds three degrees, including a Masters of Engineering from the University of Michigan.

Informacje o wydawcy

Północnoamerykańscy redaktorzy DigiKey