Sterownik BLDC

Na tym forum rozmawiamy o elektronice nie związanej bezpośrednio z tematem CNC

Autor tematu
ogor89
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 5
Rejestracja: 25 wrz 2010, 19:21
Lokalizacja: Dębica

Sterownik BLDC

#1

Post napisał: ogor89 » 12 sie 2013, 16:31

Robię sterownik silnika BLDC. Na szybko naskrobałem program przerzucający kolejne kroki po naciśnięciu przycisku. Jedna linia części wykonawczej została przedstawiona na rysunku. Bez silnika wszystko wydaje się być ok (wyjścia uC w stanie 1 lub 0, żadnego PWM-u). Jak zamiast wysłania 1 na T1 podałem sygnał PWM to działo się jakbym podał 1 lub 0, zależnie od wypełnienia. Taktowanie to 16MHz. Ustawiłem preskaler na 1024 i da się coś regulować, ale o ile z uC wychodzi sygnał o wypełnieniu mniej więcej 0 do 100% (0 - 5,1V) to pole PAD1 ma 3,6 - 7,4V (zasilanie układu z akumulatora 7,2V, uC na regulatorze LF50CV). Wracając do sytuacji bez PWM-u... kiedy podłączę silnik to wirnik się nie kręci. Obraca się o minimalny kąt i wraca. Po ustawieniu jednego stanu można bez problemu obrócić wirnikiem podczas gdy podpinając dwie fazy do akumulatora ciężko jest to zrobić. Próbowałem działań z silnikami modelarskimi 740W i 250W. To, co jest na schemache "wydarłem" z chińskiego regulatora modelarskiego. Nie wiem jak to ugryźć... Coś robię, lub zrobiłem, źle, bo pod obciążeniem układ nie działa poprawnie, ale nie wiem co. Proszę o pomoc.
Załączniki
BLDC_.png
BLDC_.png (3.8 KiB) Przejrzano 2668 razy



Tagi:


mc2kwacz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 2920
Rejestracja: 27 maja 2013, 22:18
Lokalizacja: gdzieś

#2

Post napisał: mc2kwacz » 12 sie 2013, 19:53

Kłaniają się podstawy elektroniki, które programiści i radioamatorzy mają skłonności ignorować, w myśl przekonania o "wyższości praktyki nad wiedzą".

Po pierwsze, przełączając tranzystory w układzie półmostka, musisz zapewnić żeby ZAWSZE jeden tranzystor się zamknął zanim otworzy się przeciwległy, bo spalisz układ albo w najlepszym przypadku będzie się grzał na pusto. Po drugie, żeby sterować bramkami tranzystorów mos, trzeba zapewnić odpowiednią wydajność źródła sterującego, adekwatną do częstotliwości przełączania (przeładowywania pojemności kanału) i napięcia zasilającego układ. W takim układzie jak na rysunku, to można sterować kilkaset herców najwyżej kilka kiloherców (zależnie od typu użytych tranzystorów). Normalnie drivery stopni mos, zapewniające odpowiednią prędkość (czyli jakość) przełączania, muszą mieć wydajność w impulsie co najmniej kilkaset mA, a najlepiej pojedyncze A. Wtedy można kluczować grube kiloherce i pokusić się o megaherce. Oczywiście nie zapominając o właściwościach i możliwościach użytych tranzystorów mos. poprawnie sterowany driver silnika, jest (powinien być) w granicach używanych prądów i częstotliwości, ciepły, nie gorący.
Zacznij od poczytania o właściwościach tranzystorów i potem o kluczowaniu prądu tranzystorami (praca impulsowa).

Synchroniczne, kontrolowane sterowanie BLDC, to oddzielne zagadnienie, do którego dojdziesz później.
Ostatnio zmieniony 12 sie 2013, 21:19 przez mc2kwacz, łącznie zmieniany 1 raz.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 7871
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#3

Post napisał: tuxcnc » 12 sie 2013, 20:35

Górną gałąź mostka jeszcze jakoś można ścierpieć, ale na dole to jest masakra.
Trzy równolegle połączone mosfety sterowane z wyjścia mikrokontrolera ?
Przecież to nie ma prawa działać.

.


mc2kwacz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 2920
Rejestracja: 27 maja 2013, 22:18
Lokalizacja: gdzieś

#4

Post napisał: mc2kwacz » 12 sie 2013, 21:31

Ani jeden ani drugi nie nadaje się do kluczowania w miarę szybkiego. Prąd rozładowania bramki w górnym stopniu masz jeszcze mniejszy niż w dolnym. Zakładając tranzystory "cyfrowe", czyli przełączane poziomami cyfrowymi, przy 5V opornik 330omów będzie rozładowywał prądem 7mA na jeden tranzystor a w dolnym stopniu, przy zastosowaniu procesora z pinem o wydajności 25mA, będzie to 8mA na tranzystor i na dodatek będzie znacznie wolniej spadać.
Układ jest, typowo, po radioamatorsku, wadliwie narysowany. Chyba że, jak wspomniałem, do najwyżej kilkuset herców. Wtedy jest warunkowo akceptowalny.

Awatar użytkownika

ursus_arctos
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 2083
Rejestracja: 11 cze 2011, 18:29
Lokalizacja: Warszawa / Lublin

#5

Post napisał: ursus_arctos » 12 sie 2013, 21:31

Takim sterownikiem, to można zasilić co najwyżej wiatraczek na procesor. Przy większym obciążeniu drastycznei niska sprawność przełączania da się mocno we znaki.
Rady:
1. Dolna gałąź do przeróbki - z UC nie wysterujesz 3 mosfetów - potrzebny co najmniej 1 tranzystor i solidny pullup do 5V czy jakie tam napięcie bramki jest.
2. Jakieś "fizyczne" sprzężenie sterowania górnej i dolnej gałęźi, wykluczające możliwość "przestrzelenia" mostka (otwarcia górnej i dolnej gałęzi na raz) - nie można liczyć na to, że mikrokontroler na to nie pozwoli.
3. Nie mam pojęcia, kto wpadł na pomysł, żeby były 2 górne mosfety i 3 dolne - mosfety P mają zazwyczaj większy opór - to nie wygląda dobrze.
4. Górna gałąź też do przeróbki - kolega mc2kwacz napisał, dlaczego.
5. Brak zenerów w górnej gałęzi - jak napięcie zasilania przekroczy Vgsmax, to tranzsytory pójdą z dymem.

@mc2kwacz: wypraszam sobie - jestem programistą, ale takiego knota bym nie wstawił :P


mc2kwacz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 2920
Rejestracja: 27 maja 2013, 22:18
Lokalizacja: gdzieś

#6

Post napisał: mc2kwacz » 12 sie 2013, 21:40

Z jednym wyjątkiem - można liczyć że procesor nie otworzy obydwu tranzystorów mostka. Oczywiście musi to być odpowiedni procesor i poprawnie napisany program do niego. To dość popularna grupa rozwiązań, i wiele procesorów ma gotowy hardware do sterowania mostków tranzystorowych wszelakiego rodzaju.
Robiłem takie rzeczy nie raz, i nie ma żadnych nieprzewidzianych stanów nieustalonych, nawet jeśli wywołasz dowolne iskrzenie na zasilaniu procesora.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 7871
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

#7

Post napisał: tuxcnc » 12 sie 2013, 21:41

mc2kwacz pisze:Prąd rozładowania bramki w górnym stopniu masz jeszcze mniejszy niż w dolnym.
No bo trzeba dać inny rezystor, ale układ jako taki mógłby od biedy być.
Natomiast na dole czego by nie zrobić, to i tak będzie źle.

W sumie to ciekawe dlaczego dym jeszcze z tych tranzystorów nie poszedł, bo chyba są takie chwile kiedy przewodzą wszystkie ...

.


Autor tematu
ogor89
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 5
Rejestracja: 25 wrz 2010, 19:21
Lokalizacja: Dębica

#8

Post napisał: ogor89 » 13 sie 2013, 08:28

Nie bardzo wiedziałem jak dobrać elementy, więc poszedłem na łatwiznę. Kupiłem sterownik marki HobbyKing, przerysowałem schemat, porobiłem zdjęcia i "zerżnąłem" mostki tranzystorowe przelutowując elementy do swojego układu. W chińskim urządzonku działało to aż miło. Do tego było oparte o ATMegę8, a ja mam akurat 328. Jeszcze tak się złożyło, że najszybszy kwarc miałem 16MHz, tak jak w chińskim rozwiązaniu. Elementy w mostku to: AO4404, PDTC143ZT, TPC8107. Nie chciałem zagłębiać się w elektronikę, bo celem mojego działania miało być napisanie oprogramowania. Dlatego kupiłem gotowca, ale nie byłem w stanie dorzucić mu czujników Halla, więc przelutowałem część wykonawczą, a resztę zrobiłem sam.


mc2kwacz
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 4
Posty: 2920
Rejestracja: 27 maja 2013, 22:18
Lokalizacja: gdzieś

#9

Post napisał: mc2kwacz » 13 sie 2013, 14:08

Zanim zaczniesz pisać program sterujący urządzeniem mocy musisz, po pierwsze, zaprojektować je tak, aby działało poprawnie w określonych projektem warunkach. Po drugie, na czas pisania, uruchamiania i testowania programu musisz je zabezpieczyć przed zniszczeniem. Możesz też (i tak jest najlepiej) zrobić najpierw jakiś uproszczony model układu, który zapewni maksimum informacji podczas pisania softu, i na tym uruchamiać program a docelową elektronikę uruchomić zupełnie niezależnie.
I jeszcze jedno - przy takich pracach oscyloskop jest absolutnie niezbędny. Sam miernik uniwersalny jest dobry dla elektryków.


Autor tematu
ogor89
Nowy użytkownik, używaj wyszukiwarki
Nowy użytkownik, używaj wyszukiwarki
Posty w temacie: 3
Posty: 5
Rejestracja: 25 wrz 2010, 19:21
Lokalizacja: Dębica

#10

Post napisał: ogor89 » 16 sie 2013, 09:09

Tak się zastanawiam... w http://serwis.avt.pl/manuals/AVT5190.pdf działa podobne rozwiązanie do mojego. Gdyby tak pozamieniać tranzystory... Jeszcze nie sprawdzałem czy są w takich samych obudowach, ale raczej tak. Co o tym sądzicie?

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Elektronika ogólna”