Elektroda.pl
Elektroda.pl
X
Mierniki instalacji Metrel
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Falownik napięcia na STM32F407

felekfala 27 Paź 2012 23:21 26052 42
  • Falownik napięcia na STM32F407

    Witam wszystkich chciałbym zaprezentować układ sterujący przekształtnikiem energoelektronicznym DC/AC (tzw. falownik), który zbudowałem w ramach swojej pracy magisterskiej. Układ przeznaczony jest do sterowania trójfazowym silnikiem indukcyjnym za pośrednictwem falownika. W pracy zaimplantowałem dwie wektorowe metody sterowania tj. DTC i jej odmianę poprawiającą podstawową wadę DTC. Układ nie jest ograniczony do jeden metody sterowania można na nim uruchomić inne metody wektorowe.

    Poniższy rysunek przedstawia strukturę sterowania układu z mikrokontrolerem STM32F407VGT6.
    Falownik napięcia na STM32F407

    Układ sterujący oparty jest o mikrokontroler sygnałowy (DSC) STM32F407VGT6.
    Część sterująca przedstawiona na powyższym rysunku składa się z następujących bloków:
    - zasilania 5V i 3,3V, analogowego 5V i 3,3V oraz odseparowanego napięcia 5V,
    - adaptera, tj. płytki drukowanej z mikrokontrolerem STM32F407VGT6 oraz niezbędnymi elementami (kondensatory, rezystory, oscylator kwarcowy) i wyprowadzonymi wszystkimi końcówkami w rastrze 2,45mm,
    - złącza SWJ-DP do programowania i debugowania mikrokontrolera z komputera PC,
    - wydzielonej części analogowej wraz ze złączem do transmisji sygnałów analogowych z części pomiarowej oraz dwoma potencjometrami,
    - trzech przycisków sterujących oraz złącza do podłączenia alfanumerycznego wyświetlacza LCD,
    - złącza do komunikacji przez SPI z bipolarnym 12-bitowym przetwornikiem AD5724 firmy Analog Devices,
    - dwoma wyprowadzeniami sygnałów z wbudowanych w mikrokontrolerze przetworników DAC,
    - izolowanego galwanicznie interfejsu enkodera,
    - interfejsu generującego sygnały sterujące kluczami przekształtnika wraz z układem zabezpieczającym watchdog-timer oraz współpracującym z nim buforem,
    - interfejsem RS232 do komunikacji z komputerem PC,
    - ośmiodiodowej linijki LED.
    Izolowana galwanicznie część pomiarowa została zbudowana z:
    - trzech czujników prądu ACS712,
    - układu pomiarowego napięcia z układem HCPL7800 w raz ze wzmacniaczem operacyjnym dostosowującym napięcie do przetwornika STMa.
    Ponieważ procesor miał być wykorzystywany na płytkach sterujących nie koniecznie zamawianych w profesjonalnych firmach zaprojektowany został przeze mnie adapter, który wykonany został przez zewnętrzną firmę. Jest taka jakby przejściówka z SMD na goldpiny, na której znajduje się kwarc, i niezbędne do działania elementy bierne. Poniższy rysunek przedstawia widok adaptera:




    Falownik napięcia na STM32F407
    Falownik napięcia na STM32F407

    Poniższe zdjęcie przedstawia górny widok płytki sterującej wykonanej metodą fotochemiczną:
    Falownik napięcia na STM32F407

    Pierwsze i poniższe zdjęcie przedstawia płytkę sterującą wykonaną przez zewnętrzną firmę. Dodano do niej pewne peryferia nie związane z omawianym tematem (miejsca z niezalutowanymi tranzystorami).

    Falownik napięcia na STM32F407

    Jeśli chodzi o część silnoprądową to omawiany układ sterował przekształtnikiem DC/AC którego głównym elementem był inteligentny moduł mocy IPM PM15RSH120 firmy Mitsubishi. Falownik zasilany był z przekształtnika AC/DC (tzw. falownik sieciowy), który pozwalał na regulacje napięcia Udc w obwodzie pośredniczącym w zakresie od 600V do 750V. Dzięki falownikowi sieciowemu układ pozwalał na przetestowanie sterowania silnika w stanach dynamicznych bo przy nawrocie silnika układ AC/DC zwracał energię do sieci zasilającej. Falownik sieciowy zostanie omówiony dokładniej w osobnym temacie przez mego kolegę, który zajmował się nim podczas pracy magisterskiej.
    Nie będę tu opisywał zasady działania DTC, w każdym bądź razie mikrokontroler wykonuje kilka czynności:
    - pomiar trzech prądów fazowych (można było mierzyć dwa prądy),
    - pomiar prędkości obrotowej lub jej bezczujnikowa estymacja, procedura regulatora prędkości,
    - estymacja strumieni magnetycznych na podstawie modelu matematycznego silnika indukcyjnego,
    - transformacje prądów i strumieni do układów stacjonarnych i wirujących,
    - estymacja napięcia zasilającego Usαβ, pulsacji synchronicznej i momentu elektromagnetycznego,
    - funkcja wysterowania zgodna z zasadą DTC,
    - obsługa przetworników C/A.

    Wyniki badań laboratoryjnych:
    - przy standardowej metodzie DTC przy dużej prędkości kątowej
    Falownik napięcia na STM32F407
    Przebiegi prądu fazowego silnika i_sU (Ch1) strumienia Ψ_U (C3) oraz momentu elektromagnetycznego M (Ch4) (skala: i_sU – 2A/dz, Ψ_U- 0,5 Wb/dz, M – 4Nm/dz) przy prędkości ω_m 125rad/s
    Falownik napięcia na STM32F407
    Hodografy wektorów prądu i_sαβ (Ch3) i strumienia Ψ_αβ (Ch1) w stacjonarnym układzie współrzędnych przy prędkości ω_m 125rad/s

    - przy standardowej metodzie DTC przy małej prędkości kątowej

    Falownik napięcia na STM32F407
    Przebiegi prądu fazowego silnika i_sU (Ch1), strumienia Ψ_U (Ch3) oraz momentu elektromagnetycznego M(Ch4) (skala: i_sU – 2A/dz, Ψ_U- 0,5 Wb/dz, M – 4Nm/dz) przy prędkości ω_m 11rad/s
    Falownik napięcia na STM32F407
    Hodografy wektorów prądu i_sαβ(Ch1) i strumienia Ψ_αβ(Ch3) w stacjonarnym układzie współrzędnych przy prędkości ω_m 11rad/s

    - przy zmodyfikowanej metodzie DTC przy małej prędkości kątowej (przy dużej wynik jest podobny do metody standardowej)
    Falownik napięcia na STM32F407
    Przebiegi prądu fazowego silnika i_sU (Ch1), strumienia Ψ_U (Ch3) oraz momentu elektromagnetycznego M (Ch4) (skala: i_sU – 2A/dz, Ψ_U- 0,5 Wb/dz, M – 4Nm/dz) przy prędkości ω_m 11rad/s
    Falownik napięcia na STM32F407
    Hodografy wektorów prądu i_sαβ (Ch1) i strumienia Ψ_αβ(Ch3) w stacjonarnym układzie współrzędnych przy prędkości ω_m 11rad/s

    Wszystkie przebiegi pochodzą z zaprojektowanej i wykonanej płytki z przetwornikami C/A AD5724.

    Jak widać z powyższych rysunków modyfikacja DTC zapewnia kształtowanie sinusoidalnego strumienia o stałej amplitudzie oraz sinusoidalnego prądu pobieranego przez silnik w całym zakresie prędkości.
    Mam jeszcze parę zrzutów z przebiegami czasowym momentu zadanego i odtwarzanego oraz przy pracy bezczujnikowej, ale chyba nie ma już sensu tego wrzucać.
    Cały algorytm trwa ok 8us dla standardowego DTC i 10us dla wersji zmodyfikowanej przy obliczeniach zmiennoprzecinkowych.


    Na prośbę kolegi noopSwrzucam Schemat i PCB adaptera:

    Załączniki:

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Mierniki instalacji Metrel
  • #2 28 Paź 2012 08:45
    djoy
    Poziom 15  

    No ładnie ładnie, widzę efekt osiągnięty - hodografy wektorów prądu i_sαβ (Ch1) i strumienia Ψ_αβ(Ch3) w stacjonarnym układzie współrzędnych przy prędkości ω_m 11rad/s mają ładny kształt w porównaniu do metody klasycznej :D
    Teraz tylko patentować...

  • Mierniki instalacji Metrel
  • #4 28 Paź 2012 20:24
    kemot55
    Poziom 30  

    Nie wiem czy dobrze zrozumiałem - czy przełączasz klucze z częstotliwością rzędu 100kHz? Jeżeli tak to napisz jaki moduł inteligentny wytrzyma coś takiego dłuższy czas albo jak to chłodzisz?

  • #5 28 Paź 2012 20:41
    felekfala
    Poziom 19  

    kemot55 napisał:
    Nie wiem czy dobrze zrozumiałem - czy przełączasz klucze z częstotliwością rzędu 100kHz? Jeżeli tak to napisz jaki moduł inteligentny wytrzyma coś takiego dłuższy czas albo jak to chłodzisz?

    Ten moduł na pewno by tego nie wytrzymał. Ja napisałem, że czas trwania obliczeń wynosi ok 10us. Ogólnie to jest tak, że cała procedura sterująca wywoływana jest co stały czas Tp = 50us. Z czego 10us trwa ta metoda po której może, ale nie musi nastąpić zmiana stanów kluczy tranzystorowych, następnie procesor przez 40 us obsługuje zadania mało krytyczne czasowo w nieskończonej pętli np. obsługa LCD, RS232.
    DTC to metoda nieliniowa różni się tym od metod z PWM lub SVPWM na wyjściu, że nie ma stałej częstotliwości przełączeń, ogranicza ją od góry jedynie okres TP.
    Na przykład przy małej prędkości obrotowej FOC z PWM będzie pracował na stałej częstotliwości przełączeń równej 20kHz a DTC np z częstotliwością 8kHz. Jest to duża zaletą bo ogranicza to straty energii od przełączeń, oraz akustycznie nie słychać nie przyjemnych pisków.

  • #6 29 Paź 2012 20:33
    noopS
    Poziom 17  

    Czy zostaną udostępnione schematy szczegółowe oraz kody źródłowe? Przynajmniej kody źródłowe głównych funkcji programu?

  • #7 29 Paź 2012 20:58
    felekfala
    Poziom 19  

    Jeśli chodzi o schemat to mogę zamieścić schemat tego małego adaptera jeśli kogoś on interesuje.
    Co się tyczy kodu źródłowego to nie będę go zamieszczać, ale jeśli chcesz mogę bardzo dokładnie opisać co po kolei należy wykonać w takim algorytmie DTC.

  • #8 29 Paź 2012 22:08
    noopS
    Poziom 17  

    W takim razie jestem bardzo zainteresowany tym algorytmem i schemat poproszę

  • #10 29 Paź 2012 22:58
    noopS
    Poziom 17  

    Może napiszę co ja rozumiem pod pojęciem DTC , nie miałem tego na studiach - ostatnio zainteresowałem się tematem sterowania silników i przeszukuję wszystkie źródła. Otóż DTC - dla mnie "bezpośrednie" sterowanie momentem silnika. Momentem silnika, jest zależny od strumienia skojarzonego, ilości biegunów stojanu i płynącego prądu (oczywiście wektorowo), o ile bieguny możemy policzyć, prąd zmierzyć dość łatwo to już strumień musimy zmierzyć pośrednio i wyliczyć. Stumień jest natomiast o ile dobrze pamiętam całką po czasie różnicy napięcia stojanu. Oczywiście jest to moja interpretacja teorii mająca mało wspólnego z rozwiązaniem praktycznym. Dlatego proszę o schemat oraz szczegółowy algorytm działania aby zrozumieć ten problem do końca

  • #11 30 Paź 2012 19:48
    felekfala
    Poziom 19  

    Tu masz trochę teorii:
    http://old.imnipe.pwr.wroc.pl/znemiap/dydaktyka/lan/instrukcja_DTC.pdf

    Podam najprostszą wersję algorytmu, z najprostszym estymatorem strumienia stojana bazującym na modelu napięciowym.

    1. Pomiar kata położenia wału z enkodera, na tej podstawie wyliczenie prędkości,
    2. Procedura regulator prędkości typu PI wyjściem regulatora jest moment zadany np. Mz
    3. Odczyt niezbędnych wielkości elektrycznych tj. 2 lub 3 prądów fazowych oraz napięcia Udc w obwodzie pośredniczącym,
    4. Transformacja mierzonych prądów z układu uvw do ab (alfa beta)
    5. Na podstawie używanego do tej pory wektora napięcia (na podstawie stanu kluczy inaczej mówiąc) oraz znając napięcie Udc należy wyliczyć napięcie stojana w układzie ab.
    5. Estymacja strumienia stojana czyli tak jak powiedziałeś:
    PSIab = PSIab + (Usab - Rs*Isab)*TP
    5. Obliczenie modułu, sinusa i kosinusa kata położenia strumienia w układzie ab
    6. Obliczenie momentu:
    M = 3/2 * PB * (PSIa * Isb - PSIb * Isa) (można to też zrobić w układzie dq)
    7. Na podstawie wcześniej wyliczonego sinusa i kosinusa kąta położenia strumienia musisz określić w jakim sektorze znajduje się strumień stojana.
    8. Następnie należy podać na tory regulacji moment i moduł strumienia. Radze skorzystać z komparatorów bez histerezy, należy tylko zachować by metoda sterowania nie była odświeżana żadzie niż Tp = 100us. Komparator strumienia w zależności od stanu uchybu przyjmuje dwa stany 0 lub 1, gdzie 1 to strumień za mały. Komparator momentu jest trój stanowy 1,0, -1. Położenie 1 oznacza że moment jest za mały. Położenie zero oznacza że moment jest bliski wartości zadanej, -1 gdy moment jest za duży. Strefa zero ma pewną szerokość tzw. Hm znając dane schematu zastępczego i napięcie Udc można ją "online" wyliczać", ale możesz też na początek przyjąć Hm = 0,2 * moment znamionowy.
    Mając stany komparatorów i numer sektora z tablicy przełączeń wybierany zostaje wektor napięcia. I to w zasadzie tyle.

    Edit: Poprawiłem błąd

  • #12 31 Paź 2012 07:08
    RalfPi86
    Poziom 12  

    Polecam książkę Pani Teresy Orłowskiej-Kowalskiej na temat bezczujnikowego sterowania maszynami indukcyjnymi - poza tym, jest kilka doktoratów opisujących różne metody DTC, dostępnych w internecie w jęz. angielskim (napisanych przez Polaków).

    PS Jakiej mocy maszyną Kolega sterował?

  • #14 31 Paź 2012 08:01
    RalfPi86
    Poziom 12  

    Dzięki - no to w sumie, jak na warunki pracy magisterskiej, całkiem spora moc.

    edit

    Pozdrowienia!

  • #16 23 Lis 2012 22:51
    Bojleros
    Poziom 15  

    Witaj!

    Bardzo interesująca praca magisterska.

    Ciekawi mnie jakich driverów użyłeś ? Sam kilka lat temu wykonałem modulator wektorowy na TMS320. Polowe metody sterowania były poza zakresem mojej magisterki. Urządzenie uruchomiłem z powodzeniem na modułowym falowniku laboratoryjnym.

    Czy możesz mi powiedzieć ile czasu zajmuje temu STM wejście w dowolne przerwanie ? Ostatnio testowałem STM32F1 i jak się okazało stary dobry TMS jest jeszcze od niego pod tym względem szybszy. Może nie ma to bezpośredniego znaczenia przy falowniku napięcia impulsowanym z częstotliwościami rzędu pojedyńczych kilocherców ale przy sterowaniu konwersją DC/DC już ma :)

    Czy wszystkie 3 przetworniki użyłeś do pomiaru prądów fazowych silnika ?

  • #17 23 Lis 2012 23:44
    felekfala
    Poziom 19  

    Bojleros napisał:
    Ciekawi mnie jakich driverów użyłeś ? Sam kilka lat temu wykonałem modulator wektorowy na TMS320. Polowe metody sterowania były poza zakresem mojej magisterki. Urządzenie uruchomiłem z powodzeniem na modułowym falowniku laboratoryjnym.

    W pracy został użyty inteligenty moduł mocy IMP PM25RSH120 firmy Mitsubishi, który ma w swojej strukturze zintegrowane drivery. Oczywiście by zapewnić izolacje galwaniczną zostały zastosowane transoptory TLP558 które w zasadzie przy sterowaniu w układach bez IPMow a z "oddzielnymi" tranzystorami mogą służyć jako optodrivery ale wydajność prądowa i częstotliwość jest stosunkowo nie wielka.

    Jak to sam modulator wektorowy ? Implementowałeś SVMa?

    Bojleros napisał:
    Czy możesz mi powiedzieć ile czasu zajmuje temu STM wejście w dowolne przerwanie ? Ostatnio testowałem STM32F1 i jak się okazało stary dobry TMS jest jeszcze od niego pod tym względem szybszy. Może nie ma to bezpośredniego znaczenia przy falowniku napięcia impulsowanym z częstotliwościami rzędu pojedyńczych kilocherców ale przy sterowaniu konwersją DC/DC już ma :)

    hmm w dokumentacji rdzenia napisano że Interrupt Latency wynosi 12 cykli. Robiłem rok temu pewne testy, ale już ich dokładnie nie pamiętam jako że cykl maszynowy w tym STMie to ok 6ns to sam latency to ok 72ns. Mi takie opóźnienie wynosiło trochę więcej, ale nie zauważyłem żeby to był jakiś długi czas. (nie pamiętam dokładnie, może ktoś robił takie testy i mógł by mnie sprostować). W STM32F1 ten czas trwa na pewno dłużej chociażby z racji wolniejszego taktowania.

    Możesz napisać jaki Tobie wyszedł czasi na STM32F1 a jaki na TMSie?

    W pracy metoda sterowania nie działała z kilkoma kilkoma kHz, a było to 20kHz.

    felekfala napisał:

    Czy wszystkie 3 przetworniki użyłeś do pomiaru prądów fazowych silnika ?

    Tak 3 prądy, można też było mierzyć dwa prądy a trzeci wyliczać.

  • #18 24 Lis 2012 09:19
    Bojleros
    Poziom 15  

    Tak, sam modulator wektorowy przy sterowaniu skalarnym U/f. Ten TMS ma wbudowany modulator jednak działa on z jedną z modulacji nieciągłych. Ja napisałem klasycznego SVM z pseudolosową zmianą okresu impulsowania. Nie korzystałem przy tym z gotowego modulatora w TMS a jedynie z peryferiów PWM. Silnik ładnie szumiał zamiast piszczeć....

    Na STMF1 wychodzi mi opóźnienie rzędu ~1us. Mierzę to wywołując przerwanie sprzętowo z licznika generującego PWM a w podprogramie przerwania przełączam GPIO. Na TMS320 trochę czasu już nie tworzyłem ale coś kojarzę że był to czas mniejszy niż 500ns. Trzeba też zwrócić uwagę na to że ten TMS to nie jest jeden z najnowszych. Niemniej zdolności obliczeniowe ma piekielne. Swoją drogą arytmetykę implementowałeś sam czy korzystałeś z jakiejś biblioteki ? Stało czy może zmiennoprzecinkowej użyłeś ??

    20kHz to dość sporo nawet dla małych mocy (pojedynczych kilowatów). Jeżeli sterowałeś klasycznym silnikiem asynchronicznym to z tego co wiem już bardzo przyzwoite widmo harmonicznych prądu osiągasz dla fi/f1h=21. Jednak w tym przypadku w grę w chodzą efekty wibroakustyczne o których wcześniej wspomniałeś.

    O ilość przetworników pytałem dlatego , że w zasadzie na wyjściu falownika napięcia jest układ trój-przewodowy bez przewodu neutralnego. ia + ib = ic więc w zasadzie jeden z przetworników jest nadmiarowy :idea: (niedoczytałem)

    Pozdrawiam

  • #19 24 Lis 2012 18:06
    felekfala
    Poziom 19  

    Hehe czyli rozmywałeś widmo losową zmianą f nośnej;]
    W STM32F1 już nie pamiętam ale raczej wychodziło mniej niż 1us w każdym bądź razie wykonałem taki sam test jak Twój na F4 i wyszło ok 270ns. W sumie do tego testu lepiej by wywołać przerwanie od wciśnięcia przycisku i w tedy w funkcji obsługi przerwania zmienić stan jakiegoś wyprowadzenia, i zmierzyć czasy pomiędzy zboczami.

    Bojleros napisał:
    Swoją drogą arytmetykę implementowałeś sam czy korzystałeś z jakiejś biblioteki ? Stało czy może zmiennoprzecinkowej użyłeś ??

    Arytmetykę implementowałem sam jeśli rozumiesz przez to równania potrzebne do algorytmu sterowania, ale było prosto bo STM32F4 ma wbudowaną jednostkę zmiennoprzecinkową stąd użyłem i takiej arytmetyki.
    Bojleros napisał:
    20kHz to dość sporo nawet dla małych mocy (pojedynczych kilowatów). Jeżeli sterowałeś klasycznym silnikiem asynchronicznym to z tego co wiem już bardzo przyzwoite widmo harmonicznych prądu osiągasz dla fi/f1h=21. Jednak w tym przypadku w grę w chodzą efekty wibroakustyczne o których wcześniej wspomniałeś.

    20 kHz to częstotliwość wywoływania algorytmu tranzystory nie koniecznie przełączały się z taką częstotliwością.
    Bojleros napisał:
    O ilość przetworników pytałem dlatego , że w zasadzie na wyjściu falownika napięcia jest układ trój-przewodowy bez przewodu neutralnego. ia + ib = ic więc w zasadzie jeden z przetworników jest nadmiarowy :idea: (niedoczytałem)

    Hehe z przetwornikami napisałem właśnie że:
    felekfala napisał:
    Tak 3 prądy, można też było mierzyć dwa prądy a trzeci wyliczać.

    Jakiego TMSa dokładnie używałeś? stałoprzecinkowego?
    Pozdrawiam

  • #20 24 Lis 2012 19:19
    Bojleros
    Poziom 15  

    felekfala napisał:
    Hehe czyli rozmywałeś widmo losową zmianą f nośnej;]
    W STM32F1 już nie pamiętam ale raczej wychodziło mniej niż 1us w każdym bądź razie wykonałem taki sam test jak Twój na F4 i wyszło ok 270ns. W sumie do tego testu lepiej by wywołać przerwanie od wciśnięcia przycisku i w tedy w funkcji obsługi przerwania zmienić stan jakiegoś wyprowadzenia, i zmierzyć czasy pomiędzy zboczami.


    Tak, sposób rozmywania jaki użyłem był jednym z wielu dostępnych. Co do pomiaru to w zasadzie mierzyłem opóźnienie pomiędzy zboczem sygnału PWM a załączeniem GPIO w podprogramie obsługującym przerwanie komparatora.

    felekfala napisał:

    Arytmetykę implementowałem sam jeśli rozumiesz przez to równania potrzebne do algorytmu sterowania, ale było prosto bo STM32F4 ma wbudowaną jednostkę zmiennoprzecinkową stąd użyłem i takiej arytmetyki.


    Mam na myśli sposób dokonywania obliczeń a nie sam algorytm DTC. Kompilator C sam w sobie obsługuje albo operacje na liczbach całkowitych stałoprzecinkowych albo zmiennoprzecinkowych. Nie ma w zasadzie wsparcia dla operacji na liczbach ułamkowych stałoprzecinkowych. Dlatego użyłem bibliotekę arytmetyczną z TI, optymalizowaną na poziomie assemblera. Operacje zmiennoprzecinkowe bez jednostki sprzętowej to spory problem. Obecnie biblioteka, której używałem została przeportowana przez TI na ich ARMy. Co ciekawsze na STM32F1x też mi ruszyła ... :twisted:


    felekfala napisał:

    20 kHz to częstotliwość wywoływania algorytmu tranzystory nie koniecznie przełączały się z taką częstotliwością.


    Sprawa jasna. Mówiliśmy o dwóch różnych rzeczach. Czy możesz powiedzieć jaka była częstotliwość przełączania tranzystorów ?

    felekfala napisał:

    Jakiego TMSa dokładnie używałeś? stałoprzecinkowego?


    Tak, stałoprzecinkowego TMS320F2812. W momencie gdy pisałem pracę miał już kilka dobrych lat a dopiero teraz mam wrażenie że ARM'y dopiero teraz go przeganiają.

    Pozdrawiam

  • #21 25 Lis 2012 13:53
    felekfala
    Poziom 19  

    Bojleros napisał:

    Sprawa jasna. Mówiliśmy o dwóch różnych rzeczach. Czy możesz powiedzieć jaka była częstotliwość przełączania tranzystorów ?

    W zasadzie pisałem już o tym w poście #5, w omawianym DTC masz zmienną częstotliwość przełączeń która najbardziej zależy od prędkości obrotowej i w mniejszym stopniu od kilku innych czynników. Gdy np SVM (klasyczny), który działa z częstotliwością nośną np 3.3kHz ma zawsze 6 przełączeń na jeden okres f nośnej to średnia częstotliwość przełączeń (rozumiana jak przełączenie w jednej gałęzi) to zawsze 20 kHz. W omawianej metodzie średnia f przełączeń zmieniała się od 4kHz do 20 kHz czyli przy mniejszej prędkości straty są mniejsze niż przy SVM (jako element wykonawczy przy FOCu DTC-SVM, U/F).
    Więcej o tym możemy porozmawiać na priv żeby nie zanudzać w tym wątku, który w sumie zakładałem bardziej z myślą pytań o procesor
    Pozdrawaim

  • #22 29 Lis 2012 12:39
    kyp89
    Poziom 9  

    Witam
    Korzystałeś z bibliotek dedykowanych do Sterowania silnikami od STM?
    Jeśli tak to wiesz może skąd je można ściągnąć?
    Robię coś podobnego na pracę tylko sterowanie FOC.
    Pozdrawiam

  • #23 29 Lis 2012 14:47
    felekfala
    Poziom 19  

    Witam
    nie korzystałem z bibliotek od STM. One są do FOCa i to chyba tylko przeznaczone do silnika PMSM. Ja zaimplementowałem DTC.
    Na stronie STMa
    http://www.st.com/internet/mcu/product/252140.jsp
    w zakładce Desing suport są jakieś materiały z FOCiem do silnikow PMSM.
    Robisz DFOC czy IFOC i na jaki silnik?

  • #24 29 Lis 2012 14:55
    kyp89
    Poziom 9  

    Witam
    Generalnie jestem na etapie dowiadywania się co i jak.
    Na uczelni mamy jakiś silnik PMSM i falownik do tego. Ja mam zrobić tylko układ logiczny.
    Wiem ze na silnikach indukcyjnych też idzie i mieli całe biblioteki do tego, ale kurcze nie umiem ich znaleźć. Nie ukrywam że wolałbym robić takie sterowanie dla silnika indukcyjnego, choćby ze względu choćby na cenę takich silników. Raczej myślę DFOC (jeśli dobrze rozumiem "bezpośrednie" :))
    Mógłbyś zaproponować jakąś literaturę zarówno o samej metodzie jak i algorytmach do sterowania silnikami? Mam co prawda jeszcze ponad rok czasu :) Ale wolę się wczesniej zabrać za to:)

  • #25 30 Lis 2012 18:56
    felekfala
    Poziom 19  

    Jeśli chodzi o literaturę do silników PMSM to dobre są książki:
    Krzysztofa Zawirskiego "Sterowanie silnikiem synchronicznym o magnesach trwałych"
    oraz Tadeusza Kaczmarka ( i Zwirskiego) "Układy napędowe z silnikiem synchronicznym".

    Co do silników indukcyjnych dobre książki to:
    - Andrzeja Sikorskiego "Bezpośrednia regulacja momentu i strumienia maszyny indukcyjnej".
    - dokładnie opisana współpraca silnika z falownikiem, DTC oraz jego odmiany.

    oraz
    - Teresy Orłowskej-Kowalskej "Bezczujnikowe układy napędowe z silnikami indukcyjnymi".
    - modele matematyczne, opisane kilka metod sterowania, algorytmy bezczujnikowe.

  • #26 03 Gru 2012 08:05
    kyp89
    Poziom 9  

    Hmmm a mógłbym Cię prosić o przesłanie mi twojej pracy?
    Zależy mi na kodzie, bo chętnie bym zobaczył jak to rozwiązałeś programowo.

  • #28 03 Gru 2012 15:26
    kyp89
    Poziom 9  

    Oki, rozumiem:)
    Na pytania jeszcze przyjdzie czas, na razie muszę rozkminić te STM32, potem będę kombinował jak zrobić by się "świeciło i kręciło"

    Dodano po 1 [godziny] 19 [minuty]:

    OOO, ale mi się przypomniało co jeszcze się może mi przydać!
    Jakaś literatura związana z implementacją algorytmów numerycznych.
    Coś co pozwoli mi całki, pochodne i wektory wrzucić do C.
    Bo nie piwem ale w tym wszystkim to tego się najbardziej boję...

  • #29 22 Sty 2013 22:37
    kszumek
    Poziom 16  

    Witam
    Mam pytanko do autora a nawet kilka
    co zdecydowało o wyborze akurat tego procesora
    na pewno przed rozpoczęciem pracy analizowałeś
    inne procesory które nadawały by się do tego zadania
    możesz coś zaproponować np: dsPIC , TMS320 etc. ???
    Chciałbym sobie zrobić 3 fazowy generator PWM
    (czyli część twojego układu )
    z oddzielnym zadawaniem amplitudy i częstotliwości sygnału
    co radzisz zaimplementować i do jakiego procka
    pozdrawiam

  • #30 22 Sty 2013 23:05
    felekfala
    Poziom 19  

    Witam
    Zadecydowało, pozytywne doświadczenia z mikrokontrolerem STM32F1 oraz własnie rozeznanie na rynku. Wykonywałem wcześniej sterowanie u/f plus prosty estymator strumienia i różne transformacje układów współrzędnych (aB->dq) na stałoprzecinkowym procesorze (STM32F1), ale do mojego zadania potrzebna była szybka zmiennoprzecinkowa jednostka. Znacznie ułatwiało to pisanie bardziej złożonych algorytmów. Czytałem pewien artykuł z Przeglądu Elektrotechnicznego na temat procesorów TMS320F28335 gdzie podane były czasy wykonywania się poszczególnych części kodu (np. regulator PI) i okazuje się że STM32F4 wcale mu nie odstaje. Oczywiście można bardzo wiele zarzucić takiemu porównaniu bez wiedzy jak dokładnie wglądał kod programu autorów tekstu. Nie mniej regulator PI ma wszędzie podobną strukturę. TMS ma trochę ciekawsze peryferia do zastosowania w energoelektronice i napędzie elektrycznym.
    Możesz spróbować zrobić sobie sterowanie przekształtnikiem na dsPIC30F6010A, robiłem na nim kiedyś u/f plus regulator prędkości typu PI.