nanab Napisano Czerwiec 7, 2011 Udostępnij Napisano Czerwiec 7, 2011 Mam problem z mostkami l293d. Zmontowałem prostego LF, wgrałem program testowy i podłączyłem zasilanie. Ku mojemu zaskoczeniu wszystko działało jak należy(na pierwszy rzut oka). Jednak po chwili zauważyłem, ze prawy silnik nie kręci do przodu. Do tyłu bez problemu, a do przodu tylko lekko drga. Sprawdziłem jeszcze raz wszystkie ścieżki-brak zwarć/przerw. Pomierzyłem napięcia podawane na nogi mostka-wszystko ok. 5V pojawia się na tych nogach, na których powinno. Uznałem mostek za ubity w bliżej nieokreślonych okolicznościach i zamówiłem nowe(2szt.). Dzisiaj odebrałem paczkę i zamontowałem nowy mostek. Teraz prawy silnik w ogóle nie reaguje... Ani przód, ani tył, nawet nie drga. Zamieniałem silniki-bez efektu. Mostek nie wybucha, nie dymi, nawet ciepły się nie robi. Przegrzanie przy lutowaniu chyba nie-lutuję dość szybko(ok. 1s jedno wyprowadzenie) w taki sposób, że mogę trzymać na obudowie palec i się nie poparzyć. Będę wdzięczny za sugestie, bo został mi już ostatni mostek... Schemat połączeń między uc a mostkiem i zasilania: Program: $regfile = "m8def.dat" $crystal = 1000000 $noramclear Enable Interrupts ' Config Portb = &B11000110 ' Portb = &B00111000 ' konfiguracja portow Config Portd = &B11101111 ' Portd = &B10100000 ' Config Portc = &B0000000 Portc = &B0000000 Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down 'konfiguracja pwm Motor_lp Alias Portd.1 Motor_lt Alias Portd.0 Motor_pp Alias Portd.2 Motor_pt Alias Portd.3 Switch1 Alias Pinb.3 Switch2 Alias Pinb.5 Switch3 Alias Pinb.4 Dioda1 Alias Portd.5 Dioda2 Alias Portd.7 Dim Pwm As Byte Pwm = 155 ' wartosc pwm Pwm1a = Pwm Pwm1b = Pwm Ocr1a = Pwm Ocr1b = Pwm Do Gosub Lewo Wait 3 Gosub Llewo Wait 3 Gosub Przod Wait 3 Gosub Prawo Wait 3 Gosub Pprawo Wait 3 Dioda1 = 0 Dioda2 = 1 Wait 1 Toggle Dioda1 Toggle Dioda2 Wait 1 Toggle Dioda1 Toggle Dioda2 Wait 1 Toggle Dioda1 Toggle Dioda2 Wait 1 Loop Przod: Motor_lp = 0 Motor_lt = 0 Motor_pp = 0 Motor_pt = 0 Waitms 1 Motor_lp = 1 Motor_lt = 0 ' sterowanie mostkiem H Motor_pp = 1 ' przed kazda zmiana zerowanie portow dla Motor_pt = 0 ' ochrony przed stanami zabronionymi mostka Return Lewo: Motor_lp = 0 Motor_lt = 0 Motor_pp = 0 Motor_pt = 0 Waitms 1 Motor_lp = 0 Motor_lt = 0 Motor_pp = 1 Motor_pt = 0 Return Llewo: Motor_lp = 0 Motor_lt = 0 Motor_pp = 0 Motor_pt = 0 Waitms 1 Motor_lp = 0 Motor_lt = 1 Motor_pp = 1 Motor_pt = 0 Return Prawo: Motor_lp = 0 Motor_lt = 0 Motor_pp = 0 Motor_pt = 0 Waitms 1 Motor_lp = 1 Motor_lt = 0 Motor_pp = 0 Motor_pt = 0 Return Pprawo: Motor_lp = 0 Motor_lt = 0 Motor_pp = 0 Motor_pt = 0 Waitms 1 Motor_lp = 1 Motor_lt = 0 Motor_pp = 0 Motor_pt = 1 Return End Problem zatrzymał mnie na tym etapie: Tj. brakuje tylko tasiemki, którą miałem zamontować po pomyślnym przejściu testu 😖 Link do komentarza Share on other sites More sharing options...
grabo Czerwiec 8, 2011 Udostępnij Czerwiec 8, 2011 Być może wszystkie mostki są nadal sprawne, na schemacie masz odwrotnie podpięte VCC1 i VCC2! VCC1 (nóżka 16) to napięcie zasilania logiki (powinno być w Twoim przypadku +5V) a VCC2 (nóżka 8) to napięcie zasilania stopnia mocy (w Twoim przypadku BATT). Wystarczy że wylutujesz układ i wlutujesz obrócony o 180 stopni 🙂 Link do komentarza Share on other sites More sharing options...
mactro Czerwiec 8, 2011 Udostępnij Czerwiec 8, 2011 A po zamianie silników, który z nich nie działał? Link do komentarza Share on other sites More sharing options...
nanab Czerwiec 8, 2011 Autor tematu Udostępnij Czerwiec 8, 2011 grabo, Sprawdziłem jeszcze raz na płytce i w datasheet-to był mój błąd na schemacie-już poprawiłem. A po zamianie silników, który z nich nie działał? Powiem tak: wszystkie silniki działają. Nie chcą jedynie kręcić jeśli są podpięte pod "prawą" stronę mostka - 3Y i 4Y. Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Sabre Czerwiec 8, 2011 Udostępnij Czerwiec 8, 2011 Sprawdź tylko czy zamiast wystawiania na PD 2 i 3 poleceń poprzez komendy: Motor_pp = 0/1 Motor_pt = 0/1 działa: Set PORTD.2 Set PORTD.3 ewentualnie Reset PORTD.2 Reset PORTD.3 Bo nie wiem jaka tam jest logika. Z doświadczenia wiem, że czasami z aliasami są problemy, z bezpośrednim przypisaniem stanu do pinu w taki sposób nigdy. Link do komentarza Share on other sites More sharing options...
nanab Czerwiec 8, 2011 Autor tematu Udostępnij Czerwiec 8, 2011 Wgrałem wcześniej coś takiego: $regfile = "m8def.dat" $crystal = 1000000 $noramclear Enable Interrupts ' Config Portb = &B11000110 ' Portb = &B00111000 ' konfiguracja portow Config Portd = &B11101111 ' Portd = &B10100000 ' Config Portc = &B0000000 Portc = &B0000000 Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down 'konfiguracja pwm Dim Pwm As Byte Pwm = 155 ' wartosc pwm Pwm1a = Pwm Pwm1b = Pwm Ocr1a = Pwm Ocr1b = Pwm Do Portd.1 = 1 Portd.0 = 0 'przod Portd.2 = 1 Portd.3 = 0 Wait 3 Portd.1 = 1 Portd.0 = 0 'prawo Portd.2 = 0 Portd.3 = 0 Wait 3 Portd.1 = 1 Portd.0 = 0 Portd.2 = 0 'prawo obrot Portd.3 = 1 Wait 3 Portd.1 = 0 Portd.0 = 0 Portd.2 = 1 'lewo Portd.3 = 0 Wait 3 Portd.1 = 0 Portd.0 = 1 Portd.2 = 1 'lewo obrot Portd.3 = 0 Wait 3 Loop End I bez zmian. Czy jest możliwe, że uc w trakcie uruchamiania podaje na mostek stany nieustalone, które niszczą go w niewidoczny z zewnątrz(wybuch, dym) sposób? Myślałem, że może to wina uc, jeśli np. poda na mostek dwa sygnały "1" i spowoduje zwarcie zasilania tranzystorami mostka, ale coś takiego chyba skończyło by się trzaskiem(?) Podłączyłem silnik pomiędzy masę a wyjście 4Y, potem między Vcc a 4Y- kręci w obie strony. To samo zrobiłem z wyjściem 3Y- nie kręci w żadną. Na wejściach 3A i 4A pojawiają się napięcia zgodnie z wgranym programem, mimo to sytuacja jak wyżej-na 100% uszkodzenie w mostku. Pytanie tylko skąd się wzięło i jak zapobiec powtórce 🙁 Link do komentarza Share on other sites More sharing options...
Sabre Czerwiec 8, 2011 Udostępnij Czerwiec 8, 2011 W trakcie programowania na wszystkich pinach mikrokontrolera jest stan wysokiej impedancji. Jeśli nie masz podciągniętych wejść mostka do plusa bądź minusa przez rezystory no to wejścia wiszą w powietrzu, to mogło być przyczyną uszkodzenia, aczkolwiek nie musiało. Nie znam wewnętrznej struktury tego mostka czy ma wejścia wewnątrz podciągane. Link do komentarza Share on other sites More sharing options...
nanab Czerwiec 8, 2011 Autor tematu Udostępnij Czerwiec 8, 2011 To raczej nie to- lf nie ma złącza isp-programuję poza robotem i wkładam zaprogramowany procek w podstawkę. Zagadka nie rozwiązana, ale jest przynajmniej jakaś nauka-podciągać wejścia mostka do masy 🙂 Link do komentarza Share on other sites More sharing options...
slawko_k Czerwiec 9, 2011 Udostępnij Czerwiec 9, 2011 Na schemacie widać że pwm podajesz na nóżki enable. W takim układzie chyba nie masz hamowania wiec twój LF kiepsko będzie zakręty brał. I może dlatego ze masz rozpędzony silnik robiący za prądnicę i próbujesz zmienić jego kierunek i następuje jakieś przepięcie. Link do komentarza Share on other sites More sharing options...
nanab Czerwiec 9, 2011 Autor tematu Udostępnij Czerwiec 9, 2011 A nie właśnie do użycia PWM służą wejścia enable? Poza tym wszystkie roboty, które oglądałem mają to podłączone właśnie tak i nikt nie ma takich problemów. W takim układzie chyba nie masz hamowania wiec twój LF kiepsko będzie zakręty brał. Silniki po odłączeniu napięcia zatrzymują się praktycznie natychmiast-nie przejedzie więcej niż kilka milimetrów. Jak rozwiążę problem z mostkiem, to zajmę się softem i ewentualnie dorobię hamowanie software'owo. I może dlatego ze masz rozpędzony silnik robiący za prądnicę i próbujesz zmienić jego kierunek i następuje jakieś przepięcie. W mostku są diody, a przy silniku kondensatory. Problem pojawił się przy pierwszym uruchomieniu, przy niskim PWM, jeszcze przed rozpędzeniem silników. Przy późniejszych testach na większym wypełnieniu i przy nagłych zmianach kierunku nic złego nie stało się z resztą mostka. Spróbuję zamontować ostatni w podstawce i podciągnąć wejścia przez 10k do masy. Link do komentarza Share on other sites More sharing options...
Robomaniak Czerwiec 9, 2011 Udostępnij Czerwiec 9, 2011 Jeśli przy wysokim pwm nic złego się niedzieje to przy niskim silniki mają za mało mocy i pobierają zbyt duży prąd Link do komentarza Share on other sites More sharing options...
grabo Czerwiec 10, 2011 Udostępnij Czerwiec 10, 2011 Przy pomocy miernika sprawdź przy wylutowanym układzie czy nie ma zwarć między padami mostka, może też gdzieś zwierać do masy. Napisz jak zachowuje się mostek, gdy zamiast PWM podasz na wejścia EN na stałe stan wysoki. Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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ę »