Taula de continguts:
- Pas 1: reduir la tensió de subministrament mitjançant una bateria LiPo
- Pas 2: reduïu el rellotge de la CPU
- Pas 3: traieu el LED d'alimentació de la placa i el regulador d'alimentació
- Pas 4: desconnecteu la resistència USB D-Pullup (marcada 152) de 5 volts (VCC) i connecteu-la a USB V +
- Pas 5: feu servir Sleep en lloc de Delay ()
- Pas 6: Modifiqueu els fusibles
- Pas 7: Més informació
Vídeo: Reducció del consum d'energia de la bateria per a Digispark ATtiny85: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
o bé: executar un Arduino amb una cel·la de moneda 2032 durant 2 anys.
Utilitzant la vostra placa Digispark Arduino fora de la caixa amb un programa Arduino, atrau 20 mA a 5 volts.
Amb un banc de potència de 5 volts de 2000 mAh només funcionarà durant 4 dies.
Pas 1: reduir la tensió de subministrament mitjançant una bateria LiPo
Si utilitzeu una bateria LiPo de 3,7 volts com a subministrament, la vostra placa Digispark només consumeix 13 mA.
Amb una bateria de 2000 mAh funcionarà durant 6 dies.
Pas 2: reduïu el rellotge de la CPU
Si no utilitzeu connexió USB, càlculs intensos o sondeig ràpid al programa, reduïu la velocitat del rellotge. Per exemple. la biblioteca de recepció d'infrarojos de sondeig IRMP funciona molt bé a 8 MHz.
A 1 MHz, el vostre Digispark dibuixa 6 mA. Amb una bateria de 2000 mAh, funcionarà durant 14 dies.
Pas 3: traieu el LED d'alimentació de la placa i el regulador d'alimentació
Desactiveu el LED d'alimentació trencant el fil de coure que connecta el LED d'alimentació al díode amb un ganivet o traieu / desactiveu la resistència 102.
Com que ara feu servir una bateria LiPo, també podeu eliminar el circuit regulador de potència integrat. Primer aixequeu els passadors externs amb l'ajuda d'una planxa de soldar i un passador. A continuació, soldeu el connector gran i traieu el regulador. Per a reguladors petits, utilitzeu molta soldadura i escalfeu els 3 pins junts i traieu-los.
A 1 MHz i 3,8 volts, el vostre Digispark ara dibuixa 4,3 mA. Amb una bateria de 2000 mAh, funcionarà durant 19 dies.
Pas 4: desconnecteu la resistència USB D-Pullup (marcada 152) de 5 volts (VCC) i connecteu-la a USB V +
Aquesta modificació és compatible amb les versions all1.x del carregador d'arrencada de micronucleus. Si ja teniu un nou carregador d'arrencada 2.x al vostre tauler, heu d'actualitzar a una de les versions 2.5 amb "activePullup" al seu nom. La manera més senzilla de fer-ho és instal·lar el nou paquet de la placa digispark i gravar el carregador d’arrencada amb la versió recomanada (!!! no per defecte ni agressiva !!!).
Trencar el cable de coure al costat de la resistència que apunta a ATtiny. Això desactiva la interfície USB i, al seu torn, la possibilitat de programar la placa Digispark mitjançant USB. Per tornar-lo a habilitar, però encara estalvieu energia, connecteu la resistència (marcada amb 152) directament a l'USB V + que es troba fàcilment disponible a la part exterior del díode. El díode i els seus costats correctes es poden trobar mitjançant un provador de continuïtat. Un dels costats d’aquest díode està connectat al pin 8 de l’ATtiny (VCC) i el Digispark 5V. L'altra cara està connectada a l'USB V +. Ara, la resistència d’extracció USB només s’activa si la placa Digispark està connectada a USB, per exemple. durant la programació.
Els darrers 2 passos també es documenten aquí.
A 1 MHz i 3,8 volts, el vostre Digispark ara dibuixa 3 mA. Amb una bateria de 2000 mAh, funcionarà durant 28 dies.
Pas 5: feu servir Sleep en lloc de Delay ()
En lloc de llargs retards, podeu utilitzar el somni de la CPU per estalviar energia. La durada pot durar de 15 mil·lisegons a 8 segons en passos de 15, 30, 60, 120, 250, 500 mil·lisegons i 1, 2, 4, 8 segons.
Com que el temps d’inici des del mode de repòs és de 65 mil·lisegons amb la configuració de fusible de fàbrica digispark, només es poden substituir retards superiors a 80 ms per suspensió.
Durant el son, el vostre Digispark dibuixa 27 µA. Amb una cel·la de botó 2032 de 200 mAh dormirà durant 10 mesos.
Per ser correcte, el Digispark ha de despertar-se com a mínim cada 8 segons, funcionant durant almenys 65 mil·lisegons i dibuixant al voltant de 2 mA de corrent. Això condueix a un corrent mitjà de 42 µA i 6 mesos. En aquest escenari, gairebé no fa cap diferència si el programa s’executa durant 10 mil·lisegons (cada 8 segons).
El codi per utilitzar Sleep és:
#include #include volatile uint16_t sNumberOfSleeps = 0; extern volatile unsigned long millis_timer_millis; void setup () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // mode de son més profund …} void loop () {… sleepWithWatchdog (WDTO_250MS, cert); // dormir durant 250 ms … sleepWithWatchdog (WDTO_2S, cert); // dormir durant 2 segons …} / * * aWatchdogPrescaler pot ser de 0 (15 ms) a 3 (120 ms), 4 (250 ms) fins a 9 (8000 ms) * / uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) {uint16_t tResultMillis = 8000; for (uint8_t i = 0; estalvio 200 uA // useu wdt_enable () ja que gestiona que el bit WDP3 es troba al bit 5 del registre WDTCR wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Activació de la interrupció del gos de vigilància + restabliment de la bandera de la interrupció -> necessita ISR (WDT_vect) sei (); // Habilita les interrupcions sleep_cpu (); // La interrupció del gos de vigilància ens despertarà del son wdt_disable (); // Perquè la propera interrupció en cas contrari condueix a un restabliment, ja que wdt_enable () estableix WDE / Watchdog System Reset Enable Hable ADCSRA | = ADEN; / * * Atès que el rellotge del temporitzador es pot desactivar, ajusteu mil·lis només si no dormiu en mode IDLE (SM2 … 0 bits són 000) * / si (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))! = 0) {millis_timer_millis + = computeSleepMillis (aWatchdogPrescaler);}} / * * Aquesta interrupció desperta la CPU des del son * / ISR (WDT_vect) {sNumberOfSleeps ++;}
Pas 6: Modifiqueu els fusibles
22 mA dels 27 mA són extrets per la DBO (BrownOutDetection / detecció de subtensió). El DBO només es pot desactivar reprogramant els fusibles, cosa que només es pot fer amb un programador ISP. Mitjançant aquest script podeu reduir el corrent fins a 5,5 µA i també reduir el temps d’inici del mode de repòs a 4 mil·lisegons.
5 dels 5,5 µA restants són dibuixats pel comptador actiu de vigilància. Si podeu utilitzar restabliments externs per despertar, el consum actual pot baixar a 0,3 µA tal com s’indica al full de dades.
Si no podeu assolir aquest valor, la raó pot ser que el corrent invers del díode schottky entre VCC i el pullup és massa alt. Tingueu en compte que una resistència de 12 MOhm també atrau 0,3 µA a 3,7 volts.
Això es tradueix en un consum actual mitjà de 9 µA (2,5 anys amb una cel·la de botó 2032 de 200 mAh) si, per exemple, processar dades cada 8 segons durant 3 mil·lisegons com aquí.
Pas 7: Més informació
Dibuix actual d'un tauler Digispark.
Projecte utilitzant aquestes instruccions.
Recomanat:
Estalvi de bateria, interruptor de tall de protecció de descàrrega amb ATtiny85 per a bateria de plom àcid per a cotxes o Lipo: 6 passos
Estalvi de bateria, interruptor de tall de protecció de descàrrega amb ATtiny85 per a bateria de plom àcida o cotxe: ja que necessito diversos protectors de bateria per als meus cotxes i sistemes solars, els comercials els costava 49 dòlars massa car. També fan servir massa energia amb 6 mA. No he pogut trobar cap instrucció sobre el tema. Així que vaig fer el meu propi dibuix de 2 mA. Com ho fa
Senyal d'alarma de consum d'energia Shelly: 8 passos
Senyal d'alarma de consum d'energia de Shelly: AVÍS Aquest instructiu l'ha de realitzar algú que tingui una bona habilitat com a electricista. No assumeixo cap responsabilitat sobre els perills per a les persones o les coses. el consum supera t
Reducció del consum d'energia del relé: retenció contra corrent de captació: 3 passos
Reducció del consum d'energia del relé: retenció contra corrent de captació: la majoria dels relés requereixen més corrent per accionar inicialment del que es requereix per mantenir el relé activat un cop tancats els contactes. El corrent necessari per mantenir el relé encès (Corrent de retenció) pot ser substancialment inferior al corrent inicial necessari per actuar
Com mesurar correctament el consum d'energia dels mòduls de comunicació sense fils en l'era del baix consum d'energia ?: 6 passos
Com mesurar correctament el consum d’energia dels mòduls de comunicació sense fils a l’era del baix consum d’energia ?: El baix consum d’energia és un concepte extremadament important a la Internet de les coses. La majoria de nodes IoT han d’estar alimentats per bateries. Només mesurant correctament el consum d'energia del mòdul sense fils podem estimar amb precisió la quantitat de bateria que
Reducció del soroll del ventilador d'un dispositiu NAS: 6 passos
Reducció del soroll del ventilador d’un dispositiu NAS. Vaja, el meu primer instructiu, així que si us plau, sigueu suau. La meva xarxa domèstica conté, entre altres coses, un dispositiu NAS. Aquest és un dispositiu que funcionaria 24x7 per a la disponibilitat general, no? No obstant això, prefereixo mantenir aquest dispositiu a la sala d'estar, perquè