Go Down

Topic: atmega8a-au come programmare con arduino? (Read 924 times) previous topic - next topic

DriftBoy

Come da titolo non riesco a programmare questo micro, come errore mi da continuamente invalid signature, eppure ho controllato sul datasheet e tutto corrisponde, l'ho aggiunto alla lista device, ho provato sia in 16MHz che in 8, ho fatto un gran bordello insomma

Visto che ne ho qualcuno di questi micro e che mi servono per fare funzioni relativamente semplici, quindi sono piu che sufficienti per le mie necessita' vi chiedo per favore di darmi una mano che non so piu dove sbattere la capoccia

E' il micro ideale x quel che voglio fare contando che ne sfrutterei la meta' delle prestazioni e che costa relativamente poco

Aiutooooo!!!!!

pelletta

Quell'errore potrebbe significare due cose: hai collegato male l'integrato oppure hai settato male i fuse durante le prove.
Nell'ide è già presente la voce "Arduino NG or older w/ ATmega8" tra le boards disponibili.
Quello è per l'ATmega8 a 16MHz, comunque mi sembra di ricordare che funziona anche con l'ATmega8A.

Hai caricato il bootloader prima di mettere uno sketch qualsiasi?


leo72

Ho controllato adesso, Atmega8 e Atmega8A hanno la stessa signature, $1E9307, per cui il problema non dev'essere quello.

Il micro che hai comprato è nuovo di fabbrica oppure lo hai già usato?
Hai controllato i collegamenti? Magari hai sbagliato a collegare un pin.
Puoi postare la board che hai aggiunto in boards.txt per programmare il micro ed i passaggi che hai fatto?

DriftBoy

Allora gli atmega8a-au sono di recupero da dei regolatori brushless quindi gia' programmati dal produttore

Il mio problema e' che non riesco a caricare il bootloader e di conseguenza non posso fare nient'altro

Poi ho recuperato anche un atmega8-16au che in fase di caricamento bootloader mi da il seguente errore

Avrdude: stk500_program_enable():protocol error, expect=0x14, resp=0x50
Avrdude: initialisation failed, rc=-1
                 Double check connections and try again, or use -F to override this check

Il micro e' collegato con un oscillatore 16MHz e relativo condensatore smd

Pin micro

Pin29-reset al 10 arduino 1
Pin15-11 ad 11 arduino
Pin16-12 ad 12 arduino
Pin17-13 ad 13 arduino

Condensatore tra reset e gnd di arduino uno

Arduino isp con la 0022

Mentre con gli atmega8a-au errore principale invalid signature

pelletta

Il produttore potrebbe aver impostato i fuse per proteggere il microcontrollore dalla copia magari disabilitando il reset, l'SPI e altro.
Se proprio non ti fa fare niente l'ultima carta è un erase con un programmatore high voltage

DriftBoy

Lo sospettavo ma vista la mia grande ignoranza in merito ho preferito chiedere a voi esperti
Oggi vado a recuperare i componenti per farmi il programmatore HV e provo, sai dirmi i fuse standard da caricargli?

Sono veramente ignorante in materia ogni info e buona

DriftBoy

Questo programmatore homemade va bene?

http://mightyohm.com/blog/2008/09/arduino-based-avr-high-voltage-programmer/

Michele Menniti

come pin29 reset??? non è il pin 1 il reset del mega8? :smiley-eek: a parte il fatto che i pin in tutto sono 28 (14x2)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

DriftBoy

C'e' un motivo se ho specificato l'intera sigla atmega8-16au in cui au sta per TQFP quindi e' smd 32 piedini e la piedinatura e' differente dai PDIP che son quelli standard

Brunello

uhmmm

@michele, sei troppo distratto ultimamente



Michele Menniti


uhmmm

@michele, sei troppo distratto ultimamente



verissimo, come ho già scritto altrove sono imbordellito dalla testa ai piedi, in compenso oggi il mio progetto del Frequenzimetro è arrivato ad una tale stabilità di lettura che ad un certo punto pensavo fosse bloccato  :D In questo momento sta felicemente mostrando 1.001246800 GHz che è l'esatta frequenza impostata sul Generatore XD XD XD; con l'RF ormai siamo grandi amici ;) per fine settimana siamo a -1 problemi.
Comunque mi scuso per l'intervento a caxxo.
Il programmatore HV che hai linkato funziona alla perfezione, certo niente a che vedere col mio mostro, penso però che ti farà un po' sudare a motivo del fatto che dovrai ricavarti la piedinatura, in compenso il data-sheet è generoso. Un consiglio trova il recentissimo Topic di Testato perché lui l'ha realizzato con successo un paio di sere fa ed ha messo utili info in proposito.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

DriftBoy

Mi son fatto la schedina per gli smd, ho modificato i fuse high e low nello sketch ma non risolvo
L'errore effettivamente e' cambiato ed e'
Not in sync: resp=0x00

Ora visto che gli smd li sto utilizzando da ora non so se magari il problema e' che salda e risalda ad aria calda ed ho fuso il quarzo.... o qualche cosa che ho omesso, ho appena riguardato lo schema della scheda HV ed e' tutto ok

L'errore me lo da identico su 2 micro
Atmega8-16au
Atmega8a-au

Consigli?

leo72

Forse hai rovinato i chip? potresti averlo fatto visto appunto il dissalda-e-risalda.

Allora gli atmega8a-au sono di recupero da dei regolatori brushless

uwefed

Visto che sono di recupero non potrebbe anche essere che siana disattivato il reset.
Se ricordo bene una attivazione del Fuse per impedire la lettura della Flash non dovrebbe bloccare la possibilitá di programmarlo via ISP.

Ciao Uwe

pelletta

Uwe sta usando la programmazione high voltage, i fuse li può reimpostare.

@DriftBoy:
fai un Erase del micro prima di impostare i fuse, vero?

Go Up