[atmega162][c] Problem z diodami :(

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
rzepcio
-
Posty: 16
Rejestracja: 03 lip 2009, 18:02
Lokalizacja: Katowice

[atmega162][c] Problem z diodami :(

Post autor: rzepcio » 06 lip 2009, 13:58

Mam diody podpięte w następujący sposób:
Obrazek
Napisałem taki program:

Kod: Zaznacz cały

#include <avr/io.h>
#include <util/delay.h>

 int main(void)
{
DDRC  = 0xFF;
DDRA  = 0xFF;
    while(1)
	{
                   PORTC = 0x00;
                   PORTA = 0X00;
	}
    return 0;
}
Makefile zrobiłem według tego tutorialu: http://www.dioda.com.pl/forum/topics20/ ... -vt513.htm

I jedyne co robi to mignie raz podczas włączania... Co zrobiłem źle?

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 06 lip 2009, 16:20

Po pierwsze masz za duże wartości tych rezystorów. Po drugie pytanie czy zasiliłeś przetwornik (AVCC i AGND), Po trzecie czy wyłączyłeś JTAG.

rzepcio
-
Posty: 16
Rejestracja: 03 lip 2009, 18:02
Lokalizacja: Katowice

Post autor: rzepcio » 06 lip 2009, 16:40

JTAG wyłączyłem, na początku w ogóle nie migały diody na portc, bo właśnie JTAG był włączony. W załączniku obrazek atmegi162, która nie posiada agnd i avcc, a oporniki w czasie projektowania zmieniłem na 1k, kiedy połącze diody razem i podepne do gnd bezpośrednio, to świecą bardzo dobrze. One są z ograniczonym poborem prądu 2mA, a płynie przez nie i tak więcej (jakieś 5mA).

Jeszcze jakieś pomysły? Czy długa linia VCC może mieć jakiś wpływ tutaj? Jakiś za wysoki spadek napięcia? Ale jak zapalam nawet tylko jedną diodę, to też mruga i kaput :cry:
Załączniki
atmega162.PNG

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 06 lip 2009, 16:58

Faktycznie nie ma przetwornika (zasugerowało mnie to twoje AD przy portach).

Reset masz podłączony? Na zasilaniu masz kondensator 100nF przy procesorze?
rzepcio pisze:Ale jak zapalam nawet tylko jedną diodę, to też mruga i kaput
Może procesor uszkodzony.

rzepcio
-
Posty: 16
Rejestracja: 03 lip 2009, 18:02
Lokalizacja: Katowice

Post autor: rzepcio » 06 lip 2009, 17:07

No cóż, kondensator mam daleko od procesora, przy zasilaniu. Jeśli to mógłby być problem, to myśle, że wcisne jeszcze na płytke go gdzieś przy procku.

Procek raczej nie będzie uszkodzony, w zasadzie tylko uruchamiałem na nim ten programik z diodami, więc nimi mógłbym go uszkodzić jedynie :roll:

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 06 lip 2009, 17:12

Najlepiej przylutuj do nóżek procesora (podstawki). Zawsze pozostaje możliwość że kupiłeś uszkodzony (ja pare razy tak miałem, z różnymi modelami)

rzepcio
-
Posty: 16
Rejestracja: 03 lip 2009, 18:02
Lokalizacja: Katowice

Post autor: rzepcio » 06 lip 2009, 19:30

niestety nic to nie pomogło ;/ jak nie wpadnę na nic genialnego, to będę musiał na głupi procek wydać 15 zł :P

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 06 lip 2009, 19:36

Procesor masz na pewno dobrze zadeklarowany? ;)

rzepcio
-
Posty: 16
Rejestracja: 03 lip 2009, 18:02
Lokalizacja: Katowice

Post autor: rzepcio » 06 lip 2009, 20:39

Dobrze zadeklarowany? Tzn? W make jest na pewno Atmega162...

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 06 lip 2009, 20:41

Ciekawy przypadek;) Może ci w tym temacie na elektrodzie odpowiedzą ;)

rzepcio
-
Posty: 16
Rejestracja: 03 lip 2009, 18:02
Lokalizacja: Katowice

Post autor: rzepcio » 06 lip 2009, 20:49

No niestety :| Jak sobie pociągnę drut od diód do masy, omijając procesor to pięknie świecą, ale widać procesor nie umie wysterować masy, czy coś, ja tam tego do końca nie rozumiem ;)

[ Dodano: 2009-07-06, 23:41 ]
Miałem zły reset :P
Obrazek

challenger
-
Posty: 7
Rejestracja: 30 cze 2009, 18:26
Lokalizacja: warszawa

easy

Post autor: challenger » 08 lip 2009, 11:51

Rozwiązanie jest bardzo proste.
Ciężko żeby coś takiego migało:

while(1)
{
PORTC = 0x00;
PORTA = 0X00;
}

Skoro cały czas ustawiasz porty na ten sam stan. Jeśli ma migać to ten sran musi się zmieniać, czyli:

while(1)
{
PORTx=1;
czekaj;
PORTx=0;
czekaj;
}

Mam nadzieje że rozumiesz.z

_Brutus
-
Posty: 26
Rejestracja: 01 gru 2006, 16:08
Lokalizacja: Złotopole / Łódź
Kontakt:

Post autor: _Brutus » 08 lip 2009, 12:17

challenger, trzeba było przeczytać cały temat. Problem już rozwiązany. Nie chodziło o to, żeby to mrugało, tylko problem leżał w złym podłączeniu resetu układu.

ODPOWIEDZ