Deze vraag gaat een beetje verder op een vorige vraag van mij.
Als ik datasheets lees staan daar allemaal mooi de stroomverbruiken van de componenten in.
Dat gaat van enkele µA tot sporadisch eens een mA.
Nu wil ik voor een ontwerp ongeveer het stroomverbruik willen kennen.
Het is de bedoeling om zo weinig mogelijk stroom te gebruiken om zo te kunnen inschatten hoe lang mijn batterijen gaan werken.
Zijn de stroomverbruiken van componenten in datasheets betrouwbaar?
Soms staan ze per status van het component (sleep, idle, running) enz.
Maar in een schakeling waar praktisch enkel digitale componenten inzitten, welke factoren moet ik nog in rekening nemen bij de totale stroombepaling?
Er zijn componenten die in rust x µA verbruiken en als ze moeten werken y mA. Als ik weet hoe lang ze in beide toestanden staan weet ik het gemiddelde.
Ook denk ik aan pullup weerstanden die een kleine stroom doen vloeien.
Mijn vraag is eigenlijk, zijn de stroomwaarden in datasheets te vertrouwen, of zijn ze zoals de benzineverbruiken door autfabrikanten aangegeven, opgesmukt?
Buiten stroompjes door bijvoorbeeld pullup weerstanden, waar moet ik nog mee rekening houden?
Een van de componenten zal een PIC mcu zijn..
Alle tips zijn welkom!
Meestal word er een typical en max stroom opgegeven. Als je van de max uitgaat heb je de meest pessimistische batterij duur. Pull-up moet inderdaad nog apart bijreken. Je kan 1K maar ook 100k als pullup nemen, scheelt in totaal ook veel aan verbruik. Ook kwestie van DS bekijken en kijken hoeveel ze aanraken enz. (of zelf testen)
Bij uC is het stroomverbruik afhankelijk van de voedingsspanning en clockfreq. Als je met een hogere U werkt stijgt de I opname. En betaal je dus dubbel aan vermogen. Dus batterij powered dinge altijd zo laag mogelijk U gebruiken. uC ook zo traag mogelijk laten lopen, en zo veel mogelijk in sleep zetten. Alle onnodige functies uit zetten. Wachtdog, interne U ref's, ADC, Timers enz verbruiken allemaal extra tov het opgegeven verbruik. Extern crystal verbruik ook meer dan interne RC. Der zijn uC die hun clock divider on-the-fly kunnen aanpassen. Als je VB data via I²C moet binnen halen clk_div 0 zetten, als communicatie gedaan clk_div terug zetten zodat clk drastisch verlaagt.
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Waar ik me wel eens in vergist heb is dat als je CPU 10mA verbruikt, maar een ledje aanstuurt via een pootje je toch ook die 20mA door het ledje moet rekenen....
Dat geldt natuurlijk niet alleen voor de ledjes.
Die laatste versta ik niet.
Als mijn MCU 10mA verbruikt en ik laat die een LEDje van 10mA schakelen is het totaal toch 20mA?
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Als je zuinig op je batterij bent, gebruik je zeker geen stroom-slurpende led van 20mA.
Een HR-led geeft al heel veel licht bij < 1mA...
Als je de het verbruik wilt minimaliseren, kun je de MCU in 'sleep' mode zetten, en indien gewenst iedere watchdog time-out een wake-up geven om de interne huishouding bij te werken.
Daarna weer in slaap. Dat spaart enorm veel uit.