sleep mode

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

kako
Stály člen
Stály člen
Príspevky: 307
Dátum registrácie: 07 Mar 2014, 06:38
Bydlisko: Trnava

sleep mode

Príspevok od používateľa kako » 08 Feb 2015, 08:13

ahoj

robim si bezdrotovy teplomer a chcem sa opytat ako na sleep mode

hladal som tu a nic tu take este nie je

teda uspat nieje problem, ale ako alebo cim zobudit

mam vysielac attiny2313 a rf 433 modul na TX uartu

prijmac atmega8 modul RX uartu

cidlo je ds18b20


program vysielacu mam tak, ze:

precitam teplotu, poslem ju 5x a cakam 20s

chcel by som:

precitam, 5x poslem, uspim a po 20s zobudim a od zaciatku

napajam to bateriou z pokazeneho mobilu 3,7V 1250mAh

takto vydrzi bateria cca 1 tyzden a z rezimom spanku verim ze vydrzi aj pol roka s POWER_DOWN modom :)
0
ho

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: sleep mode

Príspevok od používateľa peterple » 08 Feb 2015, 09:17

Z power down módu ta zobudí iba externé prerušenie na nízku logickú úroveň alebo watchdog, alebo ešte Brown-out reset. Takže v prípade vysielača treba povoliť watchdog a nastaviť jeho časovať. V prípade prijímača, pripojiť RxD aj na externý prerušovací vstup. Prvý znak poslať 0xFF. Štart bit ťa zobudí ale nemusíš ho prijať korektne, lebo nejakú dobu bude štartovať oscilátor. Takže ho treba ignorovať.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
dxr
Ultimate člen
Ultimate člen
Príspevky: 3968
Dátum registrácie: 05 Aug 2013, 20:21
Bydlisko: V strede nicoho
Kontaktovať používateľa:

Re: sleep mode

Príspevok od používateľa dxr » 08 Feb 2015, 09:20

watchdog ta moze zobudit ale toto si musis nastudovat v datasheete
pripadne si pozri ATMEL Aplication Note sleep mode
0
Mahátma Ghándí: „Nejdřív tě budou ignorovat. Pak se ti budou smát. Pak proti tobě budou bojovat. Potom zvítězíš.“
čo viac dodať som taký a možeš to skúsiť vyhrať aj tak to vzdáš.. Obrázok
Arduino is popular becouse allow complex task with minimum investment

kako
Stály člen
Stály člen
Príspevky: 307
Dátum registrácie: 07 Mar 2014, 06:38
Bydlisko: Trnava

Re: sleep mode

Príspevok od používateľa kako » 08 Feb 2015, 09:26

prijmac netreba budit bude napajany stale

pozrem ten watchdog co to je :)
0
ho

Používateľov profilový obrázok
dxr
Ultimate člen
Ultimate člen
Príspevky: 3968
Dátum registrácie: 05 Aug 2013, 20:21
Bydlisko: V strede nicoho
Kontaktovať používateľa:

Re: sleep mode

Príspevok od používateľa dxr » 08 Feb 2015, 09:34

Ja som ani primac nepisal. Mne je jasne ze mas niekde na strome zaveseny vysielac a nechce sa ti tam liezt :D
WATCH dog sa da naprogramovat tak ze vyvola prerusenie ktore zobudi svaba z low power modu.
alebo su aj svabiky ktore to vedia lebo AVRka maju tusim maximalne 8s Watchdog time
cize ak chces spat dlhsie musis to riesit inak v kode a toto vsetko treba kuknut v Datasheete p.30 :)
0
Mahátma Ghándí: „Nejdřív tě budou ignorovat. Pak se ti budou smát. Pak proti tobě budou bojovat. Potom zvítězíš.“
čo viac dodať som taký a možeš to skúsiť vyhrať aj tak to vzdáš.. Obrázok
Arduino is popular becouse allow complex task with minimum investment

kako
Stály člen
Stály člen
Príspevky: 307
Dátum registrácie: 07 Mar 2014, 06:38
Bydlisko: Trnava

Re: sleep mode

Príspevok od používateľa kako » 08 Feb 2015, 09:49

mam ho na hruske pred barakom :) ako si vedel ;)

-- Spojený príspevok 08 Feb 2015, 11:13 --

tak zatial toto:

Kód: Vybrať všetko

#include <avr/interrupt.h>
#include <avr/sleep.h>
#include <avr/wdt.h>

volatile uint8_t trvanie_spanku=0;
void spanok(uint8_t kolko);
void init_wdt();

void init_wdt()
{ 
 WDTCSR |= (1<<WDCE);//povoli wdt
 WDTCSR = (1<<WDIE)|(1<<WDP2)|(1<<WDP1);//delicka na 1sec, povoli prerusenie
}

void spanok(uint8_t kolko)
{
 trvanie_spanku = 0;
 while(trvanie_spanku < kolko)
	  {
       set_sleep_mode(SLEEP_MODE_PWR_DOWN);//nastav rezim spanku
       sleep_mode();//aktivuj rezim spanku
      }
}

ISR(WDT_OVERFLOW_vect)//prerusenie od wdt
{
 trvanie_spanku++;
}
int main(void)
{
    init_wdt();
    sei();

 while(1)
 {
 spanok(20);
 }
}
0
ho

kako
Stály člen
Stály člen
Príspevky: 307
Dátum registrácie: 07 Mar 2014, 06:38
Bydlisko: Trnava

Re: sleep mode

Príspevok od používateľa kako » 08 Feb 2015, 11:02

neviem ci ho uspi alebo nie

posle to kazdych 20s
0
ho

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: sleep mode

Príspevok od používateľa peterple » 08 Feb 2015, 11:10

tak si zmeraj odber procesora a uvidíš. V behu 2-3mA, v power down 0,5mikroA (s povoleným watchdogom mozno viacej)
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

kako
Stály člen
Stály člen
Príspevky: 307
Dátum registrácie: 07 Mar 2014, 06:38
Bydlisko: Trnava

Re: sleep mode

Príspevok od používateľa kako » 08 Feb 2015, 11:21

praveže mam taky multimeter za 5e uA nezmeram na nom :)
0
ho

Používateľov profilový obrázok
dxr
Ultimate člen
Ultimate člen
Príspevky: 3968
Dátum registrácie: 05 Aug 2013, 20:21
Bydlisko: V strede nicoho
Kontaktovať používateľa:

Re: sleep mode

Príspevok od používateľa dxr » 08 Feb 2015, 11:26

Ak si precitas datasheet a ANxxx zistis ze je dobre este povypinat vseko co netreba
az potom ziskas nizku spotrebu.inak na toto je myslim vhodnejsia nejaka mega-PA ta ma z AVRiek
najniziu spotrebu ale velmi dolezita je akivna faza aspon mne to vzdy tak vyslo
ze je dolezite bezat najkratsie a spanok nemusi byt ani tak ultra ultra low.

To ze je to na strome mi je jasne lebo na strechu leze len kominar a santa klaus v zime :D
a strom je pre teplomer lepsia lokalita teplota v tieni a mensia tepelna salavost z rozpaleneho plasta.
0
Mahátma Ghándí: „Nejdřív tě budou ignorovat. Pak se ti budou smát. Pak proti tobě budou bojovat. Potom zvítězíš.“
čo viac dodať som taký a možeš to skúsiť vyhrať aj tak to vzdáš.. Obrázok
Arduino is popular becouse allow complex task with minimum investment

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: sleep mode

Príspevok od používateľa peterple » 08 Feb 2015, 11:30

ale pokles z 2mA na 0 zmeriaš. Tak si potvrdíš že to funguje. Inak čo je to za blbý multimeter. Ja mám tiež taký krpatý lacný a má rozsah 200mikroA.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

kako
Stály člen
Stály člen
Príspevky: 307
Dátum registrácie: 07 Mar 2014, 06:38
Bydlisko: Trnava

Re: sleep mode

Príspevok od používateľa kako » 08 Feb 2015, 11:37

rozsah ma 20uA ale nemeria ich

dam sem video ukazuje nieco :)

-- Spojený príspevok 08 Feb 2015, 12:57 --

Prílohy
IMG_20150208_113245[1].jpg
0
ho

xpert
Stály člen
Stály člen
Príspevky: 112
Dátum registrácie: 28 Dec 2014, 01:24
Bydlisko: okres NZ

Re: sleep mode

Príspevok od používateľa xpert » 08 Feb 2015, 16:11

bodaj by ti meral ked mas zle pichnuty cerveny kabel. Daj ho do pravej dierky :D
A ked prepinas rozsahy, je mozne ze odpajas napajanie a tym robis reset procaku (ja mam tiez taky 5€ merak a pri prepinani rozsahov sa prerusuje kontakt)
0

Používateľov profilový obrázok
dxr
Ultimate člen
Ultimate člen
Príspevky: 3968
Dátum registrácie: 05 Aug 2013, 20:21
Bydlisko: V strede nicoho
Kontaktovať používateľa:

Re: sleep mode

Príspevok od používateľa dxr » 08 Feb 2015, 16:21

xpert :thumbup: :potlesk:

inak nieje to tak ze niektore meraky ked maju zle zapojene kable a prepina sa obcas sa odfajci ?
neviem mne sa to podarilo aspon na 3ks cinskych lebo to nemalo dobre viditelnu znacku kam to ukazuje


inak merat tieto nA/uA je celkom sranda mna ULP zaujima dlhodobo ale jedine co som zvladol
je objednanie si toho zazraku casom mozno bude osciloskop.
aj ked znamy to meriava nejako pomocou kelwinovho mostika ale poriadnym merakom


Kako sprav si samostatny program kde procak nerobi nic ine len spi a potom to meraj
ked to budes mat vyladene potom to pouzi v programe s teplomerom.
0
Mahátma Ghándí: „Nejdřív tě budou ignorovat. Pak se ti budou smát. Pak proti tobě budou bojovat. Potom zvítězíš.“
čo viac dodať som taký a možeš to skúsiť vyhrať aj tak to vzdáš.. Obrázok
Arduino is popular becouse allow complex task with minimum investment

kako
Stály člen
Stály člen
Príspevky: 307
Dátum registrácie: 07 Mar 2014, 06:38
Bydlisko: Trnava

Re: sleep mode

Príspevok od používateľa kako » 08 Feb 2015, 16:36

V pravej dierke to nerobi vobec nic :) merak bude zly :)
0
ho

xpert
Stály člen
Stály člen
Príspevky: 112
Dátum registrácie: 28 Dec 2014, 01:24
Bydlisko: okres NZ

Re: sleep mode

Príspevok od používateľa xpert » 08 Feb 2015, 16:38

ja by som skusil vymenit poistku (FUSE) :)
Ci je bezpecne prepinat rozsahy pri merani neviem. Viem len ze ked som ja meral sleep mode, tak som tiez skusal prepinat rozsahy. Pri prepinani sa prerusoval obvod.
0

Používateľov profilový obrázok
dxr
Ultimate člen
Ultimate člen
Príspevky: 3968
Dátum registrácie: 05 Aug 2013, 20:21
Bydlisko: V strede nicoho
Kontaktovať používateľa:

Re: sleep mode

Príspevok od používateľa dxr » 08 Feb 2015, 16:44

kako napísal:V pravej dierke to nerobi vobec nic :) merak bude zly :)
Obrázok

xpert> si mu to mal napisat ze poistku v meraku lebo FUSES v AVRku bude dalsi problem :)

kako>Predtym ako pojdes merat spotrebu si ten merak otestuj na nejakom jednoduchom zapojeni
kde si vies vypocitat priblizny prud ( napr odpor ) a meraj ci to sedi... az potom sa babri stym spinanym
procakom inak budes vidiet vsetko mozne len nie to co treba.
0
Naposledy upravil/-a dxr v 08 Feb 2015, 16:53, upravené celkom 2 krát.
Mahátma Ghándí: „Nejdřív tě budou ignorovat. Pak se ti budou smát. Pak proti tobě budou bojovat. Potom zvítězíš.“
čo viac dodať som taký a možeš to skúsiť vyhrať aj tak to vzdáš.. Obrázok
Arduino is popular becouse allow complex task with minimum investment

kako
Stály člen
Stály člen
Príspevky: 307
Dátum registrácie: 07 Mar 2014, 06:38
Bydlisko: Trnava

Re: sleep mode

Príspevok od používateľa kako » 08 Feb 2015, 16:46

bola vypalena poistka :D

Pri rozsahu 20m ukazuje 00.6 potom vybehne na 32.1
0
ho

kako
Stály člen
Stály člen
Príspevky: 307
Dátum registrácie: 07 Mar 2014, 06:38
Bydlisko: Trnava

Re: sleep mode

Príspevok od používateľa kako » 10 Feb 2015, 16:17

takto som pomeral:

U - 5V:
f - 8Mhz

sleep - 0,2uA

sleep + ds18b20 - 4,5uA

sleep + ds18b20 + watchdog -12uA

sleep + ds18b20 + watchdog + modul - 480uA

atmega + ds18b20 + modul - 8mA

atmega + ds18b20 + watchdog + modul + vysielanie dát - 95mA

chcelo by to lepsi merák lebo tomuto neverim :)
0
ho

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: sleep mode

Príspevok od používateľa peterple » 10 Feb 2015, 18:49

prečo? vyzerá to pomerne realisticky. Lepšie než o príspevok vyššie. Prečo si neposlúchol čo ti radil dxr. Vezmi odpor pripoj na napätie, vypočítaj prúd a porovnaj s tým čo nameriaš. A máš jasno.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Napísať odpoveď