Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 8 kwi 2025, o 20:27


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
    Autor Wiadomość
    PostNapisane: 25 kwi 2016, o 19:59 
    Offline
    Użytkownik

    Dołączył(a): 16 lut 2012
    Posty: 219
    Pomógł: 1

    Witam!
    Złożyłem układ z ATmega2561 SMD. Schemat i płytkę umieszczam niżej (na schemacie jest ATmega128, bo w Eaglu nie było 2561, ale ona różni się tylko tym, że w 128 jest pin PEN, w 2561 go nie ma). Zasilanie i podłączenie mikrokontrolera jest na pewno dobrze.

    Problem jest tego typu, że jak wgram program:

    Kod:
    #include <avr/io.h>
    #include <avr/interrupt.h>

    int main(void)
    {
       DDRD|=(1<<PD7);
       PORTD|=(1<<PD7);
       

        while(1)
        {
            //TODO:: Please write your application code
        }
    }


    To Buzzer (PORTD|=(1<<PD7)) zaczyna wydawać dźwięk z częstotliwością ok. 20hz.
    Wygląda na to jakby się procesor resetował. Zasilanie sprawdzone, jest ok, żadnych tętnień (mierzone oscyloskopem).
    Dołożyłem także do AVREF 100nF do masy. Reset podciągam 10kohm.
    Dodam także, że MISO i MOSI jest na pinie PE0 i PE1, bo z tym też miałem problem, ale procesor się teraz programuję bez problemu po ISP.


    Miał może ktoś podobny problem?

    Zjawisko to jest przy kwarcie 8HMZ, jak i wewnętrznym taktowaniu 8Mhz.

    ObrazekObrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2016, o 20:23 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2015
    Posty: 269
    Pomógł: 34

    Zrób coś w pętli, bo zapewne po skończeniu main (kompilator usuwa while, bo tam nic nie ma i nic nie robi) Procek się resetuje. ;)
    Tak mi się wydaje na moją skromną wiedzę. :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2016, o 20:30 
    Offline
    Użytkownik

    Dołączył(a): 16 lut 2012
    Posty: 219
    Pomógł: 1

    Dzięki za odpowiedź. Tak też zrobiłem, niestety dalej ten sam efekt. Za każdym razem jest ta sama częstotliwość. Układ nie jest obciążony...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2016, o 20:36 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    A nie ustawiłeś fusami watchdoga w tryb Watchdog Timer Allways On?

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2016, o 20:43 
    Offline
    Użytkownik

    Dołączył(a): 16 lut 2012
    Posty: 219
    Pomógł: 1

    Próbowałem tym bitem od watchdoga co piszesz, ale dalej to samo. Jak jest ustawiony ten bit albo wyłączony to nie ma róźnicy.

    Obrazek



    Ostatnio edytowano 26 kwi 2016, o 07:13 przez Klucha, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 07:10 
    Offline
    Użytkownik

    Dołączył(a): 16 lut 2012
    Posty: 219
    Pomógł: 1

    Może po prostu przy tym procku jest jeszcze coś sprzętowego albo softowego o czym trzeba pamiętać przy uruchomieniu, albo dokładniej zajrzeć w dokumentację, tak jak to było z programowaniem po ISP. Tylko, że już wszystko przeglądałem i na nic nie natrafiłem...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 13:35 
    Offline
    Użytkownik

    Dołączył(a): 16 lut 2012
    Posty: 219
    Pomógł: 1

    Ktoś ma może pomysł co to może być? Chociaż jak sprawdzić czy to jest to, że się procesor resetuję? Bo teraz tak to wygląda...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 15:27 
    Offline
    Użytkownik

    Dołączył(a): 26 lut 2014
    Posty: 227
    Lokalizacja: LDZ
    Pomógł: 22

    Kolego popraw te byki bo aż w oczy kłuje. Ty się resetujesz czy procesor, bo jak procesor to resetuje a nie resetuję. Co do głównego tematu to wrzuć kod to może ktoś coś znajdzie, bo z fusów to nie każdy umie wróżyć. To czy procesor się zachowuje tak jak powinien zależy od wielu czynników.

    Wysłane z mojego LG-E460 przy użyciu Tapatalka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 16:25 
    Offline
    Użytkownik

    Dołączył(a): 16 lut 2012
    Posty: 219
    Pomógł: 1

    Kolego, jeśli chodzi o kod to już wstawiłem. To jest tylko to :
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Po prostu wystawiam "1" na bramkę tranzystora albo na wyjście tranzystora od podświetlenia LCD i jest ten sam efekt - miganie i brzęczenie buzzera o częstotliwości ok. 20Hz. Nie ma właściwie żadnego programu.

    O jakich bykach piszesz? Przy każdym pinie VCC i GND jest 100nf, a reset jest podciągnięty 10k do VCC. Aref jest podciągnięte przez 100nf do masy. Fusy ustawione na zewnętrzny kwarc.
    Ciężko mi określić czemu tak się dzieje. Wygląda tak jakby się resetował, bo nie wiadomo jaki byłby program to zachowuję się tak samo. Gdy ten pin nie będę ustawiać jako wyjście to tego efektu nie ma... Program po ISP wgrywa się bez problemu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 17:18 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 lis 2015
    Posty: 1448
    Lokalizacja: okolice Warszawa
    Pomógł: 149

    Witam
    Tak sobie myślę głośno.
    A na jakie napięcie jest ten buzer ?

    może R9 zbędny.



    Ostatnio edytowano 26 kwi 2016, o 17:36 przez Daro69, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 17:21 
    Offline
    Użytkownik

    Dołączył(a): 22 gru 2013
    Posty: 296
    Lokalizacja: Szczecin
    Pomógł: 47

    Prosty test: odlutuj R8 od pinu procesora i :
    1-dołącz do masy- jaki efekt?
    2-dołącz do Vcc - jaki efekt?

    p.s.
    buzzer aktywny /pasywny?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 17:44 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Zacznij od wyłączenie fusów dla Watchdog Timer Always On oraz nie ustawiania wektora startowego różnego od 0x0000 (chyba, że na pewno nasz tam działający bootloader).
    Jakim napięciem zasilasz układ? Na pewno jest ono stabilne? Czy masz podłączone jakieś układy do pinów czy na razie jest tylko sam procesor?

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 17:56 
    Offline
    Użytkownik

    Dołączył(a): 16 lut 2012
    Posty: 219
    Pomógł: 1

    Problem jest tego typu, że gdy zrobię ustawienia fabryczne w MKAVR Calculator i wgram to do procesora to jest ok (tzn. nic nie miga oraz nie ma programu), (UWAGA, gdy tak zrobię w mkavr calculator po ponownym zczytaniu ustawień procka w fusach uproszczonych mam ptaszek tylko i wyłącznie na CLKDIV8, nie ma ptaszka na wewnętrznym kwarcu bądź zewnętrznym). Natomiast, gdy postawię ptaszek na kwarcu wewnętrznym, bądź zewnętrznym i wgram same fusy do procka to zaczyna się dziać ten problem. Tak jakby źle mi ustawienia fusów wgrywał. W pewnym momencie udało mi się dojść do etapu, że wyświetlacz z funkcją _delay_ms zaczął migać tak jak ma, ale później znowu coś się wysypało.

    W momencie, gdy zmienie obojętnie jaki bit od fusów, wszystko się wywala - zaczyna migać ten bit, który jest ustawiony jako wyjście z Pullup np.
    DDRD|=(1<<PD7);
    PORTD|=(1<<PD7);



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 20:07 
    Offline
    Użytkownik

    Dołączył(a): 26 lut 2014
    Posty: 227
    Lokalizacja: LDZ
    Pomógł: 22

    Pisałem o bykach gramatycznych/ortograficznych. Ja bym na Twoim miejscu sprawdził czy nie masz jakiegoś zwarcia. Ew. może procek uszkodzony. Daj porządne zdjęcie płytki. Dodatkowo co jest źródłem zasilania? Czy przypadkiem nie zasilasz układu z programatora i zewnętrznego zasilacza na raz? Cudów nie ma. Jakie masz flagi gcc i linkera? Oczywiście fusebit watchdog always on ma być wyłączony.

    Wysłane z mojego LG-E460 przy użyciu Tapatalka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 22:14 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    Nie podawaj opisu co i jak klikasz by włączyć fuse, tylko jakie masz wartości fuse - u góry w mkAVRCalculatorze są podane 3 wartości LOW, HIGH, EXTENDED i je podawaj.
    Wrzuć cały wygląd płytki a nie tylko kawałek.
    Podaj jakie masz zasilanie.
    Wrzuć cały pliki wynikowe (lss i hex) jakie generuje Ci kompilator w katalogu Release (a najlepiej spakuj cały katalog projektu i go tutaj wrzuć).

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 kwi 2016, o 13:26 
    Offline
    Użytkownik

    Dołączył(a): 16 lut 2012
    Posty: 219
    Pomógł: 1

    Sprawa się wyjaśnia. Z dziwnych przyczyn, gdy łączę się po JTAG z Atmegą przez AVR Studio 7.0 i AVR Dragon procesor po prostu szaleje (zjawisko opisane wyżej). Muszę ręcznie ustawić fusy w polu LOW, HIGH, EXTENDED. Tylko dlaczego tak się dzieje, że JTAG wszystko wywala? Połączenie jest dobre.

    Przez AVR Studio 6.2 nie mogę się połączyć z żadnym procesorem przez AVR DRagon, dlatego użyłem 7.0.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 kwi 2016, o 17:04 
    Offline
    Użytkownik

    Dołączył(a): 26 lut 2014
    Posty: 227
    Lokalizacja: LDZ
    Pomógł: 22

    Szklana kulo... Może w końcu odniesiesz się do tego co napisałem? Nikt Ci nie będzie wróżył z ...niczego.

    Wysłane z mojego LG-E460 przy użyciu Tapatalka



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO