Aiuto scelta HW migliore per soluzione a basso consumo.

Ciao a tutti, mi sto affacciando da poco al mondo di arduino, e come primo progetto sto cercando di realizzare un datalogger, ma non riesco ad avere delle perfomance di consumo adeguate alle mie aspettative, quindi volevo sottoporre alla vostra attenzione i miei requisiti e le mie scelte per verificare di non aver fatto scelte fra loro inconciliabili.

I miei requisiti sono i seguenti:

  • datalogger per temperatura e umidità
  • frequenza di analisi selezionabile via HW fra 1 e 30 minuti (requisito minore, accetterei anche 3 minuti fissi)
  • alimentazione a pile standard (requisito minore, accetterei anche alimentazioni diverse purchè stand alone e a costo paragonabile)
  • dimensione contenuta (tipo un pacchetto di sigarette)
  • memorizzazione su micro sd
  • autonomia nell'ordine del mese

Per ottenere tutto ciò mi sono affidato a questo hw:

  • arduino mini 05
  • sensore DHT22
  • modulo RTC DS3231
  • lettore MicroSD

il tutto alimentato con un pacco di 6 batterie AA che attualmente non mi è ancora arrivato e che sto sostituendo con una pila da 9v da cui chiaramente non mi aspetto il mese di durata a cui tendo, ma certamente più delle circa 50 ore che mi da attualmente.

Come spiegato in un altro 3D, attualmente via SW rilevo e loggo i dati (con un ciclo di quattro misurazioni effettuate a 500 millisecondi di distanza di cui loggo la media) ogni 3 minuti, mandando in powerDown arduino per il resto del tempo.

Con questo sistema ho portato la durata della 9v da circa 24 ore in situazione di massimo assorbimento alle circa 50 ore di cui sopra, che, considerando il passaggio al pacco di 6 AA nella versione definitiva, mi tiene comunque ben lontano dal mese che vorrei ottenere.

A questo punto subentra la mia ignoranza e quindi vi chiedo supporto.

1 - sulla carta questa configurazione può aspirare a raggiungere il mese di autonomia con 6 AA semplicemente operando via SW sui circuiti di arduino?

2 - per valutare l'efficacia del mio sw dovrei partire dai dati di consumo dell'hw che sto usando, ma non ho trovato info a questo riguardo, a parte i carichi max collegabili alle porte, non trovo quanto consumi ne la scheda arduino "as is", ne la lettura del sensore, ne, soprattutto, l'operazione di scrittura sulla SD, come faccio a calcolare correttamente questo dato?

3 - ipotizzando (sarà vero poi?) che l'assorbimento massimo sia rappresentato dalla scrittura sulla SD, pensavo di bafferizzarla utilizzando per l'accumulo la e2prom a bordo, memorizzando 40/50 letture (considerando che loggo 20/25 byte a giro) che poi scaricherei sulla SD in una volta sola, ma l'operazione sulla e2prom, che assorbe più dello standard, assorbirebbe meno della scrittura sulla sd?

A parte questi dubbi su questa configurazione (e tutti i dubbi che verranno a voi...), visto la relativa semplicità dell'oggetto finale, pensavo di poter ridurre i consumi abbandonando arduino e affidandomi a una schedina autocostruita con il solo 328 (o qualche suo fratello maggiore o minore), che ne dite, varrebbe la pena o il consumo non scenderebbe tanto da giustificare lo sbattimento?

Grazie per l'aiuto.

gp

Ciao,

gporciello:
2 - per valutare l'efficacia del mio sw dovrei partire dai dati di consumo dell'hw che sto usando, ma non ho trovato info a questo riguardo, a parte i carichi max collegabili alle porte, non trovo quanto consumi ne la scheda arduino "as is", ne la lettura del sensore, ne, soprattutto, l'operazione di scrittura sulla SD, come faccio a calcolare correttamente questo dato?

fai prima e meglio a misurarlo con un amperometro

Un 328 standalone posto in sleep arriva ad assorbire qualche microampere, devi però fare attenzione alla tensione di alimentazione, non puoi fornire 9V, massimo 5V. Io opterei per 4,5V (3 stilo AA), assicurandomi che il sensore e il lettore SD possano lavorare a questa tensione. Ovviamente sensore e lettore dovranno essere alimentati solamente quando servono. Per risparmiare ancora qualche cosa in run time potresti lavorare a 8MHz invece che a 16

Ciao e grazie per la risposta.

Quindi secondo te con un 328 stad alone, un paio di mosfet pilotati da due uscite per aprire e chiudere l'alimentazione a sensore e card reader per controllarne il consumo, un altro mosfet per controllare la rete resistiva di selezione del timing, il tutto alimentato con 3 AA riuscirei ad avere una autonomia nell'ordine del mese?

Mi è appena venuto in mente che forse potrei cominciare con il mettere sotto mosfet il card reader e il sensore già adesso senza mettermi a smanettare pesantemente con un micro "nudo"...

Che mosfet potrei usare, avreste un codice da darmi o almeno un paio di dritte per sceglierlo?

Grazie.

gp

Posso consigliarti, al posto di un DHT22, l'uso di un SHT31? ... piu piccolo, piu veloce, satura di meno e recupera piu velocemente in caso di saturazione, ed in teoria non dovrebbe rovinarsi come i DHT22 a distanza di pochi anni ... e ci sono anche le breakout con il sensore gia saldato, dato che saldare quel "coso" in formato SMD e' un po problematico, senza attrezzatura ... :wink:

Grazie per il consiglio, è sicuramente migliore in generale a giudicare dal datasheet, lo terrò presente per la versione definitiva perchè è un tantinello più costoso del giocattolino che sto usando adesso, tando visto che va su I2C il suo collegamento è banale.

Sono un attimo in crisi per i mosfet nel frattempo... un aiutino?

Qual'e' l'assorbimento dei carichi che devi disconnettere, e quale caduta di tensione possono sopportare continuando a funzionare correttamente ? ... e' in base a questi dati, principalmente, che si puo scegliere i componenti migliori ... senza, possiamo solo consigliarti componenti a caso, e non e' detto che poi funzionino correttamente ...

Potrebbe andare un classico 2N7000?

gporciello:
Ciao e grazie per la risposta.

Quindi secondo te con un 328 stad alone, un paio di mosfet pilotati da due uscite per aprire e chiudere l'alimentazione a sensore e card reader per controllarne il consumo, un altro mosfet per controllare la rete resistiva di selezione del timing, il tutto alimentato con 3 AA riuscirei ad avere una autonomia nell'ordine del mese?

Secondo me potresti arrivare a diversi mesi ma dipende molto dalla frequenza con cui fai le misurazioni e dall'assorbimento complessivo, bisogna fare due conti appena sai il consumo

Un 2N7000 regge al massimo 200mA (massimi, meglio usarli a 100 soltanto), ed ha una RdsON di ben 5 ohm ... con 100mA di corrente, causa gia una caduta di tensione di 0.5V, quindi se il carico pilotato puo sopportare tale differenza di tensione sull'alimentazione, puo andare, altrimenti tocca scegliere qualcos'altro ...

Se vuoi rimanere con lo stesso case SOT3 in SMD, c'e' l'FDN361BN ... regge massimo 1.4A (quindi da usare al massimo con 1A, meglio pero' se ci si limita a 500mA, per questioni di dissipazione termica, e' microscopico) ... a 500mA, con una RdsON di circa 150 milliohm a 5V, causa una caduta di tensione di circa 0.075V, mentre ad 1A sale a circa 0.15V ... molto meglio, mi sembra :wink:

Definire l'assorbimento dei carichi è un po' problematico, a parte il DHT22 che a 5,5 v assorbe 2,1 mA max, non saprei come calcolare quello del lettore di sd, ho cercato in rete, ma non ho trovato nulla.

Sto usando questo ma non sono riuscito a trovare info da nessuna parte.

Per quanto riguarda la rete resistiva devo fare i calcoli, ma sono ancora in crisi sul teorema dei nodi, sto facendo un po' di esercizi, ma non ho ancora trovato uno schema che rispecchi il mio per poter applicare le formule.

A questo punto mi sembra di capire che il sensore sia compatibile con il 2N7000, giusto?

In assenza di dati certi, come posso fare a misurare l'assorbimento del solo lettore di sd?

Se trovi l'FDN sei a posto ed e' migliore, ma se non trovi altro, forse anche il 7000 puo andare.

ciao

domanda per Etemenanki:

Nelle schede di pighixxx (ad esempio questa) i mosfet sono collegati tra il carico e il negativo. Mi chiedo se è corretto "spegnere" un componente elettronico (tipo i sensori di questo tread) "staccando" il negativo oppure è preferibile "staccare" il positivo?

Nel caso dovessi togliere il positivo si possono usare sempre i mosfet tipo N oppure no?

grazie
pippo72

In quel caso e' meglio usare mosfet a canale P ... un po meno efficenti (a parita' di correnti hanno la RdsON in genere un po piu alta), e serve pilotarli con un transistor NPN se la tensione da scollegare 'e maggiore di quella in uscita dalle logiche (non credo sia il tuo caso comunque), ma in ogni caso meglio dei transistor ... rimanendo su una corrente di carico massima sui 500mA, ad esempio, e sempre con lo stesso case dei precedenti, direi FDN358P ... 200 milliohm di RdsON, caduta di tensione a 500mA circa 0.1V, accettabile anche per logiche a 3.3V (anche se e' meglio usarli con logiche a tensione un po piu alta, la soglia di gate e' circa -2V tipica, -3V massima, saremmo al limite con le logiche a 3.3V, mentre a 5V o anche 4 - 4.5V dovrebbe essere ok) ...

Definire l'assorbimento dei carichi è un po' problematico

In assenza di dati certi, come posso fare a misurare l'assorbimento del solo lettore di sd?

Non hai un multimetro?

io ne ho uno che somiglia a questo, può andare?

Se riesce ad arrivare ai milliampere può andare ma ti consiglio vivamente di passare ad un multimetro digitale. Io ho quello che ti ho linkato e per uso hobbistico direi che va bene.

http://www.ebay.it/itm/True-RMS-digital-multimetro-AC-DC-resistenza-tensione-corrente-hFE-NCV-Test-L5G1-/331982400750

Non e' "professionale", ma per iniziare dovrebbe andare bene ... :wink:

Le considerazioni che fate rispetto alle caratteristiche dei componenti vanno molto al di là delle mie conoscenze, nominate cose delle quali io non ignoro solo il significato, ma anche l'esistenza...

Mi trovo in casa dei irf9540n e dei irf520 provenienti da alcuni kit che avevo comprato tempo fa, quale dei due andrebbe meglio per pilotare il sensore?

Per quanto riguarda il lettore di micro sd, in attesa di misurarlo con qualcosa, qualcuno ha una idea di massima del suo assorbimento? Uno dei due mosfet in mio possesso potrebbe andare bene?

Posso usare lo schema di pigi linkato prima per utilizzarli?

Grazie.

gp

Il problema con la serie IRF e' che non sono logic-level ... sono mosfet standard, che di solito richiedono in media circa 10V sul gate per andare in saturazione (alcuni di piu, altri di meno, ma comunque sempre piu dei 5V che possono dare le logiche) ... quindi anche se funzionassero, lavorerebbero in zona lineare (quindi con resistenza interna piu alta, cadute di tensione piu alte e molta piu potenza dissipata inutilmente in calore) ... per cui i tuoi non vanno bene, per quello che ci vuoi fare ...

Spiegare i mosfet in poche parole non e' semplice (in realta', probabilmente per "spiegare" del tutto i mosfet non basterebbe un libro formato romanzo di Frank Herbert :D) ... in termini il piu semplici possibile e senza usare formule, puoi immaginare un mosfet come una resistenza variabile polarizzata il cui valore e' dato dalla tensione presente sul gate (moooolto semplificato) ... se la tensione e' sotto la soglia minima, fra drain e source la resistenza e' altissima, alzando questa tensione inizia a diminuire velocemente, finche' ad un certo punto (tensione di soglia di gate) la resistenza sara' il piu bassa possibile (la RdsON di prima, che cambia secondo il tipo di mosfet, e piu il mosfet puo sopportare corrente piu e' bassa, di solito) ... questo significa che anche quando e' "chiuso" (in saturazione) avra' pur sempre un minimo di resistenza, ed e' quella che causa la caduta di tensione (essendo l'equivalente di una resistenza, la caduta cambia in funzione della corrente circolante, al contrario dei normali transistor) ... inoltre va tenuto presente che dato che il terminale di gate e' l'equivalente di un condensatore, non "consuma" corrente (tranne nel tempo necessario a caricarlo), quindi anche una logica di bassa potenza, se non serve alta velocita', puo pilotare un mosfet da decine di Ampere ...

Pero' rimane il fatto che, se lo devi usare come interruttore a tensioni al di sotto dei 12V, e pilotare con logiche da 5V, serve per forza scegliere un mosfet del tipo "logic-level", cioe' le serie piu "nuove", costruite apposta con tensioni di soglia di gate il piu basse possibile, e comunque piu basse della tensione che esce dalle logiche ... altrimenti non riusciresti ad "accenderlo" correttamente, ed il tuo circuito non funzionerebbe ... quindi per sceglierli, devi per forza guardare sui datasheet anche le tensioni di soglia di gate, non solo la RdsON e la tensione e corrente massima pilotabile ...

Per quanto riguarda le microSD, non so se tutti i modelli rispettano le specifiche di base ... in genere, durante il funzionamento "in attesa", i loro assorbimenti sono al massimo sui 200 microAmpere, mentre durante i cicli di lettura e scrittura, una microSD che rispetti gli standard dovrebbe avere un'assorbimento massimo di circa 80 milliAmpere ... se sul lettore non ci sono altri componenti, gli assorbimenti della sola schedina dovrebbero essere quelli, almeno in teoria ...