Ta strona używa ciasteczek (plików cookies), dzięki którym może działać lepiej. Dowiedz się więcejRozumiem i akceptuję

[Teoria] Mostek H (H-bridge) - kompendium dla robotyka

Autor Wiadomość
Treker 




Posty: 8101
Pomógł: 122 razy
Otrzymał 511 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 27-09-2006, 15:56   [Teoria] Mostek H (H-bridge) - kompendium dla robotyka

Mostek H (H-Bridge) to układ elektroniczny umożliwiający zmianę kierunku obrotu silnika prądu stałego (DC) przez "odwracanie" biegunów zasilania. Robotyka łączy elektronikę z elektromechaniką, dlatego tu położymy się nacisk na mostki do serw/silników, sterowane wprost z mikrokontrolerów. Koszty budowy robotów są różne od poniżej 100zł do ponad 1 000 zł. Przy doborze konkretnych podzespołów warto wziąć pod uwagę, że mostek dający duże spadki, na którym na początku zaoszczędzimy, ostatecznie może okazać się, że jest on najsłabszym ogniwem naszej konstrukcji. Często błędnie oceniamy że nasze silniki źle reagują - są błędnie dobrane do robota, z mizernym skutkiem przerabiamy projekt dajemy mocniejsze silniki, zwiększamy napięcie zasilania, kupujemy akumulator o wyższej wydajności, zostawiamy jednak poprzedni mostek, a to właśnie jego wymiana może dać zauważalną poprawę.

Wikipedia napisał/a:
Mostek H jest układem elektrycznym umożliwiającym sterowanie kierunkiem działania silników prądu stałego (DC direct current). Jest często używany w robotyce. Można je zrobić z oddzielnych części (elementów dyskretnych) lub zastosować gotowe układy scalone.

Pojęcie "mostek H" wywodzi się z graficznego odwzorowania układu. Mostek ten jest zbudowany z 4 styków (elementy półprzewodnikowe bądź mechaniczne). Kiedy styki S1 i S4 są zamknięte, a S2 i S3 otwarte, do silnika będzie doprowadzone napięcie i zacznie się on kręcić. Poprzez otwarcie styków S1 i S4 oraz zamknięcie S2 i S3 zmieniamy kierunek przepływu prądu, tym samym zmieniając kierunek obrotu wirnika.


Graficzne przedstawienia działania mostka H.
Rys. 1. Graficzne, symboliczne przedstawienia działania mostka H.


Zamienianie biegunów można zrealizować na przekaźnikach, tranzystorach bipolarnych lub unipolarnych (lub mieszając elementy różnego typu) spełniających rolę kluczy ON/OFF. Ideałem byłoby załączanie "zeroomowe" bez żadnych strat. Przekaźniki mają bardzo mały opór styków, od kilku do kilkudziesięciu mΩ. Ale nie nadają się wprost do PWM (sterowanie z regulacją szybkości), gwarantowaną liczbę mechanicznych przełączeń (średnio ok. 1mln) wyczerpałaby w kilka minut. Ponadto, mają one czasy przerzutów styków rzędu kilku ms. Przy przełączaniu występuje efekt młoteczka/kowadełka, odbijania się styków, mogący spowodować ich sklejanie. Nie mniej, warto rozważyć układy oparte o przekaźniki jako prostą alternatywę dla bardziej skomplikowanych mostków przeznaczonych do sterowania silnikami pobierającymi większy prąd.



Kilka przykładów układów z przekaźnikami:


Rys. A przedstawia mostek na jednym przekaźniku z podwójnymi stykami przełączalnymi DPDT (Dual Pole Dual Throw) będący adaptacją powyższego symbolu graficznego. Silnik jest zawsze podłączony pod Uz, zawsze będzie się kręcić w prawo lub lewo ( chyba że dodamy osobny wyłącznik, patrz Rys. C).

Rys. B przedstawia mostek na dwóch przekaźnikach z pojedynczymi stykami przełączalnymi SPDT (Single Pole Dual Throw). Silnik jest hamowany elektrodynamicznie, będzie się obracał w prawo lub lewo, zależnie na cewkę którego przekaźnika podamy napięcie. Gdy na oba, silnik zostanie znów zahamowany.

Rys. C i D przedstawiają przykłady, jak powyższe mostki na przekaźnikach można przełączać bezprądowo i sterować PWM. Po przykład z Rys. C można sięgnąć gdy brakuje nam portów - wystarczą dwa by mieć START / STOP, regulację PWM i kierunku obrotów. W układzie z Rys. D też mamy wybór - gdy najpierw wyłączy się PWM, przekaźnik będzie przełączany bezprądowo. Jak odwrotnie, będzie hamowanie, ale to nie wróży dobrze stykom, zwłaszcza w przekaźnikach na małe prądy.

Są problemy z MOS-ami P na duże prądy. Rys. E przedstawia przykład, jak można oba "górne" MOS-y P zastąpić jednym przekaźnikiem SPDT. W pozycji styków jak na rysunku, wysterowywać wolno tylko MOS-a N z lewej strony.

Tranzystory

Tranzystory wnoszą straty jednak w miarę rozwoju technologii coraz bliższe ideałowi są MOS-FET-y. Między kolektorem a emiterem tranzystorów bipolarnych zawsze wstępuje spadek napięcia (rosnący wraz ze wzrostem prądu kolektora, tak jak w diodzie Zenera o słabych parametrach). Dlatego są one gorsze w roli kluczy niż wyżej wspomniane MOS-y, zwłaszcza do mostków zasilanych niskim napięciem. Złącze przewodzące dren/źródło MOS-ów zachowuje się jak rezystor (Rds). Wiele z nich opór ten ma taki jak styki przekaźników, a nawet mniejszy, praktycznie jak opór przewodów montażowych. Rds rośnie wraz z Uds, przykładowo MOS-y z np. 2x większym Uds mają je większe o mniej więcej tyle samo. Rds ma dodatni wsp. temperaturowy dzięki czemu można zrównoleglać wiele MOS-ów tego samego typu bez żadnych oporów wyrównawczych. Tranzystory bipolarne są sterowane prądem który musi płynąć przez cały czas ich przewodzenia. MOS-y są sterowane napięciowo i praktycznie nie pobierają prądu (µs przeładowania pojemności bramki Ciss). Jest to istotne w urządzeniach zasilanych z baterii, gdzie ważny jest każdy mA. Rzadko które tranzystory bipolarne są zintegrowane z diodą między emiterem, a kolektorem. Mogą pracować inwersyjnie, można zamieniać CE (uzyskuje się wtedy mniejsze spadki kosztem znacznego zmniejszenia ß). Natomiast MOS-y są sterowalne tylko w jedną stronę. Odwrotnie spolaryzowane DS zachowuje się jak szybka dioda (Body Diode), o prądzie adekwatnym do Idmax.

Mostki na tranzystorach bipolarnych



Kolor zielony pokazuje drogę sygnału sterującego, czerwony prądu silnika. Tranzystory bipolarne zaczynają przewodzić gdy na ich złączu baza/emiter (BE) wystąpi powyżej ok. 0,5V. W szereg z bazą muszą byś umieszczone rezystory ograniczające prąd. Stany L µC nie są zerem, czasem mają powyżej 0,5V dlatego warto na wejściu zastosować układ quasi-darlingtona który zaczyna przewodzić od ok. 1,2V, co niweluje ryzyko niepełnego wyłączania po połączeniu z dowolnym µC. Ponadto, układ taki mniej obciąża wyjście µC. Na schemacie nie ma wartości R, gdyż zależą one od zastosowanego Uz, współczynnika wzmocnienia ß użytych tranzystorów i prądu jakim mamy sterować. Wylicza się je do konkretnego przypadku. Zabezpieczenie CE to szybkie diody (stosownie od 1N4148, 1N5819 do Schottky na duże prądy) lub transile typ A. Wystąpienie stanu wysokiego na obu In spowoduje, że zaczną przewodzić tranzystory znajdujące się "nad" i "pod" sobą, Uz zostanie przez nie zwarte czego tranzystory raczej nie przeżyją.

Przed wyliczeniem R należy zmierzyć maksymalny prąd silnika i wybrać tranzystory mocy stosowne do niego:
 powinny mieć napięcie kolektor/emiter Uce nie mniejsze niż ok. 2xUz silnika
 nie zleca się stosowania tranzystorów z Icmax na styk z prądem pobieranym tylko z kilkukrotnie większym
 nie zaleca się Darlingtonów. One nigdy się nie nasycają, zawsze między CE będą miały spadek m/w 1,2V

Do silniczków potrzebujących mało prądu wystarczą np. BC327/337 lub BC635/636, do średnich np. BD136/7 (im większy nr grupy tym większa ß). Po wybraniu typu należy ustalić ich ß i do obliczeń przyjąć najmniejszą. Jako pierwszy będzie przeważnie stosowany BC547 lub tp. z ß ok. 500. Jeżeli damy R1 100k to przy sterowaniu z uC o Uz 5V prąd jego kolektora wyniesie ok. 18mA. Teraz należy przeliczyć, czy taki prąd w bazach tranzystorów końcowych zapewni nam prąd kolektora odpowiedni dla silnika. Jeżeli nie, zmniejszyć R1. Moc jaka się wydzieli na BC547 będzie zależała od Uz mostka pomniejszonego o spadki na BE tranzystorów końcowych tj. 1,4V i prądu ustalonego R1. O tym czy dać R2 czy go pominąć decyduje zastosowane Uz mostka. Do m/w 7V można go pominąć gdyż na BC547 wydzieli się: 18mA x ( 7V - 1,4V) = 100mW które ten tranzystor rozproszy. Ale pamiętajmy, że to tyczy przypadku Ic ok. 20mA i Uz ok. 7V, przy większej którejś z tych wartości trzeba przeanalizować, czy 547 nie będzie się przegrzewał i trzeba będzie dodać R2. Tym bardziej, że tranzystory bipolarne mają ujemny wsp. temperaturowy, z jej wzrostem rośnie Ic i ten opór staje się niezbędny.

Spotyka się schematy lustrzane, z tranzystorami PNP na wejściach. Ale, mostki z NPN jak na Rys. 2 są bardziej uniwersalne. Mogą pracować z różnymi Uz: wspólnym z µC, znacznie większym lub mniejszym, a warunek konieczny poprawnej pracy "lustrzanego układu" to Uz mostka ≤ Uz µC. Gdyż wystarczy, że Uz mostka będzie większe o ok. 1V od Uz µC i PNP będą przewodziły zarówno, gdy na Out µC będzie logiczne zero jak i logiczna jedynka.


Schemat mostka na tranzystorach BC337 oraz BC327.
Schemat przykładowego mostka (dla małego Uz i silników wymagających małej ilości prądu) na tranzystorach BC337 oraz BC327. Kolory strzałek: zielony - sygnał, niebieski, czerwony - prąd silnika. Projekt Marka Tildena ze strony www.beam-online.com



Mostki na tranzystorach unipolarnych MOS-FET

Mostki na tranzystorach MOS potrzebują mniej elementów, są łatwiejsze do sterowania i wnoszą mniejsze straty. Dostępnych jest wiele typów tych tranzystorów w stosunkowo niskiej cenie, większy jest wybór Chanel N (w działaniu podobne do bipolarnych NPN), mniejszy Chanel P (m/w PNP).

Przy wyborze należy kierować się:
 napięciem dren / źródło, analogicznie jak przy bipolarnych zaleca się z Uds nie mniejszym niż 2x Uz mostka
 napięciem przejścia Utreshold nie w przewodzenie. Do dobrego wysterowania bezpośrednio z µC stworzono typy "Logic" ( np. IRLxxxx )
 rezystancją dren / źródło w stanie przewodzenia Rds

Mostek powinien zapewnić połączenie z jak najmniejszymi spadkami dlatego lepiej kierować się Rds niż maksymalnym prądem drenu Idmax. Szacowanie: dany silnik pobiera max 2A, więc wystarczy MOS z Id 4 czy 8A wskaże na mające Rds w dziesiątkach/setkach mΩ. Niewiele więcej kosztują MOS-y z Id w dziesiątkach/setkach A, mające Rds zaledwie w pojedynczych mΩ dzięki czemu wprowadzą nieporównywalnie mniejsze spadki niż te pierwsze.


Rys.3


Rys. 3 obrazuje zasadę pracy mostka podstawowego. Można go stosować wprost jak na schemacie np. do sterowania przerobionymi serwomechanizmami. W klemy silników pobierających więcej prądu należy wlutować np. transila CA. W przypadku stanów L na wejściach, bramki MOS-ów P będą "wisiały w powietrzu" bo nie ma żadnych R do +Uz zwierających DS i rozładowujących Ciss. Można dać rzędu 10-100kΩ, wystarczy jeden bo przez silnik bramka drugiego MOS-a też będzie dociągana do +Uz. Przy PWM, każde przewodzenie danego MOS-a P automatycznie będzie zwierać bramkę drugiego wykluczając jego załączenie. Autor z powodzeniem zastosował ten układ jak na schemacie do PWM i Uz 3V w mikro-silniczkach z mostkiem na parach NDS8934/9955.

Wyjścia µC powinno łączyć się z bramkami przez Rg. Jeżeli mamy sterować MOS-a z małą pojemnością bramki Ciss (do ok. 100pF) np. popularnego BS170 (2N700x), można pominąć Rg lecz trzeba mieć na względzie, że im większe Ciss tym większy udar od jego przeładowania mogący zakłócać pracę µC i ta oszczędność może się okazać iluzoryczna. Wartość Rg wylicza się traktując rozładowane Ciss jako zwarcie. Dzielimy Uz µC przez jego Iomax, typowo 5V/20mA co daje 250Ω, wartość bezpieczną do każdego MOS-a. Jednak prąd przeładowania płynie góra przez µs więc Rg można dać mniejszy. Dlatego w literaturze spotyka się tutaj różne wartości. Porada praktyczna: jeżeli mimo odkłócania Uz, dopinania kondensatorów ceramicznych/tantalowych ect. nasz µC co jakiś czas się buntuje, może po prostu należy zwiększyć Rg.

Do sterowania MOS/IGBT mocy pracujących na dziesiątkach/setkach kHz stosuje się drivery, np. TC44xx itp. Przy takich częstotliwościach kluczowania należy je stosować, aby zapewniały szybkie zbocza impulsów, niektórzy jednak dają je w miejsce Rg do sterowania silników DC. Pobieżna kalkulacja: przeładowanie Ciss np. 10nF z µC przez 100Ω trwa 1µs. Częstotliwość PWM 200Hz / okres 5ms. MOS będzie co 5ms "podgrzewany" przez 1µs, mieć 5ms przerwy itd. Stosunek wielkości 1÷5.000. Driver skróci 1µs do 100ns więc zmieni stosunek na 1÷50.000. Czyli: tam gdzie jest b.dobrze, będzie 10razy lepiej. Ale, trzeba mieć na względzie, że amplitudy przepięć są tym większe, im większa szybkość zboczy.

Analogicznie jak w bipolarnych, tu również wystąpienie stanów H na obu In będzie miało opłakane skutki. Ale można im zapobiec.


Rys.4


Rys. 4 przedstawia poprzedni mostek, ale zabezpieczony na praktycznie wszystkie okoliczności. Dwie diody np. BAT46 zapobiegają destrukcji w przypadku jednoczesnego wystąpienia stanów H na obu wejściach przez błąd w µC czy zakłócenie.
Hamulec włącza przez 4-ry diody BS170. Gdy dostanie na bramkę poziom H:
 przez 2 diody zablokuje MOS-y dolne zwierając ich bramki do masy
 przez 2 następne wysteruje oba górne MOS-y P

Wejście hamulca jest nadrzędne, włączy się zawsze niezależnie jakie stany będą na pozostałych, czy któraś z przekątnych będzie sterowana PWM. Przy hamowaniu elektrodynamicznym przez chwilę będzie płynął znaczny prąd, zależny od prądu silnika i jego obrotów. MOS-y mają Idp (Pulsed Drain Current) m/w 10 razy większy niż Continous, ale przy ich wyborze do tego układu warto sprawdzić ten parametr. Dwukierunkowy transil typu CA tłumi zakłócenia bezpośrednio na silniku. Każdy MOS ma też swego osobnego, szybkiego jednokierunkowego typu A. Rezystory 1kΩ tworzą z pojemnościami Ciss filtry zakłóceń do bramek. Idąc dalej można dodać jeszcze ogranicznik prądu. Najprościej, źródła obu MOS-ów N podać na masę przez małoomowy R i z niego zbierać informację. Przy mniejszych wymaganiach, do silników pobierających mało prądu, można zastosować układ pośredni między Rys. 3 a 4. Zrezygnować z hamulca, filtrów RC, diod na dole, zostawić tylko transila na silniku itp.

Układy lustrzane ze sterowanymi MOS P mają praktycznie te same ograniczenia co w opisie dla bipolarnych PNP.
Do dużych Uz stosuje się mostki z 4-rema MOS-ami N. Tam jest to uzasadnione, ale nie do małych Uz. Warunkiem koniecznym dobrego nasycenia MOS-a N przy szynie +Uz jest podanie mu na bramkę ok. 10V więcej od +Uz. Wyższe napięcie trzeba wytworzyć co znacznie komplikuje cały układ. Można też zastosować drivery jak np. HIP4081A. Te ostatnie bywają mylone z dedykowanymi do pracy przemiennej jak np. IR21xx, praktycznie nie nadających się do napędu silników DC. Do małych Uz, zwłaszcza poniżej 18V (Ugsmax MOS-ów to przeważnie +/-20V) nie warto sięgać po układy z 4-rema MOS-ami N. Tym bardziej, że nie ma problemów z nabyciem MOS-ów P. Do większych prądów dobry jest IRF4905 z Rds 20mΩ, do nabycia już od 4zł.

Mostki scalone

Mostki scalone ułatwiają projektowanie druku i minimalizują cały układ. Tworząc małego robota prościej jest dać jeden układ (przeważnie podwójny) niż 8 tranzystorów na 2 silniki + stosowną ilość innych elementów dyskretnych. Jedna kość załatwi praktycznie całą część wykonawczą. Najczęściej stosowane bipolarne to: L293D, L298, a mosowe to np. TB6552, TB6612, VNH3SP30.

Dla mostka można rozpisać tabelę prawdy, czyli co się dzieje na wyjściu przy danych stanach na wejściach. Dla połówki 293 wygląda ona następująco ( kierunki są umowne zależnie od podłączenia silnika ):

A B Wyj.
0 0 Stop
0 1 Prawo
1 0 Lewo
1 1 Stan zabroniony

Chyba wszystko w tabeli jest jasne. Jedynie opisze sytuację gdy mamy dwie "1" . Podając napięcie na oba punkty otwierają się T1 i T2 i przez to też T3 i T4 i następuje piękne zwarcie. Jak wcześniej wspomniano, najczęściej kończy się to uszkodzeniem tranzystorów mostka. Dużą popularnością cieszy się tani, podwójny L293D zintegrowany z diodami. Gdy potrzebujemy większy prąd, zrównolegamy go zapominając, że istnieje L293, który nie ma diod, ale za to większe struktury tranzystorów dzięki czemu ma max prąd blisko 2razy większy. Zamiast zrównoleglać 293D warto rozważyć czy nie wystarczy nam jeden 293 + zewnętrzne diody.

Scalonych mostków jest sporo, różnią się max prądem, Umin / max pracy, obudową. Przybliżymy dwa najpopularniejsze układy L293D i L298.

L293D
Bardzo popularny układ „zapakowany” w obudowę 16DIP, łatwo dostępny w cenie od 4zł do 12zł. Posiada cztery wejścia sterujące dwoma silnikami, sterowania odbywa się przez podanie logicznego „0” albo „1” na jedno z wejść. Dodatkowo układ posiada dwa wejścia enable służące do włączania/bądź wyłączania któregoś z silników. W najpopularniejszej konfiguracji wejścia te podłączane są do napięcia zasilania. L293D ma wbudowane diody zabezpieczające. Ciągły prąd jaki silnik może pobierać to 600mA, szczytowy do 1,2A, więc do zasilania małych silniczków jest jak znalazł. Dodatkowo układ został wyposażony w zabezpieczenie zapobiegające przegrzaniu.

L298
Układ mniej popularny od L293D, „opakowany” w obudowę Multiwatt15, łatwo dostępny w cenie od 7zł do ok 12zł. Posiada cztery wejścia sterujące dwoma silnikami, sterowania odbywa się przez podanie logicznego „0” albo „1” na jedno z wejść, układ posiada również dwa wejścia enable służące do włączania/bądź wyłączania któregoś z silników. Oraz dwa wejścia CURRENT SENSING, do których podłącza się oporniki prowadzące do masy, dzięki czemu układ sam może kontrolować prąd obciążenie i w odpowiednim momencie go odłączyć. Prąd ciągły to 2A, w szczytach do 3A.


Porównanie L293D i L298
Porównanie mostków scalonych L293D i L298.
Kliknij, aby powiększyć.



Schemat podłączenia układu L293D:


Schemat podłączenia mostka scalonego L293D.
Rys. 10. Schemat podłączenia mostka scalonego L293D.


Schemat podłączenia układu L298:


Schemat podłączenia mostka scalonego L298.
Schemat podłączenia mostka scalonego L298.


Schematy wyjaśniają chyba wszystko. Jedynie napiszę jeszcze o wejściach 1-2EN i 3-4EN w L293D, oraz ENABLE_A, ENABLE_B które umożliwiają nam sterowanie naszych silników z użyciem PWM - bardzo przydatna funkcja wykorzystywana np. do płynnego startu lub regulacji prędkości. Podajemy na to wejście sygnał prostokątny o regulowanej szerokości impulsów i czym większe wypełnienie tym większa "moc" idąca na silniki. Warto wspomnieć o możliwości łączenia kaskadowego układu L298, po szczegóły odsyłam do noty katalogowej (link pod artykułem).

Poniżej przestawiam tabelę porównawczą z szacunkowymi danymi najczęściej stosowanych mostków mosowych. Pierwszy to TC4423, używany czasem do tego driver do MOS-ów/IGBT. Należy wiedzieć, że Imax driverów nie tyczy prądu ciągłego oraz, że na nich można realizować tylko mostki z hamowaniem, nie nadają się do PWM.



Dobrą alternatywą dla mostków scalonych i z elementów dyskretnych są oparte na strukturach SMD case SO-8. Stosunkowo tanie, duży wybór. Np. na IRF7905: 2xN z Rds 20mΩ + np. IRF7324: 2xP można tanio zrobić b.mały mostek o spadkach zaledwie 40mΩ i kilkukrotnie większej wydajności prądowej do 7A, niż np. zrównleglony TB6612: 250mΩ / 2,4A. Np. dwa IRF7317: N+P 30/60mΩ, 5A są gotowymi przekątnymi mostka.

Modulacja szerokości impulsu PWM

Jest to najskuteczniejszy sposób, by przy stałym Uz zmieniać silnikom DC obroty z zachowaniem dużego momentu. Skrót pochodzi od Pulse Width Modulation - regulacja szerokości impulsu. Polega to na zmianie relacji między stanem H, a L względem stałych odcinków czasu. Jeżeli w kolejnych, takich samych, stan H trwa połowę, a drugą L, mówimy że takie impulsy mają współczynnik wypełnienia 50%. PWM umożliwia nie tylko regulację obrotów ale np. łagodny strat dzięki czemu koła naszego robota nie będą buksowały.


PWM
Przykłady sygnałów PWM.


Ad. a) W tym wypadku silnik jest włączony przez czas równy czasowi, w którym silnik jest wyłączony, wiec dostaje 50% czasu, w związku z tym jego napięcie skuteczne wynosi połowę napięcia zasilania.

Ad. b) Tutaj silnik jest włączony przez czas dłuższy, niż jest włączony, wiec dostaje ponad 50% napięcia zasilania.

Ad. c) Tym razem silnik jest włączony przez czas krótszy, niż jest włączony, wiec dostaje poniżej 50% napięcia zasilania

Najczęściej stosowane w robotach mikrokontrolery AVR wyposażone zostały w układy czasowe (liczniki/zegary), które automatycznie generują taki sygnał, na ten temat można poczytać na przykład tutaj:
http://www.atmel.com/dyn/resources/prod_documents/doc2486.pdf (od str 93.)

Spotyka się wiele błędnych podejść do częstotliwości dla PWM. Problem malenia mocy ze wzrostem obrotów (częstotliwości) silników bezszczotkowych BLDC jest znany, ale zapomina się, że to samo tyczy szczotkowych. Silniki są obciążeniem indukcyjnym, mają od ok. 100µ do kilku mH. Na takich obciążeniach prąd "spóźnia" się względem napięcia, użyteczną pracę wykonują tylko w tych odcinkach czasu, gdzie te wielkości się pokrywają. Im większa częstotliwość tym mniejszy obszar pokrycia czyli mniejsza moc. Im dany silnik ma większą indukcyjność, tym gorzej nadaje się do większej częstotliwości. Można to przetestować napędzając posiadany silnik U o współczynniku wypełnienia ok. 50% częstotliwością od 100Hz do np. 10kHz. Przy 10kHz niektóre tak słabną, że stają lub można je zatrzymać palcami. Zamiast wymieniać silniki na "mocniejsze" czy mostki na o mniejszych spadkach, często wystarczy po prostu zmniejszyć częstotliwość PWM. Jeżeli nie mamy możliwości sprawdzenia pamiętajmy, że zawsze lepsze są częstotliwości niższe. Robot z PWM 100Hz na pewno będzie "silniejszy" niż analogiczny, ale z PWM 500Hz.

Drugim błędem związanym z PWM jest minimalny współczynnik wypełnienia. Nagminnie stosuje się regulację "od zera" gdy sporo silników rusza dopiero gdy zaczną być napędzane współczynnikiem powyżej 15-20%. Poniżej stoją i "burczą" trwoniąc prąd na generowanie drgań. Można to trochę zminimalizować zmniejszając częstotliwość PWM ale najlepiej zrobić to programowo - pominąć ten obszar współczynnika wypełnienia w którym silnik, w naszej konstrukcji, obciążony jej ciężarem ect. i tak stoi. Z dwu identycznych np. Sumo z PWM większe szanse na zwycięstwo ma ten, który po namierzeniu przeciwnika, przez pomięcie "odcinka martwego" ruszy prędzej i szybciej nabierze energii kinetycznej, niż ten, który przez ułamek sekundy będzie stał i "myślał, czaił się".

Obroty silnikom DC można również sterować inaczej. Można ustalić, przy jakim minimalnym współczynniku wypełnienia nasz robot zawsze startuje. Np. 20% stanu H przy częstotliwości o okresie 10ms to będą 2ms, pozostałe 8ms to L. Start to podanie od razu tych 2ms. Ale regulować nie jak w PWM wydłużaniem H / skracaniem L lecz, pozostawić H stałe a skracać tylko L. Zmniejszenie L do zera będzie tożsame ze współczynnikiem wypełnienia 100%.

Zakłócenia.

Na tę kwestię zaleca się patrzyć wg: im więcej zabezpieczeń tym lepiej. Projektując PCB należy elementy rozmieszczać tak, by µC był jak najdalej od silnika, a przewody prądowe mostek/silnik jak najkrótsze. Przepięcia powstają przy przerywaniu przepływu prądu w indukcyjnościach. Tłumienie zakłóceń jest najskuteczniejsze, gdy robić to tam gdzie powstają, tj. bezpośrednio na klemach silnika. Silnik to w zasadzie obwód RL ale, zmontowany układ wnosi różne C tworząc złożony obwód RLC z właściwymi mu stanami nieustalonymi. Zakłócenia zależą od wielu czynników: indukcyjności silnika, jego obrotów, stanu szczotek/komutatora, Uz, pojemności montażowych, indukcyjności przewodów doprowadzających ( długości i grubości ), poprowadzenia i grubości ścieżek na druku, szybkości zboczy wyłączających. Tych przeważnie nie znamy, zaleca się przyjąć, że amplituda przyjmuje wartość podwojonego Uz.

Poziom zakłóceń zmniejsza się np. tłumikami RC, diodami (najlepiej szybkimi Schottky), Zenera czy transilami TVS (zwłaszcza do MOS-ów, gdy mają mały zapas Uds w stosunku do Uz). Transil jednokierunkowy to w jednym kierunku m/w zwykła dioda a w drugim m/w Zenera jednak potrafiąca b.szybko "połykać" pojawiające się szpile. Są też dwukierunkowe CA, uniwersalne ale wolniejsze. Ich moc powinna być stosowna do mocy silnika (prądu), Ubr ok. 10-20% większe, niż Uz. W projektach należy uwzględnić, że zakłócenia mogą się rozchodzić szynami Uz. Dobrą separacją jest danie osobnego Uz do µC i silnika. Najczęściej stosuje się jedno wyższe do mostka i na stabilizatorze obniża do µC (oraz logiki mostka). Ten obwód należy dobrze filtrować, prócz elektrolitów nie żałować szybkich kondensatorów ceramicznych. Projektując druk wskazane jest uwzględnić je na początkach i końcach ścieżek z +Uz.

Do mostka przepięcia docierają po przewodach z silnika. Komutator załącza/przerywa prąd w odcinku przewodzenia danej przekątnej mostka wiele razy (również przy PWM). Każde rozwarcie generuje przepięcie któremu poddane są tranzystory niepracującej przekątnej, pracujące w danym cyklu są w zasadzie zabezpieczone tym, że są zwarte. Same tranzystory mogą wygenerować przepięcia sporadycznie. Tylko w przypadku, gdy się rozwierają (lub jeden) w momencie, gdy komutator był zwarty i płynął prąd. CE tranzystorów bipolarnych musi się bocznikować zewnętrznymi diodami, MOS-om ochronę powinny zapewnić ich własne, szybkie Body Diode. Ale, do silników o dużej indukcyjności i większych prądach zaleca się DS bocznikować diodami Schottky (lub transilami) by tłumiły szpile nim dotrą do wewnętrznej struktury MOS-a.
Metalową obudowę silnika, ekran, należy połączyć z masą.

Skuteczność zastosowanych zabezpieczeń oraz czy są wystarczające można sprawdzić (zwłaszcza, gdy ktoś nie ma oscyloskopu) zastępując silnik rezystorem o oporze takim, jak silnik, a następnie na jakiś czas uruchomić urządzenie. Jeżeli uC działa bez zarzutu, mostek się nie przegrzewa, nie psuje ect. a problemy są z podłączonym silnikiem, wnioski nasuwają się same.

Noty katalogowe:


Układy mostka H są bardzo przydatne i powszechnie stosowane przy sterowaniu silników. Jest wiele opcji do zastosowania w naszych robotach zależnie od oczekiwań i potrzebnej mocy, od układu na przekaźnikach, tranzystorach bipolarnych, MOS-ach po scalone mostki. Każdy może wybrać coś dla siebie.



Autorzy:
Pierwsza wersja:Treker
Edycja: wikingc1
Druga wersja artykułu: Xweldog
Zobacz inne artykuły o robotyce

Polecany artykuł » Filtr Kalmana od teorii do praktyki - #1 - Matlab


Postaw piwo autorowi tego posta
 
 
Więcej szczegółów
Wystawiono 19 piw(a):
madik, Majdan, Special11, JakubN, Mihau, Deimos, PredatoX, ragoip, krzeku, KD93, l3wy, kamilxxx, lukix, boyar01, rafal-bielsko, janec, mateuszlink, grzes508, puzon92
Treker 




Posty: 8101
Pomógł: 122 razy
Otrzymał 511 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 22-12-2008, 19:06   

Czekamy na komentarze.

Postaw piwo autorowi tego posta
 
 
swierkdeck 




Posty: 146
Pomógł: 5 razy
Otrzymał 11 piw(a)
Skąd: Warszawa
Programuję w:
C
Wysłany: 22-12-2008, 21:24   

Wszystko ładnie i przystępnie opisane, gratulacje.

Postaw piwo autorowi tego posta
 
 
 
Bobby 
Krzysztof Pochwała




Posty: 2386
Pomógł: 85 razy
Otrzymał 206 piw(a)
Skąd: Katowice/Wrocław
Programuję w:
C/C++
Należę do:
KoNaR
Moje roboty:
Pępki, Nugget

Wysłany: 22-12-2008, 21:35   

Świetne opisy, przynajmniej dowiedziałem się, że istnieje takie coś jak MC34151 :-D Świetnie napisany artykuł,
swierkdeck napisał/a:
gratulacje.

Warto przeczytać » Kurs elektroniki - #8 - stabilizatory napięcia



Postaw piwo autorowi tego posta
 
 
 
mskojon 




Posty: 346
Pomógł: 25 razy
Otrzymał 44 piw(a)
Skąd: Legionowo
Programuję w:
Bascom
Wysłany: 22-12-2008, 22:07   

Dodam, że warty uwagi jest też układ MAX4427, którego można zamówić jako próbkę ze strony www.maxim-ic.com, bardzo szeroko opisany tutaj.
Jest bardzo podobny do tego MC34151.

Ostatnio zmieniony przez mskojon 12-02-2009, 19:48, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 
 
pawel 




Posty: 450
Pomógł: 24 razy
Otrzymał 37 piw(a)
Programuję w:
BAS,C,ASM
Wysłany: 22-12-2008, 22:48   

Świetny artykuł, szczególnie przydał mi się opis do sterowania mosfetów, bo w tym to moja wiedza nie była zbyt głęboka.


www.elektrobot.pl
Programowanie Linux, C++, AVR, 8051. Projektowanie PCB. Kontakt na e-mail.
Postaw piwo autorowi tego posta
 
 
 
Treker 




Posty: 8101
Pomógł: 122 razy
Otrzymał 511 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 22-12-2008, 22:52   

Miło nam, z czasem artykuł będziemy rozwijać o kolejne "wątki".
Już znaleźliśmy kilka drobnych błędów i niedopowiedzeń - skorygujemy je do końca tygodnia (ale spokojnie, nie są to żadne znaczące błędy).

Postaw piwo autorowi tego posta
 
 
dziadek46 



Posty: 77
Skąd: Pulawy
Programuję w:
BASCOM
Wysłany: 22-12-2008, 23:17   

Powiem tak, dla profesjonalistów elektroników temat jest jasny, ja dowiedziałem się dużo, przystępnie,bez zbędnych naukowych formułek, no to trzeba temat rozwijać.

Postaw piwo autorowi tego posta
 
 
 
juras5 



Posty: 114
Otrzymał 2 piw(a)
Skąd: poznan
Programuję w:
C
Wysłany: 24-12-2008, 13:10   

Jakie diody przy l298? Mam 3 amperowe w domu mogą być, czy muszą być 2A?

Postaw piwo autorowi tego posta
 
 
Treker 




Posty: 8101
Pomógł: 122 razy
Otrzymał 511 piw(a)
Skąd: Gdynia
Programuję w:
C, Arduino
Moje roboty:
Spectrum, Fuzzy

Wysłany: 24-12-2008, 13:25   

Mogą, tylko musisz pamiętać, że diody użyte w tym układzie muszą być szybkie ;-)

Postaw piwo autorowi tego posta
 
 
juras5 



Posty: 114
Otrzymał 2 piw(a)
Skąd: poznan
Programuję w:
C
Wysłany: 24-12-2008, 15:04   

SB360 SCHOTTKY BARRIER RECTIFIER VOLTAGE: 20 TO 60V CURRENT: 3.0A


będą ok?

Postaw piwo autorowi tego posta
 
 
Bobby 
Krzysztof Pochwała




Posty: 2386
Pomógł: 85 razy
Otrzymał 206 piw(a)
Skąd: Katowice/Wrocław
Programuję w:
C/C++
Należę do:
KoNaR
Moje roboty:
Pępki, Nugget

Wysłany: 24-12-2008, 18:17   

Raczej się nadadzą - http://pl.wikipedia.org/wiki/Dioda_Schottky%27ego

Postaw piwo autorowi tego posta
 
 
 
Daniel93 




Posty: 327
Pomógł: 11 razy
Otrzymał 61 piw(a)
Skąd: Sanok(okolica)
Wysłany: 28-12-2008, 15:23   

Najlepsze są 1N5817-1N5822

Postaw piwo autorowi tego posta
 
 
dziadek46 



Posty: 77
Skąd: Pulawy
Programuję w:
BASCOM
Wysłany: 30-12-2008, 00:14   

Bardzo sensowna i ogromnie pożyteczna pomoc, zwłaszcza dla nie elektroników!!!!
Mile widziane rozszerzenie tematu H-Bridge, np.PWM + mikrokontroler + silnik, np. wykład na temat "Co tworzy jądro lub rdzeń procesora", to tylko mała sugestia.?

Postaw piwo autorowi tego posta
 
 
 
Bobby 
Krzysztof Pochwała




Posty: 2386
Pomógł: 85 razy
Otrzymał 206 piw(a)
Skąd: Katowice/Wrocław
Programuję w:
C/C++
Należę do:
KoNaR
Moje roboty:
Pępki, Nugget

Wysłany: 30-12-2008, 12:21   

Przydałyby się również tabele prawdy do l293d i l298, i z tym związane jest moje pytanie - co się stanie gdy na wejścia l293d (1A, 2A albo 3A, 4A) podamy 1? Spali się, silniki się zatrzymają, albo coś jeszcze innego?


Postaw piwo autorowi tego posta
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Wersja do druku

Skocz do:  

Nie rozwiązałeś swojego problemu? Zobacz podobne tematy: [Mechanika] Jak wyko... [Algorytmy] Sposoby ... [Test/recenzja] Test... [Dla początkujących]...
lub przeszukaj forum po wybranych tagach: dla, hbridge, kompendium, mostek, robotyka


Powered by phpBB modified by Przemo © 2003 phpBB Group
Popularne kursy: Arduinopodstawy elektroniki