05-22-2015, 08:02 AM
Kada vec govorimo o baterijskim napajanjima, hteo bih da podelim sa vama semu kako ja ukljucujem i iskljucujem uredjaje.
Vec dosta dugo ne koristim prekidace za ukljucivanje/iskljucivanje uredjaja, nego koristim taster.
Na semi moze da se vidi ideja. Princip rada je sledeci:
LDO regulator koji treba da obezbedi napajanje MCU-u (u mom slucaju to je bio neki BT modul, samo sam kopirao deo seme) je inicijalno iskljucen (EN pin regulatora je preko R1 otpornika spojen na GND). Kada se pritisne taster T1 tada se ukljuci PNP tranzistor Q1, koji pravi pad napona na otporniku R1, cime je sada EN ulaz na visokom nivou i LDO se ukljucuje. Kada se LDO ukljuci on daje napajanje MCU-u. Posle power-up timer-a prvo u inicijalizaciji kontrolera pustim jos neko vreme (reda 1s) da bih izbegao lazna ukljucivanja uredjaja. Kada istekne ovo vreme, konfigurisu se portovi. Na mojoj semi su oznaceni netovi ON/OFF (izlaz iz MCU) i CPU_ON/OFF (ulaz u MCU). Onda postavljam na logicku '1' izlaz ON/OFF, cime drzim stalno ukljucen LDO. Taster moze da se pusti i MCU nastavlja da radi, posto on preko svog izlaza drzi ukljucenim LDO. Bitna stvar je da se na ulazu ON/OFF postavi interni pull-up ili da se doda spolja. Preko ovog ulaza vrsim detekciju pritisnutog tastera T1. Ovako T1 mogu da koristim za vise stvari, npr. ako je taster pritisnut duze od 2s, onda iskljucujem uredjaj tako sto postavljam '0' na izlaz ON/OFF. Ako hocu da koristim T1 kao neku potvrdu, onda detektujem kraca vremena itd.
Nadam se da ce ovo biti korisno nekome, a i interesuju me komentari i sugestije za ovaj nacin. Mozda neko vidi elegantnije resenje koje ja nisam video. Inace ovo sam napravio pre 10 godina i radi bas fino. Posle toga je na ostalim uredjajima bilo samo copy-pase.
Takodje na jednom uredjaju koji ima BT u sebi i kome je osnovna namena BT komunikacija iskoristio istu foru, ali be tastera. BT modul sam konfigurisao da radu u ultra power-down modu, pri cemu je njegova potrosnja u tom modu 400uA, je se on budi na svake 2s da skenira mrezu i vidi da li neko hoce da se poveze na njega. Kada se neko poveze na njega, on postavlja jedan izlaz (CONNECTED) na '1' i on tako ukljucije LDO. Kada se raskine konekcija, CONNECT je na '0'. Na ovaj nacin sam dobio ultra minijaturan uredjaj koji nema na sebi nikakav taster/prekidac. Kompletno upralvjanje uredjajem se vrsi iskljucivo preko BT-a.
Pozz,
Vojce
Vec dosta dugo ne koristim prekidace za ukljucivanje/iskljucivanje uredjaja, nego koristim taster.
Na semi moze da se vidi ideja. Princip rada je sledeci:
LDO regulator koji treba da obezbedi napajanje MCU-u (u mom slucaju to je bio neki BT modul, samo sam kopirao deo seme) je inicijalno iskljucen (EN pin regulatora je preko R1 otpornika spojen na GND). Kada se pritisne taster T1 tada se ukljuci PNP tranzistor Q1, koji pravi pad napona na otporniku R1, cime je sada EN ulaz na visokom nivou i LDO se ukljucuje. Kada se LDO ukljuci on daje napajanje MCU-u. Posle power-up timer-a prvo u inicijalizaciji kontrolera pustim jos neko vreme (reda 1s) da bih izbegao lazna ukljucivanja uredjaja. Kada istekne ovo vreme, konfigurisu se portovi. Na mojoj semi su oznaceni netovi ON/OFF (izlaz iz MCU) i CPU_ON/OFF (ulaz u MCU). Onda postavljam na logicku '1' izlaz ON/OFF, cime drzim stalno ukljucen LDO. Taster moze da se pusti i MCU nastavlja da radi, posto on preko svog izlaza drzi ukljucenim LDO. Bitna stvar je da se na ulazu ON/OFF postavi interni pull-up ili da se doda spolja. Preko ovog ulaza vrsim detekciju pritisnutog tastera T1. Ovako T1 mogu da koristim za vise stvari, npr. ako je taster pritisnut duze od 2s, onda iskljucujem uredjaj tako sto postavljam '0' na izlaz ON/OFF. Ako hocu da koristim T1 kao neku potvrdu, onda detektujem kraca vremena itd.
Nadam se da ce ovo biti korisno nekome, a i interesuju me komentari i sugestije za ovaj nacin. Mozda neko vidi elegantnije resenje koje ja nisam video. Inace ovo sam napravio pre 10 godina i radi bas fino. Posle toga je na ostalim uredjajima bilo samo copy-pase.
Takodje na jednom uredjaju koji ima BT u sebi i kome je osnovna namena BT komunikacija iskoristio istu foru, ali be tastera. BT modul sam konfigurisao da radu u ultra power-down modu, pri cemu je njegova potrosnja u tom modu 400uA, je se on budi na svake 2s da skenira mrezu i vidi da li neko hoce da se poveze na njega. Kada se neko poveze na njega, on postavlja jedan izlaz (CONNECTED) na '1' i on tako ukljucije LDO. Kada se raskine konekcija, CONNECT je na '0'. Na ovaj nacin sam dobio ultra minijaturan uredjaj koji nema na sebi nikakav taster/prekidac. Kompletno upralvjanje uredjajem se vrsi iskljucivo preko BT-a.
Pozz,
Vojce