ATMEGA644 in standalone non parte con alimentazione esterna

superzaffo:
Non è che nel bootloader cerca di accendere qualche cosa in quel Pin ?

No. Lato software ti posso dire che il bootloader non tocca minimamente l'SPI ma controlla solo la seriale.
Comunque se il dubbio è sul disturbo sui pin SPI, togli tutto da quei pin e riprova. Se il 644 parte senza problemi, allora c'è un'interazione fra chip e SD nel momento in cui viene data tensione al circuito.

Grazie leo per la tua conferma..
Ho già fatto la prova, infatti basta che io tolga la microsd dall' alloggiamento e questo parte senza problemi.
Anche togliendo solamente la linea sck... ecco perchè mi sono posto la domanda...
Il fatto è che vedo sempre questo OP in tutti gli schemi dell' arduino.. e per cui penso che non sia messo lì solo per il led...

superzaffo:
Il fatto è che vedo sempre questo OP in tutti gli schemi dell' arduino.. e per cui penso che non sia messo lì solo per il led...

L'op-amp fino all'Arduino UNO R2 era usato solo per fare da switch tra l'alimentazione da USB e jack. Con l'Arduino R3, essendo libero mezzo op-amp, lo hanno utilizzato anche per accendere il led sul pin 13 alleggerendo il carico su quel pin.

Mi viene un dubbio. Tu parli sempre di alimentazione a 5V, ma le SD lavorano a 3V3. Non hai usato un qualcosa nel mezzo tra i 2, tipo un traslatore di livelli o un buffer? Hai collegato direttamente le linee SPI tra il 644 e la SD?

Tra il 644 e la microsd ho messo un 74hc4050n che un appunto fa da buffer e traslatore di livelli.
Si la microsd lavora a 3V3, infatti c'è un LM1117-33 che porta la tensione dai 5 ai 3.3.
Ma la cosa accade anche se collego un schedina wi-fi che comunica con SPI.

Collegato tra la linea clk e la massa (con in serie una resistenza) c'è un led che lampeggia quando c'è attività di dati verso e da la SD.
Il tarlo che ho, è che quando do alimentazione al circuito, prima che il micro parta, questo led si illumina con una debole luce, per un po' e poi quando si spegne, parte il micro. E' per questo che mi sono venuti i dubbi... (naturalmente ho già provato a togliere il led) ]:smiley:

Ma tu sul chip che bootloader hai caricato?

Indovina ? 8)
Il tuo :wink:

Era per capire.
Quindi no, quel bootloader non interagisce con i pin dell'SPI.

Una domanda: ma mettendo il 644 da solo su una breadboard con il led sul pin SCK, senza nient'altro collegato, hai lo stesso fenomeno?

:slight_smile:

Ecco un altra prova da fare questa sera... te lo faccio sapere questa sera/notte

Allora... ho fatto le seguenti prove:
1)Collegato il reset a gnd. Il micro non parte (naturalmente con la microsd inserita)
2)Collegato una breakout microsd al posto della mia, con rasistenze come partitore per portare la tensione ai 3.3V . Risultato negativo
3)Scollegato tutto e collegato solamente un led nel pin della linea sck del SPI, naturalmente con una resistenza. Risultato negativo.
4)Misurata la tensione nei pin di alimentazione del 644. 4.7 a carico e si riducono fino a 4.4 per un momento quando accendo alcuni pin per comandare il 23017. Quando lo alimento con la micro sd inserita la tensione mi resta su 4.7 e arriva dopo 30 sec a 4.8 che resta poi costante.
5)misurata la tensione nel 7805 senza carico 5.020V.
6) misurato gli amper di carico. 0.050A massimo.
Questa la situazione attuale...

Relativamente al punto 3), per "negativo" intendi che il led non si accende all'avvio del micro, giusto?
Quindi è da escludere che il micro di suo si metta a spedire dati sull'SPI.

Si esatto... non si accende. E quindi, no che avessi dubbi, è come dice tu. La parte SPI sembra non trasmetta.

Ok ragazzi... Forse ho trovato il problema.
Sembra che sia software e non hardware. Avevo scollegato il pin SS (per me il 14) e avevo notato che alimentado dal 7805 partiva tutto.
Ho cambiato pin (12) e riconfigurato lo sketch. Il risultato è stato lo stesso...
Allora all' inizio del setup ho messo in high il pin e subito prima del comando initializze del pin SS lo porto in low (quindi pronto per la comunicazione).. Eureka, funziona.
Con questo trucchetto accendendo il tutto anche dall' alimentatore esterno, funziona perfettamente.
Devo però dire che l momento lo sketch è uno sketch di prova dei vari elementi e quindi non assolutamente ottimizzato o scritto a modo.

Vorrei solo però capire una cosa prima di chiudere... Le tensioni che ho misurato, secondo voi possono andar bene ? Anche perchè alla fine se accenderò tutte le ventole (anche se non tutte contemporaneamente, però teoricamente fattibile) potrei avere dei picchi molto alti. Perchè se per accendere un pin solo del 23017 la tensione mi scende a 4.4V, cosa succede se ne accendo 8 o 10 assieme ?

Vorrei solo però capire una cosa prima di chiudere... Le tensioni che ho misurato, secondo voi possono andar bene ? Anche perchè alla fine se accenderò tutte le ventole (anche se non tutte contemporaneamente, però teoricamente fattibile) potrei avere dei picchi molto alti. Perchè se per accendere un pin solo del 23017 la tensione mi scende a 4.4V, cosa succede se ne accendo 8 o 10 assieme ?

Appunto, non puo' essere che ci sia un assorbimento di soli 50 mA, come dicevi prima

misurata la tensione nel 7805 senza carico 5.020V.

Prima o dopo il diodo ?

Ho misurato la tensione prima del diodo.
Mi sembra strano quella tensione di 4.4v nei pin di alimentazione del 644 quando è sotto carico.

prima del diodo doveva essere circa 5,6V, hai messo l'altro diodo tra il comune del 7805 e il GND?

Scusate l' attesa, ma sono preso con il lavoro.
Questa sera vi darò tutto in modo più chiaro.

Ecco i risultati delle misurazioni della tensione, presi dopo i diodi (nella linea di alimentazione principale del circuito)
I diodi sono 1n7004.
Come vedete, l' alimentazione usb è calata mentre quella esterna è salita.
Attualmente il diodo usb->diodo->alimentazione è un 1N5819
Poi ho inserito i diodi che ho specificato sopra, come il vostro schema.

L' alimentazione usb è troppo bassa.

ciao e grazie

Al-Ext-con-diodi.xls (24.5 KB)

Alim-usb-con-diodi.xls.xlsx (9.48 KB)

Sei basso, lavorando a 16 MHz forse quei volt non sono sufficienti a stabilizzare il micro.
Strano che usando uno Schottky tu abbia 0,7/1V di caduta, quando questo diodo dovrebbe darne su 0,2/0,3V max.

400mV di variazione sono davvero troppi, dovresti misurare la corrente assorbita dal circuito.
COmunque i diodi credo siano 1n4007 e non come hai scritto tu; se li hai montati correttamente sul 4007 in serie all'OUT del 7805 devi avere 5,7V sull'anodo e 5V sul catodo (±0,1V); invece riguardo l'1n5819 sull'anodo devi avere una tensione di 0,2-0,3V > rispetto a quella che hai in uscita, sul catodo. Hai fatto queste verifiche?

Allora.. i diodi sono dei 1n4004, ma sono circa come i 4007.
Ora ho isolato solo il circuito del 644 standalone e ho misurato la tensione con alimentazione usb catodo del 1n5819.
Il circuito è costituito dal 644 con il solito circuito standalone e 3 led e relative resistenze (uno sempre acceso e due che lampeggiano alternativamente).
Il tester mi da 4.66V
Invece nell' anodo 4.94V

Invece con l' alimentazione esterna, ho nel anodo 5.5V e nel catodo 4.85V (diodo 1N4004). Con lo stesso diodo anche nel pin centrale del 7805, collegato a GND.