Pages: 1 ... 4 5 [6] 7 8 ... 49   Go Down
Author Topic: Guida: La programmazione di micro ATMEL con Arduino [rel. 4]  (Read 47020 times)
0 Members and 1 Guest are viewing this topic.
Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 417
Posts: 11997
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

No, Michele. I led RX e TX non sono collegati direttamente alle linee RX e TX del 328 che escono dai pin D0 e D1 ma sono comandati da 2 pin aggiuntivi dell'8U2 direttamente dal firmware di questo micro in base alle operazioni di RX e TX eseguite sulla comunicazione seriale che va al PC. Lo schema dell'Arduino me lo sono studiato benino, ultimamente, e sono un po' ferrato.  smiley-grin

http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf
Sì, però sono segnali "paralleli", da quanto ne so: in pratica sia per tx che per rx escono due linee, pilotate in contemporanea da due circuiti identici, una alimenta i led e l'altra va all'ATmega, in modo da non sovraccaricare il segnale http://pdf1.alldatasheet.com/datasheet-pdf/view/392231/ATMEL/ATMEGA8U2-MU.html; quindi se funziona l'uno funziona anche l'altro, salvo guasti dell'8u2, ma non è il suo caso.
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

Germany
Offline Offline
Edison Member
*
Karma: 1
Posts: 1355
Here we go!!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Stavo cominciando a leggere questa conversazione, ma per mancanza di tempo ora non posso leggerla tutta completamente, dalle prime pagine ho notato che serve una traduzione in Inglese, se volete e se vi serve ancora, io mi offro volontario (insieme a qualcun altro) per effettuarla!! smiley

P.s. Non so se ho capito tanto bene dalle poche cose che ho letto, ma questa guida serve per programmare tramite arduino un ATMEGA per utilizzarlo stand-alone?

Ciao!!!
Logged

L'impossibile...richiede solo piu' tempo!

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

Direi proprio di sì, ma anche molte altre cose, frutto di una intensa collaborazione sviluppatasi su questo Forum.
Visto che dovrebbe esserci una 4a versione (credo e spero definitiva!) si è pensato di tradurla quando sarà finita; ci sono un altro paio di volontari, considerati arruolato anche tu  smiley-lol
Comunque al momento opportuno aprirò un Topic specifico.
Grazie
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

Germany
Offline Offline
Edison Member
*
Karma: 1
Posts: 1355
Here we go!!!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Di nulla, e complimenti anche da parte mia!
Logged

L'impossibile...richiede solo piu' tempo!

0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao ragazzi, innanzi tutto volevo fare i complimenti per l'ottima guida!
Mi servirebbe un informazione però, ho bisogno di modificare il fuse relativo al clock dell'atmega, vorrei utilizzare un atmega "solo" con quarzo esterno da 20Mhz, è possibile cambiare tale valore senza utilizzare un programmatore esterno?
Logged

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

EDIT:

Mi servirebbe un informazione però, ho bisogno di modificare il fuse relativo al clock dell'atmega, vorrei utilizzare un atmega "solo" con quarzo esterno da 20Mhz, è possibile cambiare tale valore senza utilizzare un programmatore esterno?
Ciao, il FuseCalc prevede un valore unico per quarzi da 8MHz in su, dovrebbe bastare metterlo al posto del 16MHz per lavorare a quella frequenza che è la massima prevista per il chip.
Non puoi cambiare i fuse senza un programmatore, puoi farlo però usando Arduino come programmatore, come spiegato nella Guida. Ti consiglio però di non fare prove "tanto per", il chip ti si blocca e poi sono problemi seri.
« Last Edit: May 14, 2011, 10:10:37 am by menniti » 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

0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie della pronta risposta!
Sono andato sul sito AVR Fuse Calculator e ho dato un occhiata, posto che basterebbe mettere il quarzo da 20Mhz, ho comunque la necessità di disabilitare il fuse CKDIV8, sarebbe fantastico poter usare Arduino, però non ho capito quale parte della guida devo seguire e cosa cambiare per disabilitare sudetto fuse, se potresti indirizzarmi, grazie.
Logged

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

Rassegnati, per quello che devi fare, considerando che evidentemente non hai mai usato Arduino come ISP programmer, la Guida te la devi leggere praticamente tutta, per poter capire come programmare un micro con bootloader e/o sketch in stand alone; se poi vuoi lanciarti accomodati, ma poi non dire che non eri stato avvisato.
Ribadisco che il FuseCalc lo devi lasciar perdere per ciò che vuoi fare; una volta che programmi un chip con uno sketch, con le tecniche della Guida, ci metti il tuo quarzo da 20MHz e ti funziona; i valori che vedi appena scegli il 328 nel FuseCalc NON sono queli usati da Arduino UNO o 2009, nei quali ovviamente il divisore per 8 è GIA' disabilitato, altrimenti come farebbe a lavorare a 16MHz?
Se ti serve aiuto io, come tanti altri, sono a tua disposizione, ma un minimo di sacrificio penso tu debba farlo, è il peso della cultura smiley-sweat 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

0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Io la guida l'ho letta tutta.
La parte della guida dove spiega come modificare i fuse non l'ho vista. (non sto dicendo che non c'è, andrò a ricontrollare dopo aver scritto questo post).
Ho chiesto se è possibile modificare il valore di un fuse senza usare un programmatore, mi sono spiegato male, ho usato il termine "esterno" che non significa nulla, intendevo chiedere se tale operazione era possibile usando Arduino come programmatore.
Mi hai risposto dicendo che è possibile, ma inutile (nel mio caso) visto che FuseCalc prevede un valore unico per quarzi da 8MHz in su.
Ora, non sapendo dell'esistenza di AVR Fuse Calculator, ho googlato FuseCalc e sono andato sul sito, dal menù a tendina ho scelto 328p e ho dato un occhiata, non ho potuto fare a meno di notare che CKDIV8 era selezionato, per questo ho scritto "ho comunque la necessità di disabilitare il fuse CKDIV8".
Avrei dovuto capirlo da solo che i valori del FuseCalc del 328 non sono gli stessi del 328 usato su Arduino, sono stato tratto in inganno dalla mia ignoranza e dal fatto che il progetto che sto seguendo è basato su un ATmega 168 "solo" quindi con risonatore da 8Mhz attivo e di conseguenza CKDIV8.
Ho visto che mi hai scritto:
"Ti consiglio però di non fare prove "tanto per", il chip ti si blocca e poi sono problemi seri."
Cosa intendi per prove tanto per? Io seguirei la tua guida..
"se poi vuoi lanciarti accomodati, ma poi non dire che non eri stato avvisato."
Non ho capito una cosa, anche cappellando al massimo, cosa può succedere? butto i 7 euro dell' ATmega, i 25 dell'Arduino? Entrambi? O posso combinare casini più grandi?
Un ultima cosa, mi dici rassegnati, un minimo di sacrificio.. a me dispiace tanto, io non sono uno che vuole la pappa pronta, ne una persona polemica, sembra che io sta guida proprio non volevo leggerla, quando invece l'ho fatto, purtroppo non sono un ingegnere, io la domanda l'ho fatta innocentemente, ciao e grazie ancora.
« Last Edit: May 14, 2011, 03:58:40 pm by Francesco_MIRM » Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21669
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Modificare i fuse non è così semplice da fare ed "indolore", nel senso che c'è da precisare una cosa: se pensi di usare l'Atmega anche con l'Arduino oppure programmarlo esternamente col metodo RX/TX descritto nella guida , allora devi anche cambiargli il bootloader perché quello preinstallato è programmato per lavorare con un clock a 16 MHz e non funzionerebbe più.
Detto questo, quandi menniti ti ha detto che potresti avere dei problemi, lo ha detto a ragion veduta perché lui, sperimentando con i micro, ne ha "piantati" diversi. Per "piantati" significa che ha sbagliato a programmare i fuse ed ha bloccato i chip, rendendoli inusabili e solo costruendosi un programmatore ad alto voltaggio li ha potuto sbloccare.
Logged


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

....omissis....Detto questo, quandi menniti ti ha detto che potresti avere dei problemi, lo ha detto a ragion veduta perché lui, sperimentando con i micro, ne ha "piantati" diversi. Per "piantati" significa che ha sbagliato a programmare i fuse ed ha bloccato i chip, rendendoli inusabili e solo costruendosi un programmatore ad alto voltaggio li ha potuto sbloccare.
Ciao Leo, grazie per aver chiarito il mio intento, ma è giusto che io spieghi anche il resto. smiley-lol
Io la guida l'ho letta tutta.
La parte della guida dove spiega come modificare i fuse non l'ho vista. (non sto dicendo che non c'è, andrò a ricontrollare dopo aver scritto questo post).
Tutta la sezione da pag. 30 in su, più o meno, fa riferimento al file boards.txt, e ho messo le immagini con i nuovi valori di fuses; ho scritto anche che l’uso del FuseCalc non era negli intenti della Guida, e altre raccomandazioni, che certamente vedrai rileggendo.
Quote
Ho chiesto se è possibile modificare il valore di un fuse senza usare un programmatore, mi sono spiegato male, ho usato il termine "esterno" che non significa nulla, intendevo chiedere se tale operazione era possibile usando Arduino come programmatore.
Mi hai risposto dicendo che è possibile, ma inutile (nel mio caso) visto che FuseCalc prevede un valore unico per quarzi da 8MHz in su.
Ora, non sapendo dell'esistenza di AVR Fuse Calculator, ho googlato FuseCalc e sono andato sul sito, dal menù a tendina ho scelto 328p e ho dato un occhiata, non ho potuto fare a meno di notare che CKDIV8 era selezionato, per questo ho scritto "ho comunque la necessità di disabilitare il fuse CKDIV8".
Avrei dovuto capirlo da solo che i valori del FuseCalc del 328 non sono gli stessi del 328 usato su Arduino, sono stato tratto in inganno dalla mia ignoranza e dal fatto che il progetto che sto seguendo è basato su un ATmega 168 "solo" quindi con risonatore da 8Mhz attivo e di conseguenza CKDIV8.
smiley
Quote
Ho visto che mi hai scritto:
"Ti consiglio però di non fare prove "tanto per", il chip ti si blocca e poi sono problemi seri."
Cosa intendi per prove tanto per? Io seguirei la tua guida..
"se poi vuoi lanciarti accomodati, ma poi non dire che non eri stato avvisato."
Non ho capito una cosa, anche cappellando al massimo, cosa può succedere? butto i 7 euro dell' ATmega, i 25 dell'Arduino? Entrambi? O posso combinare casini più grandi?
Qui Leo ha chiarito il mio pensiero; il mondo di Arduino, e quindi questo Forum, è fatto di cose piccole e che costano relativamente  poco, quindi chiaramente ogni frase o consiglio è adeguata alla misura, non intendevo dire che sarebbe fallita la Banca d’Italia  smiley-wink e comunque non puoi rompere Arduino, a meno che, dopo aver bloccato il chip tu non lo prenda a cacciavitate… smiley-twist Ci sono post in cui ragazzi si stanno organizzando per dividersi 10 euro di spese di trasporto, era questo il senso e non voleva essere offensivo.
Quote
Un ultima cosa, mi dici rassegnati, un minimo di sacrificio.. a me dispiace tanto, io non sono uno che vuole la pappa pronta, ne una persona polemica, sembra che io sta guida proprio non volevo leggerla, quando invece l'ho fatto, purtroppo non sono un ingegnere, io la domanda l'ho fatta innocentemente, ciao e grazie ancora.
Anche qui, è la prima volta che “postiamo”, altrimenti sapresti che sono uno che gioca sempre, prende in giro e si fa prendere in giro, la tua domanda non sembrava fatta da uno che avesse letto (che poi mica sei obbligato), quindi se ti ho offeso ti chiedo scusa, ma il mio intento è aiutare quando sono in grado di farlo perché contestualmente molti (tra i quali proprio il nostro caro Leo) mi aiutano ogni qualvolta lo chiedo.
Quindi, mi affliggo da solo la punizione e mi metto a tua completa disposizione. Chiedi e ti saranno indicate pagine e paragrafi o, in alternativa, tutto ciò che con le mie poche conoscenze sarò in grado di spiegare.
Ciao!
 smiley-lol smiley-lol smiley-lol
« Last Edit: May 15, 2011, 04:39:48 am by menniti » 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

0
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

[QUOTE
..mi affliggo da solo la punizione e mi metto a tua completa disposizione. Chiedi e ti saranno indicate pagine e paragrafi o, in alternativa, tutto ciò che con le mie poche conoscenze sarò in grado di spiegare.
Ciao!
 smiley-lol smiley-lol smiley-lol
Menniti mio sei fregato!  smiley-yell
Scherzi a parte, tutto ok, ti ringrazio per la disponibilità e la pazienza che contraddistingue un po' tutti in questo forum, anche leo ne sa qualcosa..
Comunque giusto per completezza, sto cercando di realizzare il circuito per il tvtext, se ne era parlato proprio con leo in un altro thread, mi ero bloccato perchè per continuare dovevo necessariamente comprare un programmatore, ma adesso con la tua guida posso ripartire!!
Logged

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

smiley-sweat smiley-sweat smiley-sweat Allora me la sono scampata??? Yeah! ma no, se hai bisogno chiedi, anzi se trovi punti oscuri segnala senza pietà e tutto sarà migliorato.
Sappi che, tanto per cambiare smiley-lol, Leo ha una parte pesante in quella Guida, lui è una sorta di manovratore occulto ( smiley-cool) e già si sta lavorando assieme, ma comunque con l'aiuto di tanti in generale, per la prossima versione, nella quale inseriremo altre tecniche, insomma dobbiamo dare ad Arduino l'importanza che merita! Oggi ho letto anche che presto sarà disponibile un bel logo utilizzabile da noi comuni (o no?) mortali (o no? smiley-grin), sarà messo subito in bella vista!
Aspetto tue nuove.
Ciao.
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
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21669
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@Francesco:
ah, eri quel Francesco lì? Non mi ricordavo più  smiley-wink
Cmq sappi che da gennaio ho una breadboard con su un Atmega, 2 resistenze e qualche pulsantino che collego alla TV di casa per giocare a Space Invaders smiley-lol
Ho provato anche a fare quello che si disse, ossia ho provato ad usare 2 Atmega. 1 leggeva una tastiera e l'altro spediva i dati al video... Risultato? Non ha funzionato una cippa  smiley-lol
Invece un altro progettino ha funzionato. Ho caricato un chip con il tvText, e poi ci ho collegato il PC: scrivevo sul PC e leggevo sul monitor  smiley-yell

@Michele:
alla fine mi sa che dovrò cominciare a chiedere le royalty  smiley-grin
Logged


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

Non ci sono problemi  smiley-sweat
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

Pages: 1 ... 4 5 [6] 7 8 ... 49   Go Up
Jump to: