logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega128 - Problemy z programowaniem i sygnałem serwa HXT900 w quadrocopterze

SMYQ 09 Gru 2012 23:22 2373 8
  • #1 11632410
    SMYQ
    Poziom 11  
    Witam,

    Jestem w trakcie tworzenia quadrocoptera na 4 silnikach bezszczotkowych sterowanych przez regulatory. Zadaniem atmegi jest odebranie wypełnienia przez uart (tylko odbiór). Atmega jest zasilana 5V.

    Wykonałem płytkę, zaprogramowałem atmegę, zrobiłem testy. Program nie działał do końca jak chciałem, ale serwo na którym testowałem wypełnienie odbierało sygnał. Chciałem dokończyć pracę na drugi dzień. Co się okazało atmega nie daje się zaprogramować. W końcu doszedłem, że bezpiecznik jest przepalony. Wymieniłem i nic. Serwo tak jakby dostawało jakiś sygnał (zły, ale taki jak dzień wcześniej), tylko buczy. Dzieję się tak, gdy atmega jest wyłączona z zasilania przy włączonej nie dzieje się nic. Dodatkowo jest chwilowa przerwa w działaniu gdy wyślę restart przez programator (ISP).

    Serwo (HXT900) nie jest podłączone pod wyłącznik ani bezpiecznik(który znajduje się na drugiej płytce) - domyślnie cała elektronika będzie zasilana przez BEC z regulatorów. Od razu mówię, że pierwsza płytka działa dobrze, i nie ma na niej żadnych zwarć.

    W związku z sytuacją mam kilka pytań:
    1. Co mogło być przyczyną tej awarii? Przypadkowe zwarcie?
    2. Czy atmega jest na spalona?
    3. Czy płytka jest dobrze zaprojektowana? Chciałbym się upewnić czy przypadkiem to nie ona jest przyczyną awarii.
    4. Czy to serwo może dawać przebicia? Sterowałem tym serwem przez atmege8 i wszystko działało dobrze.

    Atmega128 - Problemy z programowaniem i sygnałem serwa HXT900 w quadrocopterze Atmega128 - Problemy z programowaniem i sygnałem serwa HXT900 w quadrocopterze
  • Pomocny post
    #2 11632645
    dondu
    Moderator na urlopie...
    1. Bawiłeś się fusebitami?
    2. Masz oscyloskop?
    3. Usuń kondensator przy RESET (C1) na czas programowania - może powodować problemy, choć nie musi. Spróbować warto.
    4. Czy serwo i ATmega mają na pewno wspólną masę?

    Uwagi:
    - kondensatory filtrujące powinny być jak najbliżej pinów mikrokontrolera.
    - rozlej masę na PCB.
    - dodaj na wejściu zasilania na PCB kondensator elektrolityczny np. 47µF.

    Zapoznaj się także z tym: http://mikrokontrolery.blogspot.com/2011/04/zasilanie-mikrokontrolera.html
  • #3 11633622
    SMYQ
    Poziom 11  
    Cytat:
    1. Bawiłeś się fusebitami?

    Nie, nie wprowadzałem żadnych zmian.

    Cytat:
    2. Masz oscyloskop?

    Mam dostęp do oscyloskopu.

    Cytat:
    3. Usuń kondensator przy RESET (C1) na czas programowania - może powodować problemy, choć nie musi. Spróbować warto.
    4. Czy serwo i ATmega mają na pewno wspólną masę?

    Tak, sprawdziłem - masa jest ta sama.

    Cytat:
    Uwagi:
    - kondensatory filtrujące powinny być jak najbliżej pinów mikrokontrolera.
    Mam niestety bardzo ograniczoną możliwość rozstawiania elementów. Nie chce lekceważyć tego, ale wolałbym też pozostawić elementy tak jak są.
    - rozlej masę na PCB.
    - dodaj na wejściu zasilania na PCB kondensator elektrolityczny np. 47µF.


    Dzięki za uwagi. Interesuje mnie ten kondensator elektrolityczny na wejściu zasilania - jaki jest cel jego dodania?
  • #4 11633644
    dondu
    Moderator na urlopie...
    1. sprawdź oscyloskopem, czy sygnały sterujące są takie jak się spodziewasz w momentach w których powinny tam być. Oscyloskop to "kopania wiedzy" o przyczynach problemów.

    2. Kondensator taki to tzw. magazyn energii, który ma zabezpieczyć dany moduł przed większymi niż zwykle tętnieniami napięcia zasilającego, które mogą do tego modułu docierać z zewnątrz. Dodatkowo gdyby ten moduł sam wygenerował takie mocne tętnienia, to ten kondensator będzie je wyrównywał. Wspomniałem o tym w linku powyżej.

    3. na punkt 3 nie odpowiedziałeś, chyba że "sprawdziłem" dotyczyło kondensatora na RESET.
  • #5 11633838
    SMYQ
    Poziom 11  
    Dzięki. :) Przypadkowo ominąłem ten punkt. Przed chwilą odlutowałem go i programator przeczytał atmegę, udało się też ją zaprogramować. Jestem Ci bardzo wdzięczny.

    Po przełącznika na OFF dioda nadal miga (program testujący). Bardzo słabo, ale miga. Po odłączeniu serwa (z podłączonym regulatorem dzieje się tak samo) od płytki napięcie znika. Dodaje również zdjęcie mojej płytki rozdzielającej prąd - być może ona jest winna. Połączenie odbywa się przez CTRL 1 i 2 - prąd masa i sygnały PWM do regulatorów.


    Atmega128 - Problemy z programowaniem i sygnałem serwa HXT900 w quadrocopterze
  • #7 11634467
    SMYQ
    Poziom 11  
    Bit zgodności Atmegą103 mam ustawiony na 0.
  • #8 11634901
    m.biruta
    Poziom 16  
    Pytanie z innej beczki: pcb wykonałeś przy pomocy automatycznego prowadzenia sciezek, prawda? Mozna by too wiele lepiej poprowadzic.
  • #9 11635207
    SMYQ
    Poziom 11  
    Zgadza się, jest to poprowadzone automatycznie. Dla człowieka wprawionego i już posiadającego doświadczenie - na pewno masz rację. Uwzględniając moje możliwości i czas jaki posiadam to jest najlepsze do mogę osiągnąć. Co być może jest powodem błędu. Właśnie o sprawdzenie tego Was proszę.
REKLAMA