|
9286
|
International / Megatopic / Re: Guida: La programmazione di ATmega328 con Arduino versione 3
|
on: June 15, 2011, 11:55:08 am
|
le farò, è che sono sempre in viaggio per lavoro e mi manca il tempo. le prove che ho fatto ieri notte le ho fatte in albergo, saldando il cavetto ISP con il saldatore a gas! ormai in valigia metto prima le mie scatolette di componenti, poi lo spazzolino..  Beh, allora fai attenzione a non lavarti i denti col saldatore a gas acceso, non so se si sbiancano o se ti si fondono le protesi di piombo 
|
|
|
|
|
9287
|
International / Megatopic / Re: Guida: La programmazione di ATmega328 con Arduino versione 3
|
on: June 15, 2011, 11:31:01 am
|
ok ho riprovato la procedura completamente in 'composizione minimale', facendo le stesse identiche cose per entrambi i chip, ed ho lo stesso risultato: lampeggiano a velocità differenti. per 'velocità differenti', intendo che già al secondo lampeggio si nota una differenza di una frazione di secondo. e dopo una ventina di lampeggi vanno opposti. comunque la velocità del lampeggio è molto simile al secondo. (delay(1000)).
ho rifatto la procedura con gli oscillatori esterni, mattendo il bootloader da 16, ovviamente, e va tutto bene. sto alimentando a 3,3V entrambi i chip (per ora uso l'uscita regolata di arduino) e i blink vanno.
quanta corrente si può prendere dall'uscita 3,3V di arduino?
Che intendi per “va tutto bene”? che ora i led sono perfettamente sincronizzati? Alla lunga un minimo di differenza dovresti averla, se non altro per la tolleranza dei quarzi. Comunque a questi livelli non hai problemi, ripeto a 8MHz sballano i tempi “software” ma la sincronizzazione non dovrebbe darti problemi. A 3,3V il solo chip consuma circa 2,6mA, poi devi sommare il consumo dei componenti aggiuntivi (non il quarzo), p.es. il led che da solo si prende 10-20mA). intendo che ormai è un'oretta che lampeggiano i led, e ancora sono in perfetto sync. dici che non dovrebbe dar problemi? intendo usando gli osc interni, con differenti tempi.. ma, scusa l'ignoranza, i clock dell'SPI non vanno anche loro diversi? quindi i dati che mando da una scheda via radio, l'altra non li legge in tempi diversi? dico che, secondo me, il sincronismo in queste situazioni, p quello degli orologi di Pulcinella che diceva di voler morire quando ne avesse trovati tre che indicavano lo stesso identico orario. Penso che in qualsiasi forma di comunicazione ci siano degli elementi di sincronizzazione, qui non stiamo parlando di differende di centinaia di KHz. però non ho fatto prove di comunicazione quindi non posso giurarlo, ti basta farne qualcuna tu.
|
|
|
|
|
9288
|
International / Megatopic / Re: Guida: La programmazione di ATmega328 con Arduino versione 3
|
on: June 15, 2011, 11:26:25 am
|
Non avevo problemi con gli Atmega, avevo avuto problemi con gli Attiny.
devo correggerti, io con gli attiny ho avuto a che fare da un paio di settimane a questa parte; DOPO che hai risolto con gli attiny ti chiesi se la cosa non fosse possibile applicarla agli atmega e tu preparasti le righe per la board, ma non andavano, io mi sono incaponito ed alla fine l'ho fatto funzionare, mi pare il problema fosse nell'extended; ciò nonostante tu hai avuto altre difficoltà, credo sia tutto scritto nel Topic degli attiny  Devo però farti notare che le voci pubblicate sono inesatte  Tu dici infatti tramite i fuse di riservare lo spazio per l'Optiboot (512 byte) poi però dichiari che la memoria libera è pari al totale (32768) e non a 32256 (32768-512) Avevamo parlato anche di questo, se ricordi, e mi hai pure aiutato dandomi il tuo sketch "top secret". Queste board servono NON per il bootloader ma per gli sketch, giusto? Il FuseCalc non permette di azzerare la spazio riservato, e la tecnica ISP comunque ormai sappiamo bene che sovrascrive anche quella zona, però se imposti un valore inferiore a 32768 non accetta lo sketch di 32K, i meccanismi non siamo riusciti a chiarirli, ma il risultato è certo, quelle tre board le sto usando tranquillamente e vanno, quindi "non ricominciamo"  OTHER: Vorrei invece portarti a conoscenza di una prova che ho fatto e che ha qualcosa che non va, il "fatto" è lungo, ma il Topic è giusto, riguarda sempre il file boards.txt. Se prometti di darmi confidenza  scrivo altrimenti mi riservo di farlo più avanti, visto che sto ancora lavorando.
|
|
|
|
|
9289
|
International / Megatopic / Re: Guida: La programmazione di ATmega328 con Arduino versione 3
|
on: June 15, 2011, 11:14:42 am
|
ok ho riprovato la procedura completamente in 'composizione minimale', facendo le stesse identiche cose per entrambi i chip, ed ho lo stesso risultato: lampeggiano a velocità differenti. per 'velocità differenti', intendo che già al secondo lampeggio si nota una differenza di una frazione di secondo. e dopo una ventina di lampeggi vanno opposti. comunque la velocità del lampeggio è molto simile al secondo. (delay(1000)).
ho rifatto la procedura con gli oscillatori esterni, mattendo il bootloader da 16, ovviamente, e va tutto bene. sto alimentando a 3,3V entrambi i chip (per ora uso l'uscita regolata di arduino) e i blink vanno.
quanta corrente si può prendere dall'uscita 3,3V di arduino?
Che intendi per “va tutto bene”? che ora i led sono perfettamente sincronizzati? Alla lunga un minimo di differenza dovresti averla, se non altro per la tolleranza dei quarzi. Comunque a questi livelli non hai problemi, ripeto a 8MHz sballano i tempi “software” ma la sincronizzazione non dovrebbe darti problemi. A 3,3V il solo chip consuma circa 2,6mA, poi devi sommare il consumo dei componenti aggiuntivi (non il quarzo), p.es. il led che da solo si prende 10-20mA).
|
|
|
|
|
9290
|
International / Italiano / Re: Pizza a Torino
|
on: June 15, 2011, 11:07:34 am
|
Facciamo la spedizione dei Mille: salpiamo ed invadiamo l'isola  Cmq dai "calabbresi" mi fermerei a mangiare il cignale (come lo si chiama qui da noi in Toscana)  bah, roba "importata", poi ti spiego se passi da qui che cosa intendo per cibo nostro.
|
|
|
|
|
9291
|
International / Megatopic / Re: Guida: La programmazione di ATmega328 con Arduino versione 3
|
on: June 15, 2011, 11:03:50 am
|
La guida non l'ho scritta io ma Menniti e per ora ha fornito solo il PDF  Però le modifiche al file boards.txt sono mie e le ho pubblicate inizialmente sul forum. Prova a fare una ricerca, non mi ricordo bene in quale thread sono state originariamente messe. Verissimo, solo che mi pare che rispetto ai tuoi valori iniziali (se ti ricordi avevi avuto dei problemi) ho ricalcolato i fuses quindi forse è meglio che ricopia, comunque ecco le mie ultime versioni: ##############################################################
atmega3216.name=ATmega in Stand Alone 16MHz (w/ Arduino as ISP) atmega3216.upload.protocol=stk500 atmega3216.upload.maximum_size=32768 atmega3216.upload.speed=115200 atmega3216.upload.using=arduino:arduinoisp atmega3216.bootloader.low_fuses=0xff atmega3216.bootloader.high_fuses=0xde atmega3216.bootloader.extended_fuses=0x05 atmega3216.bootloader.path=optiboot atmega3216.bootloader.file=optiboot_atmega328.hex atmega3216.bootloader.unlock_bits=0x3F atmega3216.bootloader.lock_bits=0x0F atmega3216.build.mcu=atmega328p atmega3216.build.f_cpu=16000000L atmega3216.build.core=arduino
##############################################################
mega3208.name=ATmega in Stand Alone 8MHz internal clock (w/ Arduino as ISP) mega3208.upload.protocol=stk500 mega3208.upload.maximum_size=32768 mega3208.upload.speed=115200 mega3208.0pload.using=arduino:arduinoisp mega3208.bootloader.low_fuses=0xe2 mega3208.bootloader.high_fuses=0xde mega3208.bootloader.extended_fuses=0x07 mega3208.bootloader.path=optiboot mega3208.bootloader.file=optiboot_atmega328.hex mega3208.bootloader.unlock_bits=0x3F mega3208.bootloader.lock_bits=0x0F mega3208.build.mcu=atmega328p mega3208.build.f_cpu=8000000L mega3208.build.core=arduino
##############################################################
mega3201.name=ATmega in Stand Alone 1MHz internal clock (w/ Arduino as ISP) mega3201.upload.protocol=stk500 mega3201.upload.maximum_size=32768 mega3201.upload.speed=115200 mega3201.upload.using=arduino:arduinoisp mega3201.bootloader.low_fuses=0x62 mega3201.bootloader.high_fuses=0xde mega3201.bootloader.extended_fuses=0xff mega3201.bootloader.path=optiboot mega3201.bootloader.file=optiboot_atmega328.hex mega3201.bootloader.unlock_bits=0x3F mega3201.bootloader.lock_bits=0x0F mega3201.build.mcu=atmega328p mega3201.build.f_cpu=1000000L mega3201.build.core=arduino [/quote] Detto questo, tornando all'oscillatore, come vedi abbiamo differenze del 10% quindi può starci che i 2 chip lampeggino così differentemente.
Per tagliare la testa al toro dovresti provare a programmare i fuse da terminale usando avrdude: controlla nel forum perché anche in questo caso ho pubblicato le opzioni da passare ad avrdude.
Secondo me non cambia nulla, io avevo capito che parlava di differenze abissali, a quel livello ti assicuro che le avresti anche con due Arduino UNO (p.es.) dello stesso lotto di produzione
|
|
|
|
|
9292
|
International / Italiano / Re: Pizza a Torino
|
on: June 15, 2011, 10:55:14 am
|
Per i "siculi": mi sono ripromesso di tornare, prima o poi, in Sicilia. Quando sarà (futuro remoto) vorrei tornare a farmi una bella sgranata di pesce sulla costa, come feci a Porto Palo (Capo Passero).
se non ti schifiamo verremmo anche i calabri
|
|
|
|
|
9294
|
International / Italiano / Re: Atmega a prezzo stracciato
|
on: June 15, 2011, 10:23:45 am
|
Ragazzi secondo voi è altino questo prezzo per un atmega328?? ATMEGA robot-italyVorrei sapere perchè quello con il bootloader dell'arduino uno costa di meno di quello con bootloader dell'arduino 2009. A questo punto, visto che io un arduino 2009 funzionante ce l'ho già , posso prendere l'atmega328 con BL dell'uno e caricarci quello del 2009? Grazie p.s. Leo72 cosa intendi per spedizione unificata? Mandare tutti insieme gli oggetti che ordini da uno stesso venditore? Ciao Ciao la spedizione unificata consiste nel fatto che essendo tutti articoli di uno stesso fornitore, invece di farti pagare la somma delle spese di traasporto di tuti gli articoli, ti fa un costo unico, appunto come fa il Polacco, se poi è in ferie ancora (so che una ventina di giorni fa aveva messo un avviso che sarebbe mancato x tempo...) non lo so. In pratica il mio ordine aveva un totale di trasporto di una 60na di euro e ho pagato circa 8,50; gli ho solo inviato una mail per chiedergli il conto (scrivete in inglese, anche maccheronico, non capisce una mzz di italiano!) e mi ha risposto il giorno stesso; ti dico anche che nella spedizione si scordò di mettere tre mosfet e appena gliel'ho segnalato mi ha risposto che la verifica di magazzino mi dava ragione, che poteva indifferentemente restituirmi l'importo dei 3 componenti o spedirmeli tutto a suo carico, mi servivano e ho optato per questa seconda soluzione. da lui ho preso atmega328 a meno di 4 euro, ha ragione MT, se li compri per riprogrammarli non ha significato, comuqneu l'operazone di sostituzione del bl si fa tranquillamente, sulla Guida è spiegato. Ciao.
|
|
|
|
|
9295
|
International / Megatopic / Re: Guida: La programmazione di ATmega328 con Arduino versione 3
|
on: June 15, 2011, 10:15:02 am
|
Rieccomi, e grazie per le risposte. Spiegavo come avevo fatto e come mi è andata solo per aggiungere un'ulteriore esperienza con quel metodo.  il fatto che ho caricato la prima volta il bootloader '8 MHz interno' con l'oscillatore esterno da 16 cmq attaccato, è perchè l'avevo letto sulla guida (o almeno mi sembra di averlo letto..) c'era scritto qualcosa come: La prima volta che si carica il bl per l'osc interno a 8MHz bisogna farlo con tutti i componenti attaccati, se con una breadboard.. Non c'è contraddizione in quello che ti ho detto, in quel punto della guida si parla del caricamento dello sketch non del bootloader, quindi confermo che prima devi inviare il bootloader a 8MHz e poi inviare lo sketch; il fatto di doverlo eseguire la prima volta con la configurazione "completa" è per standardizzare la procedura spiegata; in alcune particolari situazioni possono esserci problemi a partire direttamente in "minimal". Piuttosto che stare lì a scovare queste situazioni strane ho rpeferito far eseguire un minuto scarso di operazione in più. Ciò detto mi complimento perché la Guida andrebbe letta comehai fatto tu, facendo attenzione soprattutto ai particolari  cmq, ho eseguito lo stesso procedimento per tutti e due i chip, e sono entrambi comprati nuovi col bootloader del 2009 già caricato. comunque se mi dite che c'è poca affidabilità sulla sincronizzazione della seriale con l'oscillatore interno, devo tornare a quello esterno, in quanto devo realizzare una comunicazione con due chip e due schedine RFM22B, che comunicano via SPI, per il quale immagino che la velocità del clock sia 'moolto' importante. Che dite?
Hai provato a ripetere l’operazione? I tempi sono sempre diversi? Se sono uguali il clock opera allo stesso modo ed è anche abbastanza preciso, c’è un valore di fuse che porta la frequenza di clock sul pin 8 del chip, io l’ho misurata, credo che per quello che devi fare va piuttosto bene. Ma se stai avendo problemi con un chip cerchiamo prima di risolverli. oppure c'è un modo facile per rendere preciso il clock interno (ho letto che l'accennavate, ma non ho capito molto.)
È una tecnica software, si tratta di usare avrdude da riga di comando inviando i valori dei fuses, ma io ancora non l’ho provata, so dirti solo che funziona certamente. altra domanda, però: ho letto cose discordanti a riguardo, ma con l'oscillatore esterno, in standalone classico, posso alimentare il chip a 3,3V?
Sì, io ho detto un’altra cosa, che in configurazione con clock inferiore ricordo che dovevo per forza alimentare a 3,3-3,6V ma non ricordo più come sono andate le cose. In quel periodo avrò fatto non meno di 3-400 programmazioni e relative prove.  Grazie ragazzi! e ciao.
Grazie a te per i feedback. Ciao.
|
|
|
|
|
9296
|
International / Megatopic / Re: Guida: La programmazione di ATmega328 con Arduino versione 3
|
on: June 15, 2011, 05:39:00 am
|
Bah, appena mi libero dal grosso degli impegni devo riprendere a fare un po' di prove, in alcune situazioni potrebbe diventare problematico dover gestire tempi strani, con i nanetti ho sopperito trovando sperimentalmente i valori di delay, ma non sempre potrà andare bene questo sistema. @ astrobeed naturalmente è la soluzione migliore, ma il mio intento da sempre è cercare di fare tutto senza dover comprare apparecchiature esterne, quindi usando solo Arduino. Sia ben chiaro che il concetto che inseguo non è economico (almeno per quanto mi riguarda non sarebbero 30-50 euro a fermarmi) bensì "filosofico" e "sperimentale"; per capirci è un po' (molto po') come quegli studiosi che si cimentano con la natura senza i mezzi tecnologici moderni; seguii con molto interesse quel tizio che andò a trascorrere alcuni giorni in diversi posti impervii sfruttando solo le sue conoscenze; certo, c'era una troupe al suo seguito pronta a intervenire ma fu comunque entusiasmante  Insomma, cercate di capire cosa intendo, senza ora stare a prndermi per il... oops i fondelli 
|
|
|
|
|
9299
|
International / Italiano / Re: ADC ATmega 328
|
on: June 15, 2011, 05:09:58 am
|
se non sbaglio esiste anche la versione ristretta del datasheet del 328
Sì, l'indice, sono le prime 2-3 pagine  Io ho visto una versione ristretta del Programming, si chiama "notebook", è molto comodo come prontuario  ma per l'hardware la vedo dura un'edizione ristretta.
|
|
|
|
|