Spotřeba Arduino Mini Pro

Ludek
Příspěvky: 289
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Spotřeba Arduino Mini Pro

Příspěvek od Ludek » 25 říj 2022, 20:26

Zdravím, napájím Arduino Mini Pro 12V alkalikou do RAW vstupu. Ale žere asi 15mA :-(
Potřebuji, aby po zapnutí napíjení HNED usnul, spinkal a nepapal moc.
Ale jakmile mu na nějaký vstup dám třeba High, tak aby okamžitě do 1-2 ms začal makat.
Jde to?

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: Spotřeba Arduino Mini Pro

Příspěvek od AstroMiK » 25 říj 2022, 23:03

Níže uvádím osekaný příklad uspání, pomocí kterého se mi povedlo snížit spotřebu Arduina MiniPro asi na 6uA.
Musel jsem ale vypájet z plošňáku PWR LED a stabilizátor.
Napájel jsem to pak třema tužkovkama v sérii přímo na pin Vcc.

Kompletní projekt jsem vystavoval tady: http://www.astromik.org/raspi/gsmalarm/

Osekaný příklad (nevyzkoušený):

Kód: Vybrat vše

// Priklad hlubokeho SLEEP rezimu a probuzeni pres FALLING hranu na D2
//==================================================================================================
// Nastavení FUSE bajtu v ATmega328:
//   LFuse = 0xFF
//   HFuse = 0xDF
//   EFuse = 0x07
//==================================================================================================



#include <avr/sleep.h>


//==================================================================================================
// Podprogram pro "interrupt" kontaktem pri otevirani dveri. (aktivuje se sestupnou hranou na D2)
void dvere()
  {
    sleep_disable();
    detachInterrupt (0);
  } 
//==================================================================================================



//==================================================================================================
void setup(void) 
  {
    for (byte i = 0; i <= A5; i++)   // Kvuli snizeni spotreby ve sleep rezimu vsechny piny nastavit na vystup a stahnout do LOW ...
      {
        pinMode (i, OUTPUT);
        digitalWrite (i, LOW);
      }
    pinMode (2, INPUT_PULLUP);       // ... krome kontaktu na dverich, ktery slouzi k probuzeni z rezimu spanku.
  }
//==================================================================================================



//==================================================================================================
//             HLAVNI  SMYCKA
void loop(void) 
  {

    //-------------------------------------------------------------------------------------
    // hned po startu se procesor uspi do stavu s minimalnim odberem (kolem 6uA)
    //   (opsano a upraveno z: http://www.gammon.com.au/power  ) 
    ADCSRA = 0;  
    set_sleep_mode (SLEEP_MODE_PWR_DOWN);  
    noInterrupts ();                         // timed sequence follows
    attachInterrupt (0, dvere, FALLING);
    EIFR = bit (INTF0);                      // clear flag for interrupt 0
    
    sleep_enable();
    
    interrupts ();                           // guarantees next instruction executed
    sleep_cpu ();                            // sleep within 3 clock cycles of above
    //-------------------------------------------------------------------------------------



    //-------------------------------------------------------------------------------------
    //  V tomto miste ceka procesor na probuzeni pomoci sestupne hrany na pinu D2 (kontakt na dverich).
    //-------------------------------------------------------------------------------------



    //-------------------------------------------------------------------------------------
    // tady bude kod, ktery se ma vykonat po probuzeni
    //
    //
    //-------------------------------------------------------------------------------------
 
 



  }    // Konec hlavni smycky, na zacatku nasledujici smycky se zase uspi.
//==================================================================================================

Ludek
Příspěvky: 289
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Re: Spotřeba Arduino Mini Pro

Příspěvek od Ludek » 26 říj 2022, 06:37

Oj Ty jsi borec,
dnes se na to podívám, vyzkouším a poreferuju :-) díky

Ludek
Příspěvky: 289
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Re: Spotřeba Arduino Mini Pro

Příspěvek od Ludek » 26 říj 2022, 06:58

Ještě dotaz amatéra - jak změnit Fuse, když mám jen IDE ?

Axamith
Příspěvky: 530
Registrován: 09 srp 2017, 08:17
Reputation: 0
Kontaktovat uživatele:

Re: Spotřeba Arduino Mini Pro

Příspěvek od Axamith » 26 říj 2022, 08:01

Pokud opravdu potřebuješ provozovat Arduino Pro mini v režimu spánku s minimální spotřebou, zbav se žroutů na desce. Trvale svítící LEDky a napěťového regulátoru. Samozřejmě pak nemůžeš desku napájet 12V. Po tomto zásahu jsem se dostal v režimu spánku na 4 uA. A to už stojí za to.

Ludek
Příspěvky: 289
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Re: Spotřeba Arduino Mini Pro

Příspěvek od Ludek » 26 říj 2022, 10:20

Jojo, LED jsem odpojil. Ale musím to napájet z 12V alkaliky A23.

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Spotřeba Arduino Mini Pro

Příspěvek od ondraN » 26 říj 2022, 11:16

Tak to zapomeň na lineární stabilizátor. Jeho vlastní odběr je cca 1-5mA, dle typu a kusu na desce. Buď musíš použít nějaký DC-DC konvertor z 12V na 5V s extrémně malou vlastní spotřebou a nebo to napájet ve sleepu z nějaké záložní baterie a po vstupu do normálního modu si přes nějaký FET zapnout tu hlavní baterii a před usnutím zase vypnout.

Ludek
Příspěvky: 289
Registrován: 02 pro 2019, 08:14
Reputation: 0
Bydliště: České Budějovice

Re: Spotřeba Arduino Mini Pro

Příspěvek od Ludek » 26 říj 2022, 15:02

Ondro kdepak... já potřebuji toto :
- sepnu napájení a ihned to musí snížit spotřebu
- do 30 sec přijde to přerušení - pin 2 a IHNED to musí počítat impulzy.
- pak se pin 2 uvolní a zase musí jít spát...
takže už vyzkoušeno a šlape to.

Takže spotřeba do 3 mA je OK... Teď mi to ukazuje 19 mA
Ale díky, Vaše rady mi MOC pomohly.
Jen by mě zajímalo, jak se u Arduina MiniPro dá nastavit FUSE.

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Spotřeba Arduino Mini Pro

Příspěvek od ondraN » 26 říj 2022, 15:07

Po třech dnech bude baterie úplně vybitá. Na fuse musíš mít HW programátor, přes USB to nejde. Pohledej tady na fóru, už se to tu párkrát řešilo.
P.S. Někde byl návod, jak udělat ten programátor z arduina, snad to je i v nějaké té diskuzi.

AstroMiK
Příspěvky: 592
Registrován: 08 pro 2017, 19:05
Reputation: 0

Re: Spotřeba Arduino Mini Pro

Příspěvek od AstroMiK » 26 říj 2022, 16:08

Na programování "Arduina Mini Pro" už ten programátor asi musíš mít (Mini Pro nemá USB konektor).
Jestli ho nemáš, tak se dá vyrobit z obyčejného Arduina (Uno, Nano ...):
https://docs.arduino.cc/built-in-exampl ... ArduinoISP


Na nastavení FUSE existuje několik možných postupů.
Já používám grafickou nadstavbu "AVRDUDESS":
https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/

Tam jednoduše zadáš, jak chceš FUSE nastavit a stiskneš tlačítko WRITE.

FUSE se dají ale přepsat i přes příkazovou řádku (parametry programu "avrdude.exe", který je součástí arduino IDE)

Taky je možné zaeditovat soubor "boards.txt" a provést funkci "Vypálit zavaděč" přes Arduino IDE.

Pozor! Při špatném nastavení FUSE si můžeš Arduino trvale umrtvit.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 17 hostů