El-Sequencer, Nuova Board per programmazione w/arduino as ISP [Risolto]

Ciao, ho bisogno d'un piccolo aiuto. Ho preso la schedina EL-Sequencer, di sparkfun: http://www.sparkfun.com/products/9203 la piccola ha un Atmega 328, con oscillatore esterno da 8MHz. ora, la vorrei programmare usando Arduino come ISP, come nella fantastica guida di Menniti. secondo voi devo aggiugere una nuova Board?, intendo per gli 8MHz esterni.. come posso fare? se qualcuno sa prepararmela, gli chiederei il favore di mandarmela, che in realtà ho poco tempo per applicarmi a capire come farla.

Grazie, Davide.


EDIT: Allora, grazie a Menniti che mi ha preparato una nuova board per programmare l'El-Sequencer usando arduino come ISP programmer. la board da aggiungere nel file board.txt è questa:

#####################

elseq.name=El Sequencer w/ ATmega328
elseq.upload.protocol=stk500
elseq.upload.maximum_size=30720
elseq.upload.speed=57600
elseq.upload.using=arduino:arduinoisp
elseq.bootloader.low_fuses=0xFF
elseq.bootloader.high_fuses=0xDA
elseq.bootloader.extended_fuses=0x05
elseq.bootloader.path=atmega
elseq.bootloader.file=ATmegaBOOT_168_atmega328_pro_8MHz.hex
elseq.bootloader.unlock_bits=0x3F
elseq.bootloader.lock_bits=0x0F
elseq.build.mcu=atmega328p
elseq.build.f_cpu=8000000L
elseq.build.core=arduino

#####################

..e così si riesce a programmare l'El-Sequencer (ovviamente se non avete il cavetto USB-FTDI), dopodichè ho avuto un problema, non funzionava. Praticamente le masse dell'inverter (in e out) devono essere unite, quindi a seconda di come è fatto l'inverter, o lo fate voi sulla scheda, ponticellando il ground dell'in con quello dell'out dei connettorini dell'inverter (vedi qui per le immagini del ponticello: http://blog.makezine.com/archive/2010/04/programming-el-wire-fashion.html# ), oppure basta invertire i due fili dell'out dell'inverter, perchè probabilmente li hanno saldati/crimpati male in fabbrica. In realtà se sono invertiti usando l'inverter da solo funziona bene. i problemi si hanno solo con l'uso dei triac. Spero sia utile per altri e che non ho scritto niente di sbagliato. In caso ditemi che correggo! ciao!!

dal sito di sparkfun.... Compatible with Arduino (8MHz LilyPad) carichi ISP in arduino uno o 2009 che sia ci metti il condensatore per inibire il reset, colleghi le due board ed il gioco è fatto ;)

dab77: Ciao, ho bisogno d'un piccolo aiuto. Ho preso la schedina EL-Sequencer, di sparkfun: http://www.sparkfun.com/products/9203 la piccola ha un Atmega 328, con oscillatore esterno da 8MHz. ora, la vorrei programmare usando Arduino come ISP, come nella fantastica guida di Menniti. secondo voi devo aggiugere una nuova Board?, intendo per gli 8MHz esterni.. come posso fare? se qualcuno sa prepararmela, gli chiederei il favore di mandarmela, che in realtà ho poco tempo per applicarmi a capire come farla.

Grazie, Davide.

Ciao Davide, intanto grazie per il complimento, da arrossire!! Ti confermo quanto ti ha detto Speedy Gonzales (il nostro caro Ratto93 è ormai il “topo” più veloce del Forum….), quindi la board ce l’hai. Mi sono messo a dare un’occhiata allo schema: Purtroppo i connettori li devi saldare, visto che ci sono solo i fori, infatti lo schema riporta un jp2 ed un jp4 che poi sono rispettivamente il seriale e l’ISP. Se vuoi togliere/ripristinare il bootloader ti serve la tecnica ISP, se invece vuoi solo variare lo sketch ti conviene la tecnica seriale, in quanto la ISP ti cancella il bootloader. Se hai letto bene la Guida questa cosa è spiegata, proprio nella presentazione della tecnica ISP. Su JP2 non hanno previsto il pin RESET diretto, bensì il DTR, simulando la connessione col convertitore USB-seriale, ma tu lo tratti come se fosse il RESET e dovrebbe funzionare senza problemi; riepilogando: Togli il chip da Arduino Colleghi l’alimentazione +5V e GND tra Arduino e El-S Colleghi RX di Arduino a RX di El-S Colleghi TX di Arduino a TX di El-S Colleghi RESET di Arduino a DTR di El-S Nell’IDE selezioni la LilyPad a 8MHz, mandi lo sketch ed è fatta. A fine Guida c’è anche la curiosa “scoperta” fatta da superkulak, però penso che qui non vada in quando i due chip operano a frequenze differenti, ma puoi sempre tentare, più di un errore non esce, sempre che non fai cose strane con i collegamenti, ATTENZIONE alle alimentazioni, quindi niente fretta e ricontrolla tutto, se bruci quel chip mi pare un po’ un problema a cambiarlo.

Ti confermo quanto ti ha detto Speedy Gonzales (il nostro caro Ratto93 è ormai il “topo” più veloce del Forum….), quindi la board ce l’hai.

:grin: :grin: :grin: :grin: :grin: :grin:

Lo sai che mi piace scherzare, non te la prendere, è che seguendo il Topic che ormai è solo tuo e di Guglio, mi sto scompisciando dalle risate, tu la mente superveloce e lui il braccio elettronico, che coppia fantastica, altro che Terence Hill e Bud Spencer!! (con tutto il rispetto per Pelletta :blush:)

menniti: Lo sai che mi piace scherzare, non te la prendere, è che seguendo il Topic che ormai è solo tuo e di Guglio, mi sto scompisciando dalle risate, tu la mente superveloce e lui il braccio elettronico, che coppia fantastica, altro che Terence Hill e Bud Spencer!! (con tutto il rispetto per Pelletta :blush:)

Non ho parole ..... :) non appena sarà possibile ti pago da bere :D

ratto93:

menniti: Lo sai che mi piace scherzare, non te la prendere, è che seguendo il Topic che ormai è solo tuo e di Guglio, mi sto scompisciando dalle risate, tu la mente superveloce e lui il braccio elettronico, che coppia fantastica, altro che Terence Hill e Bud Spencer!! (con tutto il rispetto per Pelletta :blush:)

Non ho parole ..... :) non appena sarà possibile ti pago da bere :D

credo di parlare per Menniti dicendo: Mission complete 8) XD

basta sta diventando un forum di spammoni :roll_eyes:

menniti:

dab77: Ciao, ho bisogno d'un piccolo aiuto. Ho preso la schedina EL-Sequencer, di sparkfun: http://www.sparkfun.com/products/9203 la piccola ha un Atmega 328, con oscillatore esterno da 8MHz. ora, la vorrei programmare usando Arduino come ISP, come nella fantastica guida di Menniti. secondo voi devo aggiugere una nuova Board?, intendo per gli 8MHz esterni.. come posso fare? se qualcuno sa prepararmela, gli chiederei il favore di mandarmela, che in realtà ho poco tempo per applicarmi a capire come farla.

Grazie, Davide.

Ciao Davide, intanto grazie per il complimento, da arrossire!! Ti confermo quanto ti ha detto Speedy Gonzales (il nostro caro Ratto93 è ormai il “topo” più veloce del Forum….), quindi la board ce l’hai. Mi sono messo a dare un’occhiata allo schema: Purtroppo i connettori li devi saldare, visto che ci sono solo i fori, infatti lo schema riporta un jp2 ed un jp4 che poi sono rispettivamente il seriale e l’ISP. Se vuoi togliere/ripristinare il bootloader ti serve la tecnica ISP, se invece vuoi solo variare lo sketch ti conviene la tecnica seriale, in quanto la ISP ti cancella il bootloader. Se hai letto bene la Guida questa cosa è spiegata, proprio nella presentazione della tecnica ISP. Su JP2 non hanno previsto il pin RESET diretto, bensì il DTR, simulando la connessione col convertitore USB-seriale, ma tu lo tratti come se fosse il RESET e dovrebbe funzionare senza problemi; riepilogando: Togli il chip da Arduino Colleghi l’alimentazione +5V e GND tra Arduino e El-S Colleghi RX di Arduino a RX di El-S Colleghi TX di Arduino a TX di El-S Colleghi RESET di Arduino a DTR di El-S Nell’IDE selezioni la LilyPad a 8MHz, mandi lo sketch ed è fatta. A fine Guida c’è anche la curiosa “scoperta” fatta da superkulak, però penso che qui non vada in quando i due chip operano a frequenze differenti, ma puoi sempre tentare, più di un errore non esce, sempre che non fai cose strane con i collegamenti, ATTENZIONE alle alimentazioni, quindi niente fretta e ricontrolla tutto, se bruci quel chip mi pare un po’ un problema a cambiarlo.

Siete proprio da pub e birre a go go... cmq, JP4 in realtà è per la comunicazione radio, il JP3 è per l'ISP, e io infatti volevo programmare da la, ma senza togliere il chip da arduino, per questo chiedevo se era necessario fare una nuova scheda, tipo "Lilypad 8MHz esterno Atmega328 w/Arduino ISP". è che ne dovrò programmare una decina e ognuno almeno una trentina di volte, dovrà essere comodo e veloce.. io avevo provato ieri utilizzando "arduino 328 con 8MHz interno w/arduino ISP" ,insomma la seconda nuova board della guida, pensando almeno di utilizzare l'oscillatore interno, ma non va, cioè, lo sketch lo carica, ma dopo non succede quello che dovrebbe (un semplice blink del pin 2).

quindi che dite?

OK, no la board 8MHz non va perché prevede l'oscillatore interno, devi usare quella prevista, quando c'è, e nel to caso c'è; dovresti semplicemente seguire la tecnica spiegata con due Arduino sapendo che il secondo (quello da programmare) è in realtà la lilypad 8MHz, alla quale non devi apportare alcuna modifica, quindi: 1 - Devi realizzare il cavetto ISP, come spiegato, viste le tante manovre ritengo sia l'unica cosa da fare. 2 - Devi ovviamente saldare un 6 pin ad ogni schedino da programmare 3 - Carica ArduinoISP su Arduino 4 - Collega il cavetto ISP (la parte col filo sfuso lato Arduino) 5 - Seleziona lilypad 8MHz come board 6 - Richiama il tuo sketch nell'IDE 7 - Fai Upload. Così deve andare, se non va dobbiamo mettere mano al bootloader, intanto prova e vediamo cosa succede

Se vuoi togliere/ripristinare il bootloader ti serve la tecnica ISP, se invece vuoi solo variare lo sketch ti conviene la tecnica seriale, in quanto la ISP ti cancella il bootloader.

Questo però non è sempre vero... tramite isp si possono sia caricare gli sketch, sia il bootloader, senza necessariamente cancellare qualcosa.

Ciao BB, io ho fatto migliaia (e non scherzo) di prove, anche se non ho approfondito la problematica perché non mi interessava, per una semplice ragione: tolto da Arduino al chip il bootloader fa solo perdere tempo per avviare lo sketch. Se usi la tecnica ISP ed invii ad un chip prima il bl e poi lo sketch, e quindi metti il chipo su un Arduino, non funziona. Se metti il solo bl funziona Se metti il solo sketch e il chip è vergine, in stand alone ti sballa i tempi, a meno che tu non lo faccia lavorare ad 1MHz, per come esce programmato dalla ATMEL. Naturalmente mi riferisco all'uso di Arduino come ISP, non ad un programmatore esterno, al quale forse tu ti riferisci

centro! ;)

Naturalmente mi riferisco all'uso di Arduino come ISP, non ad un programmatore esterno, al quale forse tu ti riferisci

infatti non ho detto che non è vero in assoluto, ma ho detto che non è sempre vero. magari usando arduino (l'ide) per flashare il micro ci sono tutte queste limitazioni/problemi, ma basta usare avrdude perchè tutti questi problemini svaniscano.

BrainBooster: centro! ;)

Naturalmente mi riferisco all'uso di Arduino come ISP, non ad un programmatore esterno, al quale forse tu ti riferisci

infatti non ho detto che non è vero in assoluto, ma ho detto che non è sempre vero. magari usando arduino (l'ide) per flashare il micro ci sono tutte queste limitazioni/problemi, ma basta usare avrdude perchè tutti questi problemini svaniscano.

Già, altra cosa che devo trovare un minuto per mettermi a provare e scrivere.... per non parlare di un certo Dude-Up che non mi ricordo più chi l'ha fatto... :grin: Diciamo che io mi limito ad affermare solo cose che ho testato, così se dò una mano a qualcuno posso farlo fino in fondo; se il qualcuno deve andare oltre ci siete voi mostri, altrimenti che state a fare, gli dei dell'Olimpo?

Volevo solo circostanziare la tua affermazione e spostarla nel dominio arduinico e non generico :D

menniti: OK, no la board 8MHz non va perché prevede l'oscillatore interno, devi usare quella prevista, quando c'è, e nel to caso c'è; dovresti semplicemente seguire la tecnica spiegata con due Arduino sapendo che il secondo (quello da programmare) è in realtà la lilypad 8MHz, alla quale non devi apportare alcuna modifica, quindi: 1 - Devi realizzare il cavetto ISP, come spiegato, viste le tante manovre ritengo sia l'unica cosa da fare. 2 - Devi ovviamente saldare un 6 pin ad ogni schedino da programmare 3 - Carica ArduinoISP su Arduino 4 - Collega il cavetto ISP (la parte col filo sfuso lato Arduino) 5 - Seleziona lilypad 8MHz come board 6 - Richiama il tuo sketch nell'IDE 7 - Fai Upload. Così deve andare, se non va dobbiamo mettere mano al bootloader, intanto prova e vediamo cosa succede

e qui intendi togliendo il chip dal programmatore? allora, se ho capito ora come ore ho due modi: o tolgo il chip dall'arduino 2009 e collego i pin rx,tx,dtr,5V e GND, oppure non tolgo il chip e faccio il cavo tra le due schede, ma allora sull'EL-SEQUENCER collego il 3x2 ISP, quello cioè con miso,mosi e sck? e in tal caso posso dargli in pasto come scheda direttamente la lilypad 8MHz? anche senza togliere il chip dalla 2009?

scusate, ma se aggiungo questa board, secondo voi va? è la copia di arduino standalone col clock da 16 esterno programmabile via arduino as ISP.

elsequencer328.name=ATmega 328 on EL-SEQUENCER 8MHz ext (w/ Arduino as ISP) elsequencer328.upload.protocol=stk500 elsequencer328.upload.maximum_size=32768 elsequencer328.upload.speed=115200 elsequencer328.upload.using=arduino:arduinoisp elsequencer328.bootloader.low_fuses=0xff elsequencer328.bootloader.high_fuses=0xde elsequencer328.bootloader.extended_fuses=0x05 elsequencer328.bootloader.path=optiboot elsequencer328.bootloader.file=optiboot_atmega328.hex elsequencer328.bootloader.unlock_bits=0x3F elsequencer328.bootloader.lock_bits=0x0F elsequencer328.build.mcu=atmega328p elsequencer328.build.f_cpu=8000000L elsequencer328.build.core=arduino

Ciao, però fai i complimenti alla mia Guida e poi fai certe domande.... Quello che ti ho scritto nel precedente post devi applicarlo senza togliere niente da nessuna parte. Fai la connessione ISP come spiegato nella Guida (attento al pin RESET) Esegui quella sequenza e ti deve funzionare, perché ti devi inventare board che non ti servono? Fanno cambiati i fuses per fare quello che vuoi tu e l'operazione si compica, mentre tu hai tutto bello pronto, fai la prova almeno, ma leggi con attenzione la parte della Guida che ti interessa, non c'ho perso un mese e passa tanto per... :sweat_smile:

l'ho fatto, penso, ma lo sketch me l'ha caricato sulla 2009, non sull'EL-Seq. mi rileggo tutto e vedo dove non ho capito.

board errata

Allora, spiegami questa Menniti, sulla tua guida, al capitolo che spiega come caricare uno sketch tra due Arduini senza togliere chip e usando il cavetto ISP, io leggo questo:

1 - Apro l’IDE e seleziono la board Arduino 2009 e la relativa COM
2 – Carico lo sketch ArduinoISP e lo invio alla 2009
3 – Apro lo sketch da inviare al chip montato sulla board target, quindi seleziono la
board “ATmega in Stand Alone (w/ Arduino as ISP)” ed eseguo Upload

cioè, usando come board una di quelle modificate per avere Arduino as ISP!!
mi sto sbagliando?