Symulacja pracy układu napędowego z OrCAD PSpice

| Prezentacje firmowe Artykuły

Projektowanie i optymalizacja sterowania silnikiem jest złożonym problemem, którego symulacja wymaga pełnego ujęcia mechatronicznego. Uzyskanie maksymalnej wydajności i niezawodności całego systemu wymaga ujęcia w obliczeniach kombinacji tolerancji elementów, błędów algorytmu sterowania oraz istotnych szczegółów mechanicznych.

Symulacja pracy układu napędowego z OrCAD PSpice

Rys. 1. Przykład układu napędowego

Niezależnie czy mamy do czynienia z pojazdem, robotem czy obiektem latającym, czyli urządzeń , które się poruszają czy coś transportują, zastosowanie silników elektrycznych BLDC wymaga zastosowania precyzyjnego sterowania. Często układy takie wymagają dostrojenia jednostki sterującej do przewidywanych obciążeń i środowiska operacyjnego.

Proces projektowania napędu jest skomplikowany oraz bardzo często wymaga wielu prób. Wynika to zwłaszcza z tego, że poszczególne elementy napędu nie powinny być traktowane niezależnie, ponieważ mają one na siebie wzajemny wpływ.

Układ napędowy składa się z kilku elementów takich jak: silnika BLDC, elektroniki napędu (mostek H), sterownik, zasilacz, kontroler ruchu, procesor sterujący oraz czujniki. Oczywistym zadaniem jest opracowanie takiego projektu w sposób zapewniający maksymalną precyzję oraz z zachowanie rentowności. Dodatkowo otrzymane parametry muszą odpowiadać specyfikacji.

Napęd przedstawiony na rys. 1 jest złożonym systemem mechatronicznym, który należy w jakiś sposób zwirtualizować i poddać procesowi optymalizacji. Część czysto elektroniczną, mostek H czy filtrowanie można łatwo opisać modelami PSpice, jednak do tej pory brakowało ogólnych modeli opisujących zachowanie urządzeń programowalnych, używanych w kontrolerach silników, dostępne były co najwyżej proste modele opisujące zachowanie portów I/O.

Wprowadzony w wersji 17.2 programu PSpice Device Model Interface (DMI) pozwala na modelownie wewnętrznej logiki układów scalonych, które polega na opisie wewnętrznych funkcji kodem języków C/C++ lub SystemC. Podczas analizy PSpice dostarcza odpowiednie pobudzenia w odpowiednich momentach czasu trwania symulacji a DMI odpowiada sygnałami odpowiadającymi logice działania danego układu.

Kolejnym, bardzo interesującym rozszerzeniem PSpice w wersji 17.2 jest to, że rzeczywiste silniki, przekładnie a także obciążenia mogą być bezpośrednio włączone do symulacji PSpice dzięki technice Hardware-in-the-Loop (HIL). Włączenie rzeczywistego sprzętu jest szczególnie przydatne w sytuacji kiedy zachowanie urządzenia nie zostało jeszcze opisane modelem.

Alternatywnie, osprzęt silnika może być modelowany w interfejsie Matlab Simulink i tak przygotowany model może zostać włączony jako implementacja bloku hierarchicznego w symulatorze PSpice. W takim kompletnym, wirtualnym podejściu całkowicie eliminuje się potrzebę produkcji pierwszego prototypu, jest to ogromny postęp w porównaniu do dotychczasowych metod projektowania, pozwalający na oszczędność czasu oraz kosztów.

Rys. 2. Prędkość obrotowa i moment obrotowy

Złożone systemy, takie jak w naszym przypadku napęd z silnikiem prądu stałego, są często projektowane wspólnie przez kilka osób lub różnych działów. Oznacza to zwykle, że poszczególne części napędu są opracowywane niezależnie a wzajemne oddziaływanie elektronicznych podzespołów analogowych i cyfrowych, oprogramowania, zasilania i środowiska nie jest brane pod uwagę wystarczająco wcześnie.

Prowadzi to do sytuacji, kiedy badany jest dopiero fizyczny prototyp i na tym etapie pojawiają się błędy, usterki czy niezgodności ze specyfikacją, które jest niezwykle trudno usunąć alby wymaga to dodatkowego czasu czy dużych nakładów finansowych. Właśnie dlatego aby uniknąć takich sytuacji należy rozpatrzeć kompleksową symulację całego napędu przy użyciu kombinacji narzędzi PSpice i Matlab Simulink.

Ilość kosztownych iteracji w cyklu rozwojowym może być zmniejszona, gdy jest stosowana równoległa metodologia pozwalająca na wymianę informacji między różnymi dyscyplinami i każda zmiana w dowolnych czasie może być od razu sprawdzona pod kątem jej kompatybilności z pozostałymi składowymi oraz jej ewentualnym wpływem na cały system napędowy. W ten sposób łatwo jest wykryć poważne błędy.

Taka wymiana informacji wymaga jednak stosowania narzędzi i odpowiednich interfejsów pozwalających na przekazywanie szczegółów technicznych w sposób zrozumiały dla różnych dyscyplin. Jeżeli taka wymiana jest zrealizowana w sposób szybki i łatwy to metodologia może się łatwo przyjąć wśród inżynierów.

W szczególności dla inżynierów elektroników atrakcyjne jest kiedy można użyć informacji z innych niż elektronika dziedzin w formie bloków , które mogą być umieszczone bezpośrednio w znanym im środowisku symulacyjnym. Takie bloki są łącznikami do informacji z innych dyscyplin, zwykle nie będących specjalnością inżynierów, specjalistów od sprzętu. W przypadku projektowania napędu takie bloki mogą modelować kod programu do regulacji i np. model zachowania się silnika z obciążeniem, dzięki temu łatwo będzie przeprowadzić kompletna symulację i przeprowadzić optymalizację nie tylko sprzętu elektronicznego.

Realizacją tej idei jest to że np. programista otrzymuje obwód PSpice zawierający bloki Simulink modelujące algorytm nad którym on właśnie pracuje oraz model obciążonego silnika. Jest to wystarczające środowisko pozwalające na optymalizację algorytmu. W sytuacji, gdy elektroniczny element systemu jest już dostępny, to może być on wprost podłączony do symulacji PSpice jako Hardware-in-the-Loop

Projektanci elektroniki używający PSpice i programiści używający do symulacji algorytmu programu Matlab pracując nad układem napędowym mają więc możliwość włączenia do symulacji modeli pochodzących z innych dyscyplin. Jednak największą wartość oferuje połączenie tych dwóch symulatorów w trybie jednoczesnej symulacji.

Rys. 3. Prędkość obrotowa i moment przy równomiernym i nierównomiernym obciążeniu

Poniżej wymieniamy kilka zagadnień, których rozwiązanie jest łatwiejsze jeśli używa się wyżej opisanej metodologii:

  • Jak wiarygodne jest oprogramowanie sterujące, gdy wartości elementów elektronicznych różnią się w swoich granicach tolerancji? W tej sytuacji typowa analiza PSpice Monte Carlo pokazująca rozrzut wartości elementów sprzężona z symulacją algorytmu sterującego pomoże znaleźć niekorzystne dobranie wartości elementów wpływające źle na oprogramowanie.
  • Jak elektronika sterowania zachowuje się w różnych temperaturach i przy różnych obciążeniach silnika? Wspólna symulacja PSpice przeprowadzona dla różnych temperatur oraz jednocześnie przeprowadzona i sprzężona symulacja w Matlab dla różnych obciążeń silnika pozwoli ocenić zachowanie całego układu.
  • Które elementy elektroniczne są szczególnie obciążone? Analiza SMOKE pozwoli odpowiedzieć na to pytanie zarówno w przypadku prądu mającego charakter ciągły jak i impulsowego zadanego przebiegiem PWM
  • Czy układ napędowy zawsze płynnie wprawi w ruch obciążenie? Symulacja wszystkich składników pozwoli na pomiar prędkości obrotowej oraz momentu obrotowego w każdym czasie trwania analizy. Nieciągłość prędkości obrotowej i nagły spadek momentu obrotowego pokazują, że obciążenie nie jest wprawiane w ruch w sposób płynny. Tak samo można analizować płynność hamowania (patrz rys. 2).
  • Jak zaobserwować reakcję silnika na zmianę obciążenia lub niewyważenie? Symulacje pokazują wartości prędkości i momentu obrotowego. Po lewej stronie rysunku nr 3 idealnie sterowany silnik z jednolitym obciążeniem. Po prawej stronie sytuacja kiedy obciążenie jest nierównomierne. Widać, że sterowanie nie jest wystarczająco szybkie. Nierównomierne obciążenie może być modelowane w Simulink lub zastosowane rzeczywiste, podłączone do symulacji jako Hardware-in-the Loop.

Roberto Gandía, Tomasz Górecki

FlowCAD
www.FlowCAD.pl