Pages: 1 ... 3 4 [5] 6 7 ... 49   Go Down
Author Topic: Guida: La programmazione di micro ATMEL con Arduino [rel. 4]  (Read 55199 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Sr. Member
****
Karma: 0
Posts: 453
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

A chi interessa ho trovato questi due programmatori ISP dove viene detto siano compatibili con AvrDude almeno in parte 
http://www.matwei.de/doku.php?id=en:electronics:usbisp
http://www.fischl.de/usbasp/
Logged

Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 758
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Che per caricare lo sketch devi usare un ISP programmer oppure usare arduino come ISP, come scritto nella guida. Il semplice upload dello sketch non va senza il bootloader. Per il resto non cambia nulla!!

Non è esatto. Si può caricare uno sketch su un chip standalone anche senza che esso contenga il bootloader.
Questo perché il bootloader serve solo per caricare gli sketch col metodo RX/TX.

In entrambi i casi, comunque, serve SEMPRE un tramite tra l'IDE ed il chip standalone, sia esso un programmatore ISP che una scheda Arduino usata come programmatore ISP.

Quando dicevo "Il semplice upload", intendevo la modalità classica, quella "seriale"
Logged

Gianfranco

Offline Offline
Sr. Member
****
Karma: 2
Posts: 328
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
alternativamente avevo pensato a un'altra cosa; ho un convertitore usb seriale (rs232); mi pare di aver capito (correggetemi se sbaglio) che c'è la possibilita di caricare gli sketch collegando i pin giusti della seriale sui pin giusti dell'atmega 328; se è possibile con una basetta millefori, e qualche componente non dovrebbe essere difficile costruire un programmatore per atmega 328...alla fine invece che usare l'arduino come programmatore-adattatore usb/seriale salto quasto passaggio...secondo voi è fattibile?
Questa è la tecnica che voglio sperimentare appena possibile; concettualmente finora ho verificato che tutte le tecniche seriali presuppongono che il chip abbia il bootloader precaricato, quindi se vuoi realizzare un chip senza di questo non puoi ricorrere al sistema che dici, ma io non ho fatto prove, ripeto.
Visto che non hai problemi a realizzare la pcb, quella sarebbe la soluzione ideale, io ho previsto sia il collegamento seriale che quello ISP, ci metti pure lo zoccolo ZIF, in pochi secondi ogni volta fai quello che vuoi, ma sempre usando Arduino; in realtà la mia pcb ha anche la porta USB, usata solo per l'alimentazione; da ciò che ho lett nell'altro post, mi pare d'aver capito che addirittura si potrebbe collegare direttamente i segnali USB al chip (ma NON a tx/rx), e questa è l'altra tecnica che voglio sperimentare.
a me interesserebbe una cosa del genere; in pratica diventa un programmatore di atmega 328 senza arduino se non ho capito male...e penso che con la seriale dovrebbe essere ancora più facile..(anche se in molti dicono di no)..
guardando la differenza tra un arduino con la porta seriale e l'arduino uno mi sembra che ci sia un integrato in più che probabilmente(non ne sono sicuro però) sarà una specie di convertitore usb/seriale. se io utilizzo quindi un convertitore esterno o direttamente la porta seriale, ci sarà ben un sistema per programmarli senza arduino!

se non si può fare come avevo pensato io (con la porta seriale) allora la soluzione migliore e proprio quella della protoshield, che però ha sempre bisogno del supporto di un arduino..

EDIT: a questo indirizzo spiegano come usare un convertitore usb-seriale per caricare uno sketch..
http://translate.google.it/translate?hl=it&langpair=en|it&u=http://gargiullo.com/2010/10/arduino-serial-programming-using-a-nokia-phone-cable/

qualcuno l'ha provato?
« Last Edit: May 12, 2011, 07:04:17 am by alexdb » Logged

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

Io non ho provato, come ti dicevo, questa cosa del cavo Nokia è simpatica, chissà se ne ho ancora qualcuno in giro smiley-money
Faccio un ragionamento logico: Arduino ha il convertitore USb-seriale, è il chip ATmega8U2, però con Arduino da solo NON si può mettere il bootloader in un chip vergine (salvo nuove scoperte smiley-eek-blue), ma solo inviare sktech ad un chip che ha già il bootloader; questo io lo interpreto come una impossibilità di fare questa operazione tramite i pin seriali tx/rx, mentre si può effettuare con i vari MISO, MOSI e SCK.
In conclusione, una volta che decidi cosa vuoi fare hai due strade:
1 - Se vuoi poter caricare il bootloader OPPURE se vuoi mettere su un chip il SOLO sketch per farlo lavorare in stand alone (senza Arduino) ti serve un programmatore ISP (e abbiamo visto che Arduino lo svolge egregiamente questo ruolo, almeno limitatamente a questa funzione)
2 - Se vuoi SOLO poter aggiornare o sostituire uno sketch su un chip che HA GIA' il bootloader precaricato ti basta un'interfaccia USB-SERIALE (quella che hai postato è un'idea, poi vendono schedini fatti apposta a 10-12 euro se non erro).
3 - Se vuoi poter fare entrambe le cose ti serve Arduino per mettere il bootloader e, se non ti scoccia togliere il chip da Arduino, puoi usarlo anche per aggiornare gli sketch (nella guida c'è comunque la tecnica che ha sperimentato superkulak, con tutti i pro e contro spiegati); se vuoi un sistema separato prendi l'interfaccia USB-Seriale.
A questo punto la tua pcb deve avere sia la presa 2x3 ISP (per collegarla ad Arduino) che le connessioni tx/rx/reset/gnd/5v (per collegarla all'intrerfaccia USB-seriale), come quella che ho realizzato io.
Ti sembra oea abbastanza chiara la situazione smiley-twist smiley-mr-green smiley-lol
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
Sr. Member
****
Karma: 2
Posts: 328
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Io non ho provato, come ti dicevo, questa cosa del cavo Nokia è simpatica, chissà se ne ho ancora qualcuno in giro smiley-money
Faccio un ragionamento logico: Arduino ha il convertitore USb-seriale, è il chip ATmega8U2, però con Arduino da solo NON si può mettere il bootloader in un chip vergine (salvo nuove scoperte smiley-eek-blue), ma solo inviare sktech ad un chip che ha già il bootloader; questo io lo interpreto come una impossibilità di fare questa operazione tramite i pin seriali tx/rx, mentre si può effettuare con i vari MISO, MOSI e SCK.
In conclusione, una volta che decidi cosa vuoi fare hai due strade:
1 - Se vuoi poter caricare il bootloader OPPURE se vuoi mettere su un chip il SOLO sketch per farlo lavorare in stand alone (senza Arduino) ti serve un programmatore ISP (e abbiamo visto che Arduino lo svolge egregiamente questo ruolo, almeno limitatamente a questa funzione)
2 - Se vuoi SOLO poter aggiornare o sostituire uno sketch su un chip che HA GIA' il bootloader precaricato ti basta un'interfaccia USB-SERIALE (quella che hai postato è un'idea, poi vendono schedini fatti apposta a 10-12 euro se non erro).
secondo me è questa la cosa più interessante , perchè per mettere il bootloader ci stai un attimo e lo fai una volta sola, mentre per caricare gli sketch lo fai più frequentemente... io di adattatori usb-seriali ne ho due, quindi mi basterebbe costruire una millefori  con su una presa seriale, con i piedini 2 e 3 (che secondo wikipedia sono tx e rx http://it.wikipedia.org/wiki/EIA_RS-232) collegati in qualche maniera all'atmega328, il quarzo, i condensatori, l'alimentazione e io ho ottenuto un comodissimo programmatore per atmega 328?!
Quote
3 - Se vuoi poter fare entrambe le cose ti serve Arduino per mettere il bootloader e, se non ti scoccia togliere il chip da Arduino, puoi usarlo anche per aggiornare gli sketch (nella guida c'è comunque la tecnica che ha sperimentato superkulak, con tutti i pro e contro spiegati); se vuoi un sistema separato prendi l'interfaccia USB-Seriale.
A questo punto la tua pcb deve avere sia la presa 2x3 ISP (per collegarla ad Arduino) che le connessioni tx/rx/reset/gnd/5v (per collegarla all'intrerfaccia USB-seriale), come quella che ho realizzato io.
interessante anche così..
Quote
Ti sembra oea abbastanza chiara la situazione smiley-twist smiley-mr-green smiley-lol
chiarissimissimo!!
Logged

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

2 - Se vuoi SOLO poter aggiornare o sostituire uno sketch su un chip che HA GIA' il bootloader precaricato ti basta un'interfaccia USB-SERIALE (quella che hai postato è un'idea, poi vendono schedini fatti apposta a 10-12 euro se non erro).
secondo me è questa la cosa più interessante , perchè per mettere il bootloader ci stai un attimo e lo fai una volta sola, mentre per caricare gli sketch lo fai più frequentemente... io di adattatori usb-seriali ne ho due, quindi mi basterebbe costruire una millefori  con su una presa seriale, con i piedini 2 e 3 (che secondo wikipedia sono tx e rx http://it.wikipedia.org/wiki/EIA_RS-232) collegati in qualche maniera all'atmega328, il quarzo, i condensatori, l'alimentazione e io ho ottenuto un comodissimo programmatore per atmega 328?!
Più o meno è così, può essere che tu debba gestire anche il reset, al minimo con una R da 10K sul pin 1 del chip. Comunque datti da fare, inizia e poi ci si risente. In bocca al lupo!
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: 503
Posts: 12307
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Se Arduino (a me l'ha fatto col 2009, ad altri è capitato con l'UNO) per funzionare richiede il circuito R-C per l'anti-autoreset lo richiederà sempre, quindi devi lasciare tutto montato e cambiare il solo chip. E' una cosa che ho sperimentato più volte, se togli l'R-C dopo il primo chip, col secondo non funziona di nuovo e va rimesso, tanto vale lasciarlo lì.
Allora forse é meglio aggiungere pure questo alla Tua guida per togliere ogni dubbio.
Ciao Uwe
Ciao Uwe, fatto, controlla per favore ora la pag. 19, ho aggiunto il punto "h" e inserito altre info nella nota n.11 della stessa pagina; aspetto la tua valutazione, se non va bene troviamo un'altra formula per spiegarlo.
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

Offline Offline
Sr. Member
****
Karma: 2
Posts: 328
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

2 - Se vuoi SOLO poter aggiornare o sostituire uno sketch su un chip che HA GIA' il bootloader precaricato ti basta un'interfaccia USB-SERIALE (quella che hai postato è un'idea, poi vendono schedini fatti apposta a 10-12 euro se non erro).
secondo me è questa la cosa più interessante , perchè per mettere il bootloader ci stai un attimo e lo fai una volta sola, mentre per caricare gli sketch lo fai più frequentemente... io di adattatori usb-seriali ne ho due, quindi mi basterebbe costruire una millefori  con su una presa seriale, con i piedini 2 e 3 (che secondo wikipedia sono tx e rx http://it.wikipedia.org/wiki/EIA_RS-232) collegati in qualche maniera all'atmega328, il quarzo, i condensatori, l'alimentazione e io ho ottenuto un comodissimo programmatore per atmega 328?!
Più o meno è così, può essere che tu debba gestire anche il reset, al minimo con una R da 10K sul pin 1 del chip. Comunque datti da fare, inizia e poi ci si risente. In bocca al lupo!
ok! adesso ordino qualche atmega vuoto (penso di averne appena bruciato uno) e poi ti faccio sapere!
(in questo sito sembrano i più economici:
http://www.regaliedesideri.it/hobby-equip/electronics/microcontrollers/atmega328.html
li ordino li..)
Logged

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

Non intendevo questo dicendo "datti da fare!" smiley-cry nell'altro topic ti avevo già dato una definizione, scherzavo, ma a quanto pare  smiley-mr-green smiley-mr-green
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
Sr. Member
****
Karma: 2
Posts: 328
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nell'attesa che mi arrivino gli atmega mi prendero una pausa di riflessione e una buona guida di elettronica smiley-grin smiley-grin
Logged

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

Indossa anche la camicia di forza mentre leggi, così non ti viene la tentazione di sperimentare quanto arrivi alla prima virgola.... 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

Offline Offline
Sr. Member
****
Karma: 2
Posts: 328
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ho già in mente di fare un piccolo esperimento:
prendo l'uscita rx della seriale e ci attacco un led; poi provo a spedire un sketch per vedere se il led lampeggia..se dovesse lampeggiare siamo a cavallo smiley-lol


però adesso mi metto a studiare storia se no domani mi fregano!(anche se non riesco a resistere) smiley-grin
Logged

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

Noooo! spero tu intanto non lo abbia fatto davvero smiley-roll-sweat
Dopo questo esperimento il led lampeggerà, sì, ma tu sarai SOTTO il cavallo smiley-twist
Ce l'hai già il led sull'rx, è uno di quelli sulla board, se proprio devi mettici una resistenza in serie da 330 ohm in su (max 2200 ohm, poi il led non lo vedi lampeggiare più).
Studia storia che è meglio, fatti una cultura che ti serve più che fare danno con l'elettronica, nel tempo libero puoi sempre ricominciare...
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: 325
Posts: 22498
Logic is my way
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
Logged


Offline Offline
Sr. Member
****
Karma: 2
Posts: 328
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ma io non intendevo ai pin dell'arduino!
intendevo ai pin dell'adattatore usb seriale per vedere se quella cosa che voglio fare è fattibile...
comunque mi dispiace...ho già provato..mi è esploso il computer smiley-twist
a parte gli scherzi..la resistenza da (mi pare) 400ohm l'ho messa in serie al led, che quando ho spedito lo sketch ha lampeggiato un pò come quello dell'arduino;
il risultato mi sembra promettente=) se avessi un atmega quasi quasi proverei subito, ma per fortuna non ce l'ho così studio per il compito di storia  smiley-mr-green
Logged

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