Skocz do zawartości

ATMega64 -> ATMega128 w Turnigy 9X


Gites
 Udostępnij

Rekomendowane odpowiedzi

Cześć,

Parę dni temu usmażyła mi się w aparaturze ATMega64.

 

Historia

Jeszcze zanim zacząłem wprowadzać modyfikacje (złącze programatora, podświetlenie) przeprowadzając oględziny płytki zauważyłem, że cewka łącząca masy (analogową z cyfrową) wygląda jakby przeszło przez nią dużo prądu (poczerniała i nawet płytka dookoła była wyraźnie ciemniejsza). Zbagatelizowałem znalezisko bo aparatura działała. Po zaprogramowaniu z ER9X również wszystko działało ok... przez jakiś tydzień. Nagle aparatura zaczęła się zachowywać tak, że po włączeniu działała parę sekund a potem się wyłączała - zupełnie jakby padało zasilanie. Sprawdziłem, że regulator 5V grzeje się tak, że nie sposób go dotknąć (niestety biedaczek musiał radzić sobie z zasilaniem z LiPola 3S). Napięcie na jego wyjściu pływało od 1 do 4 V - zupełnie jakby coś pobierało za dużo prądu i zaczynało działać ograniczenie termiczne. Odlutowałem nogę wyjściową i zmierzyłem napięcie bez obciążenia - niestety dostał na tyle, że przestał trzymać parametry. Pod ręką miałem 7805 w wersji 1A więc go wlutowałem. Przed włączeniem coś mnie tknęło i zmierzyłem omomierzem ile jest pomiędzy wyjściem stabilizatora a masą - było około 20 ohm więc na bank zwarcie gdzieś dalej w układzie. Cóż... postanowiłem włączyć na sekundę i sprawdzić co się zrobi ciepłe... i zadymiło się z ATMegi64 :) Trochę jeszcze kombinowałem z odłączeniem nóg masowych mikrokontrolera ale jedyne co osiągnąłem to możliwość programowania jednak uC nie startował.

 

ATMega64 -> ATMega128

Jak wymieniać to na większe - zakupiłem ATMegę128 :) Niestety już po wlutowaniu zorientowałem się że miałem odlutować cewkę łączącą masy i sprawdzić czy nie ma zwarcia pomiędzy masami. Odlutowałem ją po tym fakcie i niestety było przejście między padami. Zakładając, że żaden z kondensatorów nie zwiera to...

 

Pytanie 1: Czy wyłączona ATMega zwiera wewnątrz masy analogową i cyfrową?

 

Nowa ATMega128 zaprogramowała się poprawnie ale zorientowałem się że muszę sam skompilować nowy firmware (ER9X) dla większego mikrokontrolera. Zrobiłem to, wgrałem... i efekt taki, że świeci się podświetlenie i nic nie ma na wyświetlaczu. 7805 nagrzewa się do temp. 50C i nie jestem pewien czy nie za mocno (musi zbić z 12V do 5V przy pobieranym prądzie pewnie max. 100mA). Szczerze powiedziawszy nie jestem pewien czy jedyne co musiałem zrobić to kompilacja pod nowy mikrokontroler czy może zapomniałem czegoś zrobić, np. jakieś specjalne ustawienie fuse-bitów. Znów zagłębiłem się w schemat i postanowiłem sprawdzić drugi stabilizator (3V), który zasila wyświetlacz. Okazało się, że i on nie trzyma parametrów (zapewne dostał po tym jak 5V stabilizator podał mu pełne napięcie z pakietu). Wylutowałem go i dziś po pracy zamierzam kupić zamiennik. Tak czy siak nawet przy nie działającym wyświetlaczu powinienem usłyszeć sygnał buzzera przy włączaniu aparatury.

 

Pytanie 2: Czy jest możliwe żeby mikrokontroler wstrzymał działanie w przypadku braku komunikacji z wyświetlaczem?

 

Pytanie 3: Jak sprawdzić czy ATMega żyje i wykonuje prawidłowo swój program?

 

Prośba: Czy ktoś mógłby mi podesłać dowolny (ale sprawdzony - działający) firmware dla 9X skompilowany pod ATMegę128? Chciałbym wykluczyć problem ze skompilowanym przeze mnie firmwarem.

Odnośnik do komentarza
Udostępnij na innych stronach

ad 1. Tu nie wiem, zgadywać nie chcę.... Zostaje sprawdzić noty katalogowe lub zmierzyć inną działającą ATMega128.

 

ad 2: wszystko zależy od programu działania programu a nie od ATMegi. Odnośnie ER9x się nie wypowiem. RadioClone działa bez wyświetlacza.

 

ad 3. wgrać znany prosty sprawdzony i działający program ;) Np miganie diodką podłączona pod jakiś pin.

 

ad Prośba: Pobierz dowolny program (firmware) skopiowany pod ATMega64 i już. NIC NIE TRZEBA PRZEKOMPILOWYWAĆ!

 

Na koniec małe wyjaśnienie . ATMega64 i 128 są w pełni zgodne. Programy z 64 uruchamiają się bez żadnych zmian na 128... Procesory te różnią się tylko rozmiarem pamięci FLASH i EEPROM (może jeszcze kilka nieistotnych szczegółów).

 

Jeżeli miałbym zgadywać gdzie jest problem to sprawdź Fuse Bits odpowiedzialne za wybór taktowania procesora. Fabrycznie 128-ka ma ustawiony wewnętrzny oscylator 1MHz... to o wiele za mało. RadioClone będzie działać, ale tragicznie wolno (szczególnie pierwsze uruchomienie), Er9X może nie zadziałać (nie testowane) ponieważ bazuje na dużej ilości kodu uruchamianego w przerwaniach.

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuję Rafit.

Orientujesz się może ile prądu pobiera wyświetlacz? Chodzi mi o kontroler + matryca.

Co do ustawiania fuse bitów to niestety ale ciemna masa tutaj ze mnie. Jedyne co byłem w stanie zrobić to sprawdziłem mkAVRCalculator że faktycznie zegar był ustawiony na 1 MHz jak przypuszczałeś. Zmieniłem to - mikrokontroler nadal nie startuje. Byłbym niezmiernie wdzięczny jeśli rzuciłbyś okiem na moje ustawienia - zrzuty ekranu w załączeniu.

post-4146-0-61589600-1337891079.jpg

post-4146-0-97176000-1337891088.jpg

post-4146-0-29105000-1337891098.jpg

post-4146-0-47693300-1337891104.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

Chłopaki! Ja Was normalnie po stopach całować będę :D Moja nowa ATMega128 ruszyła. Rafit zwrócił mi uwagę żebym zajął się bezpiecznikami a konfiguracja Arka pozwoliła mi na poprawne ich poustawianie - dzięki, dzięki, dzięki :)

Tak tylko krótko jak to wyglądało... Nie chciałem nadwyrężać padów kolejnym lutowaniem więc stwierdziłem, że jako "wskaźnik wizualny" wykorzystam pin 17, do którego mam podłączony włącznik podświetlenia wyświetlacza. Napisałem prościutki programik w AtmelStudio6 żonglujący jednym bitem. Kombinowałem z bezpiecznikami ale jako że ATMega to dla mnie świeży temat to więcej się kręciłem w kółko niż posuwałem do przodu. Po przeanalizowaniu konfiguracji Arka, poustawiałem bezpieczniki i ... ekran ożył (mrugające co sekundę podświetlenie). Dalej to już z górki czyli wypalenie modelarskiego firmwareu i banan na buzi na widok działającej aparatury.

Pozdrawiam,

Gites

Odnośnik do komentarza
Udostępnij na innych stronach

Zupełnie nic... choć większą pamięć można wykorzystać optymalizując kompilowany kod pod względem prędkości działania - HEX będzie większy ale uzyskasz nieco więcej wydajności. Poza tym można spróbować zbudować na boku nieoficjalny HEX zawierający wszystkie funkcjonalności które wcześniej się nie mieściły, np. wsparcie dla FrSKY i jednocześnie dla kart SD (tu akurat dochodzi kombinatoryka na sprzęcie bo pinów jest za mało).

Odnośnik do komentarza
Udostępnij na innych stronach

Pytanie 1: Czy wyłączona ATMega zwiera wewnątrz masy analogową i cyfrową?

GND tak, ale AVCC już nie.

Dlatego zawsze trzeba dbać o prawidłowe podłączenie i filtrowanie wszystkich pinów zasilających.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 miesiące temu...

GND tak, ale AVCC już nie.

Dlatego zawsze trzeba dbać o prawidłowe podłączenie i filtrowanie wszystkich pinów zasilających.

 

ja osobiście w podobnych konstrukcjach stosowałem sporo dodatkowych kondensatorów 0.1 mikrofarada, zaraz przy stabilizatorze i zaraz przy nóżkach zasilających mikrokontrolera. Dodatkowo w układach z zasilaniem modułu cyfrowego i analogowego gdzie miałem do czynienia z dwiema oddzielnie taktowanymi układami (uC + synteza DDS) stosowałem kawałki uciętej nóżki np. kondensatora, na którą zakładałem rureczkę ferrytową, taki mały "dławik". Sądząc po obrazach na oscyloskopie pomagało sporo i procesor znacznie mniej zakłócał pozostałe moduły, w tym radiowe.

 

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

Wystarczy przejrzeć datasheet, wsyzstko jest dokładnie opisane-na zasilaniu AVCC dławik 10uH + kondensator 100nF.

 

czyli już trzeci post o tym samym ;) zaczęło się o filtrowaniu, więc wyjaśniłem jak to rozwiązuję - dodaję więcej kondensatorów i dławiczków niż w datasheet, wszystko widać ładnie na oscyloskopie, gdzie i czego dodać. koralik ferrytowy - rureczka ferrytowa, jedna rzecz inne nazewnictwo, próbowałem to wyjaśnić obrazowo. kondensator 100 nF = 0.1 mikrofarada

 

Pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.