Go Down

Topic: Finito prototipo (teoria) (Read 1 time) previous topic - next topic

erpomata

Sep 29, 2012, 07:58 am Last Edit: Sep 29, 2012, 07:59 am by erpomata Reason: 1
Ciao a tutti.
Ipotizziamo di aver finito un prototipo e di voler realizzare qualcosa di definitivo.
Mi stavo leggendo l'articolo "Building an Arduino on a Breadboard" dove ad un certo punto parla di "ATMEGA8/168/328 Basics".
Mi viene da pensare che a livello di collegamenti elettrici vadano bene tutti e tre i micro.

Invece i passaggi per caricare il bootloader e gli sketch sono sempre gli stessi?
Cambia qualcosa nel codice che si scrive? O è solo una questione di spazio di memoria?

Grazie a tutti.

Michele Menniti

i mega 168 e 328 sono identici, così come l'88, invece l'8 è leggermente differente, per cui devi capire se può andare bene. La differenza fondamentale sta nella quantità di memoria flash, se il tuo firmware è inferire a 6K lo puoi mettere in qualsiasi micro di quelli elencati. Peraltro tolto da Arduino, il micro in realtà non ha più bisogno di un bootloader, puoi caricarci direttamente lo sketch; in tal modo hai tutta la memoria flash a disposizione.
Quindi devi creare un circuito stand-alone fatto dal micro e da pochi pezzi esterni, oltre a quelli che hai aggiunto tu per il tuo circuito. Lo stand-alone richiede: una R da 10K sul reset, un C da 100nF sui Vcc ed un altro su ARef se usi l'ADC, il quarzo da 16MHz ed i due condensatori da 22pF. Se decidi di far lavorare il micro a frequenze come 1MHz o 8MHz risparmi anche quarzo ed i due C.
Questa è la teoria di base. Scaricati la mia Guida e trovi tutto ciò che ti serve per metterla in pratica.
Ovviamente se hai bisogno siamo qui. :)
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

leo72

Sì, quell'articolo riporta un'inesattezza quando scrive Atmega8/168/328. In realtà, come specifica Michele, dovrebbe essere "Atmega88/168/328" perché l'Atmega8 è di un'altra famiglia.


Michele Menniti

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

Madwriter


Sì, quell'articolo riporta un'inesattezza quando scrive Atmega8/168/328. In realtà, come specifica Michele, dovrebbe essere "Atmega88/168/328" perché l'Atmega8 è di un'altra famiglia.

che differenza ha l'atmega8? ne ho ordinati un paio perche li hotrovati davvero ad un buon prezzo  :smiley-mr-green:
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

erpomata

Quindi diciamo che avendo 2 sketch di cui uno è di 4.872 bytes e l'altro 5.210 bytes dovrebbero entrare tranquillamente nell' 88 compreso il bootloader.
Quindi le guide (cioè i collegamenti elettrici e la parte software) sono identiche al 328.

Per arrivare ad usare la versione ad 8MHz o addirittura ad 1 penso sia meglio cominciare a capire come funziona la programmazione di un chip a 16MHz o è indifferente?

nikone

Se non sbaglio l'atmega 8 (non 88) dovrebbe essere della famiglia atmega 8-16-32 giusto?
Non possiamo pretendere che le cose cambino, se continuiamo a fare le stesse cose(albert Einstein )

leo72

L'Atmega8 è un DIP28 come gli 88/168/328. Anche la piedinatura è uguale, solo cambia a livello di microcode per cui compilando per Atmega88/168/328 non è detto che funzioni tutto come per Atmega8.
Non mi ricordo (ho tolto le voci inutili) se nel file boards.txt c'è ancora la presenza della prima board Arduino che usava l'Atmega8.

Madwriter


L'Atmega8 è un DIP28 come gli 88/168/328. Anche la piedinatura è uguale, solo cambia a livello di microcode per cui compilando per Atmega88/168/328 non è detto che funzioni tutto come per Atmega8.
Non mi ricordo (ho tolto le voci inutili) se nel file boards.txt c'è ancora la presenza della prima board Arduino che usava l'Atmega8.

li ho pagati 77cent speriamo bene  :smiley-mr-green:
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

Michele Menniti


L'Atmega8 è un DIP28 come gli 88/168/328. Anche la piedinatura è uguale, solo cambia a livello di microcode per cui compilando per Atmega88/168/328 non è detto che funzioni tutto come per Atmega8.
Non mi ricordo (ho tolto le voci inutili) se nel file boards.txt c'è ancora la presenza della prima board Arduino che usava l'Atmega8.

c'è ;)

@ erp: leggi la Guida e poi chiedi per i dubbi, le domande a singhiozzo non risolvono mai nulla :)
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

pelletta

Aggiungo che gli atmega8 a differenza dei 168-328 hanno solo 3 pin pwm, per il resto con l'ide funziona praticamente tutto, seriale, i2c compresi.

erpomata

Si Michele però la guida non è propriamente un romanzo e la voglia di mettere in pratica le cose che si leggono è forte, quindi vorrei capire se mi basta comprare il solo atmega88 o anche condensatori, quarzo, ecc... visto che la mia intenzione è proprio quello di crarmi un arduino minimale.

In ogni caso grazie mille.

leo72


vorrei capire se mi basta comprare il solo atmega88 o anche condensatori, quarzo, ecc... visto che la mia intenzione è proprio quello di crarmi un arduino minimale.

Se vuoi che il tuo chip sia compatibile al 100% con l'Arduino l'acquisto del quarzo e relativi condensatori (oppure di un risonatore ceramico) è indispensabile perché non tutte le librerie e le funzioni di Arduino lavorano con chip che non sono cloccati a 16 MHz. Se invece "sai cavartela", puoi usare anche un semplice chip senza quarzo e C, usando l'oscillatore interno (1 o 8 MHz).

Go Up