RCmania.cz - web pro modeláře a modely
http://www.rcmania.cz/

Arduino úsporný režim
http://www.rcmania.cz/viewtopic.php?f=41&t=80778
Stránka 1 z 2

Autor:  srabsrab [ úte 02.05.2017 14:40 ]
Předmět příspěvku:  Arduino úsporný režim

Zdravím,
nezkoušel někdo hrát si s úsporným režimem arduina?
Je spousta tutoriálů a návodů, ale problém je v tom, že pořebuju aby to fungovalo a ono to tak nějak moc nefunguje jak je to všude popsáno.....

Při nejúspornějším módu mi při měření bere arduino mini pro kolem 8mA a to jsem odpájel jak power ledku tak regulátor (ten jsem teda pouze propájel abych ho vyřadil a nezničil spoje okolo..ale tím sem snížil spotřebu pouze o 1mA....)
Jenže to mi životnost na baterku moc neprodlouží. Všude píšou že naměřily běžně při tomhle režimu pod 0,3mA .... běžně dokonce mnohem méně a teoreticky tak může běžet takové arduino roky.. zkoušel jsem i speciální knihovnu, která povypíná teoreticky vše, ale stejný výsledek :(

Nemáte nápad co s tím? Protože úspora ve sleep módu je tak +- 8mA (tedy 50%), ale měla by být násobně větší... co jsem četl tak 50x....

Tu nejake odkazy co jsem taky zkousel
http://arduino8.webnode.cz/news/lekce-27-adruino-a-napajeni-z-baterie-aneb-jak-uspat-arduino/
https://andreasrohner.at/posts/Electronics/How-to-modify-an-Arduino-Pro-Mini-clone-for-low-power-consumption/

Autor:  JosefSvejk [ úte 02.05.2017 15:15 ]
Předmět příspěvku:  Re: Arduino úsporný režim

Zrovna nedávno jsme to řešili s klukem. Kvůli velikosti projektu musel použít arduino mega a tam byla spotřeba taky dost velká. Na unu to bylo lepší a nejlepší na samotném IO bez blbinek okolo. Problém je totiž v tom, že na deskách arduina je kromě hlavního procesoru ještě jeden procesor nebo specializovaný IO, který řeší komunikaci přes USB. A ten se (asi) nedá uspat. U té megy jsme to vyřešili mechanickou úpravou - přerušil jsem spoj, který napájí toho druhého brouka, osadil dva piny a při používání USB se nasadí propojka. Tím zhasly i ledky komunikace. Dostali jsme se na 3,4 mA včetně modulu hodin. Samostatný atmel spí někde kolem 0,3 mA.

Autor:  Amper [ úte 02.05.2017 15:18 ]
Předmět příspěvku:  Re: Arduino úsporný režim

zajimavy clanek je tady https://www.root.cz/clanky/arduino-meri ... -v-bazenu/

Autor:  fokker1 [ úte 02.05.2017 16:15 ]
Předmět příspěvku:  Re: Arduino úsporný režim

Poud jde o komunikaci s USB, tak Arduino Pro Mini ji nemá. Navíc se dělá i na 3,3V, 8MHz, kde bude spotřeba menší. Ale má jen procesor ATMega 328 nebo 168, Mega má 2560.

Autor:  srabsrab [ úte 02.05.2017 16:27 ]
Předmět příspěvku:  Re: Arduino úsporný režim

JosefSvejk píše:
Problém je totiž v tom, že na deskách arduina je kromě hlavního procesoru ještě jeden procesor nebo specializovaný IO, který řeší komunikaci přes USB. A ten se (asi) nedá uspat.


no prave ze ja to resim na arduino mini pro a ten zadnou usb komunikaci nema a odpojil sem vse podle navodu .. jeste muzu vyzkouset uplne ten stabilizator oddelat misto proklemovani, ale to stejne neresi proc neni uspora alespon priblizne jako na tech navodech, kde uvadeji v tabulkach spotrebu i pod setinu mA a bez jakekoliv upravy 3mA coz ale je sporeba te ledky ktera ale v mem pripade zrala mene nez 1mA...

jinak je to teda black verze s uplne mikroprtavou 328 .... leda by neumel tenhle atmelak moc sporit??? ikdyz nevim no spis buch rekl ze kdyz je misto 1x1centak velkej pouze 0,5x0,5 centaku tak by spis mel byt jeste uspornejsi ne?

Voltazi to taky neni... ty tabulky co sem videl maji fungovat i pri 5V napajeni .. a potrebuju taky aby sel LCD po probuzeni takze pod jednu lionku jit nemuzu .. tedy 3,7V... ta moje hodnota je samo bez niceho .. .takze jsem zklaman uspornym rezimem i kdyz nerikam pri provozu zarizeni jsem diky nemu schopen alespon snizit spotrebu z 24 na zhruba 14-16mA... ale pocitam ze pokud by fungoval ten sleep mod spravne tak se dostanu jeste niz ...prave sem predtim vubec nezkousel samotne arduino bez periferii a ten holej uspornej program kolik zere az pote co sem si pridal do programu uplne vypnuti a sem tam zmereni hloubky pro opetovne zapnuti ... nechci to zase resit nevzhlednym magnetickym spinacem ... a prave me dost prekvapilo ze to se vsim bere 10mA pri uplnem vypnuti a 8 (misto 3 jak se pise vsude na netu bez uprav a dokonce pod 1mA s upravou) pri uplne absenci periferii a programu jen test na uspani ...

Autor:  JosefSvejk [ úte 02.05.2017 17:15 ]
Předmět příspěvku:  Re: Arduino úsporný režim

Máš asi něco špatně v programu. Našel jsem fotky, co si kluk fotil při testování spotřeby. Samotná atmega328 žere fakt nula celá nic.

Přílohy:
P1050544.JPG
P1050544.JPG
[ 120.41 KiB | Zobrazeno 8553 krát ]


Autor:  srabsrab [ úte 02.05.2017 18:14 ]
Předmět příspěvku:  Re: Arduino úsporný režim

JosefSvejk píše:
Máš asi něco špatně v programu. Našel jsem fotky, co si kluk fotil při testování spotřeby. Samotná atmega328 žere fakt nula celá nic.


Mozny to jeee, ale jak rikam samotnej program z tech prikladu a porad to zere moc ... tohle je uz ani nevim odkud jen test s ledkou.... snazim se prave najit nekde tu chybu a porad nevim ...

// potřebné knihovny
#include <avr/sleep.h>
#include <avr/power.h>
#include <avr/wdt.h>
#define LED_PIN (13) // pojmenování pinu 13
// zde se bude ukládat zda přišel impuls z watchdog timeru
// hodnota 1 simuluje impuls po zapnutí, aby jsme nečekali
volatile int impuls_z_wdt=1;
// zde se ukládají impulsy

volatile int citac_impulsu= 2;

// zde nastavíme potřebný počet impulsů
// podle nastavení WDT viz níže je jeden impuls 8 sekund
volatile int impulsu_ke_spusteni = 2;
// impuls z WATCHDOG TIMERU /////////////////
ISR(WDT_vect)
{
//když je proměnná impuls_z_wdt na 0
if(impuls_z_wdt == 0)
{
// zapiš do proměnné 1
impuls_z_wdt=1;
}
}
void enterSleep(void)
{
//nastavení nejúspornějšího módu
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
// spánkový režim je povolený
sleep_enable();
// spuštění režimu spánku
sleep_mode();
// tady bude program pokračovat když se probudí
// spánek zakázán
sleep_disable();
//znovu zapojení všech funkcí
power_all_enable();
}
void setup()
{
//nastaví pin 13 jako výstup
pinMode(LED_PIN,OUTPUT);
// nastavení WATCHDOG TIMERU
MCUSR &= ~(1<<WDRF); // neřešte
WDTCSR |= (1<<WDCE) | (1<<WDE); // neřešte
// nastavení času impulsu
WDTCSR = 1<<WDP0 | 1<<WDP3; // 8 sekund, WDTCSR = B0110 --> 1 sekunda
WDTCSR |= _BV(WDIE); //neřešte
}
void loop()
{
//když je impuls z WATCHDOG TIMERU a zároveň i potřebný jejich počet
if ((impuls_z_wdt == 1) & (impulsu_ke_spusteni == citac_impulsu))
{
///////////////////////////////////////////////////////////////
// zde je ukázkový kód, upravte si sami podle potřeby
digitalWrite(LED_PIN, HIGH);
delay(3000);
digitalWrite(LED_PIN, LOW);
// konec ukázkového kódu, který se v nastaveném intervalu
// bude provádět
//////////////////////////////////////////////////////////////
citac_impulsu = 0;// vynuluj čítač
impuls_z_wdt = 0; // vynuluj impuls
enterSleep();// znovu do spánku
}
else
{
enterSleep();//znovu do spánku
}
citac_impulsu++; // inpuls se přičte i když nic neproběhlo
}

Autor:  JosefSvejk [ úte 02.05.2017 18:29 ]
Předmět příspěvku:  Re: Arduino úsporný režim

A ještě jednu poznámku. Nedávno jsem tu řešil, jak strašně mi lže multimetr právě na rozsahu kolem 10 mA. Proto na fotce vidíš poněkud archaický měřák :) . Ten měří podstatně lépe než můj UT61E.

Autor:  coro [ úte 02.05.2017 18:50 ]
Předmět příspěvku:  Re: Arduino úsporný režim

O Arduine nič neviem, ale napadá ma, či tam nie je kadečo pozapínané čo sa dá na tom procesore povypínať AK si ho programuješ normálne cez nejaké AVRStudio a nastavíš len čo potrebuješ - myslím na AD prevodník, internú referenciu, a podobne. Či tam nie je kadečo pozapínané. Ešte aj frekvencia zaváži, asi aj typ.
No a potom, či Ti ho nebudí niečo na čo nemyslíš, akože nezapojený pin na low stave čo vygeneruje prerušenie a zobudí procík?

Autor:  srabsrab [ úte 02.05.2017 19:03 ]
Předmět příspěvku:  Re: Arduino úsporný režim

JosefSvejk píše:
A ještě jednu poznámku. Nedávno jsem tu řešil, jak strašně mi lže multimetr právě na rozsahu kolem 10 mA. Proto na fotce vidíš poněkud archaický měřák :) . Ten měří podstatně lépe než můj UT61E.

No zkousel jsem ruzne rozsahy merit proud tekouci pres odpor z AA clanku a meri OK ... s tim problem nebude...

Tohle taky zere v tom sleep modu stejne moc...

#include "LowPower.h" // import the lowpoer library
int led = 13;
void setup()
{
pinMode(led, OUTPUT);
}
void loop()
{
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); // instead of delay(1000) ;

digitalWrite(led, HIGH);
LowPower.powerDown(SLEEP_4S, ADC_OFF, BOD_OFF); // instead of delay(1000) ;
digitalWrite(led, LOW);
}

nemas nakej jinej kod teda? jen s tim uspanim ...

Autor:  srabsrab [ úte 02.05.2017 19:27 ]
Předmět příspěvku:  Re: Arduino úsporný režim

Jinac takhle vypada to arduino co ted zkousim ...
http://i.ebayimg.com/images/g/MMcAAOSw2GlXLD~U/s-l1600.jpg

Autor:  JosefSvejk [ úte 02.05.2017 20:35 ]
Předmět příspěvku:  Re: Arduino úsporný režim

Tak to bude nejspíš chyba toho atmelu, nějak si to nerozumí :? .
Ten první kód nám funguje. Ten druhý (LowPower) ale taky nefungoval dobře.

To arduino je dozajista nějaká čínská kopie :wink: . A nedělám si iluze o kvalitě součástek, které číňan používá.

Autor:  sky59 [ úte 02.05.2017 22:04 ]
Předmět příspěvku:  Re: Arduino úsporný režim

srabsrab píše:
Zdravím,
nezkoušel někdo hrát si s úsporným režimem arduina?
Je spousta tutoriálů a návodů, ale problém je v tom, že pořebuju aby to fungovalo a ono to tak nějak moc nefunguje jak je to všude popsáno.....

Při nejúspornějším módu mi při měření bere arduino mini pro kolem 8mA a to jsem odpájel jak power ledku tak regulátor (ten jsem teda pouze propájel abych ho vyřadil a nezničil spoje okolo..ale tím sem snížil spotřebu pouze o 1mA....)
Jenže to mi životnost na baterku moc neprodlouží. Všude píšou že naměřily běžně při tomhle režimu pod 0,3mA .... běžně dokonce mnohem méně a teoreticky tak může běžet takové arduino roky.. zkoušel jsem i speciální knihovnu, která povypíná teoreticky vše, ale stejný výsledek :(

Nemáte nápad co s tím? Protože úspora ve sleep módu je tak +- 8mA (tedy 50%), ale měla by být násobně větší... co jsem četl tak 50x....

Tu nejake odkazy co jsem taky zkousel
http://arduino8.webnode.cz/news/lekce-27-adruino-a-napajeni-z-baterie-aneb-jak-uspat-arduino/
https://andreasrohner.at/posts/Electronics/How-to-modify-an-Arduino-Pro-Mini-clone-for-low-power-consumption/


Nic neries, ziadne interrupty, uspi ho a zmeraj

Autor:  srabsrab [ úte 02.05.2017 22:13 ]
Předmět příspěvku:  Re: Arduino úsporný režim

JosefSvejk píše:
Tak to bude nejspíš chyba toho atmelu, nějak si to nerozumí :? .
Ten první kód nám funguje. Ten druhý (LowPower) ale taky nefungoval dobře.

To arduino je dozajista nějaká čínská kopie :wink: . A nedělám si iluze o kvalitě součástek, které číňan používá.


Stejne to vsechno delaj cinani :D .... pravda nahral jsem to jeste zkusmo do nana s usb prevodnikem i diodou a bere si 6,5mA (ten nano ma 328p AUxxxx) .. tedy mene nez ten 328p MUxxxx mikrocip .... ale i tak... ledaze cim vetsi externi krystal tim vetsi spotreba? :D

Komunikuje samotna 328PU jak ji mas na fotce bez toho krystalu? Mam jednu a nevim jestli je vadna nebo potrebuje krystal, aby s ni vubec bylo mozno pracovat ... mela by mit udajne jiz vypaleny bootloader ... po pripojeni ale vubec nekomunikuje (chtel jsem ji vyplalit aby behala na internich 8mhz ale nejde z ni ani cist natoz do ni zapisovat pres usbasp) ... ze bych zkusil samotnou 328 jak moc zere ...

Autor:  BoŠ [ stř 03.05.2017 5:12 ]
Předmět příspěvku:  Re: Arduino úsporný režim

Nebude spíš problém v těch knihovnách? Zkoušel jsi to uspat napřímo přes SLEEP instrukci (viz. např. datasheet http://ww1.microchip.com/downloads/en/D ... asheet.pdf)?
Už jsem se párkrát setkal s tím, že knihovny nebyly naprogramovány optimálně pro mé aplikace, takže si některé věci ošetřuji "napřímo". Je pravda, že programuji přímo čipy, ne arduino.

Stránka 1 z 2 Všechny časy jsou v UTC + 1 hodina
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/