Skocz do zawartości

Problem z zasilaniem mostków H L293DD do 4`ro nożnego robota kroczącego


Pomocna odpowiedź

Napisano

Witam wszystkich 🙂 To mój pierwszy post , choć ze stroną stykam się nie pierwszy raz to mam nadzieje ,że napisałem w dobrym dziale, jakby co za pomyłkę przepraszam. Postaram się uogólnić najpierw, bo może kogoś to zainteresuje, zanim opowiem o problemie abyście wiedzieli co jest na schemacie.

0c453234ddd5f25b.jpg

Aktualnie robię drugiego cztero-nożnego robota kroczącego ale tego z z 3 stopniami swobody na jednej nodzę sterowanego za pomocą 12 serwomechanizmów HS-485-HB-DELUXE (3 serwa na jedna nogę ). Ponieważ to robot kroczący, zależało mi na precyzji ustawiania kątów serwa,sterowania prędkością jaką ma się poruszać, jak i informacji gdzie i w jakim położeniu znajduję się noga , dlatego z każdego serwomechanizmu wywalony jest układ sterowania i stan położenia orczyka odczytywany jest przez ADC podłączony do potencjometru(odczytane napięcie konwertowane jest na dany kąt)

Teraz jak to działa :

Do sterowania robotem zaprojektowałem 2 płytki 2 stronne połączone ze sobą za pomocą gold pinów. Góra to jakby logika dolna to zasilacz i mostki H. Wszystko na dale pokazane na obrazkach.

Górna płytka to pięć ATmeg16 połączonych i komunikujących się ze sobą za pomocą interfejsu SPI .Cztery Atmegi przypadają na 4 nogi , każda po jednej, i piąta master wysyłająca do każdej z pozostałych trzy dane 8 bitowe dla ustawienia się danej nogi. Jak już się ustawią sygnalizują to wystawiając jedynkę na port, który podłączony jest do master Atmegi( w schem np. W_NOGA_1) . DIPswitche są po to aby była możliwość zaprogramowania każdej atmegi z osobna. Kondensatory przy każdym ADC są aby wyeliminować zakłócenia z potencjometru do którego zasilanie doprowadzone jest przez kabel ekranowany i i cewki z dolnej płytki. Reszta na schemacie to pierdołki ,czyli wyprowadzenia miodki LED i inne, a no i wspólny kwarc dla wszystkich atmeg ,który też pewnie nie będzie chodził 🙂

Dolna płytka ,zasilająca mostkiH L293DD jak i górną płytkę .

To niby prosta sprawa. Zrobione są dwa zasilania , jedną dla logiki wszystkich układów , czyli ATmeg i mostków (noga VSS) i drugie tylko do mostków dla silników (noga VS). Pierwszy to prosty zasilacz na LM7806 , trochę kondziorków i zenerek na 5,5V na końcu , no i wszystko podłączone do logiki. Drugie wejście to bezpośrednie podłączenie dla baterii( powiedzmy 7V) trochę wyrównane przez kondensatory. Dla zabezpieczenia w dwóch przypadkach dałem jeszcze po diodzie prostowniczej.

I teraz o co kaman , a więc ...

Górna płytka , nie zasilana(nie zasilana przez ) nie wpięta w drugą tylko poprostu zasilana z programatora lub z komputerowego 5V , działa bez zarzutu, cycus glancus, co bym nie zaprogramował.

Z drugą natomiast jest problem , mianowicie na wyjściu zasilacza jest 5 V dla zasilania logiki , gdzie ścieżki dochodzą do VSS ,nie podtaczając jeszcze baterii dla wyjść VS , na wszystkich wyjściach VS mostków znajduję się napięcie 1V, dla wszystkich wejść dla PWM (ENABLE ) mam albo 1,7 V albo 2 V i dla wszystkich INT`ów mam rożne wartości ale wąchających siew zakresie 0,4 V tak i taka sama wartość dla OUTPUT. Uważam , że jak zasilam logikę to po za nóżka VSS na wszystkich innych nogach powinno być zero V przynajmniej na PWM i na INT`ach. Jak podłącze dodatkowo na jeszcze napięcie 5 V na silniki ( czyli noga VS na mostku) to wejście PWM na każdym mostku ma napięcie 3 V a INT`y wahają się od 0,1V do 0,5 V. a OUTPUT`y mają 0,1 V, gdzie dalej uważam ,że wejścia PWM jak i INT`y przynajmniej powinny mieć 0V. Jeżeli włożę jedną płytkę w drugą to poprawne wartości wcześniej wyświetlane na górną oczywiście nie działają znaczy sienie wskazują poprawnej wartości logicznej czyli albo "0" albo "5V".

Muszę też nadmienić ,że początkowo 5 mostków zostało wlutowane odwrotnie i podłączone ,ale wynika to z faktu ,że biblioteka w Eaglu , w której miałem ten element , żle została narysowana i zamienione były wyjścia VS z wejściami VSS, czyli w efekcie ( czyli raz się pomyliłem i wlutowałem 1 mostek źle ale tak naprawdę sie okazało potem ,ze dobrze 🙂 ) ,że trzeba było przelutować tylko Mostki o 180 stopni i było dobrze . Ale tak czy siak , jedna strona mostków ma swoje odzwierciedlenie lustrzane z drugą , tak więc przykładowo napicie podawane dla VSS trafiało na VS , a to ,że napięcia mogą tam być podawane do 36 V nie powinny popsuć żadnego z mostków, mało tego powinno to i tak to działać jako tako.

Aha i jeszcze jedno , wylutowałem z płytki jeden z mostków , wlutowałem w drugą stworzona tylko do testingu płytkę dla jednego mostka i po podłączonych w podobny sposób napięć wyniki pomiarów były podobne.

I teraz w czym problem, czy mostki są popsute czy po prostu narysowałem cos nie tak ???

Schematy ideowe i montażowe są poniżej, będę bardzo wdzięczny za szybko odpowiedź i wskazówki co do problemu jak i do narysowanych schematów

Pozdrawiam

PS: Żółte nie podłączone linie są tak naprawdę zworkami i są podłączone jeśli godzi o górna płytkę , w dolnej są 4 zworki pokolorowane na niebiesko.

__________

Komentarz dodany przez: Treker

Zrobiony dol.pdf

Zrobiony dol._ideowy.pdf

Zrobiony_UP.pdf

Zrobiony_UP_ideowy.pdf

Takie schematy jak część z mikrokontrolerami znacznie lepiej się projektuje tak:

http://mikrokontrolery.blogspot.com/2011/04/jak-projektowac-czytelne-schematy.html

Gdyby Twój schemat był tak przygotowany, to 2 minuty i byłby sprawdzony. Ale w takiej formie jak teraz jest, nie daje rady - za dużo czasu 🙂

Etykiety już zdefiniowałeś, więc po co Ci prowadzenie połączeń?

W ATMEGA_N1 zapomniałeś o Vcc i GND - zauważyłem tylko przypadkowo, w tym gąszczu połączeń.

I pytanie z innej beczki, choć nie jako specjalista bo robotyk ze mnie marny:

Myślałeś o tym, by zastosować inne mikrokontrolery, które mają więcej PWM?

Trochę dużo tych mikrokontrolerów oraz niewykorzystanych pinów i olbrzymia ilość marnującej się mocy obliczeniowej 🙂

1. Wywalenie oryginalnych sterowników serw jest moim zdaniem komplikowaniem sobie życia.

2. Gorszych mostków niż l293 nie było? strata 1,4V przy zasilaniu z 7V nie jest tym co lubię.

3. Jeżeli tak bardzo bronisz się przed multipleksowaniem pwm, to możesz użyć Attiny2313.

4.

Pierwszy to prosty zasilacz na LM7806 , trochę kondziorków i zenerek na 5,5V na końcu , no i wszystko podłączone do logik

No i tu wymiękłem. Cała część zasilająca nie ma prawa działać.

ad 1. Podpinając tak zenera i stabilizator, spalisz jedno lub drugie.

ad 2. Prąd BAS15 to tylko 100mA> wątpię, że się w tylu zmieścisz.

ad 3. Spadek napięcia na diodzie 0,7V

ad 4. Dropout tego stabilizatora to 2V. 2V+0,7V=2,7V 7V-2,7V=4,3V. Poszukaj sobie o stabilizatorach LDO.

ad 5. Jakie cewki? 1mh?

5. Podciągnięcie nóżek L293 do masy opornikiem 1-10k powinno rozwiązać problem.

Ogólnie to pomysł fajny, tylko realizacja jak na razie tragiczna.

Edit:

Attiny 2313 nie ma ADC, to będzie się nadawał Attiny24.

Witam, przepraszam za zwłokę ponieważ chodzę do pracy , dodatkowo na angielski i robię jeszcze pracę inżynierską. Od dzisiaj będę miał weekend i postaram się odpowiedzieć na wszystkie pytania ,edytując tego posta, jak i wprowadzić korektę w pierwszym.

Na szybko tylko odpowiem , że wywalanie sterowników wcale nie komplikuje życia, a wręcz daje o wiele większe możliwości, precyzji i panowania nad wszystkim za pomocą kilkadzieciat linijek kodu . Co do mostków używam ich do sterowania pierwszy raz , wcześniej bawiłem sieserwomechanizmami. Wcześniej testowałem l298 i byłby bardzo fajny , ale nie posiadał diód zabezpieczających jak ten L293DD, a to ,ze wielkość płytki jest ograniczona bo che aby zmieściła mi się na grzbiecie ,więc nie chciałem rysować dodatkowych 100 ścieżek .

Co do PWM`a to jakbym chciał to napisał bym go na jednej Atmedzę programowo dla wszystkich . Ale ponieważ do ustawienia każdej nogi potrzebne są 3 pomiary , i 3 regulatory PI , program musi działać bardzo szybko aby noga nie była jakby " bezwładna" bo program napisałem tak, aby ustawionego silnika w danym położeniu nie można było przestawić ani w jedna ani w drugą stronę , co z reszta testowane mi działa . Więc 3 PWM są dla mnie akurat.

Temat zasilania wytłumaczę już później , ale jest doprowadzony małymi kabelkami z za switcha do pina przy atmedzę.

Co do Attiny24 , jak wyżej, potrzeba mi bardzo dużej mocy obliczeniowej , do tego w przyszłości będą tam czujniki i inne zabawki ,narazie ma tylko chodzić.

Co do zasilacza- to się przyznaję 🙂 ale do logiki niczego specjalnego nie potrzebuję.

BAS15 - potrzebowałem tylko mniej więcej rozstawu dziurek- dioda jest większa

Co do LDO wiem ,ze maja mniejsze spadki ale celowo wybrałem liniowy a nie impulsowy ale to się rozpiszę potem.

Wiem że te pytanie jak i moje odpowiedzi wynikają z faktu , nie dokładnego i niewyczerpującego przedstawienia tematu (bo skąd mieliście wiedzieć) tak wiec przepraszam. Mam ograniczony czas a opisywanie wszystkiego to jest naprawdę bardzo dużo czasu , no i do tego może nikomu nie chciało by tak dyzo czytać.

Co do mostków, dzisiaj bardzo mądry Pan 🙂 również powiedział mi że po podłączeniu rezystorów powinno to wszystko śmigać , tak więc jak będzie chwila się odezwę i zobaczymy co z tego wyjdzie.

Dzięki za odpowiedzi.

... program napisałem tak, aby ustawionego silnika w danym położeniu nie można było przestawić ani w jedna ani w drugą stronę , co z reszta testowane mi działa.

Z ciekawości - jaki język?

C++

A co mi tam , dla Twojej ciekawości mogę się nim podzielić 🙂

Można powiedzieć,że jestem początkujący w dziedzinie robotyki ,C ++ do obsługi procków też się sam uczyłem więc możliwe ,ze ktoś będzie miał lepsze rozwiązania na temat tego kodu, ale napisałem sam i działa wiec mi to narazie to styka 🙂

Jak już wszystko bezie cacy w przyszłości śmigać wstawię całego robota, może ktoś na podstawie niego zrobi coś jeszcze bardziej fajniejszego 🙂

Wszystko w miarę możliwości opisywałem .

Edit:

Aha i to co na górze napisałem odnośnie sterowania nogi , komunikacji miedzy prockami i inne , wszystko było testowane na jednej nodze na zrobionej specjalnie płytce. Wiec w jak w temacie , mam problem tylko z zasilaniem mostków- co właśnie sprawdzam.

Atmega podrzędna.c

Co do Attiny24 , jak wyżej, potrzeba mi bardzo dużej mocy obliczeniowej , do tego w przyszłości będą tam czujniki i inne zabawki ,na razie ma tylko chodzić.

No i z tym się nie zgodzę.

Wydajność:

Attiny24 20MIPS/20Mhz 120 instrukcji

Atmega16 16MIPS/16Mhz 132 instrukcje

Attiny bierze ponad 3x mniej prądu na 1Mhz.

Zestawy instrukcji, jakby Cię interesowały różnice.

http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/AVRASM/Html/ATtiny13_Instruction_Set.htm

http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/AVRASM/Html/ATmega32_ATmega16_instructions.htm

Powiedziałbyś po prostu, że wygodnie Ci było użyć AT16, bo są łatwo dostępne i tanie (11pln).

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...