Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Atmel Atmega328P - Zmiana zasilania powoduje uszkodzenie mikrokontrolera.

Ataman 22 Jan 2016 22:32 2694 34
Altium Designer Computer Controls
  • #1
    Ataman
    Level 10  
    Witam

    Zbudowałem układ do sterowania dwoma silnikami DC przez moduł bluetooth HC-05 z wykorzystaniem mikrokontrolera Atmega328P oraz mostka H L298N. Silniki, które używam to FA 130RA 18100 (kartę katalogową załączam poniżej). Silniki te w momencie obciążenia pobierają do 2A prądu, dlatego też zdecydowałem się na wybranie mostka H L298N oraz diód zabezpieczających wytrzymujących natężenie do 3A.

    Układ jest sprawny, ponieważ sprawdziłem go zasilając napięciem z dwóch baterii 9V połączonych równolegle (chciałem zwiększyć pojemność użytego źródła zasilania). Jednak to zasilanie nie jest wystarczające do poruszenia mojego robota z miejsca, dlatego dzisiaj podłączyłem zasilanie z akumulatora modelarskiego o napięciu 11,1V oraz pojemności 2200 mAh. Połączenie się z układem BT nie nastręczyło problemów, jednak po wysłaniu komendy mikrokontroler został "spalony" i nie wiem dlaczego się tak stało.

    Część logiczna mostka H została podłączona linię zasilania wychodzącą ze stabilizatora L1085-5.0 3A, tak samo jak mikrokontroler. Natomiast napięcie, które ma być podane na silniki ma pochodzić prosto z źródła zasilania (jest ono podłączone pod 4 wyprowadzenie mostka). Spadek napięcia na mostku to jakieś 2V, co na silnikach powinno dać około 9V.

    Co może być przyczyną uszkodzenia mikrokontrolera?
    Bardzo bym prosił o pomoc, jestem początkującym elektronikiem :)

    Pozdrawiam

    EDIT: Wrzuciłem nowszy schemat.
  • Altium Designer Computer Controls
  • #2
    Drake160
    Level 17  
    Jeśli mnie wzrok nie myli to na Twoim schemacie pin 4 układu L298 jest podłączony do wyjścia stabilizatora a nie bezpośrednio do źródła tak jak napisałeś.
  • #4
    Ataman
    Level 10  
    Na filmik, który podlinkowałeś trafiłem już jakiś czas temu. Przed dodaniem tematu na forum przejrzałem bardzo dużą ilość stron dotyczących mostka H i nie tylko. Swój schemat oraz płytkę drukowaną przejrzałem dokładnie i nie mogę znaleźć żadnego błędu.

    Może osoby bardziej doświadczone mogły by sprawdzić moją płytkę i schemat.

    Nadmienię, że testy układu prowadziłem na zasilaniu z baterii 9V oraz na silniczkach 5V, a aktualnie używam silników na napięcie 3V, które były dołączone do zestawu z przekładnią.
  • Altium Designer Computer Controls
  • #5
    excray
    Level 40  
    Płytka jest źle wykonana po całości. Prowadzenie masy to jakiś horror. LM1005??? Co to jest? Skąd wziąłeś taki układ. uC i HC-05 jest zasilany z tego samego napięcia co mostek więc jeśli zasilasz mostek z 12V to uC i HC również. Prąd przepływa przez (?!) LM1005 w jakiś bliżej nieokreślony sposób bo na pewno nie jest to 7805 a jeśli jest to już dawno się zapewne usmażył.
  • #6
    dondu
    Moderator on vacation ...
    excray wrote:
    LM1005??? Co to jest? Skąd wziąłeś taki układ.

    Oj lupa by się przydała :D :D :D
    To jest LM1085 o czym także autor napisał w pierwszym poście.


    @Ataman

    Zobacz co jest napisane od strony bottom modułu HC-05 w okolicach pinów RxD i zastanów się nad tym.

    Jeśli możesz wrzuć oba pliki Eagle i pokaż zdjęcia PCB z obu stron.

    Dlaczego L298 jest podłączony do baterii przed włącznikiem, a nie za nim? To zbędne ryzyko. Należało zastosować odpowiedni (prądowo) włącznik.

    A swoją drogą po co Ci taki potwór jak LM1085 na 3A?
  • #7
    excray
    Level 40  
    dondu wrote:

    Oj lupa by się przydała :D :D :D
    To jest LM1085 o czym także autor napisał w pierwszym poście.

    Rzeczywiście. To też jest źle podłączony. Wejście jest zwarte z masą a na ADJ podane zasilanie.
    dondu wrote:
    Dlaczego L298 jest podłączony do baterii przed włącznikiem, a nie za nim? To zbędne ryzyko. Należało zastosować odpowiedni (prądowo) włącznik.

    L298 jest podłączony już za przełącznikiem.
  • #8
    dondu
    Moderator on vacation ...
    excray wrote:
    dondu wrote:
    Dlaczego L298 jest podłączony do baterii przed włącznikiem, a nie za nim? To zbędne ryzyko. Należało zastosować odpowiedni (prądowo) włącznik.

    L298 jest podłączony już za przełącznikiem.

    Przyglądnij się dokładnie :)
  • Helpful post
    #9
    excray
    Level 40  
    Właśnie przyglądam się uważnie. Schemat jest zupełnie odrealniony względem tego co jest na płytce drukowanej a na płytce drukowanej zasilanie idzie na przełącznik, później przez diodę na stabilizator a ze stabilizatora dopiero na L298 i uC
  • Helpful post
    #10
    dondu
    Moderator on vacation ...
    excray wrote:
    Właśnie przyglądam się uważnie. Schemat jest zupełnie odrealniony względem tego co jest na płytce drukowanej ...

    To wszystko wyjaśnia - patrzyłem tylko na schemat.

    @Ataman
    Dlaczego tak jest?
  • #11
    Ataman
    Level 10  
    Witam ponownie

    Przepraszam, że nie odpisałem od razu, ale przygotowuję się do sesji, a w przerwach od nauki próbuję poprawić płytkę.

    Po Waszych uwagach stwierdziłem, że przeprojektuję płytkę ponieważ zauważyłem błędy.

    Schemat według, którego planuję wykonać poprawioną płytkę zamieszczę w załączniku.
    Bardzo bym prosił o sprawdzenie schematu i o ewentualne uwagi.

    Bardzo dziękuję za zainteresowanie moim problemem :)
  • #12
    Ataman
    Level 10  
    Witam
    Czy ktoś mógłby sprawdzić mój schemat - bardzo proszę bo nie wiem czy jakiegoś błędu nie zrobiłem. Nie wiem czy dobrze założyłem, aby zasilać z 2 niezależnych źródeł: na silniki akumulator 7,4V + bateria R9 na ATmegę poprzez stabilizator.
    Proszę również o radę, czy prąd na silniki z aku nie załatwi mi moich silniczków (3,3V 1,2-2A)
    Bedę zobowiązany za wszelką pomoc :)
  • #13
    emarcus
    Level 38  
    Ataman wrote:
    Witam

    ..... czy prąd na silniki z aku nie załatwi mi moich silniczków (3,3V 1,2-2A)



    Zacznij od tego miejsca, czyli niemal od poczatku...
    Jeżeli dla tych silników nominalne napięcie zasilania wynosi 3.3V, należy to rozumiec ze spokojnie mozesz zasilac je w zakresie: +/- do 50% tej wartosci bez szkody dla silnika. Naturalnie wpłynie to na parametry pracy obroty, wydajnośc. Taki silnik nie obciązony nie weźmie więcej niż 0.2A, W miarę obciążenia bedzie wzrastał prąd aż do zahamowania silnika, gdzie możesz spodziewac się przepływu pradu nieco powyżej 2A. Wtedy silnik staje sie grzejnikiem. Zatem podana wartośc 1.2A wydaje się byc pobieranym prądem przy nominalnym obciążeniu.
    Analiza ta dotyczy zastosowania w pracy ciągłej.
    Jeżeli silnik będzie sterowany sygnałem PWM o podwyższonym napięciu to średnie napięcie będzie zależało od wypełnienia cyklu. Musisz to brac pod uwagę.

    Z jakiego powodu zdecydowałeś sterowac te silniki układem L298 (?), który jest 2 x większy niż sam silnik i nie ma na nim żadnych zabezpieczeń.
    Rozważ zastosowanie (może nieco droższych, za to nieporównywalnie lepszych) gotowych driverów z pełnym zabezpieczeniem (cyt: 'protection against reverse-voltage, under-voltage, over-current, and over-temperature'), zbudowanych na:

    DRV8838 – pojedynczy układ mostka-H (dla jednego silnika)
    Oraz/albo: DRV8835 – podwójny driver
    DRV8833 - dwukanałowy sterownik silników - moduł
    Możesz je zasilac napięciem w zakresie do 11V
    Dostaniesz je u krajowych dostawców.
    Szczegóły ich podłączenia będą dostępne u dostawcy albo tu:
    https://www.pololu.com/product/2990

    https://www.pololu.com/product/2135/pictures

    e marcus
  • #15
    Ataman
    Level 10  
    Witam Panowie

    @dondu
    Domyślam się, że chodzi o dopuszczalne napięcie zasilania modułu. Z tego co widzę to mój adapter BT posiada regulator napięcia (POWER:3,6-6V)

    Atmel Atmega328P - Zmiana zasilania powoduje uszkodzenie mikrokontrolera.

    Nie wiem, czy dobrze myślę, ale wykorzystując napięcie 5V ze stabilizatora (7805) wszystko powinno być OK. Jeśli się mylę to proszę o wskazówkę.

    @emarcus
    Niestety nie mogę w swoim projekcie korzystać z "gotowców".
    Projekt do którego robię płytkę jest na zaliczenie przedmiotu na Politechnice.
    Płytkę wykorzystuję do sterowania podwoziem gąsienicowym stanowiącym potencjalną bazę do dalszej rozbudowy - oczywiście tylko w teorii bo wszystko jest z PCV :)
    Samo podwozie już wykonałem.

    Atmel Atmega328P - Zmiana zasilania powoduje uszkodzenie mikrokontrolera.

    Płytkę też i o dziwo wszystko działało przy podłączeniu malutkich silniczków (5V) od drona. Niestety nie nadawały się do napędu pojazdu. W ostateczności zakupiłem gotową przekładnię taką jak tu:
    http://www.rcniko.pl/przekladnia-podwojna-tamiya-70168,812,38846.html
    ...i zaczęły się problemy.
    Początkowo silniczki przy zasilaniu z baterii R9 działały, ale "nie miały mocy". Sterowanie przy pomocy BT za pom ocą aplikacji napisanej pod Arduino na Androida też. Po analizie doszedłem do tego, że błędnie poprowadziłem zasilanie do pinu 4 mostka L298 ze stabilizatora (5V). Poprawiłem to i ...spaliłem ATmegę x 2 szt.
    Stąd też moje "wołanie o pomoc" na forum

    Panowie pomóżcie
  • Helpful post
    #16
    dondu
    Moderator on vacation ...
    Ataman wrote:
    @dondu
    Domyślam się, że chodzi o dopuszczalne napięcie zasilania modułu. Z tego co widzę to mój adapter BT posiada regulator napięcia (POWER:3,6-6V)

    Nie domyślaj się, tylko czytaj co piszę:

    dondu wrote:
    Zobacz co jest napisane od strony bottom modułu HC-05 w okolicach pinów RxD i zastanów się nad tym.

    i czytaj linki, które Ci podsyłam lub chociaż dokumentację modułu HC-05.


    Ataman wrote:
    Początkowo silniczki przy zasilaniu z baterii R9 działały, ale "nie miały mocy". Sterowanie przy pomocy BT za pom ocą aplikacji napisanej pod Arduino na Androida też. Po analizie doszedłem do tego, że błędnie poprowadziłem zasilanie do pinu 4 mostka L298 ze stabilizatora (5V). Poprawiłem to i ...spaliłem ATmegę x 2 szt.
    Stąd też moje "wołanie o pomoc" na forum ... Panowie pomóżcie

    Schemat jest ok z wyjątkiem powyższej uwagi. Połączeń nie sprawdzimy.

    Sprawdzanie płytki to koszmar tym bardziej, że nie współgra ze schematem.
  • Helpful post
    #18
    dondu
    Moderator on vacation ...
    1. Znowu dajesz akumulator przed włącznikiem S1 łącząc pin Vs (L298) z akumulatorem na stałe.
    2. Dodaj kondensator elektrolityczny oraz 100nF przy pinie Vs L298.
    3. Popraw problem z HC05 (!). Przeczytasz wreszcie co jest na nim napisane w okolicy pinów RxD i TxD?
  • #19
    Ataman
    Level 10  
    Witam ponownie !
    Trochę poczytałem. Aż się boję spytać czy chodziło o konieczność zastosowania dwukierunkowego konwertera poziomów celem obniżenia napięcia sygnałów TXT/RXD do 3,3V ?

    Jeśli tak, to czy mógłbyś mi pomóc w poprawnej interpretacji schematu z twojego bloga:
    http://1.bp.blogspot.com/-HvTIf-vrEUc/UnjKKmB...EJo/s320/Konwerter-poziomow-Level-Shifter.gif

    Podobny znalazłem tutaj:
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=13967482#13967482

    Nie wiem jak zastosować to rozwiązanie na schemacie
    Może to przez zmęczenie... sesja trwa :-(

    Załączam poprawiony schemat PCB

    Dziękuję za dotychczasową pomoc :-)
  • #20
    dondu
    Moderator on vacation ...
    Ataman wrote:
    Trochę poczytałem. Aż się boję spytać czy chodziło o konieczność zastosowania dwukierunkowego konwertera poziomów celem obniżenia napięcia sygnałów TXT/RXD do 3,3V ?

    Jeśli tak, to czy mógłbyś mi pomóc w poprawnej interpretacji schematu z twojego bloga:
    http://1.bp.blogspot.com/-HvTIf-vrEUc/UnjKKmB...EJo/s320/Konwerter-poziomow-Level-Shifter.gif

    Podobny znalazłem tutaj:
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=13967482#13967482

    Nie wiem jak zastosować to rozwiązanie na schemacie
    Może to przez zmęczenie... sesja trwa :-(

    No nareszcie :)
    Możesz zastosować taki jakie wskazałeś lub zwykły dzielnik rezystorowy. Taki konwerter jest potrzebny tylko na pinie TxD mikrokontrolera, by nie przekraczać 3,3V na pinie RxD HC-05.
  • #21
    Ataman
    Level 10  
    Witaj @dondu
    Uff, nareszcie coś mi się "udało"
    Idąc za twoimi wskazówkami postanowiłem zastosować dzielnik rezystorowy.
    Załączam poprawiony schemat, który robiłem w przerwie między egzaminami :-(
    Czy mógłbyś go sprawdzić, bo chciałbym popracować nad PCB.
    A może mógłbym liczyć na jakiś przykład dobrze zrobionej płytki lub wskazówki na co zwrócić uwagę?
    Niestety mam pewne ograniczenia:
    - złącze BT musi pozostać nie ruszone (jak na foto wyżej)
    - zasilanie i wyprowadzenia na silniki też powinny pozostać w tych samych okolicach (choć niekoniecznie - kwestia poprowadzenia przewodów)
    Dziękuję za cierpliwość i duuuuuużą pomoc :)
  • #22
    dondu
    Moderator on vacation ...
    1. Dzielnik OK.
    2. W kilku miejscach nie ma na szhemacie symbolu połączenia (junction) - wprawdzie połączenia są prawidłowe (sprawdzałem) ale by być pewnym junction dodawaj.
    3. Kondensator c13 dałbym znacznie większy bo Twoje silniki jednak sporo prądu będą pobierały.
    4. C13 ma zły kierunek.
    5. Złącza programatora nie dodajesz?
  • #23
    Ataman
    Level 10  
    Witaj @dondu

    Ad. 1 - :-)
    Ad. 2 - poprawiłem
    Ad. 3 - "znacznie większy" - czy np. 470 uF może być?
    Ad. 4 - w tym projekcie nie planuję (mało czasu). ATmegę zamontuje na PCB w podstawce i będę programował z wykorzystaniem Arduino. Nie dorobiłem się jeszcze USBasp :-(

    Proszę o podpowiedź z C13
  • #25
    Ataman
    Level 10  
    Witam
    Wczoraj w nocy zacząłem projektować płytkę. Prawie skończyłem.
    Czy ktoś mógłby mi sprawdzić czy nie ma błędów.
    Będę zobowiązany, za wszelkie wskazówki.
    Nie chcę popełnić błędu bo mam tylko jedno podejście.
    Aha, PCB będę wykonywał metodą termotransferu.
    Proszę zwrócić uwagę na poprowadzenie GND między padami L298 - będzie dobrze?

    Do @dondu
    Dziękuję Ci za pomoc...
    Załączam pliki Eagle'a do sprawdzenia.
  • Helpful post
    #26
    emarcus
    Level 38  
    Ataman wrote:
    Witam
    Wczoraj w nocy zacząłem projektować płytkę. Prawie skończyłem.
    Czy ktoś mógłby mi sprawdzić czy nie ma błędów.
    Będę zobowiązany, za wszelkie wskazówki.
    Nie chcę popełnić błędu bo mam tylko jedno podejście.
    Aha, PCB będę wykonywał metodą termotransferu.
    Proszę zwrócić uwagę na poprowadzenie GND między padami L298 - będzie dobrze?


    Wydaje się że na PCB masz zbyt wąskie ścieżki prądowe zasilania silników, a także GND.
    Borąc pod uwagę że stosujesz popularny laminat 35 mikronów, to ścieżki te są z grubsza o połowę za wąskie.
    poniżej przykład z calculatora:
    Atmel Atmega328P - Zmiana zasilania powoduje uszkodzenie mikrokontrolera.

    e marcus
  • #27
    dondu
    Moderator on vacation ...
    Ataman wrote:
    Do @dondu
    Dziękuję Ci za pomoc...

    Nie ma za co :)


    Ataman wrote:
    Załączam pliki Eagle'a do sprawdzenia.

    Schemat OK, ale PCB (oprócz uwagi emarcus):

    1. Jaką metodą chcesz wykonać? Pytanie istotne, bo niektóre ścieżki są bardzo blisko siebie.

    2. Rozlej masę GND (polygon) na obu stronach płytki (obrysowując całą płytkę) kasując wcześniej wszystkie ścieżki GND na płytce (ale nie na schemacie):



  • #28
    Ataman
    Level 10  
    Witajcie Panowie

    Dzięki za cenne uwagi i spostrzeżenia.
    Trochę się nie odzywałem, ale w tym czasie przeprojektowałem całą płytkę.
    Załączam pliki Eagle'a - proszę o sprawdzenie :-)
    Czas już mnie strasznie goni :-(

    Po zastosowaniu tzw. polygon'u na obu warstwach bardzo ładnie znalazło mi prawie wszędzie masę (dla pewności dodałem kilka przelotek). Jednak poszczególne obszary GND na warstwie bottom fizycznie nie są połączone z masą. Rozumiem, że program założył z automatu, że nóżki elementów przewlekanych (rezystory, diody, kondensatory ceramiczne) będą robić za przelotki...?
    Jeśli tak, to trzeba samemu pokombinować w których miejscach lutować obustronnie czy jest jakaś funkcja Eagle'a która to "pokazuje"?

    Do @dondu
    Płytka będzie robiona metodą termotransferu o czym wspomniałem we wcześniejszym poście.

    Jak uważacie - można włączać żelazko ? :-)
  • #29
    dondu
    Moderator on vacation ...
    Ataman wrote:
    Jednak poszczególne obszary GND na warstwie bottom fizycznie nie są połączone z masą. Rozumiem, że program założył z automatu, że nóżki elementów przewlekanych (rezystory, diody, kondensatory ceramiczne) będą robić za przelotki...?

    Dobrze rozumiesz.

    Ataman wrote:
    Jeśli tak, to trzeba samemu pokombinować w których miejscach lutować obustronnie czy jest jakaś funkcja Eagle'a która to "pokazuje"?

    Nie ma bo otwory z zasady są metalizowane.

    Ataman wrote:
    Jak uważacie - można włączać żelazko ? :-)

    Moim zdaniem można :)
  • #30
    Ataman
    Level 10  
    Dzięki za szybką odpowiedź.
    Jeśli uważasz, że projekt jest OK to jutro biorę się do roboty ;-)
    Jak skończę i uruchomię (mam nadzieję że będzie działać) to się odezwę.

    Jeszcze jedno. Czy po zakończeniu lutowania (bez cynowania i soldermaski) trzeba/warto zmywać kalafonię? Mam tylko spirytus "spożywczy" - może być jakby co?
    Pozdrawiam