Un regolatore da 7805 a 5 V scarica una batteria da 9 V?


9

Facendo un po 'di bricolage come hobby, sto realizzando un piccolo sensore radio di umidità e temperatura.

Un ATmega328 sta leggendo da un sensore DHT11 e quindi sta trasmettendo dati a un Raspberry Pi da un trasmettitore radio STX882 . È alimentato da una batteria da 9 V che utilizza un regolatore 7805 5 V con capacità di 10 µF e 100 µF.

Il codice C su ATmega legge umidità e temperatura e quindi lo invia ogni 30 minuti:

const unsigned long DELAY = 30*60*1000UL;    // 30 minutes
void loop() {
    delay(DELAY);
    send_data(); // Maybe a little overcomplicated, but I think it is not the point
}

Funzionava come un fascino, ma la durata della batteria è stata inaspettatamente breve. Era nuovo di zecca e ho fatto alcuni test sporadici con un breve ritardo, senza calore anormale proveniente da qualsiasi luogo.

Quando sono stato soddisfatto, ho messo il ritardo di 30 minuti e l'ho lasciato da solo (che era forse un po 'pericoloso?), Ma dopo meno di 24 ore la batteria era scarica a 5,4 V. Tuttavia, il ritardo di 30 minuti è stato approssimativamente rispettato per la sua durata.

Cosa potrebbe spiegare una durata della batteria così breve? Potrebbe essere il regolatore 5 V? Come potrei costruire un circuito di lunga durata?

PS: Sto ancora provando a sfogliare qualche diagramma, ma questo richiede l'età per i rumori come me ...

Ho usato una batteria alcalina 9l di marca generica 6lp3146 che apparentemente forniva 300-500 mAh a una corrente di 100 mA, che è molto più di quello che usa il mio circuito.

Ecco tutte le informazioni che potrei raccogliere dal foglio dati:

+-----------------+-------------+----------+-----------+---------+
|                 | DHT11       | STX882   | ATmega328 | 7805reg |
+-----------------+-------------+----------+-----------+---------+
| Voltage         | 3-5.5 V     | 1.2-6 V  | 2.7-5.5 V |         |
+-----------------+-------------+----------+-----------+---------+
| Active current  | 0.5-2.5 mA  | 34 mA    | 1.5 mA    |         |
+-----------------+-------------+----------+-----------+---------+
| Standby current | 0.1-0.15 mA | <0.01 µA | 1 µA      | 4-8 mA* |
+-----------------+-------------+----------+-----------+---------+
*"bias current"

Se capisco correttamente, il mio sistema è attivo per alcuni secondi ogni 30 minuti, quindi la corrente di standby è tutto ciò che dovrebbe importare ed è effettivamente pilotata dal regolatore 7805.

Quindi sì, nel peggiore dei casi, con 300 mAh dovrei essere in grado di mantenere in vita il sistema per solo 40 ore.

Esiste un modo per alimentare il mio sistema a 5 V per un tempo molto più lungo senza dimensioni molto più grandi?

Per la cronaca, ecco un ottimo video sui regolatori LM e sui convertitori buck: convertitore Buck contro regolatore di tensione lineare - confronto pratico


3
Suggerisco di utilizzare la libreria LowPower o simile per mettere in pausa l'ATmega tra le misurazioni.
soccer3000

2
Quanto è corto?
Scott Seidman,

1
@Jasen Secondo questo link , 78L05 ha una corrente di polarizzazione di 3mA, che è inferiore ma lungi dall'essere sufficiente per correggere il mio problema.
Dan Chaltiel,

4
LP2950 è <140uA. MCP1703 è 2uA. "Ecco tutte le informazioni che potrei raccogliere dal foglio dati:" - non fare affidamento sui fogli dati, misurare le correnti di standby.
Bruce Abbott,

4
Sei assolutamente sposato con la batteria 9v? Perché?
Harper - Ripristina Monica il

Risposte:


26

Cosa potrebbe spiegare una durata della batteria così breve? Potrebbe essere il regolatore 5v?

Come accennato, il 7805 ha circa 4 mA di corrente di riposo. È necessario trovare una scheda tecnica per la batteria (Eveready ha dei fogli dati relativi alla batteria, se si utilizza una cella alcalina). Probabilmente non è più di 100 mAh - 100 mAh / 4mA = 25 ore, quindi dovrebbe dirti qualcosa.

Come potrei costruire un circuito di lunga durata?

Il 7805 è una vecchia tecnologia. Esistono migliori regolatori lineari più recenti. Dovresti essere in grado di trovare facilmente qualcosa che utilizza una corrente di riposo 10 volte inferiore e con uno scavo anche inferiore.

Per usare ancora meno energia, dovresti usare un convertitore buck progettato appositamente per una bassa corrente di riposo, ma sono consapevole che non sei pronto a progettarne uno in una scheda a livello di componente. Ci può essere un modulo là fuori che farà il lavoro, ma è necessario guardarsi intorno per esso. TI ha alcuni moduli convertitore buck, ma ti consigliamo di prestare molta attenzione alle loro capacità, sia per la massima erogazione di corrente che per la corrente di riposo.

Per utilizzare ancora meno energia, fai tutto il possibile per ridurre al minimo il consumo attuale del tuo circuito quando è inattivo. Ciò richiederà un uso attento della funzione sleep del microprocessore, oltre a gestire il modo in cui la scheda è alimentata (ad esempio, se si accende solo una volta ogni 30 minuti, potresti voler spegnere la radio e la lettura dell'umidità porzioni del circuito).

Misura il consumo attuale in tutte le modalità di funzionamento e utilizzalo per determinare quali sono le peggiori trasgressori in generale, quindi concentrati sulla minimizzazione delle correnti in quelle modalità, se puoi.


2
La cosa resta in silenzio per 30 minuti, quindi effettua una misurazione e la invia, quindi torna a dormire. Quindi la corrente di riposo non può essere ignorata.
TimWescott,

3
Intendevo: in modalità inattiva, il 7805 verrà comunque caricato, quindi non solo disegna la sua corrente di riposo ma anche una certa corrente di carico in modo inefficiente.
Huisman,

6
Ho cercato su Google i convertitori buck e penso di non essere davvero pronto per questo! Penso che proverò con un LM2936 (15µA di corrente di quiescenza), ti sembra buono? Anche il passaggio alla corrente di altri componenti quando il minimo è molto interessante, vedrò se è abbastanza semplice da implementare.
Dan Chaltiel,

2
@DanChaltiel Puoi ottenere i convertitori buck commercializzati come "sostituzioni di regolatori lineari" che contengono tutti i circuiti pre-fabbricati per te, incluso l'induttore, e sono usati esattamente come faresti con un regolatore lineare. Non sono così flessibili come crearne uno tuo, ma piccole cose molto utili da avere quando non hai familiarità con il processo di progettazione o semplicemente non puoi essere disturbato.
Hearth,

4
@Michael è sempre bene fare una rapida ricerca sul web prima di dire qualcosa di definitivo in questi tempi in continua evoluzione. Il primo colpo che ho avuto alla ricerca di un "convertitore buck a bassa corrente di riposo" ne è uscito uno con una corrente di riposo a 360 nA . E una conversione da 9 V a 5 V tramite un regolatore lineare è, per definizione, efficiente al 55% mentre questa cosa è efficiente al 90%.
TimWescott,

12

Tutte queste parti possono funzionare da 3 a 5 V, quindi usa una batteria che non ha bisogno di un regolatore, una cella agli ioni di litio 16500 o un pacco batteria 3xAAA hanno circa le stesse dimensioni del 9 V e producono tensioni in tale intervallo. (o anche una cellula Li-po)

Senza il regolatore il microcontrollore può spegnersi e il circuito avrà bisogno solo di alcuni microamplificatori.


2
O tre celle "D" e cambiarle una volta a stagione ... Le celle D sono lo sweetspot per resistenza contro costo ...
Harper - Reinstalla Monica il

1
@Harper: o 3 batterie AA ricaricabili NiMH. Devi acquistarli solo una volta e le moderne celle a bassa autoscarica sono ampiamente disponibili. +1 a questa risposta: un 9V è buono per un rilevatore di fumo che in realtà vuole la tensione e la potenza di scoppio, ma male se è necessario regolarlo verso il basso.
Peter Cordes,

2
Attento usando un lipo, assicurati di avere una cella protetta o di avere una protezione da sovraccarico in circuito. Almeno se vuoi riuscire a ricaricarlo di nuovo. Inoltre, se il carico del circuito si interrompe a causa della sottotensione, potrebbe andare bene senza di esso.
Hearth,

11

La corrente inattiva di un regolatore 7805 è di circa 4 mA, quindi, armata della capacità dell'ora ampere della batteria, calcola quanto durerà con un consumo continuo di 4 mA.

Se stabilisci che questo è il problema, scoprirai che ci sono molti regolatori con una corrente di riposo significativamente più bassa.

Una volta che la batteria scende a circa 7 volt, ci si trova su un pendio in declino sdrucciolevole perché il regolatore 7805 richiede un paio di volt headroom per regolare correttamente e stimerei (una rapida ipotesi) che a circa 6,5 ​​volt a giro il circuito fallirà.

Considerato ciò che ho appena menzionato, stima che solo il 50% della capacità dichiarata della batteria sia utilizzabile prima che il circuito si arrenda. Tienilo a mente.


10

Sto eseguendo nodi di sensore simili con risultati molto migliori. La mia configurazione ha alcune differenze rispetto alla tua:

  • Sto eseguendo il µc direttamente (senza regolatore) da batterie ricaricabili LiPo 1S (3,7 V nominali) originariamente vendute (molto economiche e con un caricatore USB corrispondente) per mini-droni. L'intero intervallo di tensione (4,3 V - 3,5 V) è accettabile per µc. 1
  • Accendo le periferiche (il sensore e il trasmettitore nel tuo caso) da un pin della porta che posso accendere prima della misurazione e spegnere dopo. (Sto usando BME280 invece di DHT11 ma l'assorbimento di potenza non dovrebbe essere un problema.)
  • Dopo aver trasmesso la misurazione e spento le periferiche, mando µc in modalità deep sleep . 2

1 Sto usando con successo ESP8266s, anche se ovviamente non lo consiglierei mai perché il loro Vcc massimo assoluto documentato è 3,6 VI.
2 Per il mio ESP8266 il risveglio da deep sleep è un riavvio, quindi il codice inizierà a essere eseguito nella parte superiore di setup(), ma con ATmega328 questo non è un problema.


Ti dispiacerebbe darmi il riferimento della tua batteria? Alimentare l'intero sensore con un pin della porta è un'ottima idea! (Penso che sarebbe troppo corrente per il µc da gestire). Grazie anche per il ref DeepSleep, sarà di grande aiuto.
Dan Chaltiel,

1
@DanChaltiel Basta cercare la vostra piattaforma commerciale locale per "1S Li-Po" e si dovrebbe trovare qualcosa di simile questa (4 x 1200 mAh) o questa (10000 mAh).
AndreKR,

@DanChaltiel I fogli dati collegati indicano che il sensore necessita di 2,5 mA, il trasmettitore 34 mA e il µc possono gestire 40, quindi nessun problema. (E di solito possono gestire ancora di più per brevi periodi di tempo.)
AndreKR

Hai considerato di mettere un diodo o qualcosa in serie con le tue batterie per far cadere una frazione di volt? O la corrente è così bassa che anche un diodo non scende molto?
Peter Cordes,

2
Una cosa a parte la corrente da considerare quando si alimentano periferiche (sensori ecc.) Con pin I / O: assicurarsi che la periferica non sia alimentata involontariamente tramite linee di interfaccia del bus ecc. -super resistori.
Michael,

4

Molto simile a "come mai il mio sistema solare / batteria / inverter ha una portata così ridotta?" > perché l'inverter viene avviato continuamente. Utilizzare carichi diversi che funzionano a batteria diretta ed eliminare la conversione di tensione non necessaria .

Hai fatto ingegneria 101, hai schiaffeggiato i pezzi e funzionano. Engineering 202 li sta facendo funzionare in modo abbastanza efficiente per essere utile.


Come sopra, fai junk sull'inverter - intendo regolatore. Seleziona le batterie che possono funzionare direttamente, come tre batterie da 1,5 V a 4,5 volt. (Due non basterebbero perché scenderebbero al di sotto di 3 V troppo presto; o forse; provalo!)

Pensa anche a batterie più grandi - - I 9V hanno una capacità stupida-piccola, specialmente quando si butta via 2/3 della capacità! (L'elettronica ha bisogno di 3 V, stai prendendo 9 V e getti via il resto come calore). Pensa in grande - le cellule D sono i tuoi amici se vuoi la longevità.

Le telecamere per cervi in ​​genere hanno due banchi completi di cellule D, è possibile utilizzare uno o entrambi e possono funzionare per un'intera stagione.

Inoltre, l'assorbimento di corrente del sonno di ATMega è molto impressionante, ma l'STX882 e il sensore, non così tanto. Scopri se riesci a trovare un modo per far spegnere fisicamente ATMega agli altri dispositivi quando non sono necessari. Il modo più economico e più veloce per farlo è un piccolo relè, ma anche un transistor di potenza dovrebbe fare il trucco.


Un'ultima presa. Potrebbe non valere la pena farlo a seconda del ciclo di funzionamento del sistema, ma vale la pena menzionarlo. Negli ultimi anni le CPU sono passate da 5 V a 3,3 V. Perché? Perché operano sulla corrente; la tensione oltre i minimi non aiuta il funzionamento e dissipa solo più calore. Man mano che le CPU sono diventate più potenti, i problemi termici sono diventati il ​​fattore limitante, quindi abbassare la tensione al minimo ha consentito un funzionamento più fresco e maggiori prestazioni sullo stesso dissipatore di calore. Lo stesso vale per i tuoi dispositivi elettronici.

Stai mirando a funzionare a 5 V, il lato più alto dell'intervallo di tensione consentito. La mia proposta 3xAA ti porta a 4,5 V, ma considera di fare una scelta di batteria diversa che va ancora più in basso: come batterie al litio o tre NiCd / NiMH (3,6 V). NiMH ha più capacità, ma NiCD ha una resistenza davvero sorprendente agli abusi e agli scarichi profondi.


Hai assolutamente ragione, sto andando al 202 e la tua risposta è molto istruttiva in questo modo. Ho sempre pensato che la tensione consigliata fosse 5 V, essere in grado di funzionare a 3 V semplificherà molto le cose. Solo una cosa, come mai "l'assorbimento di corrente del sonno di ATMega è molto impressionante, ma STX882 non tanto", quando è 100 volte inferiore?
Dan Chaltiel,

Spiacenti, mio ​​cattivo.
Harper - Ripristina Monica il

Negli ultimi anni le CPU è andato da 5V a 3.3V . Questo è successo qualche anno fa: P Al giorno d'oggi le CPU programmano i regolatori di tensione sul mobo per funzionare alla minima tensione possibile per la frequenza corrente, appena più del gap di banda. Bilance di potenza con V ^ 2 per logica CMOS (pompaggio della carica in carichi di gate capacitivi). ad es. il mio desktop esegue la sua CPU Skylake i7-6700 a qualcosa come 1,25 V a seconda della velocità del turbo rispetto al minimo.
Peter Cordes,

A IDF2015 si è parlato molto della gestione energetica di Skylake, che ha coinvolto alcuni dei compromessi della moderna gestione della potenza della CPU (desktop / laptop di fascia alta, non microcontrollore). en.wikichip.org/w/images/8/83/… . C'era l'audio da abbinare a quelle diapositive (da un architetto Intel), ma sembra che sia scomparso :( Forse vale comunque la pena di sfogliare le diapositive se sei curioso di sapere quel genere di cose.
Peter Cordes,

Ad ogni modo, poiché le CPU vogliono una quantità variabile di tensione programmabile per il carico, ma ad alta corrente, i mobos alimentano i regolatori di tensione della CPU dall'alimentazione a + 12V. La maggior parte della domanda attuale su un moderno alimentatore per PC è sulla linea 12V, con CPU e GPU dotate di propri convertitori DC-DC. (La moderna DRAM funziona a 1,2 V per DDR4, in calo da 1,35 V per DDR3L.) Quindi ancora una volta i mobos alimentano questo da un convertitore DC-DC situato vicino alla DRAM. O quando hai detto CPU, stavi solo parlando di microcontrollori come quello utilizzato dall'OP? Se è così, scusa per la tangente. : P
Peter Cordes,

3

Utilizzare invece il convertitore step-up

Ecco come faccio progetti simili. Uso 3xAA che mi dà 2,5 V-4,8 V, questo rientra nell'intervallo operativo di atmega, lo collego a un convertitore step-up con pin di disabilitazione, quando disabilitato il convertitore non consuma quasi nulla e passa la tensione. Quando atmega si sveglia e deve effettuare la misurazione, accenderà il convertitore, troverà 5 V su VCC, eseguirà misurazioni e trasmetterà, disabiliterà il convertitore, tornerà a dormire. Dura anni.


2

Secondo i tuoi numeri, stai ottenendo il comportamento previsto, tra il tuo sensore, il tuo microcontrollore e il tuo regolatore (8ma). Se vuoi meglio, spegni il controller, spegni il sensore e ottieni un regolatore più adatto.


2
  1. Misura qual è il consumo di corrente effettivo negli stati inattivi e attivi. Utilizzare un amperometro tra la batteria e l'ingresso 7805. Una tipica nuova batteria da 9 V ha più di 300 mAh e la corrente di riposo 7805 da sola non poteva davvero consumare tutto - qualcosa di sospetto! Ho misurato molte batterie da 9 V e sono in genere da 500 a 600 mAh. L'avvertenza è che sono tutti alcalini e se sei interessato a prolungare la durata della vita, ovviamente devi usare batterie alcaline.

  2. C'è un vero motivo per usare batterie usa e getta da 9 V nella tua applicazione? Hai considerato qualcosa come 3 × o 4 × AA?


Pensavo sinceramente che la batteria da 9v sarebbe durata più a lungo. Apparentemente mi sbagliavo.
Dan Chaltiel,

Non c'è un errore nella frase (alcalino due volte)? "L'avvertimento è che sono tutti alcalini e se sei interessato a ottenere la durata più lunga, ovviamente devi usare batterie alcaline."
Dan Chaltiel,

1
È confuso, scusa. Volevo dire che le mie misurazioni sono solo alcaline, che è quella che dovresti usare se vuoi la vita più lunga. La tua batteria potrebbe essere zinco-carbone, il che potrebbe spiegare in parte la sua rapida morte, ma penso che dovresti prima verificare quale sia il consumo effettivo.
Anrieff,

1

Dal delayloop funzioni e sembra che tu stia usando il codice Arduino. La delayfunzione è un loop attivo, non metterà il microcontrollore in sospensione! L'API di Arduino non supporta la modalità di sospensione.

Leggere la scheda tecnica ATmega328P e vedere pagina 34 per come mettere il dispositivo in modalità sospensione.


Che dire deepsleep?
Dan Chaltiel,

1
@ dan-chaltiel Questo è solo per gli MCU SAMD21 come MKRZero, MKR1000 e MKRFox1200. ( arduino.cc/en/Reference/ArduinoLowPower )
paf.goncalves

1

IMPORTANTE: se è possibile spegnere sensore di umidità DHT11 tra un utilizzo e l'altro, si può essere in grado di prolungare la durata della batteria di un fattore 3 o 4.

Il DHT11 ha una corrente di riposo di 100-150 uA in modalità sospensione. Devi progettare al valore peggiore.
All'accensione richiede 1 secondo "per cancellare la testa" (nota 4. pagina 5)
e poi c'è il tempo di configurazione dell'interfaccia (forse qualche decina di ms).
Dalla scheda tecnica non è ovvio se il tempo di risposta sia influenzato dallo spegnimento, ma probabilmente no.

A seconda del tempo tra le attivazioni, lo spegnimento del DHT11 potrebbe ridurre la corrente di riposo del sistema da circa 200 uA a circa 50 uA.
Vale la pena dare un'occhiata.


Regolatore LM2936:

l' LM2936 cui è un superbo regolatore se soddisfa le tue esigenze. Bassa dispersione, bassa corrente di riposo, gamma di tensioni di uscita disponibili.

Li ho usati molto tempo fa in un prodotto che aveva bisogno del loro basso QI e ne sono rimasto molto soddisfatto. Hmmm - erano circa 1993 - 25+ anni - un vecchio ma un buono.

Iout max è nominalmente 50 mA, il che soddisfa le vostre esigenze tabulate.
Iq è 10 uA a 100 uA di carico - e meno a carichi molto più bassi.
Vin è 5,5 - 40 V e in effetti probabilmente più vicino di quello a Vout. Puoi ottenere le versioni 5V e 3V3.

La corrente di carico in modalità sospensione è facilmente inferiore a 200 uA.
A 200 uA otterrai 100 / .2 = 500 ore di autonomia in standby per 100 mAh di batteria.
Quindi circa 20 giorni per 100 mAh.
Quindi diciamo 60 giorni o due mesi con una batteria alcalina "9V" 300 - 500 mAH che si guasta sul lato conservatore. Usa 6 batterie AA alcaline da 1,5 V (circa 3000 mAh) e dovresti avvicinarti a 2 anni.


Il funzionamento diretto da 3 alcaline AA dà Vin da 5 V iniziale (fino a 1,65 V / cella) e 3,3 V a 1,1 V / cella (circa morto). Circa 6 alcalini AA con uscita in tensione costante. Se riesci a tollerare input da 3.3 - 5V 'usa solo 3 alcaline. AA per quasi 2 anni di funzionamento. AAA per meno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.