Autor: Dondu
Artykuł z cyklu: Silnik BLDC: Spis treści
W poprzednich tematach cyklu i silnikach BLDC poznałeś wystarczająco dużo, byśmy mogli zająć się projektowaniem prostego sterownika z wykorzystaniem tranzystorów MOSFET.
Aby zrozumieć zawarte w tym artykule zasady budowania sterownika, powinieneś przeczytać wcześniejsze artykuły z cyklu, ze szczególnym uwzględnieniem Sterownik - dobieranie tranzystorów MOSFET.
Każdy projekt należy zacząć od określenia:
Parametry oczekiwane
Rozpoczniemy od zdefiniowania parametrów, jakich oczekujemy od zaprojektowanego sterownika:
- napięcie zasilające silniki: 12V,
- prąd maksymalny silnika: 2A,
- elementy wykonawcze i mikrokontroler na jednej wspólnej masie (GND),
- napięcie sygnałów sterujących z mikrokontrolera: 5V,
- maksymalny prąd sygnałów sterujących: 20mA,
- sterownik ma mieć możliwość przenoszenia sygnału PWM około 50kHz,
- sterownik, ma być prosty i tani.
Tranzystory klucze
Ponieważ w artykule Sterownik - dobieranie tranzystorów MOSFET omawialiśmy tranzystory oryginalnie zamontowane w jednym z dysków, stąd wykorzystamy jeden z nich, a drugi (który nie jest produkowany) zastąpimy aktualnym odpowiednikiem.
Zastosujemy więc tranzystory MOSFET:
- tranzystor górny (kanał P): IRFR9024 lub IRFU9024
- tranzystor dolny (kanał N): IRFR120 lub IRFU120
Podałem wersje R oraz U obu tranzystorów (różnią się tylko obudową) ponieważ wersje U mają długie nóżki, które można wpiąć w płytkę stykową. Wersja R, jest typowo do montażu powierzchniowego.
Projekt
Zaczniemy więc od przypomnienia, że musimy zbudować dla każdej fazy silnika, układ dwóch kluczy - górnego i dolnego (o czym pisałem tutaj: Klucze przełączające):
Rys. Schemat ideowy kluczy jednej fazy. |
Rozbijemy sobie układ na osobne dwa problemy:
- sterowanie kluczem górnym,
- sterowanie kluczem dolnym.
Koncepcja schematu sterownika wygląda tak:
Rys. Silnik BLDC - Koncepcja schematu sterownika na tranzystorach MOSFET. |
W pierwszej kolejności omówimy:
Sterowanie kluczem dolnym
W przypadku klucza dolnego, mamy znacznie ułatwione zadanie, ponieważ jego źródło jest bezpośrednio połączone ze wspólną dla mikrokontrolera oraz silników masą (GND).
Jednakże, tranzystor ten ma parametr VGS(th) w przedziale od 2,00V do 4,00V. My natomiast z wyjścia mikrokontrolera uzyskamy około 5V. Sprawdźmy, czy przy napięciu 5V na bramce (VGS), wybrany tranzystor pozwoli nam uzyskać na drenie prąd co najmniej 2A (oczekiwany przez silnik):
Niestety w dokumentacji wykres ten podany jest dla napięcia dren źródło VDS = 50V, a my mamy zaledwie 12V. Nie bez znaczenia jest także informacja zawarta na wykresie, że dotyczy on impulsu sterującego o czasie trwania 20µs. Założymy więc, że dla 12V charakterystyka ta nie będzie znacząco się różnić.
Z wykresu wynika więc, że sterując bramkę tranzystora dolnego prosto z pinu mikrokontrolera, moglibyśmy otrzymać maksymalnie około 4,5A. Zgodnie z założeniami sterownika, będziemy potrzebować zaledwie 2A, czyli tranzystor powinien spełnić nasze wymagania.
W związku z tym, iż sterowanie tym tranzystorem, będzie przebiegało w dolnych częściach jego charakterystyki (niskie napięcie sterujące z mikrokontrolera), podejmujemy decyzję, że tranzystor ten nie będzie odpowiadał za sterowanie silnika za pomocą PWM. Tę istotną funkcję, będzie musiał pełnić tranzystor górny.
Możemy tak zadecydować, ponieważ nie ma potrzeby, by PWM był zarówno w kluczu dolnym jak i górnym. W związku z tym, tranzystor dolny będzie pracował z częstotliwością zgodną z częstotliwością komutacji danej fazy, czyli niewielką. W ten sposób nie będzie zagrożenia, że sterownik "nie wydala", czyli jest kiepski :-)
To bezpieczne rozwiązanie, które pozwala nam na zastosowanie tak prostego schematu sterownika.
Nasz klucz dolny wygląda tak:
Rys. Silnik BLDC - Koncepcja schematu sterownika na tranzystorach MOSFET - klucz dolny. |
Do czego służą dodatkowe rezystory?
R2 - jest odpowiedzialny, za rozładowanie i utrzymanie rozładowanej bramki tranzystora w przypadku braku sterowania z mikrokontrolera. Jak zapewne wiesz, tranzystor ten nie będzie włączony jeżeli rozładujemy bramkę i będzie ona miała potencjał taki jak jego źródło, czyli masę (GND).
To bardzo istotny element sterownika, zabezpieczający przed otwarciem się tranzystora w sytuacji, gdy mirkokontroler (z powodu np. źle napisanego programu, czy chociażby rozłączenia przewodów sterujących) ustawi swoje wyjście w stan wysokiej impedancji. Innymi słowy bramka zostałaby pozostawiona własnemu losowi. W takiej sytuacji bez rezystora R2 bramka tranzystora mogłaby zostać naładowana, co włączyłoby tranzystor, a to już sytuacja bardzo niebezpieczna o czym pisałem Klucze przełączające.
Jaką wartość wybrać?
Na tyle dużą, by nie zniekształcała sygnału sterującego z mikrokontrolera, ale jednocześnie na tyle małą, by bez zbędnej zwłoki rozładowała niewielki ładunek bramki MOSFET'a, gdy mikrokontroler ustawi swój pin w stan wysokiej impedancji. Proponuję więc szeroki przedział od 10k do 100k. Ja zastosowałem 47k.
R3 - służy natomiast do zabezpieczenia wyjścia mikrokontrolera poprzez ograniczenie prądu ładowania i rozładowywania bramki MOSFET'a. Dodatkowo rezystor ten ogranicza i/lub zmniejszenia oscylacje, które mogą się pojawić na bramce MOSFET'a, podczas jej ładowania i rozładowywania.
Policzmy więc wartość R3.
Dla uproszczenia nie biorę pod uwagę rezystora R2, gdyż jego wartość jest zbyt duża w stosunku do R3.
Z parametrów sterownika, które założyliśmy na początku artykułu mamy wiedzę, że sygnał sterujący z mikrokontrolera ma 5V oraz że ma mieć max 20mA.
W związku z tym rezystor powinien mieć wartość:
z szeregu rezystorowego E12 wybierzemy 270Ω, co da nam prąd w rezystorze R3, czyli także pinu mikrokontrolera około:
Sterowanie kluczem górnym
Skoro podjęliśmy decyzję, że dolny tranzystor nie będzie sterowany sygnałem PWM, no to nie mamy innego wyjścia i funkcję tę musi pełnić tranzystor górny. W związku z tym, układ sterowania tym tranzystorem, powinien uwzględniać, że sygnał PWM będzie miał zgodnie z naszymi założeniami do 50kHz.
Zanim jednak przejdziemy do tego wątku powinieneś zauważyć, że nie można sterować górnym tranzystorem bezpośrednio z pinu mikrokontrolera, ponieważ tranzystor nie jest podłączony bezpośrednio do wspólnego punktu odniesienia jakim jest poziom masy (GND). Innymi słowy napięcie wyjściowe mikrokontrolera nie jest na odpowiednio wysokim poziomie w stosunku do 12V zasilających ten tranzystor.
Aby sterować tym tranzystorem trzeba podnieść napięcie wychodzące z mikrokontrolera, do czego wykorzystamy prosty układ tzw. level shifter. W naszym przypadku układ będzie następujący:
Rys. Silnik BLDC - Koncepcja schematu sterownika na tranzystorach MOSFET - klucz górny. |
Jak to działa?
R1 - odpowiada, za ładowanie bramki w celu zamknięcia tranzystora Q1 (MOSFET).
Q3 - odpowiada, za rozładowanie bramki w celu otwarcia tranzystora Q1,
R4 - wraz z parametrami pinu mikrokontrolera ustawia parametry pracy tranzystora Q3.
Czyli zasada działania jest bardzo prosta.
W momencie zadziałania tranzystora Q3 przez jego kolektor płynąć będzie prąd składający się z sumy prądu rezystora R1 oraz prądu rozładowania bramki Q1.
Ponieważ ten fragment sterownika zajmuje się PWM'em, stąd zależy nam na tym, aby bramka rozładowała się jak najszybciej. Szybkie rozładowywanie bramki oznacza duży prąd, a to oznacza, że tranzystor Q3 nie może być "cherlakiem".
Dlatego też tak dobierzemy tranzystor Q3 oraz jego parametry pracy, by wykorzystać jego maksymalne możliwości prądowe kolektora. Mój wybór padł na popularny i w przyzwoitej cenie BC337-25 (taki miałem pod ręką).
Przy okazji zauważyć należy także, że wprowadzona przez tranzystor Q3 negacja sygnału sterującego mikrokontrolera, przekłada się na to, że faktycznie jedynką podawaną z mikrokontrolera na bazę Q3, otwierać będziemy tranzystor Q1 (MOSFET). Gdyby go nie było, musielibyśmy robić to zerem.
Liczymy wartości rezystorów
Przypominam, że mamy tutaj do czynienia z sygnałem sterującym o częstotliwości około 50kHz. Czyli bramka tranzystora MOSFET musi przełączać się szybko, by tranzystor się nie grzał, o czym pisał janbernat a artykule: MOSFET w trybie PWM
Rezystor R1
Z tak prostym układem sterowania jest jeden istotny problem. Z jednej strony przydałoby się, by bramka MOSFET'a była szybko ładowana, gdy Q3 jest zatkany. W naszym układzie odpowiada za to rezystor R1. Właściwie najlepiej gdyby go nie było wcale lub gdyby miał zaledwie kilka Ω.
Z drugiej strony tranzystor Q3 musi dać radę szybko rozładować bramkę Q1 (MOSFET'a), i dodatkowo udźwignąć zwarcie R1 do masy. W tym wypadku przez R1 także będzie płyną znaczny prąd.
Skoro przez R1 będzie płynął spory prąd to oznacza, iż musi być to rezystor odpowiedniej dużej mocy, gdyż wydzielać się będą na nim spore ilości ciepła (to słaby punkt tak zaprojektowanego sterownika).
Znając powyższe dwa ograniczenia, proponuję ustalić, że chcemy się zmieścić z mocą rezystora w 0,5W.
Takie rezystory są dostępne zarówno w technologi THT oraz SMD i są tanie, co jest dla nas istotne.
OK, zacznijmy liczyć.
Najpierw obliczymy jaki maksymalny prąd może przewodzić rezystor R1, by mieścić się w założonych powyżej 0,5W mocy:
Czyli, by rezystor nam się nie przegrzał prąd przez niego płynący, nie powinien przekraczać 41,7mA.
Skoro znamy już maksymalną wartość prądu, która może płynąć przez rezystor R1, liczymy jego minimalną rezystancję:
Z szeregu E12 wybierzemy 330Ω.
Obliczamy więc jaki faktycznie prąd będzie płynął przez rezystor o tej wartości:
a moc wydzielona na nim:
czyli mieścimy się w założonej maksymalnej mocy rezystora R1.
Tranzystor Q3 i rezystor R4
Teraz należy dobrać maksymalne możliwe parametry pracy tranzystora sterującego MOSFET'em, czyli Q3. Dla przypomnienia odpowiada on za rozładowanie jego bramki, a zależy nam na tym, by rozładowanie trwało jak najszybciej, a to oznacza duży prąd rozładowania.
Sprawdzamy więc maksymalny prąd kolektora (IC) wybranego tranzystora BC337-25:
Tranzystor ten może dać nam 500mA i taki właśnie prąd będziemy chcieli z niego wycisnąć. Moglibyśmy nawet sporo więcej, ponieważ rozładowanie bramki trwać będzie ułamek sekundy, ale nie będziemy przesadzać, by sterownik nas nie zawiódł.
Następnie sprawdzamy jakie wzmocnienie (hFE) da nam tranzystor:
Większość z początkujących popatrzy na parametr pokazany czerwonymi strzałkami. Zaobserwuje dość duży rozrzut hFE (od 160 do 400) i będzie w tzw. kropce. W dodatku nie zauważy, że ten parametr podany jest dla prądu kolektora o wartości zaledwie 100mA.
Nas jednak interesuje ten wskazany przez niebieską strzałkę. Jak widać to parametr, który jest podany dla szukanego przez nas (maksymalnego dla tego tranzystora) prądu kolektora równego 500mA. Ale tutaj także nie dowiemy się ile faktycznie hFE dla nas powinniśmy przyjąć, ponieważ podana jest tylko minimalna wartość 40.
Musimy więc ustalić to na podstawie wykresów zależności wzmocnienia (hFE) od prądu kolektora (IC) naszej wersji tego tranzystora, czyli BC337-25:
Jak widać przy żądanym przez nas prądzie kolektora 500mA, wzmocnienie będzie miało wartość około 100 w szerokim zakresie temperatur.
Znając hFE liczymy jaki prąd bazy musimy osiągnąć, by uzyskać prąd kolektora na poziomie 500mA:
Pozostaje nam policzyć wartość rezystora bazy tranzystora Q3. Najpierw sprawdzamy, jakie napięcie odłoży się nam na złączu baza-emiter (VBE), przy założonym prądzie kolektora 500mA:
Niestety podobnie jak poprzednio tutaj także nie mamy jasności wiedząc jedynie, że VBE będzie mniejsze od 1,2V. Sięgamy więc do dostępnego wykresu pokazującego zależność napięcia baza emiter (VBE) od prądu kolektora (IC):
Napięcie baza-emiter powinno więc być na poziomie około 1V. Potwierdzeniem tego jest podanie tego parametru (VCE = 1V) obok IC = 500mA, w tabelce 8 dokumentacji BC337.
Skoro z pinu mikrokontrolera, mamy zasilić bazę Q3 prądem 5mA, uwzględniając spadek na złączu baza-emiter (VBE), rezystor R4 liczymy następująco:
Z szeregu E12 wybieramy rezystor 820Ω.
Kompletny schemat
W ten sposób obliczyliśmy wszystkie elementy tego fragmentu sterownika (klucze jednej fazy), nanosimy je więc na schemat:
Rys. Silnik BLDC - Schemat sterownika (jedna faza) z wykorzystaniem tranzystorów MOSFET. |
Koszt sterownika
Podsumujmy orientacyjny koszty elementów dla jednej fazy sterownika (ceny detaliczne brutto w 2012r.):
Koszt dla jednej fazy | |
---|---|
Element | Cena brutto (zł) |
IRFR9024 lub IRFU9024 | 1,66 |
IRFR120 lub IRFU120 | 1,60 |
BC337-25 | 0,17 |
R1 (330R/0,5W) | 0,13 |
R2 (47k) | 0,04 |
R3 (270R) | 0,04 |
R4 (820R) | 0,04 |
C1 (100nF) | 0,04 |
Razem | 3,72 |
Mamy trzy fazy, stąd łączny koszt brutto wynosi: 11,16zł
Podsumowanie
Układ sterownika, należy do najprostszych dla tranzystorów MOSFET nie będących z grupy Level Logic, i jak każdy sterownik, ma swoje wady i zalety. Są to przede wszystkim:
Zalety:
- prosty schemat,
- niska cena,
- łatwa możliwość dobrania odpowiednich parametrów.
Wady:
- nie nadaje się do sterowania silników dużych mocy (pobierających duży prąd), ze względu na słabe sterowanie dolnym tranzystorem MOSFET.
Do zalet można by jeszcze doliczyć zdobycie wiedzy i umiejętności w zakresie projektowania takich układów, a to jest bezcenne :-)
Zachęcam do eksperymentowania zarówno na papierze jak i w praktyce (pomiary oscyloskopem). To super sposób na zdobycie doświadczenia.
Skoro mamy sterownik, czas go przetestować i o tym będzie następny artykuł z cyklu: Silnik BLDC
Jako laik mam takie pytanie, po co PWM? nie lepiej sterować długością załączenia cewki ? Pole elektromagnetyczne spada chyba z drugą potęgą odległości więc po co cały czas dawać prąd do cewek i zmniejszać go PWM? Nie lepiej dobierać tak czas załączania cewek (gdy magnes i elektromagnes są najbliżej siebie)by uzyskać odpowiednią moc ?
OdpowiedzUsuńJak wspomniałem w tym cyklu artykułów, jest wiele metod sterowania BLDC.
OdpowiedzUsuńTa, którą omawiam zwana jest C120Q+ i należy do tzw. metod klasycznych. Zakłada ona, iż dostarczamy prąd do uzwojeń silnika równomiernie przez każde, całe 120 stopni w kolejnych cewkach silnika. Przy takim założeniu, jedyną możliwością wpływania na prędkość obrotów silnika, jest regulowanie dostarczanego do niego prądu, za pomocą PWM.
Jest drobny błąd w obydwóch linkach do artykułu "Sterownik - dobieranie tranzystorów MOSFET".
OdpowiedzUsuńBardzo ciekawe artykuły. Dziękuję Ci za dzielenie się wiedzą. Gdy tylko odrobię się z pracą, spróbuje poeksperymentować z silinikami BLDC.
Pozdrawiam
Mogłbyś wytłumaczyć dokładniej jak regulując PWM regulujemy prąd w cewkach?? Czy mniejsza wartość PWM oznacza mniejsze napięcie widziane przez tranzystor?? I przez to nie otwiera się on do końca powodując mniejszy przepływ prądu?? I jeszcze pytanie dotyczące górnego klucza: dlaczego nie wystarczy napięcie z pinu mikrokontrolera tylko trzeba zastosować tranzystor BC337??
OdpowiedzUsuńNajprościej tłumacząc sygnał PWM to powtarzalny sygnał, w którym istnieją dwa stany 1 i 0 o różnych proporcjach czasu ich trwania (zapewne to wiesz): PWM - Co to takiego?
UsuńJeżeli przez X czasu występuje napięcie(1), a przez Y czasu nie występuje(0), to stosunek tych czasów określa średnie napięcie jakie generujemy za pomocą tego sygnału. Natomiast średni prąd płynący przez cewki silnika jest zależny o wartości średniego napięcia (w uproszczeniu).
Skoro mamy do czynienia z sygnałem PWM o sporej częstotliwości, to musimy brać pod uwagę, że tranzystor nie jest idealny i ma także stany pośrednie wynikające z jego charakterystyki. Te stany pośrednie oznaczają, że na jego wyjściu występuje (podczas każdego przełączenia) sytuacja, w której zmienia on rezystancję pomiędzy źródłem i drenem (parametr Rds) z minimalnej na maksymalną lub odwrotnie w zależności od zbocza sygnału PWM.
Podczas tej zmiany rezystancja dren-źródło i płynący przez tranzystor prąd powodują spadek napięcia pomiędzy źródłem i drenem, co w konsekwencji powoduje wydzielanie się mocy w postaci ciepła. Ponieważ zmiany te zgodnie z sygnałem PWM występują bardzo często, stąd tranzystor zaczyna się nagrzewać. Jeżeli nagrzeje się zbyt mocno, to może się samoistnie odlutować lub po prostu uszkodzić.
W związku z tym dla nas jest najważniejsze by jak najszybciej ładować i rozładowywać bramkę tranzystora, by czasy występowania "średniej rezystancji" były jak najkrótsze. Pisał o tym janbernat tutaj: MOSFET w trybie PWM
------------------------------------------------
W drugim pytaniu dot. tranzystora NPN poruszasz temat, dlaczego nie można sterować tranzystora górnego bezpośrednio z pinu mikrokontrolera. W artykule faktycznie nie wspomniałem o tym, zrobię więc to tutaj, a przyczyny są dwie:
1. Aby zamknąć tranzystor MOSFET różnica napięć pomiędzy bramką i źródłem (Ugs) powinna wynosić 0V. Skoro źródło górnego tranzystora zasilamy napięciem 12V, to aby zamknąć ten tranzystor musimy ten sam potencjał podać na bramkę. Dla mikrokontrolera oznaczałoby to, że musiałby on dostarczyć na bramkę 12V. Niestety mikrokontrolery nie operują takimi napięciami, stąd musimy mieć dodatkowy element wykonawczy w postaci np. tranzystora NPN.
2. Drugim powodem jest to, co opisałem powyżej, czyli prędkość ładowania i rozładowania bramki. Chcemy aby tranzystor przełączał się jak najszybciej (by się nie grzał), ale bramka MOSFETa ma swoją pojemność, a piny mikrokontrolera ograniczenia prądowe. Dlatego stosujemy tranzystor o sporo większych możliwościach prądowych od możliwości pinu mikrokonrolera. Ten punkt jest opisany w powyższym artykule.
Podsumowując:
Idealny sterownik powinien przełączać MOSFETY w czasie 0 sekund. Niestety tak się nie da, przede wszystkim z powodu pojemności bramki MOSFETa i wydajności prądowej elementu sterującego bramką.
Witam!
OdpowiedzUsuńJeśli mój silnik ma rezystancje uzwojeń na poziomie ok 1Ohm to gdy podłącze go pod ten układ będzie płynął duży prąd jak na mój silnik. Jest to silnik z CD-ROMu z prądem znamionowym na poziomie pewnie 500mA. Więc pytanie, jak zmienić ten sterownik by się nadawał do mojego silniczka?
Pozdrawiam!
Czy silnik w Twoim CD także był zasilany z 12V (zapewne przez jakiś sterownik)?
UsuńGeneralnie nic nie trzeba zmieniać w schemacie. Warto jednak byłoby wprowadzić rezystor pomiarowy prądu płynącego przez silnik. Rezystor powinien mieć wartość ułamków Ohma i należałoby go wstawić pomiędzy masę, a połączone źródła dolnych tranzystorów.
Następnie w czasie pracy sterownika powinieneś mierzyć np. za pomocą przetwornika ADC napięcie w punkcie pomiędzy rezystorem i źródłami tranzystorów. Na bazie pomiaru obliczać prąd (prawo Ohma) i dbać o to by nie przekraczać wartości jakie uznasz za graniczne.
Do CD-romy były doprawadzone napięcia 12 i 5 V. Niestety został mi tylko silnik z tego wszystkiego bo reszta odpadła przy sprzątaniu.
UsuńAle co mi da rezystor pomiarowy, gdy napięcie podawane na silnik czyli na cewkę będzie powodowało duży przepłym prądu. Jak wiadomo że prąd na cewce nie może wzrastać skokowo ale wydaję mi się że nawet w tak krótkim czasie zasilania uzwojenia przy nawet te 5V osiągnie wartość zbliżoną do 5V/1Ohm czyli bliskiego 5 Amperów (silnik połączony w trojkat więc prąd płynie przez jedną fazę) więc silnik będzie się kręcił lecz zapewne niemiłosiernie grzał a nawet się przepałą uzwojenia najprędzej. Jest sposób by prościej ograniczyć ten prąd?
Do CD-romy były doprawadzone napięcia 12 i 5 V. Niestety został mi tylko silnik z tego wszystkiego bo reszta odpadła przy sprzątaniu.
OdpowiedzUsuńAle co mi da rezystor pomiarowy, gdy napięcie podawane na silnik czyli na cewkę będzie powodowało duży przepłym prądu. Jak wiadomo że prąd na cewce nie może wzrastać skokowo ale wydaję mi się że nawet w tak krótkim czasie zasilania uzwojenia przy nawet te 5V osiągnie wartość zbliżoną do 5V/1Ohm czyli bliskiego 5 Amperów (silnik połączony w trojkat więc prąd płynie przez jedną fazę) więc silnik będzie się kręcił lecz zapewne niemiłosiernie grzał a nawet się przepałą uzwojenia najprędzej. Jest sposób by prościej ograniczyć ten prąd?
Zjawiskiem niszczącym uzwojenia silnika jest wydzielane ciepło, a jego przyczyną jest płynący prąd. Prąd regulujemy poprzez PWM, i na to mamy wpływ za pomocą programu.
UsuńKażdy silnik odprowadza ciepło. Jeżeli ilość ciepła wygenerowanego przez prąd z wypełnieniem PWM wynoszącym X% będzie większe niż ilość odprowadzanego przez silnik ciepła, będzie się on coraz bardziej rozgrzewał, czego konsekwencją może być uszkodzenie.
Niestety prąd płynący przez silnik zależy nie tylko od wypełnienia PWM, ale także od obciążenia silnika. W związku z tym, warto mieć zwrotną informację w postaci pomiaru prądu aktualnie płynącego przez silnik.
Jeżeli wprowadzisz rezystor pomiarowy będziesz mógł stwierdzić jaki (przy danym obciążeniu) średni prąd płynie przez Twój silnik (znasz wartość prądu zmierzonego i wypełnienie PWM), w konsekwencji będziesz mógł ograniczyć wypełnienie sygnału PWM do wartości prądu, która Ciebie zadowoli.
Aaaa, czyli już rozumiem. Realizujemy strategie klasyczną sterowania silnika mi bezszczotkowymi C120Q+. Więc policzmy trochę. Maksymalny prąd silnika jaki będzie płynał przy zasilaniu 5V to 5A (rezystancja uzwojeń silnika ! Ohm + rez. tranzystorów w stanie otwarcia. której na razie nie będę brał pod uwagę dla uproszczenia). Więc jeżeli chcemy otrzymać nasz prad znamionowy 500mA to musimy ustawić wpółczynnik wypełnienia PWM na poziomie 10% tak? Przy takim współczynniku wypełniania silnika nasz powinien osiągnąć prędkość znamionową? (bo płynie przez niego prąd znamionowy.)
UsuńDajmy na razie silnik bez obciążenia. Więc jak tak zrealizuje układ to czy krzywdy silnikowi nie wyrządze?
To nie takie proste :-)
UsuńUzwojenie silnika ma pewną indukcyjność, PWM ma pewną częstotliwość, obciążenie ma pewną wartość ... dlatego najprostszym sposobem panowania nad silnikiem w zakresie jego ochrony jest właśnie pomiar prądów. W specyficznych przypadkach stosuje się jeszcze pomiar temperatury i ją także uwzględnia w algorytmie bezpieczeństwa. Przy tak rozwiązanym sterowniku silnik jest bardzo dobrze zabezpieczony. Ma to sens oczywiście wtedy, gdy "skóra jest warta wyprawki".
Z silnikami o niewiadomych parametrach jest faktycznie problem z ustaleniem jego maksymalnych parametrów. Jednakże skoro pomiary wskazują na zaledwie 1Ohm, to na pewno jest on przygotowany do sporych prądów.
Na przykład w robotyce w linefollowerach, bardzo często stosuje się znacznie większe prądy i napięcia tylko po to, by w krótkim czasie osiągnąć znaczne przyspieszenia co jest istotne dla tych robotów w trakcie zawodów. Jednak czasy trwania i powtarzalność tych "ponadnormalnych" parametrów użytkowania, są oczywiście ograniczone i niejednokrotnie ustalone doświadczalnie na bazie uszkodzonych silników :-)
No tak, racja że silnik ma swoje parametry które mają wpływ na sposób oraz parametry sterowania więc kontrola powinna być optymalnym rozwiązaniem. Lecz w moim przypadku jest to tylko zwykły układ sterowania silnikiem i to na razie bez obciążenia. (Ewentualnie założona tarczką by zamontować transoptor do pomiaru prędkości.) Masz jakiś schemacik mniej więcej jak wygląda taki układ do pomiaru prądu? Rezysor pewnie powinien być o podwyższonej dokładności na poziomie ok 1%? Z programem raczej sobię poradzę. :)
UsuńDruga sprawa jeszcze to sterowanie silnika za pomocą czujników Halla. Dziś zmontuje komparator do zdyskretyzowania sygnału analogowego generowanego przez czujniki, by móc go uczynić "zrozumiałym" dla uC. Wiem że jest możliwość skorzystania z komparatora wbudowanego w Atmegę ale wolę na razie się pobawić w ten sposób. I tu wysuwa się moje pytanie jak zadawać sygnały na poszczególne uzwojenia w zależności od sygnałów otrzymanych z czujników Halla. Czy sposób odczyt z czujników i zadawania sygnałów jest taki sam dla połączenia w trójkąt i gwiazdę?
Mam jeszcze pytanie dotyczące czujników Halla. Po włączeniu PWM zaczęło mi siekać sygnał. Czy zastosowanie filtru aktywnego dolnoprzepustowego na wyjściu czujników Halla przed komparatorem rozwiąze sprawę?
UsuńZnaczy dokładniej chodzi o to że jak jest wlączony PWM to komarator który dyskretyzuje sygnały z czujników Halla nie spełnia swojej roli.
UsuńMasz oscyloskop?
UsuńUtwórz temat na forum.
Witam,
OdpowiedzUsuńdziękuję za świetne wprowadzenie w temat sterowania silników modelarskich. Zastanawiam się co można zmienić w układzie aby nadawał się do sterowania silnikiem EMAX MT2213? W jaki sposób można polepszyć parametry dolnego tranzystora i czy jest sens w to wchodzić? Silniki te potrzebuję do budowy quadrocoptera jak najniższym kosztem. Komercyjne regulatory to koszt ok 50zł za sztukę..
Witam,
OdpowiedzUsuńZbudowałem powyższy układ z małą modyfikacją (dolny klucz sterowany tak jak górny, czego wynikiem jest sterowanie dolnego klucza logiką ujemną - trzeba się pilnować). Układ działa, aż miło.
Teraz moje pytanie:
Jeden z silniczków, które posiadam, ma napięcie znamionowe 24V. Jak zmodyfikować układ, aby mógł sterować takim napięciem, bo rozumiem, że parametr Vgs, który dla większości MOSFET-ów wynosi 20V ogranicza maksymalną wartość napięcia zasilania niniejszego układu do tej wartości.
Pozdrawiam,
Radosław Krawczyk
Ja mam tylko jedno pytanie skąd ta wartość:maksymalny prąd sygnałów sterujących: 20 mA?
OdpowiedzUsuńParametr ten opisałem w punkcie: "Rozpoczniemy od zdefiniowania parametrów, jakich oczekujemy od zaprojektowanego sterownika:", czyli to założenie projektowe. Założenie to przyjąłem, ze względu na mikrokontroler (ATmega), który będzie takie sygnały na sterownik podawał bezpośrednio z pinów. Piny tego mikrokontrolera mają ograniczenie prądowe do 20mA.
UsuńPolecam zapoznanie z cyklem artykułów pt.: Mikrokontroler vs prądy pinów
"Przy okazji zauważyć należy także, że wprowadzona przez tranzystor Q3 negacja sygnału sterującego mikrokontrolera, przekłada się na to, że faktycznie jedynką podawaną z mikrokontrolera na bazę Q3, otwierać będziemy tranzystor Q1 (MOSFET). Gdyby go nie było, musielibyśmy robić to zerem."
OdpowiedzUsuńNie do końca rozumiem, mógłbyś bardziej wyjaśnić. Ze schematu wynika, że tranzystor będziemy otwierać właśnie zerem. Otwarcie Q3 wysokim sygnałem sterującym spowoduje zwarcie nóżki bramki Mosfeta do masy i wtedy nastąpi jego zamknięcie. Chyba że coś źle rozumiem?
Górny MOSFET jest typu P więc "przewodzi" gdy jego "bramka jest rozładowana" (odwrotnie do dolnego - typu N). Dzieje się to w momencie przewodzenia tranzystora sterującego i podania na jego bazę stanu logicznego 1 z mikrokontrolera. Mamy w takiej sytuacji sterowanie z MC: 1 -> górny MOSFET , 0 -> dolny i dzięki temu minimalizujemy ryzyko przypadkowego uruchomienia MOSFETów w czasie startu MC.
Usuń