Bygga batteridriven RF-fjärr, hur minska strömförbrukningen?

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
gokartnisse
Inlägg: 120
Blev medlem: 3 mars 2011, 01:58:43

Bygga batteridriven RF-fjärr, hur minska strömförbrukningen?

Inlägg av gokartnisse »

Jag tänkte bygga en Fjärrkontroll baserad på en PIC 16F886 (har sådana hemma) som ska kommunicera med en annan PIC 16F886 via RF (alltsammans kommer vara i samma rum så räckvidden är inget stort problem) jag vill gärna undvika IR då jag redan har RF modulerna.
Den stora frågan blir då hur minskar man strömförbrukningen och därmed förlänger batteritiden. Ganska uppenbart blir ju då att låta så få komponenter (om ens några) vara aktiva när ingen knapp/brytares status har förändrats sen senaste sändningen.

Jag hade även tänkt ha ett par rattar på fjärren (typ potentiometer) och dessutom är dem brytare (vipparmsbrytare) jag tänkt använda inte återfjäderande så då försvinner möjligheten med hjälp av varje brytare driva PIC och RF modul. Om man inte använder den tråkiga lösningen att ha en ytterligare en brytare som aktiverar fjärrkontrollen när man använder den och sen får man själv stänga av. Men då får jag inte lära mig något mycket heller vilket jag hade tänkt att jag skulle göra! :D

En annan lösning jag har funderat på men inte vet hur jag ska lösa är att ha en liten metallpendel sluter mot en metallring så fort man petar på kontrollen men jag har inte riktigt kommit underfull med hur jag ska kunna använda de små, nästan kontaktstuds liknade signalerna.
En 555 som en monostabil vippa som återtriggas av min PIC tills all information är överförd? Fast hur stoppar jag strömförbrukningen i den 7805 jag tänkte använda från 9 volts batteriet? (ska man rent ut av skrota iden med 9 volts batteri och en 7805??) :?

Eller finns det nån tyristor som slår av vid strömmar runt 10 mA? Isåfall skulle man väl kunna ha pendeln som triggar tyristorn och sen när man är klar med överföringen så låter man PIC går ner i sleep och således drar nästan bara 7805 kretsen och strömmen blir tillräckligt låg för att tyristorn ska döda alltsammans. Eller tänker jag fel? Kanske dumt att slå av strömmen till en PIC i SLEEP och sen hoppas att den startar som den ska? :humm:

Eller finns det nån annan bra lösning? Hur brukar man lösa liknande problem? Som den nybörjare jag är har jag dåligt med koll. Med tanke hur mycket kunskap folket som hänger här har är jag övertygad om att någon sitter på en grymt bra lösning! :D
Användarvisningsbild
Icecap
Inlägg: 26793
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av Icecap »

1: Låt PIC'en styra RF-modulen. Om det finns en power-down ingång på det är det självklart hur man använder det. Annars kopplar man in en transistor som slår av/på strömmen.
2: Skrota 7805! Om radiomodulen kräver 5V får man antingen skapa det med en uppstegning av en låg spänning eller reglera ner en högre spännning. Det finns regulatorer med samma funktion som 7805 men som förbrukar avsevärd mindre ström.
3: Välj den lägsta spänning allt fungerar på! Är det 3,3V kan 3 st 1,5V batterier + en LDO vara grejen.
4: Låt processorn sköta all hantering! Knappar, ratt osv. matas in på lämplig ingång och sedan låter du PIC'en styra om det är en ändring som ska sändas eller inte.
5: Låt PIC'en köra på intern klocka, då kan man enkelt lägga den i sleep-mode med väckning kanske 5 gg/sekunden. När den vaknar kollar den ingångar o beslutar om det ska sändas något. Ska det sändas utförs det och den somnar om, annars somnar den bara om snabbt o effektivt.
6: Designa alla kontroller så att PIC'en kan stänga av dom! Har du t.ex. ett pot där man kan välja 0-100% kan du bryta strömmen till det när du inte kollar det! Såna saker sparar ström!
gokartnisse
Inlägg: 120
Blev medlem: 3 mars 2011, 01:58:43

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av gokartnisse »

Grymt bra info, precis sånt här jag behöver veta! :)
Radiomodulen klarar (ska klara) matningspänning från 3 volt så det kanske räcker med 2 AA? Annars lyckades jag gräva fram 2 Li-ion batterier (märkta 3,7 volt 1090 mAh) samt laddare från en gammal död digitalkamera, frågan är bara om de batterierna fortfarande lever. :humm: Dem borde väl funka annars? Jag vet inte hur mycket spänningen sjunker beroende på hur väl laddade dem är, hur ligger Li-ion till mot andra batterier? :)

2: Apropå det där med spänningsregulator, nåt exempel på en regulator som inte drar så mycket som en 7805? Vet inte riktigt vad jag ska titta efter.

5: Ingen ide att ha nån form av vippa eller liknade krets med 555 som triggas av en liten kontakt (metallpendel inuti metallring) när man petar till fjärren (alltså rör något reglage). Annars så är ALL ström av. Känns ju liksom det borde vara bättre ur förbrukningssynvinkel än att toggla 5 gånger i sekunden, då kontrollen ofta ligger timtal utan att man rör något. Tänker att den kretsen ska funka lite som ett självhållande relä som man sen slår av via PIC:en när den allt är skickat och klart. En tyristor känns som en möjlig lösning men då gäller det att strömmen blir tillräckligt låg så att den slutar leda.
Eller är jag helt ute och cyklar här? :humm:
Användarvisningsbild
Icecap
Inlägg: 26793
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av Icecap »

Glöm den thyristor! Dels finns det mycket bättre kopplingar och dels är det väl inte en rörelsessensor men en fjärrkontroll du ska bygga?

Det är så mycket enklare i mjukvaran att övervaka saker och gör man det rätt kan man spara väldigt på strömmen.

Beroende på hur många knappar som finns kan man koppla dom till ingångar som ger en interrupt vid ändring. Detta betyder att mikroprocessorn (µC) kan vila helt eller bara vakna med "långa" intervall men att den reagerar direkt vid knapptryckning.

Men att låta den vakna 10gg/sekunden betyder att den vaknar till, kollar de analoga ingångar, kollar de digitala ingångar, jämför med de förra värden och beslutar om det ska sändas något eller inte varefter den går i power-down igen. När fjärrisen "bara ligger" kommer detta koll att ta mycket kort tid, kanske runt 100µs vilket då ger en duty-cycle runt 0,1%. Detta betyder att hela enheten i 99,9% av tiden drar ström i storleken några µA och i 0,1% av tiden drar kanske ett par mA, alltså totalt ett strömförbruk på runt 15µA i snitt (mycket ungefär).

Tar man då ett par helt vanliga AA batterier och låtsas att de har 2Ah kommer hela grejen att klarar sig 133.000 timmar eller 5.555 dagar eller 15 år... då i standby. Skulle du alltså byta batterier en gång per år är det väl till att leva med eller hur? Glömmar du det ett par år klarar du dig nog ändå. Laddningsbara hinner oftast att ladda ut sig själva på den tiden.

Om du t.ex. tar 3 st AA-batterier får du runt 4,5V som sjunker ner till 3V när de är helt slut. PIC'en klarar sannolikt att köra ner till 2,5V eller så (kolla databladet) och om radiomodulen klarar dessa spänningar behövs ingen regulator alls! Men om du vill hitta en LDO är det bara att kolla på t.ex. ELFA och kolla databladen efter minsta spänningsskillnaden mellan in och ut samt strömförbrukningen.
gokartnisse
Inlägg: 120
Blev medlem: 3 mars 2011, 01:58:43

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av gokartnisse »

Okej då glömmer vi regulatorer helt och hållet, RF kretsen klarar 3-12 volt så den blir inget problem. PIC:en (16F886) klarar ner till 2 så det gäller bara att hålla sig över 3 volt (spänningsfall i transistorn som kommer driva RF modulen? pratar vi i häradet enstaka volt eller kanske mV?). :humm:

Sen bort med alla kretsar/tysristorer som styr på och av med ström utan jag satsar på Sleep för att hålla ner förbrukningen. :D
Gäller bara att ha något bra sätt att väcka PIC:en då.

Interrupt on change skulle vara en möjlig variant för brytarna men det kräver väl att jag har pull-up eller pull-down motstånd "aktiva" alltså ledande minst ett av dem två statusfallen på brytarna (jag vill ha bistabila vippbrytare), 4,5 volt och 10kΩ ger 0,45 mA per brytare. 6 st vippbrytare kan då som mest dra nästan 2 mA konstant oavsett om någon har pillat på reglagen eller ej. :(
Sen kommer den stora frågan hur man löser potentiometrarna för rattarna. Kanske om man kan få tag på potar som har en brytare som aktiverar när man drar dem utåt. Men det är ju att förstöra lite av del fräcka med kontrollen om man måste lyfta på dem varje gång man ska justera färg.

Däremot om man kunde ha nån extern sak som väcker PIC:en ur Sleep t.ex. via den externa interrupt-pinnen (om man nu inte låter hela fjärren toggla ca 5 gånger i sekunden oavsett). T.ex. en rörelsesensor som reagerar på att någon pillar på fjärren :wink: (en liten metallpendel skulle ju dra 0 A om man inte rör fjärren). Gäller bara att den lilla puls man får är längre än de 25 ns som krävs för INT-pinnen och att PIC:en inte får frispel om man togglar INT-pinnen en massa gånger efter varandra. :?:

Tack för all hjälp såhär långt, jag lär mig grymt mycket! :D
Användarvisningsbild
Icecap
Inlägg: 26793
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av Icecap »

Om du ska ha bistabila brytare tar du omkppplare! Till ena sidan kopplar du GND och till andra sidan kopplar du VDD och mitten skickar du till en processorpinne. Då har du tydliga nivåer och ingen strömförbrukning.

Potentiometerna är lika enkla:
Ena sidan till GND, andra till en processorpinne som utgång, mitten till en analog ingång. När du ska mäta skickar du ut en '1' till utgången, väntar en mycket kort stund, startar AD-omvandlaren och när det är klart skickar du en '0' till utgången, då slutar potentiometern att dra ström. Upprepa för varje potentiometer.

Och jag fattar inte din rörelsessensor, vad ska du med den till? Låt processorn vakna 10 gg/timmen istället, det räcker per erfarenhet rikligt till att man inte kan "knappa förbi" med tangentbordsbrytare och har du vippbrytare och potentiometer är 5gg/sekund synnerligt rikligt.

Med 5gg/sekunden och 2 st AA-batterier borde du få runt 5 års standby-tid och sannolikt 1 års praktisk användning-tid. Räcker det inte?
gokartnisse
Inlägg: 120
Blev medlem: 3 mars 2011, 01:58:43

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av gokartnisse »

Det räcker gott och väl med ett års användning! Grejen var bara att det kunde vara kul att göra en udda lösning för att pressa förbrukningen lite till (egentligen onödigt) och för då slipper jag pilla med 2 olika interna klockor i programmeringen (använder MikroC och kommer INTE lära mig assembler än på ett tag). :!:

Dessutom så är dem brytare jag tänkte använda inte omkopplare utan just bara brytare. :( Kan man visserligen lösa jättelätt om man väcker processorn 5 gg/sek och låter processorn driva pull-up/pull-down motstånden via en pinne. Visserligen måste man då ladda/ladda ur de interna kondensatorerna varje gång (bara i brytarnas ena läge) men det borde väl vara försumbart i sammanhanget?

Rörelsedetektorn skulle ju egentligen inte tillföra så mycket men det skulle vara en kul grej (framför allt udda) och jag slipper pilla med den andra interna klockan. Samtidigt som jag kanske kan minska förbrukningen lite lite grann (visserligen finns det andra grejer som skulle minska mer, men bara för att) Så därför undrade jag om de kunde vara en möjlig lösning. :D
Användarvisningsbild
Icecap
Inlägg: 26793
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av Icecap »

Vad har det hela med att byta klocka att göra?

Först o främst kan du göra allt i båda C och ASM, det är ingen skillnad där om du undviker att använda de "smarta" funktioner MikroC erbjuder.

Nu har jag inte lusläst databladet men har för mig att man kan stoppa processorn men låta hårdvaran ticka på. Då ställer man en timer till rätt hastighet och så får den sköta uppvaknandet.
gokartnisse
Inlägg: 120
Blev medlem: 3 mars 2011, 01:58:43

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av gokartnisse »

Finns 2 interna klockor, den ena går även om man går ner i Sleep den andra stannar men klarar å andra sådan normala drifthastigheter. :D

MikroC interna funktioner kommer jag nog tyvärr få använda när det gäller själva skickande av infomation (manchester bibloteket) annars så ska jag undvika dem så mycket som möjligt, dem funkar säkert, om solen skiner... :lol:

Är pendeln en möjlig lösning? Eller är det hopplöst att få en puls på minst 25 ns och hur ligger det till om man pulsar massor på interrupt-pinnen (trots att flaggan redan är satt redan efter första positiva flanken) kommer PIC:en balla ut? :humm:
Sonar
Inlägg: 125
Blev medlem: 17 december 2006, 22:07:38
Ort: Luleå

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av Sonar »

Om du behöver maximalt LÅG strömförbrukning så är det mycket riktigt en massa att tänka på, precis som påpekat.

De trix jag brukar använda mig utav är bl.a de som åxå Icecap skriver om, dessutom skall man komma ihåg att en PIC processor har ganska bra drivförmåga på sina portar (20-25mA) och kan ofta direkt ge "drivström" till andra enheter typ RF steg o.s.v. , då kan man mycket enkelt slå av dessa när man inte behöver dom.

Dessutom kan man använda en port-pinne som "switchbar" pullup och bara "slå på" pullup'en när man skall kolla porten.
Man bör dessutom se till att alla portar i processorn som INTE används och ej är anslutna till något, görs (TRIS) till utgångar som man antingen sätter 1 eller 0.
Vidare så kan aktiverade "watchdog" och "brown-out" funktioner göra så att mera ström förbrukas.
En annan sak som inverkar är ju klockfrekvensen i processorn, den skall man försöka hålla så låg som möjligt.

Det är några av punkter, utöver tidigare nämnda, jag iaf. brukar titta på när jag designar "låg energi" lösningar.

Jag har med bl.a dessa metoder konstruerat små sändare utrustade med en PIC och ett CR2430 batteri.
Dessa enheter har en beräknad tid mellan batteribyten på ca. 3 år.
gokartnisse
Inlägg: 120
Blev medlem: 3 mars 2011, 01:58:43

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av gokartnisse »

I databladet för den sändarmodul jag tänkte använda står det "Peak Input Current", @12 Vdc supply MAX 45 mA. Om jag inte minns så enligt PIC:en datablad står det max 25 mA per pinne och max 90 mA för alla portar. Det innebär väl att jag måste driva den via en transistor? :tumner: Eller blir toppströmmen mindre när man kör på lägre spänning (för bibehållen effekt krävs ju högre ström men jag tvekar på att Velleman har fixat de, framför allt eftersom det står att högre matningsspänning ger bättre räckvidd). Om resistansen är "konstant" (linjärt mot matningsspänningen) borde ju strömmen gå under de maximala för portpinnen. 45mA/12V*4,5V alltså lite knappt 17 mA. Eller tänker jag fel?
Jag är verkligen nybörjare vad gäller elektronik så har inte så bra koll! Allt jag kan har jag läst på nätet och lärt mig under 2 100 poängkurser (ellära och elektronik) på gymnasiet (och lite c++ programmering).

EDIT: 2 pinnar borde väl kunna ge man 50 mA eller? :doh:
Användarvisningsbild
Icecap
Inlägg: 26793
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av Icecap »

Du lägger i en liten ytmonterat P-MOSFET som driver radiomodulens strömförsörjning. Alternativt kopplar du ihop 2 portpinnar så att de driver gemensamt, dock måste du vara mycket noga med att de sitter på samma port så att du med ett kommando kan slå på dom båda samtidig!

Det känns som att du vill göra allt så besvärligt som möjligt när det hela egentligen är ganska enkelt.
gokartnisse
Inlägg: 120
Blev medlem: 3 mars 2011, 01:58:43

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av gokartnisse »

2 pinnar blir det då, mindre komponenter att införskaffa och mindre av mina lödningar som kan ställa till problem. :wink:

Grejen är den att göre en sån liten metallpendel tar mig kanske 5-10 min i garaget och med dem grejerna jag har där, men att läsa in sig på hur den "långsamma" interna klockan (den som inte stannar i Sleep) fungerar och programmera så det funkar kommer förmodligen ta ett antal timmar. Dessutom har jag använt den externa interrupt pinnen ett par gånger så kan bara jämföra med den koden som funkar för att hitta fel. :)
Samt att det är en udda lösning (är lite svag för sånt). :lol:
Därför undrar jag om den är en möjlighet utan massa komponenter runt omkring sig för att ta bort "kontakt"studs eller om PIC:en ballar ur med massa pulser på pinnen (trots att flaggan borde bli satt på första flanken), därmed inte sagt att det är den bästa lösningen eller att jag ens kommer använda den.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av PHermansson »

Ja det är ju inte alltid man vill göra det så enkelt för sig möjligt. Coola detaljer ska inte underskattas, inte heller tillfredsställelsen av kluriga lösningar.
Jag har ett minne av en fjärrkontroll man kan köpa som funkar på liknande sätt. Tror det sitter en accelerationssensor i den som tänder bakgrundsbelysning mm när man lyfter den från bordet.
Användarvisningsbild
Icecap
Inlägg: 26793
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Bygga batteridriven RF-fjärr, hur minska strömförbruknin

Inlägg av Icecap »

Jag förstår grejen med vibrationssensorn men jag har ofta fjärrisen liggande på ett bord och trycker då på knapparna utan att skaka runt den. Och att den flyttas betyder inte heller att det finns nya data att skicka så vibrationerna är helt utan värde om inte själva grejen är att en skakning har en specifik funktion som ska sändas.

Om det är vippbrytare + potentiometer räcker det fullt o helt att bara läsa av dom och kolla om det ska sändas nya data eller inte med regelbundna mellanrum, alla skakningar osv. är utan betydelse.

I essens kan man väl säga att man kan välja mellan att skruva upp/ner eller skruva upp/ner och skaka fjärrisen för att ändringen ska sändas.
Jag hade vald att ändringar bara skickas utan att jag måste skaka skiten men det kan ju vara jag som är lite knasig...
Skriv svar