0
Offline
Edison Member
Karma: 12
Posts: 2285
Arduino rocks
|
 |
« Reply #15 on: February 17, 2013, 06:21:51 pm » |
Ecco perché ti consigliavo, nel caso, di compilare con l'IDE per crearti il firmware e poi di flasharlo usando avrdude da terminale, per evitare appunto di cancellarli.
Uh quello che serve a me cosi evito di aprire un nuovo topic, posso flashare di mio un atmega 8 prendendo l'hex dell'ide? mi basta il board.txt(dove lo trovo?) modificato? posso farlo anche senza bootloader?(uso un quarzo a 16 mhz) È stato spiegato più volte la procedure da seguire per sapere dove si trova il file .hex, ma al momento la funzione "search" non funziona e io ho informazioni frammentate e imprecise. Ci dovrebbe essere una combinazione di tasti da premere o un menu con il quale abitilare la funzione "verbose" dell'ide, il quale mostra tutti i processi lanciati durante la compilazione e la scrittura sul micro. Trovato il file .hex non ti serve altro che lanciare da console di comando il programma "avrdude" (e questo devi cercarlo nel file system) seguito da una serie di parametri. Mi pare che nelle guide di Menniti ci dovrebbe essere qualcosa di aiuto come pure nei Megatopic. Se non riesci aspetta qualcuno con info più dettagliate. Anticipato da Testato: Scusa ho dimenticato la tua guida:  Ciao.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 16
Posts: 1829
|
 |
« Reply #16 on: February 17, 2013, 06:26:44 pm » |
Ecco perché ti consigliavo, nel caso, di compilare con l'IDE per crearti il firmware e poi di flasharlo usando avrdude da terminale, per evitare appunto di cancellarli.
Uh quello che serve a me cosi evito di aprire un nuovo topic, posso flashare di mio un atmega 8 prendendo l'hex dell'ide? mi basta il board.txt(dove lo trovo?) modificato? posso farlo anche senza bootloader?(uso un quarzo a 16 mhz) È stato spiegato più volte la procedure da seguire per sapere dove si trova il file .hex, ma al momento la funzione "search" non funziona e io ho informazioni frammentate e imprecise. Ci dovrebbe essere una combinazione di tasti da premere o un menu con il quale abitilare la funzione "verbose" dell'ide, il quale mostra tutti i processi lanciati durante la compilazione e la scrittura sul micro. Trovato il file .hex non ti serve altro che lanciare da console di comando il programma "avrdude" (e questo devi cercarlo nel file system) seguito da una serie di parametri. Mi pare che nelle guide di Menniti ci dovrebbe essere qualcosa di aiuto come pure nei Megatopic. Se non riesci aspetta qualcuno con info più dettagliate. Anticipato da Testato: Scusa ho dimenticato la tua guida:  Ciao. io non voglio usare l'ide(che stranamente non mi uploada gli sketch ma uso un programmino molto efficiente che ho trovato in rete, quindi metto atmega8 dalle board compilo e mi prendo l'hex perfetto poi per il pinout devo controllare i pin originali pc5 etc giusto?
|
|
|
|
|
Logged
|
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17007
Don't know what I do
|
 |
« Reply #17 on: February 18, 2013, 02:12:55 am » |
ma come funziona questo contatore? chi lo incrementa? se io salvo qualcosa in quelle locazioni di memoria posso avere interferenze?
E' avrdude che fa lo "sporco lavoro", passando il flag "-y": Tells avrdude to use the last four bytes of the connected parts' EEPROM memory to track the number of times the device has been erased. When this option is used and the -e flag is specified to generate a chip erase, the previous counter will be saved before the chip erase, it is then incremented, and written back after the erase cycle completes. Presumably, the device would only be erased just before being programmed, and thus, this can be utilized to give an indication of how many erase-rewrite cycles the part has undergone.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 23
|
 |
« Reply #18 on: February 18, 2013, 01:48:37 pm » |
tornando alla domanda di partenza, si il diodo direi che è essenziale, ma da ignorante mi viene una domanda...la caduta di tensione sul diodo potrebbe dare problemi? In quel caso l'alimentazione credo dovrebbe essere almeno di 6 volt per averne 5 e qualcosa sul pin, ma l'altmel avrà sempre e comunque una gestione I/O digitale e analogica da 0 a 5 V qualunque sia il voltaggio con cui è alimentato giusto?
|
|
|
|
|
Logged
|
|
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17007
Don't know what I do
|
 |
« Reply #20 on: February 18, 2013, 04:52:51 pm » |
Attenzione ad una cosa. Se parliamo di Arduino, l'Atmega328 montato sulla scheda, o comunque flashato con l'IDE per lavorare in standalone, ha il circuito BOD (Brown-Out Detection) impostato a 4,3V2,7V. Il BOD resetta il chip quando la tensione scende sotto a quel valore. Se si usa un classico diodo al silicio, parliamo di 0,6/0,7V di dropout, quindi con 5V siamo già alla soglia di intervento del BOD.
Conviene usare un diodo Schottky, che ha un dropout di 0,2/0,3V.
|
|
|
|
« Last Edit: February 18, 2013, 05:09:43 pm by leo72 »
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 12
Posts: 2285
Arduino rocks
|
 |
« Reply #21 on: February 18, 2013, 05:03:36 pm » |
tornando alla domanda di partenza, si il diodo direi che è essenziale, ma da ignorante mi viene una domanda...la caduta di tensione sul diodo potrebbe dare problemi? In quel caso l'alimentazione credo dovrebbe essere almeno di 6 volt per averne 5 e qualcosa sul pin, ma l'altmel avrà sempre e comunque una gestione I/O digitale e analogica da 0 a 5 V qualunque sia il voltaggio con cui è alimentato giusto?
I segnali TTL cambiano soglia in base alla tensione di alimentazione, e come dice leo72 c'è da fare attenzione alle impostazioni del BOD che si effettua tramite i fuse bit, però io ricordo che il BOD impostato nella 2009 è 2.7Volts, quasi sicuramente ricordo male io e mi scoccia andare a controllare i fuse.  Usare un diodo schottky quando c'è di mezzo la batteria è un "Must", cioè deve essere così è basta. Però l'idea saggia sarebbe quella di usare un regolatore LDO low-low-dropout scegliendo come tensione di stabilizzazione 3.3V o 5V sempre che la batteria da scarica cioè necessitante di ricarica abbia ancora una tensione utile di ~5.3V. Con batteria carica probabilmente la tensine sarà 6.7 Volts. Ciao.
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17007
Don't know what I do
|
 |
« Reply #22 on: February 18, 2013, 05:09:16 pm » |
Hai ragione tu, Mauro. E' impostato a 2,7V. Errore mio nella trascrizione dei fuse nel Fuse Calc 
|
|
|
|
|
Logged
|
|
|
|
|
MC
Offline
God Member
Karma: 9
Posts: 676
|
 |
« Reply #23 on: February 19, 2013, 09:33:08 am » |
Perciò anche ...quindi con 5V siamo già alla soglia di intervento del BOD.
non è più valido! Quello che non ho capito (o mi è sfuggito ?)di questa discussione è il come la mcu si accorge che si sta spegnendo. Forse con un interruttore a due vie di cui una porta a massa in gpio configurato come ingresso pullup ? Non sarebbe cmq automatico...
|
|
|
|
« Last Edit: February 19, 2013, 09:36:00 am by niki77 »
|
Logged
|
Vi è una spiegazione scientifica a tutto. La fede è solo quell'anello che si porta al dito dopo il matrimonio.
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17007
Don't know what I do
|
 |
« Reply #24 on: February 19, 2013, 12:02:37 pm » |
Perciò anche ...quindi con 5V siamo già alla soglia di intervento del BOD.
non è più valido! Sì, esatto. Quello che non ho capito (o mi è sfuggito ?)di questa discussione è il come la mcu si accorge che si sta spegnendo. Forse con un interruttore a due vie di cui una porta a massa in gpio configurato come ingresso pullup ? Non sarebbe cmq automatico...
Basta un semplice pin collegato all'alimentazione (sul "come" si può discutere in seguito: tramite un partitore, direttamente, con un fotoaccoppiatore ecc..). Aggancio un interrupt su quel pin e quando l'alimentazione viene a mancare, scatta l'interrupt che mi salva i dati e poi mette in "attesa" il micro... (eutanasia..  )
|
|
|
|
|
Logged
|
|
|
|
|
MC
Offline
God Member
Karma: 9
Posts: 676
|
 |
« Reply #25 on: February 20, 2013, 07:59:33 am » |
Beato te che la vedi così semplice, secondo me non lo è , anzi tutt'altro. Considera la capacità del condensatore 'tampone' manterrà alto il livello sul pin anche ad alimentazione scollegata, e prevedo che la curva di scarica sia abbastanza ripida, a meno che non si vogliano utilizzare capacità di migliaia di microfarad.
|
|
|
|
|
Logged
|
Vi è una spiegazione scientifica a tutto. La fede è solo quell'anello che si porta al dito dopo il matrimonio.
|
|
|
|
Tuscany
Offline
Edison Member
Karma: 20
Posts: 1064
|
 |
« Reply #26 on: February 20, 2013, 09:49:59 am » |
Beato te che la vedi così semplice, secondo me non lo è , anzi tutt'altro. Considera la capacità del condensatore 'tampone' manterrà alto il livello sul pin anche ad alimentazione scollegata, e prevedo che la curva di scarica sia abbastanza ripida, a meno che non si vogliano utilizzare capacità di migliaia di microfarad.
il condensatore e' disaccoppiato con un diodo dall'alimentazione principale
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 18
Posts: 4051
Arduino rocks
|
 |
« Reply #27 on: February 20, 2013, 01:15:08 pm » |
infatti, il trucco e' il diodo giusto al posto giusto, per il C di backup piu' dura meglio e', per questo avevo consigliato uno da 1 Farad, sono piccolissimi a quelle tensioni e servono a quello, perche' darsi fretta e usarli di piccole capacita' ?
|
|
|
|
|
Logged
|
|
|
|
|
|