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



Teraz jest 30 gru 2024, o 17:08


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 4 gości


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO