Pages: 1 [2] 3   Go Down
Author Topic: AtMega328 con oscillatore interno 8Mhz  (Read 4257 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 327
Posts: 22630
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho dovuto riprogrammare il bootloader con l'USBtinyISP. Si era incartato e non c'era più verso di programmarlo con l'Arduino UNO....

Aspetto che tu pubblichi il metodo che hai scoperto per fare altre prove.... per oggi ho già dato... ho il cervello cotto  smiley-eek
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 564
Posts: 12439
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma a me usando un chip "sverginato" non va.
Prima da un errore di comparazione: 0xfd != 0x05, poi mettendo 0x05 la procedura va avanti un po' ma si ferma e ricevo un errore di mancata risposta dal programmatore, segno che avrdude si "accorge" che sto usando un accrocchio che non è un programmatore....
Adesso proverò a riflashare il bootloader sul micro montato sulla Uno e poi a spostarlo sulla breadboard.
Penso sia la cosa migliore, io la prova non l'ho fatta sul chip vergine ma a logica si comporta come se avesse un "errore a bordo" quindi la prima volta (è vergine, ci vuole delicatezza e riguardo smiley-wink) devi usare Arduino, poi non avrai più problemi.

Quote
PS:
mettendo il fuse basso a 0x62 abiliti quel divisore x8 di cui ho detto tante volte e che serve appunto a dividere il clock interno a 1 MHz.
Gli Attiny, ad esempio, escono tutti con l'oscillatore interno abilitato ed il disivore on, per cui lavorano tutti a 1 MHz.
Dipende dai compiti, alle volte può bastare anche 1 MHz: se devi leggere un sensore 1 volta all'ora, ad esempio, non penso che faccia molta differenza avere il micro "lumaca"  smiley-wink
Sì, infatti me l'avevi detto e per questo ho fatto la prova, il sensore è per un antifurto, ho notato che a 1MHz e 3,3V il software dà i numeri, ma penso che "tarandolo" riesco a ottenere un buon risultato, ma per stasera non ne faccio più prove, questa cosa mi ha davvero stressato!
Dunque, ora compro gli ATtiny, penso che consumeranno ancora meno dell'ATmega, che ne dci? A proposito, prima di fare una c.zz.t. quale tipo devo comprare affinché possa andare a colpo sicuro con la tecnica ISP?
Io ora sto usando dei led per verificare ingressi e uscite ma nel circuito finale ci saranno: ATtiny, relé reed 5v, regolatore a 3,3v (forse), una res, un diodo, un transistor per pilotare il rele, avrò bisogno di un ingresso e un'uscita, nient'altro, non penso ci siano particolari problemi, che dici?
Logged

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

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 564
Posts: 12439
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho dovuto riprogrammare il bootloader con l'USBtinyISP. Si era incartato e non c'era più verso di programmarlo con l'Arduino UNO....

Aspetto che tu pubblichi il metodo che hai scoperto per fare altre prove.... per oggi ho già dato... ho il cervello cotto  smiley-eek
A chi lo dici!?  smiley-sweat
Ora mollo tutto e da domani mi metto di buona lena per finire il tutorial, ho un casino di roba da scrivere, per fortuna ho fatto già tutte le foto, anche se ora me ne serve qualcun'altra per la breadboard minimal.
Se puoi rispondi al mio precedente post, riguardo il tipo di ATtiny, comunque ti ringrazio di cuore, senza il tuo preziosissimo aiuto sarei dovuto ritornare al circuito elettronico, che ormai stava anche andando bene, però troppi componenti, oltre a 2 IC cmos, invece così farò uno schedino davvero mignon!
Logged

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

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 327
Posts: 22630
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Di Attiny da consigliarti che possano andare con l'IDE e la tecnica  della programmazione ISP ci sono:
-Attiny45/85
-Attiny2313/4313
-Attiny44/84
Dei primi sai ormai vita/morte/miracoli. E' da loro che ho sviluppato la mia tecnica di programmazione.
Sono micro molto compatti: DIP8, clock interno a 1 o 8 MHz. Hanno alcuni difettucci: USART non supportata via hardware ma funziona la NewSoftSerial con qualche modifica. I2C nelle stesse condizioni: funziona usando un emulatore software. Però se hai bisogno di bassi consumi, ridotto ingombro e di soli 2 pin (ne ha 6 in totale liberi), può fare al caso tuo. Ah, 4/8 kB di flash.

Gli Attiny2313 e 4313 sono un altro tipo di micro che potrebbero fare al caso tuo. DIP20, quindi leggermente più grandicelli, e dovrebbero funzionare con l'IDE (non li ho provati, non ce l'ho). Supportano l'USART ma non l'I2C, però hanno lo stesso bus universale programmabile come gli Attiny45/85 quindi in teoria dovrebbero permettere l'I2C con lo stesso sistema. Hanno un grosso difetto: solo 2/4 kB di flash, veramente poca.

Gli ultimi, sono quelli che mi stanno interessando ultimamente. DIP14, quindi una via di mezzo fra i precedenti, supportati dalle librerie TinyCore (quindi usabili con l'IDE di Arduino), hanno 4/8 kB di flash. Non hanno l'I2C hardware però hanno lo stesso sistema dei precedenti. Sarebbero da provare, per lo meno per la memoria doppia rispetto ai vetusti AttinyX313.

Ripeto, se però devi usare solo 2 pin, un Attiny45/85 io dico ti basta e avanza.


Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 564
Posts: 12439
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sì, due pin ed un paio di k di sketch, per questa applicazione, per il resto faccio riferimento al tuo tutorial, non devo fare dell'"industriale", semplicemente 7 schedini per poter dormire la notte in pace e non rischiare di morire di crepacuore per i falsi allarmi dei miei sensori di tapparelle.
Sto lavorando alacremente alla nuova Guida, non voglio far perdere il lavoraccio che abbiamo fatto ieri  smiley-sweat smiley-sweat smiley-sweat, quindi preferisco prendermi qualche giorno in più ma fare un lavoro completo.
Grazie ancora! smiley-wink
Logged

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

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 564
Posts: 12439
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

A proposito,
dove posso comprare gli ATTINY45 o 85? me ne servono una decina di pezzi e non voglio mettere in piedi un'ordine all'estero (su ebay ho trovato solo un paio di aziende tedesche); qualcuno che li venda a prezzo decente e che poi non mi sveni sul trasporto.
Qualche link?
Logged

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

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 327
Posts: 22630
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Gioblu li ha a €2 cad (Attiny85): io su Ebay dall'estero li ho pagati qualche decina di cent in più.
Logged


BZ (I)
Offline Offline
Brattain Member
*****
Karma: 257
Posts: 21457
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

rs e distrelec li hanno ma a prezzi proibitivi (sopra i 3 € senza iva)
Ciao Uwe
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 564
Posts: 12439
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Aggiudicato Gioblu, con l'occasione prendo uno di quei circuitini suoi, visto che mi ero impegnato a farlo alla prima occasione  smiley-lol
Con i test 1 e 8MHz ho praticamente finito, sto provando ogni possibile combinazione in modo da non lasciare dubbi.
Grazie dei suggerimenti amici!
Logged

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

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salve

Ho iniziato ad usare Arduino da poco e ritengo molto interessante questa discussione. Anch'io vorrei portare il mio progetto, che ho realizzato con una scheda UNO, su una breadboard stand alone con oscillatore interno ad 1 Mhz. Stavo perciò cercando di seguire le indicazioni presenti sulla guida del sig. Menniti e l'esperienze descritte in questo post. Innanzitutto ho capito che devo scrivere il bootloader sul mio Atmega328p vergine e per far ciò è necessario che sulla mia breadboard ci sia il quarzo a 16 MHz. Però io non vorrei aggiungere il quarzo sulla mia scheda. Quindi la mia prima domanda è la seguente:

E' possibile scrivere il bootloader sul mio atmega vergine mettendolo al posto di quello presente sulla scheda UNO? Io ci sto provando ma mi dà sempre errore di sync 0x00.

Grazie in anticipo!
Saluti
Logged

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 564
Posts: 12439
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Se devi lavorare a 1MHz e il tuo micro è vergine non devi fare assolutamente nulla, è già settato di fabbrica a 1MHz smiley-wink
Quindi prepara il micro in stand-alone, senza quarzo e condensatori, fai i collegamenti ISP e poi caricaci sopra lo sketch, vedrai che ti funzionerà al primo colpo. La manovra che stai tentando non sta né in cielo e né in terra, lascia perdere.
Logged

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

Global Moderator
Italy
Online Online
Brattain Member
*****
Karma: 327
Posts: 22630
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

E' possibile scrivere il bootloader sul mio atmega vergine mettendolo al posto di quello presente sulla scheda UNO? Io ci sto provando ma mi dà sempre errore di sync 0x00.
No, non puoi farlo.
Affinché la cosa funzioni, il chip deve avere GIA' il bootloader sopra ed essere stato impostato per lavorare a 16 MHz.

PS:
benvenuto, visto che sei nuovo ti invito alla lettura del regolamento ed alla presentazione.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie Leo per il benevenuto! A breve provvederò a scrivere la presentazione.

E' la prima volta che programmo in ISP e credo mi stia sfuggendo qualcosa:
1) ho realizzato il collegamento ISP  tra Arduino e breadboard, seguendo la figura presente a pag. 66 della guida.
2)ho aperto l'ide Arduino 1.0.5 e ho caricato e inviato lo sketch ArduinoISP selezionando l'opportuna porta COM e la scheda Arduino UNO.
Ora seguendo quanto scritto a pag 68 della guida, dovrei programamre la mia breadboard impostatndo Atmega in stand alone 1MHz internal clock. Per far ciò, ho modificato il file boards copiando e incollando gli esempi riportati in questa discussione, ho chiuso e riaperto l'ide e caricato lo sketch "blink", ma mi dà errori del tipo : C:\Program Files (x86)\Arduino\hardware\arduino\cores\arduino/Arduino.h:213:26: error: pins_arduino.h: No such file or directory

Cosa sbaglio?

Grazie tante per il supporto!!!


Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 112
Posts: 7077
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Probabilmente ti manca la riga con la variante.
Esempio
Code:
uno.build.variant=standard
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie Paolo

l'errore che invece mi dà adesso è : avrdude: stk500_getsync(): not in sync: resp=0x00

ho provato anche a mettere un condensatore elettrolitico di 10uF tra Reset e 5V.

Non so se sto sbagliando qualcosa nella procedura o se ho problemi col file boards.txt, di cui vi riporto il contenuto:

Code:
##############################################################

uno.name=ATmega in Stand Alone 1MHz internal clock (w/ Arduino as ISP)
uno.upload.protocol=stk500
uno.upload.maximum_size=32256
uno.upload.speed=115200
uno.upload.using=arduino:arduinoisp
uno.bootloader.low_fuses=0x62
uno.bootloader.high_fuses=0xd9
uno.bootloader.extended_fuses=0x07
uno.bootloader.path=arduino:atmega
uno.bootloader.file=ATmegaBOOT_168_atmega328.hex
uno.bootloader.unlock_bits=0x3F
uno.bootloader.lock_bits=0x0F
uno.build.mcu=atmega328p
uno.build.f_cpu=1000000L
uno.build.core=arduino
uno.build.variant=standard
Logged

Pages: 1 [2] 3   Go Up
Jump to: