Skocz do zawartości
Morti

L293D - co poszło nie tak?

Pomocna odpowiedź

Napisano (edytowany)

Witam wszystkich,

Zaprojektowałem i wykonałem płytkę (schemat i zdjęcie w załączniku). Niestety przez przypadek zrobiłem odbicie lustrzane odbicia lustrzanego przez co musiałem przylutować scalak z drugiej strony. Założenie proste - scalak L293D jako sterownik 2 silników, wyprowadzenie na "kostki" do których można podłączyć silniki i zasilanie itp. Dodatkowo zrobiłem piny na  zworkę, dzięki której można sterować silnikiem albo przez PWM albo dołączyć do +5v żeby uzyskać od razu maksymalne "wypełnienie".
Pierwsze testowanie na "sucho" czyli podłączyłem zasilanie logiki 5V z wspólną masą do zasilnia silników (najpierw 9V potem 12V), zworka na "full", jeden kierunek do 5V i silnik ładnie śmiga. Drugi test to już z wykorzystaniem Arduino i sterowanie poprzez PWM - wszystko działało ładnie tylko gdy przewód od pwm wisiał w powietrzu to silnik lekko się kręcił. Potem podłączyłem 12V iiii dym poszedł z Arduino i już PC go nie wykrywa.

Co mogło pójść nie tak?
Z góry dziękuję za odpowiedź.

schemat.png

IMG_20190204_193426.jpg

Edytowano przez Morti
  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

Czyli miałeś podłączony pin pwm z arduino do mostka i jednocześnie podłączyłeś pin pwm mostka do +12V?

Jeżeli tak było to nie dziwne, że arduino się spaliło. Maksymalne dopuszczone poziomy napięć dla avr'ów (nie jestem pewien na jakim działałeś więc przyjąłem atmegę 328 z UNO) to od -0.5V do VCC+0.5V (czyli jeżeli zasilacz arduino z 5V to maks na piny I/O możesz podać 5.5V w stanie wysokim).

BTW na schemacie masz L293D a w tytule L283D, czy to nie błąd?

Udostępnij ten post


Link to post
Share on other sites

Nie nie, może źle wyjaśniłem:
Arduino do wejścia PWM mostka 
Jeden pin kierunku do 5V Arduino
Arduino 5V i GND do zasilania logiki mostka i wspólna masa
12V do mostka do pinu zasilania silników i wspólna masa

Literówka w tytule, już poprawiam.

Udostępnij ten post


Link to post
Share on other sites

Gdzieś jest z całą pewnością zwarcie.

- Czy po wykonaniu płytki sprawdzałeś ścieżki miernikiem czy nie ma zwarć (to się zdarza)?

- Czy podzespoły są na pewno wlutowane w odpowiedni sposób?

- Czy po wlutowaniu podzespołów sprawdzałeś miernikiem czy nie ma zwarć?

- Czy zasilanie jest na pewno poprawnie podłączone?

Niekiedy po rękodzielniczym wykonaniu PCB przy lutowaniu powstają mikrozwarcia trudne do zauważenia gołym okiem. Należy zawsze sprawdzać miernikiem czy nie ma zwarć przed lutowaniem i po aby mieć pewność poprawności wykonania.

I jeszcze jedno. Być może to jest Twoją przyczyną generowania "magic smoke" przez arduino. Jeśli masz zwarte te swoje jumpery do 5V to z całą pewnością będzie zwarcie na pinie sterującym "enable" podczas stanu niskiego na tym pinie ponieważ popłynie przez niego pełny prąd zasilacza do masy. Nie ma sensu stosowanie tego jumpera do 5V. Na jedno wyjdzie jak ustawisz wypełnienie PWM na MAX i nie będzie możliwości zwarcia. Pozdrawiam

Można też zastosować rezystory przy pinach arduino do sterowania zewnętrzną logiką. Nawet kiedy przez pomyłkę błędnie się podłączy piny zapobiegnie to zniszczeniu portu. Prawdopodobnie w Twoim arduino przepaliły się tylko tranzystory na pinach strujących "enable". Jest duża szansa na to, że reszta arduino będzie działać poprawnie.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Taki prosty sposób żeby sprawdzić, że wszystko jest ok, a nie pomyślałem o mierniku. Sprawdziłem, jest zwarcie wejścia zasilnia silników z IPUT03. Co ciekawe po odlutowaniu scalaka, na płytce  nie ma zwarcia, za to jak przykładam do odlutowanych nóżek mostka to tam jest zwarcie. Czy to możliwe, że to wada fabryczna? Możliwe że przez chwilę źle podłączyłem polaryzację ale nie wiem czy by to mogło coś spowodować.
Zasilanie logiki mostka było z wyprowadzenia Arduino +5V a sam pin INPUT03 nie był sterowany tylko podłączony właśnie do tego wyjścia więc poszło +12V na te wyprowadzenie. Po podłączenie samego Arduino do PC (oczywiście nadal go nie wykrywa) zauważyłem, że się grzeje mały procek 16u2. Tak samo jak podłączam zasilnia przez wtyczkę zasilania. Myślicie, że jest możliwość wymiany tego procka albo programowania przez zewnętrzny programator? (mowa o Arduino Mega)

Edytowano przez Morti

Udostępnij ten post


Link to post
Share on other sites

Wymienić "procek" najłatwiej za pomocą lutownicy Hot Air, ołówkową nie za bardzo da się demontować taki małe SMD. 🙂

Udostępnij ten post


Link to post
Share on other sites

@Morti Wydaje mi się, że w tej sytuacji można by wymontować ten układ (wylutować go, chociaż to będzie trudne bez hot aira) albo odłączyć go fizycznie od zasilania czyli przeciąć odpowiednie ścieżki albo znaleźć jakieś elementy, które są włączone szeregowo z zasilaniem tego układu (ale takich raczej nie ma)  je wylutować przerywając obwód. Potem można by programować główną megę, jeżeli jest nieuszkodzona, przez zewnętrzną przejściówkę usb-uart.

Ale najlepiej i bez późniejszych komplikacji będzie wymienić ten uszkodzony mikrokontroler.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

A poza tym,  jeśli nie posiadasz hot air, to jak ją kupisz to będziesz zawsze mógł wymienić każdy element jaki ci do głowy przyjdzie. Taka lutownica jest niedroga, ja kupiłem W.E.P. 858d za 119 zł, jak trochę dołożysz to możesz kupić stację z ołówkową i hot air.

Udostępnij ten post


Link to post
Share on other sites

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ę »

×