Sari la conținut
ELFORUM - Forumul electronistilor

Countdown timer cu ATmega8 "puturos"


Spitfire

Postări Recomandate

Am realizat urmatorul montajel cu atmega8, functioneaza OK, mai putin faptul ca e nemaipomenit de lenes, ia comenzile cu foarte mare intarziere, dureaza cam un minut pana porneste, si numara o secunda in vreo 7-8...am folosit quartz si de 4 si de 16 Mhz, am lasat si fara quartz, nici o schimbare. Stie cineva care ar putea fi cauza leneviei carabusului atmega8?

http://extremeelectronics.co.in/avr-pro ... 8-avr-mcu/

Link spre comentariu
  • Răspunsuri 24
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Spitfire

    4

  • srdjan

    4

  • godFather89

    3

  • DarkAngel_Bv

    2

Top autori în acest subiect

ai modificat si fuse bits sau doar ai scris programul?implicit atmega8 e setat sa ruleze cu oscilatorul intern de 1MHz. Degeaba pui cristal de 16MHz daca nu instruiesti procesorul sa-l si foloseasca.

Link spre comentariu

daca l-ai setat cum am spus eu, nu are de ce sa se fi blocat. se blocheaza daca setezi RSTDSBL sau SPIEN.RSTDSBL nu-ti permite sa-l tii in starea de reset necesara programarii iar SPIEN iti dezactiveaza interfata SPI de programare.Fusebitii care ti i-am spus eu sunt default toti cu diferenta ca se activeaza folosirea ca sursa de tact a unui cristal extern high-frequency.Deci daca e legat corect cristalul la pinii XTAL1 si XTAL2, e functional si ai pus condensatorii de 15-22pF intre XTAL1 si GND respectiv XTAL2 si GND ar trebui sa mearga. Mai sapa sa vezi din ce cauza nu misca.

Link spre comentariu

Nu inteleg de ce proiecte atat de simple sunt proiectate sa functioneze cu ceas de 16MHz. Probabil cel mai ok (din punct de vedere al consumului) era sa modifici codul sa functioneze corect cu ceasul intern de 1MHz.

Link spre comentariu

Probabil cel mai ok (din punct de vedere al consumului) era sa modifici codul sa functioneze corect cu ceasul intern de 1MHz.

Zau ca da! Sau sa fiu atent la ce-am setat la fusebiti. L-am deblocat cu un oscilator TXCO de 25 MHz, masa oscilatorului printr-un C de 39pF la pinul 10, iar pe pinul 9 iesirea oscilatorului, fara alt cuart, m-a lasat sa intru, si am debifat toti fusebitii...la PIC-uri nu am avut problema asta niciodata.
Link spre comentariu

mda... programele de programare sunt mai dubioase in cazul avr-urilor. de multe ori ele induc in eroare. evident solutiile oferite de peoducatori sunt sfinte dar noi facem pe desteptii si umblam cu tot felul de improvizatii :)

Link spre comentariu

Eu folosesc clock-ul la 8Mhz, cel intern. Pana acum nu am avut probleme, mereu am reusit sa calculez divizorii si clock-ul sa am o precizie mare.Am reusit sa numar 2 zile continuu si a ramas in urma o secunda.

Link spre comentariu
Vizitator aaaaaa

Am si eu o problema cu acelasi proiect, countdown timer. Uneori montajul nu pleaca, adica afiseaza pe display o linie full si una goala. Am intampinat probleme cu xtal de 16MHz si in consecinta am modificat softul pentru xtal de 4 MHz, problema persistand. Tind sa cred ca este ceva cu display-ul deoarece, atunci cand pleaca montajul si scot LCD, daca il bag inapoi in montaj afiseaza la fel, o linie da, cealalata ba. Poate ma ajuta cineva.

Link spre comentariu

Salut. LCD-ul trebuie conectat înainte de a alimenta montajul. Iniţializarea LCD-ului se face o singură dată în cod, la începutul programului. Dacă nu e conectat nu va mai interpreta corect datele.

Link spre comentariu

Tind sa cred ca este ceva cu display-ul deoarece, atunci cand pleaca montajul si scot LCD, daca il bag inapoi in montaj afiseaza la fel, o linie da, cealalata ba.

De obicei, display-urile compatibile 44780 afiseaza o linie neagra cand nu sunt initializate. Verifica daca ai facut legaturile bine cu display-ul.Nu este o idee buna sa scoti/bagi displayul in montaj in timp ce functioneaza. Pe langa faptul ca initializarea se face de obicei o singura data cand porneste, exista posibilitatea sa arzi ceva (nu poti garanta ca atunci cand il bagi in motaj se conecteaza alimentarea prima).
Link spre comentariu
Vizitator aaaaaa

Legaturile sunt facute bine, altfel nu ar pleca niciodata. Am gasit in progr in sectiunea de initializare //After power on Wait for LCD to Initialize _delay_ms(30);Am recompilat hex-ul cu 100 ms delay, sper sa se rezolve...

Link spre comentariu

Daca ai modificat frecventa (de la 16 la 4) vezi sa fie si F_CPU definit cu valoarea 4000000. Functiile din tin cont de valoarea F_CPU pentru a genera delay-urile cat mai precis.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări