Elektroda.pl
Elektroda.pl
X
Arrow Multisolution Day
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega16 i Atmega32 zaprogramowane ale nie działają - dlaczego?

Krzysztof_lolek 15 Sie 2013 13:28 2763 21
  • #1 15 Sie 2013 13:28
    Krzysztof_lolek
    Poziom 11  

    Witam!
    Drodzy forumowicze mam problem z procesorami atmega 16 i 32. Sytuacja wygląda następująco jeden procek Atmega16 programuje się i wkładam do układu (zegarek pcf8563+nRF24L01(termometr berzewodowy) i wszystko działa. Biorę drugą atmegę też 16 i też na 16Mhz i program się wgrywa ale zegarek nie startuje na wyświetlaczu nie ma nic. Zrobiłem testy na Atmega 32 jedna dział w solar track-u mojej roboty druga leżała nowa w pudełku. Obie się programują ale żadna nie dział w zegarze o którym pisałem wcześniej. Ale na przemian w solar tracku po zaprogramowaniu działa wszystko. O co w tym wszystkim chodzi co się może dziać, że dwa te same układy, a zachowują się tak dziwnie. Dodam że programuję w BASCOM-ie 2.0.7.3. Kasowałem fusbity, JATG wyłączony aby mieś dostęp do reszty portów i nic. Proszę o sugestie i porady w tej saprawie bo nie mogę sobie z tym poradzić. Dzięuję i pozdrawiam!

    0 21
  • Arrow Multisolution Day
  • #2 15 Sie 2013 13:40
    Kuniarz
    Moderator Projektowanie

    Jesteś pewny, że program poprawnie się wgrał ? Zdarzało mi się czasem, co prawda na A2560, że po zaprogramowaniu była lipa, ponowny proces programowania rozwiązywał problem.
    Pokaż może schemat tego zegara, generalnie A16 i A32 są zgodne pinami, więc powinno działać, ale diabeł tkwi w szczegółach.

    0
  • #3 15 Sie 2013 13:47
    Krzysztof_lolek
    Poziom 11  

    Ale wgrywam program do procka wtedy jak znajduje się w zegarze (płytce zegara) i na jednym A16 dział a na drugim nie. W płytkę z zegarem ma wlutowane idc10. Może to że jest podłączony nRF24L01 do pinów MOSI, MISO, SCK, ale na tej jednej atmedze działa to dlaczego na innych nie. Dodałem widok procka z podpiętym PCF8563 i idce do programowania i nRF24L01. Piny PA1-PA5 sterują wyświetlaczem.

    0
  • Arrow Multisolution Day
  • #5 15 Sie 2013 14:06
    Krzysztof_lolek
    Poziom 11  

    Wszystkie były programowane w tej płytce po to zresztą robię zawsze idc 10 aby móc szybko i łatwo podpiąć do programatora.

    Uściśłę jeszcze że procek rusza pokazuje tekst powitania i wpda do instrukcji warunkowej if i tam już zostaje. Wniskuje po tym że na wyświetlaczy widać znak który w tej instrukcji jest zdefiniowany do wyświetlenia.

    Programowałem w innej płytce też nie działa.

    0
  • #7 15 Sie 2013 14:38
    Krzysztof_lolek
    Poziom 11  

    Co do JATAG to jak odczytuje fusbity to nie ma przy nim ptaszka w AVR Burn-O-Mat. Tak więc zakładam, że jest wyłączony. Może to problem związany z konfiguracją portów przez BASCOM???

    0
  • #8 17 Sie 2013 09:21
    Krzysztof_lolek
    Poziom 11  

    Witam ponownie!
    Wracam do mojego problemubo chyba znalazłem w czym tkwi problem z programowaniem i nie działanie programu. Jestem na etapie odpalenia nadajnika nRF24L01 i tutaj jest problem. A mianowicie na jednej atmedze 16 wszystko działa tzn. nadajnik zrobiony jest na atmedze 8 mirzy temperaturę i przesyła do atmegi 16 do której wpięty jest drugi nRF24L01 - i wszytko ok. Ale jak wymienię atmegę 16 na 32 to już nie chce działać. Tak jakby SPI nie działało - poniżej zamieszczam konfigurację SPI musi być sprzetowa bo nRF24L01 z programową nie działa.

    Kod: jezyk_programowania
    Zaloguj się, aby zobaczyć kod


    Nie rozumiem dlaczego tak się dzieje że na jednym procku jes wszytsko ok ale już na innym nowy ze sklepu już nie - czy ktoś mógłby mnie oświecić, bo nie mogę znaleźć odpowiedzu, która pomogła by mi rozwiązać ten problem???

    0
  • #10 17 Sie 2013 10:03
    Krzysztof_lolek
    Poziom 11  

    Dziękuję dondu za radę ale nie w tym jest problem, bo już to wszystko sprawdzałem.Problem jest tego typu, że jeden procek A16 działa ale już inny A16 nie działa - podobie jak A32 a różnica pomiedzy A16 i A32 jest taka, że różnią się głównie wielkością pamięci. Dziękuję za zainteresowanie ale nie w tym rzecz.

    Może doprecyzuje pytanie: chciałbym wiedzieć czy SPI sprzetowe w procesorach Atmega 16 Atmega 32 wymaga ustawień w Fuse bits. W załączniku przedstawiam jpg ustawienia Fuse bits dla działajaćej atmegi 16 i nie działajacej Atmegi32 (tzn nie działające - działa wszystko oprócz obsługi nRF24L01).

    Może to zobrazuje sytuacje i mi coś doradzi.

    0
  • #12 17 Sie 2013 10:29
    Krzysztof_lolek
    Poziom 11  

    Dodaje jeszcze schemat urządzenia z naniesonymi oznaczniami dla nRF24L01.
    Wiadom że głowy sobie nie dam odciąć że wszytsko jest ok.

    0
  • #14 17 Sie 2013 10:35
    dondu
    Moderator Mikrokontrolery Projektowanie

    Krzysztof_lolek napisał:
    Dziękuję dondu za radę ale nie w tym jest problem, bo już to wszystko sprawdzałem.Problem jest tego typu, że jeden procek A16 działa ale już inny A16 nie działa - podobie jak A32 a różnica pomiedzy A16 i A32 jest taka, że różnią się głównie wielkością pamięci. Dziękuję za zainteresowanie ale nie w tym rzecz.

    Pokazujesz schemat w którym nie jest prawidłowo podłączony mikrokontroler i jego porty, które używasz nie będą działały prawidłowo. Jeżeli więc masz tak podłączony, jak na pokazanym schemacie, to najpierw wyeliminuj problemy o którym jest mowa w pierwszym linku.

    W przeciwnym wypadku, możesz kombinować z programem co zechcesz i tak nie będzie działać prawidowo. Poza tym RESET także masz źle podłączony o czym także jest mowa a artykule z pierwszego linku.

    Jeżeli więc nadal uważasz, że nie ma znaczenia, czy prawidłowo podłączysz mikrokontroler, czy nie, to proponuję abyś usunął z silnika swojego samochodu olej, i pojechał w trasę - Twój wybór :)

    Radzę więc przeczytać pierwszy link i zrozumieć, dlaczego źle robisz.

    A fusebity o których wspomina Piotr także sprawdź.

    0
  • #15 17 Sie 2013 10:37
    Krzysztof_lolek
    Poziom 11  

    Wszystko to sprawdziłem i dalej nie działa już pisałaem o tym wcześnie. Np. w tym momencie mam działajacy ten układ na jedej atmedze 16 ale jak włoże 32 to już wgran soft (oczywiście po zmianie typu procesora już nie działa). Co do zasilania to musze z czegość zrobić 3,3V czy to musi być LM317T z regulacją?

    0
  • #16 17 Sie 2013 10:38
    dondu
    Moderator Mikrokontrolery Projektowanie

    Krzysztof_lolek napisał:
    Wszystko to sprawdziłem i dalej nie działa już pisałaem o tym wcześnie.

    My o kozie Ty o wozie.
    Ile razy trzeba Ci powtórzyć, że masz nieprawidłowo podłączony mikrokontroler, jeżeli jest tak jak na schematach które pokazujesz?

    Poświęć 10 minut i przeczytaj artykuł eliminuj problemy po kolei, albo męcz się dalej.

    0
  • #17 17 Sie 2013 10:42
    Krzysztof_lolek
    Poziom 11  

    To co jest źle podłączone ten reset który ma mieć jeszcze VCC przez rezystor .Panowie ile razy mam powtarzać, że przerobiłem to - restet ma podpiętego VCC przez rezystor, AVCC jest podpięty do plus schemat nie ma tego jeszcze naniesionego zrobię to w wolnej chwili. Ale mimo tych poprawek i tak nie dział na innych układa - powtarzam jedna atmeg działa druga już nie chce - czy ktoś z Was jest wstanie odpowiedzieć na to pytanie dlaczego jeden egzemplarz chodzi a drugi nie skoro jest nowy ze sklepu? Artykuł przeczytałem i pozmieniał na płytce tak jak tam piszą dodając rezystor do reset-u i VCC do AVCC i dalej nic!!!

    0
  • #18 17 Sie 2013 10:54
    dondu
    Moderator Mikrokontrolery Projektowanie

    Krzysztof_lolek napisał:
    Panowie ile razy mam powtarzać, że przerobiłem to - restet ma podpiętego VCC przez rezystor, AVCC jest podpięty do plus schemat nie ma tego jeszcze naniesionego zrobię to w wolnej chwili.

    Nigdzie wcześniej o tym nie napisałeś. Pisałeś jedynie, że sprawdziłeś, a nie że dokonałeś poprawek. Wyrażaj się więc ściśle, bo to elektronika, a nie sztuka.

    Czy jesteś pewien, że ten który nie chce działać, nie jest uszkodzony?
    Jeżeli tak i ustawienia w BASCOM masz odpowiednie (tak jak piszesz), to rzuć okiem jeszcze na: http://www.gaw.ru/pdf/Atmel/app/avr/AVR089.pdf

    Popatrz także na erraty w każdym z datasheet obu mikrokontrolerów.

    0
  • #19 17 Sie 2013 11:03
    Krzysztof_lolek
    Poziom 11  

    Tutaj mnie już to przerasta tzn jak wykorzystać table przerwań którą mi dosłałeś i co to są erraty?
    Przepraszam że nie doprecyzowałem kwesti poprawek z AVCC i reset-em podpiętym do plusa.

    0
  • #20 17 Sie 2013 11:08
    dondu
    Moderator Mikrokontrolery Projektowanie

    Krzysztof_lolek napisał:
    Tutaj mnie już to przerasta tzn jak wykorzystać table przerwań

    Nie znam BASCOm więc nie wiem, czy używasz przerwań i jaki to może mieć ewentualny skutek dla Twojego programu.

    Krzysztof_lolek napisał:
    ... co to są erraty?

    Errat szukaj pod koniec datasheet mikrokontrolerów: http://mikrokontrolery.blogspot.com/2011/04/erraty-utrapienie-elektronikow.html

    Krzysztof_lolek napisał:
    Przepraszam że nie doprecyzowałem kwesti poprawek z AVCC i reset-em podpiętym do plusa.

    Nie ma za co - ja jestem bardzo cierpliwy :-)

    0
  • #21 17 Sie 2013 12:10
    Krzysztof_lolek
    Poziom 11  

    Panowie odpaliłem już mój układ na innej atmega 16 trzeba zmienić jedną rzecz w konfiguracji SPI sprzętowy. Jednak mam problem z Atmegą 32 bo tam wciąż nie działa, nie odczytuje danych z nadajnika. I tu mam konkretne pytanie gdyż dla amegi 8 dla której pierwotnie był przygotowany soft w BASCOM-ie to wektory przerwań dla SPI są takie same dla A8 i A16 bo w tabel mają numer 11. Natomiast dla A32 ma numer 13 co to może oznaczać i jak to skonfigurować czy wogóle można???

    Panowie poniższy konfiguracja SPI działa na ATMEGA16 ale nie dziła na ATMEGA32 w czy może być problem?

    Kod: jezyk_programowania
    Zaloguj się, aby zobaczyć kod

    0
  • #22 17 Sie 2013 23:07
    Krzysztof_lolek
    Poziom 11  

    Dziękuję wszystkim za pomoc ale skoro problem leży przy konfiguracji SPI to założyłem nowy post w opowiednim dziale z opisem, kóry konkretnie opisuje moje obecne trudności ten temat zamykam aby nie zabierać nikomu już czasu. Jeszcze raz dziękuję za wszystko.

    0