Arduino Caldo

Dopo qualche minuto di accensione il microprocessore sembra (al tocco col dito) abbastanza caldo.
Come mai? E' buona norma per evitare il surriscaldamento usare un voltaggio particolare (9 volt va bene?) o usare dei delay nel codice?
Vorrei tenere accesso Arduino tutta la notta per registrare le variazioni di temperature su una eeprom esterna (ho già realizzato e testato il circuito e il codice)
Grazie a tutti

Se diventa caldo, non so cosa intendi per caldo.... ma aspetta domani per lasciarlo tutta la notte accesa. Intanto, con il sensore di temperatura con il quale volevi fare i rilevamenti, cerca di farci capire di che temperatura stiamo parlando, mettendo ad esempio il sensore nelle vicinanze dell'atmega !!!

Ciao,
fab.

Il ATmega328 si riscalda se sbagli qualcosa nei collegamenti ( per esempio un LED senza resistenza).
Se parliano dello stabilizzatore vicino alla presa di alimentazione nera é normale che diventa caldo.
Ciao Uwe

Si domani misuro la temperatura e faccio altre prove perchè all'ultimo mi sono accordo che convertendo i float in 4 bytes e poi scrivendoli quando li vado a leggere e li riconverto in float diventanto diversi...
Comunque è proprio il processore che diventa caldo, non so se è colpa del led verde di recupero che è collegato con una resistenza di 330ohm o del pushbutton, domani investigo.
Grazie per il momento

Il LED verde con 330 Ohm assorbe sotto 10mA. Percui non é Lui. Un entrata non dovrebb assorbire in modo significaivo corrente. Ciao Uwe

Siamo sui 45 gradi dopo pochi minuti, misurati con il multimetro digitale per maggiore precisione, è normale?
Come alimentazione stamattina ho usato solo l'USB e come tensione prelevo solo dai 3.3volt (non uso i 5 volt) per risparmiare corrente, tanto termometro ed eeprom e led funzionano anche con tale tensione

45° sono pochissimi, non certo pericolosi, l'ambiente ora e' caldissimo, quindi dissipa meno.

ma il 3,3volt non puo' fornire massimo 50mA? se ti avvicini a quel limite finisce che scalda

Ragazzi i 3.3v non escono dal micro se avete un arduino uno o mega..
voglio dire all'interno delle board sopracitate cè un regolatore interno che fornisce 80mA se non sbaglio ma il micro lavora comunque a 5V...
non dev essere il micro a scaldare ma il regolatore ... sennò cè qualcosa che non va...
come ad esempio un pin digitale o analogico a cui il circuito che ci hai collegato richiede troppa corrente..

Intanto ho corretto il bug del codice, nelle funzioni per scrivere e leggere dalla eeprom che ho copiato dal playground mancavano dei delay e la memoria non aveva il tempo per memorizzare.

Ora provo a utilizzare i 5volt invece dei 3.3, non ho messo il condensatore assieme alla eeprom, può essere questo il problema?
45° sul microprocessore non sono pericolosi però non mi sembrano molto normali.

Il regolatore di tensione dopo pochi minuti tocca i 70 gradi mentre la cpu i 48-49 togliendo sia pushbutton sia led. Rimane solo la eeprom e il tmp36 (senza condensatori).
Per far scaldare meno il regolatore di tensione che tensione devo dare con un trasformatore? Quale è meglio prelevare? i 5 o i 3.3 potendo scegliere?

Ciao,

ma i 70°C nella parte della regolazione di tensione dell'Arduino (quale Arduino hai? Uno?) li hai quando usi la USB come fonte di alimentazione?

I 45°C del microcontrollore li hai per via dei 70°C della zona regolazione tensione, il calore si propaga attraverso le piste che li collegano.

Come e' collegato il sensore di temperatura? di che tipo e'?
Che EEPROM esterna utilizzi e come l'hai collegata?

Ciao,
Marco.

No i 70 gradi li ho con un trasformatore da 9 volt esterno
Ho Arduino Uno

Ecco lo schema con i codici dei componenti

Grazie

Ciao,

allora i 3.3 V dell'Arduino Uno sono dati da un proprio regolatore di tensione (LP2985) che puo' erogare fino a 150 mA, per cui non dovrebbe esserci problemi visti i componenti che colleghi.

Sei sicuro che l'alimentare esterno dia 9 V e non di piu'?
Quando alimenti via USB quali temperature hai?

Nota: hai inserito le resistenze di pullup fra le linee I2C e i 3.3V?

Ciao,
Marco.

mi pare davvero strano....
posta tutto lo schame comprensivo del bottone e led con tutti i valori delle resistenze...

@Marco Benini
anche se avesse le resistenze di pull-up avrebbe consumi maggiori non minori...

a mio parere è proprio l'alimentatore che ti da dei valori più alti dei 9v dichiarati....

Ciao,

nella nota sul I2C volevo riferirmi al fatto che ha scritto che ha dovuto inserire dei delay altrimenti non riusciva a scrivere sulla EEPROM, inoltre alimentandola a 3.3V i pullup li deve collegare ai 3.3V e non ai 5V.

Ciao,
Marco.

Per tagliare la testa al toro ho scollegato tutto e lasciato l'arduino acceso con il trasformatore e... scalda in modo abbastaza rapido sia la cpu che il regolatore di tensione (70 gradi)
Ho poi provato a lasciarlo acceso da USB e.. scalda solo il processore.
Ho letto nel datasheet che la CPU ha un termometro interno, è possibile leggerlo?

Le temperature della CPU sono in entrambi i casi sui 45-50 gradi.

Pensavo che un microcontrollore scaldasse molto meno, qualcuno può provare e dirmi approssimativamente che temperatura ha la cpu dopo 4-5 minuti che è accesa?

Non ho inserito le pull-up perchè dovrebbero essere interne e la libreria dovrebbe attivarle (o almeno così ho letto)
L'alimentatore da 14-15 volt invece che 9 se misurato direttamente con un voltometro, però penso che se si assorbe corrente la tensione cala.

E' uno di quei alimentatori regolabili che tramite una levetta da 3,4.5,6,7.5,9,12 volt un pò vecchiotto.

Ho effettuato le misurazioni prima con lo schema che ho postato, le temperature erano quelle anche senza led e pulsante

Grazie

An..oK ora mi è chiaro :slight_smile:
Io anche facendolo lavorare... arrivo al massimo a 0.5/0.7 gradi in più della temperatura ambientale..
per attivare il termometro interno cè un post di Leo72 di circa 1 o 2 mesi fa che spiega come fare....
Qui....
http://arduino.cc/forum/index.php/topic,63808.0.html

flz47655:
Le temperature della CPU sono in entrambi i casi sui 45-50 gradi.

Manca un dato essenziale, la temperatura ambiente di partenza, comunque un incremento di 4-5 gradi rispetto alla temperatura iniziale è normale se non c'è nulla che preleva corrente da un pin di Arduino.
Misura la corrente in ingresso quando alimenti esternamente, con il processore al lavoro e senza nulla collegato dovrebbe essere di 20-25 mA.

L'alimentatore da 14-15 volt invece che 9 se misurato direttamente con un voltometro, però penso che se si assorbe corrente la tensione cala.

14 Volt in ingresso sono tanti, meglio stare sui 9V, con la tensione alta è normale che il regolatore scaldi molto, però questo significa anche che la corrente in ingresso è maggiore di 20-25 mA, per me hai qualcosa che consuma corrente tramite il micro, sicuro di non avere un pin settato come OUT in corto verso GND o il +5V, in questo caso scorrono oltre 100 mA e giustifica sia il surriscaldamento del regolatore che del processore.

Ciao,

prova a vedere che temperature hai con alimentazione da USB. Se la temperatura e' bassa, allora non hai problemi di collegamenti dei componenti collegati a valle del regolatore dell'Arduino.

La libreria per I2C wire non attiva le resistenze di pullup interne. Conviene comunque che utilizzi quelle esterne, con valore, ad esempio di 4,7 kOhm.

Ciao,
Marco.

Allora provando tutto staccato, con sola alimentazione da usb e con il codice

void setup() {
}
void loop() {
delay(10000);
}

la cpu arriva dopo 7-8 minuti a 46 gradi (sul centro, ai bordi un pò meno) mentre a temperatura ambiente ce ne sono 26, non vi sembra un pò strano? Perchè la CPU si scalda così tanto se non deve fare nulla?

Grazie per il momento per gli altri consiglio però procedendo per passi, devo prima risolvere questo mistero.