RTV forum PL | NewsGroups PL

Automatyczne wyłączanie i włączanie Arduino z Atmegą - jak to zrealizować bez przycisków?

Samokontrola zasilania - Arduino

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Automatyczne wyłączanie i włączanie Arduino z Atmegą - jak to zrealizować bez przycisków?

slawek
Guest

Thu May 18, 2017 7:49 am   



Ustrojstwo ma być zasilane z akumulatora i pozbawione przycisków.
Przy zbyt niskim napięciu ma być off. A po naładowaniu ma być on. Aż
do rozładowania. Czy Atmega jest dość inteligentna aby sama się
wyłączyć kiedy trzeba i czy nie będzie próbowała na siłę wybudzać
(resetować) się przedwcześnie?

Tzn. czy nie włączy się na brązowo i potem będzie dziwnie, bez szans
na zwykły reset?

TIA

Janusz
Guest

Thu May 18, 2017 6:41 pm   



W dniu 2017-05-18 o 09:49, slawek pisze:
Quote:
Ustrojstwo ma być zasilane z akumulatora i pozbawione przycisków. Przy
zbyt niskim napięciu ma być off. A po naładowaniu ma być on. Aż do
rozładowania. Czy Atmega jest dość inteligentna aby sama się wyłączyć
kiedy trzeba i czy nie będzie próbowała na siłę wybudzać (resetować) się
przedwcześnie?

Tzn. czy nie włączy się na brązowo i potem będzie dziwnie, bez szans na
zwykły reset?
AtMega ma wszystko co trzeba, dużo zależy od programu jaki się napisze

no i fuse bity jak ustawi.

--
Pozdr
Janusz

slawek
Guest

Thu May 18, 2017 8:20 pm   



On Thu, 18 May 2017 20:41:22 +0200, Janusz <janusz_kk@o2.pl> wrote:
Quote:
AtMega ma wszystko co trzeba, dużo zależy od programu jaki się
napisze
no i fuse bity jak ustawi.

Ok, sprawdziłem:

1. Przy za niskim Vcc robi wysoką impedancję i stan resetu (z którego
jak rozumiem nie wychodzi aż do przywrócenia zasilania).

2. Jest sztuczka - pomiar Vref przy Vcc jako wzorcu - na kontrolę
napięcia Vcc. Bez czegokolwiek (dzienniki, diody, FET) na zewnątrz.
Cool.

3. Tanie chińskie załaduje Li-pol. Jak bateryjka całkiem rozładuje
się to CPU stanie. To oczekiwane. Jak się załaduje: ruszy. Przy
okazji błyskając diodami, resetując co trzeba itd.

4. Pozostaje problem jak zmusić jeden konkretny pin do tego aby był
akurat Hi w czasie resetu. Tzn. aby układ siedzący na SPI nie myślał
że jest wybrany przez CS kiedy akurat SPI służy do ISP. Wychodzi na
to że dać 1M do +V na sztywno. Pociągnie to, a normalnie nie będzie
przeszkadzać. Te parę uA nie powinny być dramatyczne dla bateryjki.

5. Przez bootloader nie da się ustawić fuse bitów. Stąd konieczność
dogadania się przez SPI.

6. Teoretycznie może powstać zombie: Atmega będzie off, a
współpracujące układy nadal on. Nie widzę jak Atmega mogłaby w
warunkach bycia off podjąć działania dla zrobienie off innym. Takie
coś da się zrobić choćby przez CS każdego układu: dać opór 1M do Vcc
ew. Gnd.

ToMasz
Guest

Fri May 19, 2017 6:55 am   



Quote:
6. Teoretycznie może powstać zombie: Atmega będzie off, a współpracujące
układy nadal on. Nie widzę jak Atmega mogłaby w warunkach bycia off
podjąć działania dla zrobienie off innym. Takie coś da się zrobić choćby
przez CS każdego układu: dać opór 1M do Vcc ew. Gnd.
moja wiedza na temat arduino jest bardzo podstawowa. ale na zdrowy

rozum, układ który nie działa, nie bardzo może sterować czymkolwiek,
albo decydować o tym czy się załączy czy nie. to musisz rozwiązać
zewnętrznie. I jak się nad tym zastanowić to jest to stosunkowo proste.
Niech owa atmega podczas pracy "trzyma" przekaźnik w górze. jak
przekaźnik klapnie na "dół", wszelkie dodatkowe układy dowiedzą się że
przestała działać

ToMasz

PS. oczywiście bez przekażnika też się da, ale tak jest bardzeij obrazowo

slawek
Guest

Fri May 19, 2017 4:38 pm   



On Fri, 19 May 2017 08:55:43 +0200, ToMasz <Nieczytam@orange.pl>
wrote:
Quote:
Niech owa atmega podczas pracy "trzyma" przekaźnik w górze. jak
przekaźnik klapnie na "dół", wszelkie dodatkowe układy dowiedzą się
że
przestała działać

Przekaźnik odpada: za prądożerny. Można pokombinować FET ami.

To będą sensory, ich (niepotrzebna) praca nie ma znaczenia w
warunkach wejścia Atmegi w reset przy zbyt niskim napięciu zasilania.
Fakt że nadal będą rozładować baterię jest do zaakceptowania.

Inaczej przy sleep/hibernacji. Piny out zachowują swój stan. Więc
można wyłączyć zasilanie (zewnętrznych) obwodów. Czy to poprzez
odpowiednie wejścia (rozmaite enable itp.), czy też przez ekstra FET
sterujący ich zasilaniem.

Ogólnie chodzi o to, aby urządzenie nie musiało mieć ani przycisku
power, ani przycisku reset. A jedyną rzeczą jaką robi użytkownik było
ładowanie.

Czyli uniknięcie sytuacji gdy bateria rozładowuje się choć urządzenie
nie było używane, a więc przeszło w stan uśpienia.

Adam Wysocki
Guest

Fri May 19, 2017 6:51 pm   



slawek <fake@fakeemail.com> wrote:

Quote:
Czyli uniknięcie sytuacji gdy bateria rozładowuje się choć urządzenie
nie było używane, a więc przeszło w stan uśpienia.

ATmega w power down (bez zegara) sama z siebie nie wstanie, cos musi ja
wybudzic.

--
[ Email: a@b a=grp b=chmurka.net ]
[ Web: http://www.chmurka.net/ ]

Wysłano z telefonu bez polskiej klawiatury, przepraszam za brak polskich znaków

slawek
Guest

Fri May 19, 2017 8:10 pm   



On Fri, 19 May 2017 16:51:25 +0000 (UTC), gof@somewhere.invalid (Adam
Wysocki) wrote:
Quote:
ATmega w power down (bez zegara) sama z siebie nie wstanie, cos
musi ja
wybudzic.

Że co?

Jakoś goła Atmega, bez kwarcu nawet, startuje mi po zwykłym
podłączeniu do baterii. Ale fakt: robi to gdy Vcc rośnie od zera.

Janusz
Guest

Fri May 19, 2017 8:23 pm   



W dniu 2017-05-18 o 22:20, slawek pisze:
Quote:
On Thu, 18 May 2017 20:41:22 +0200, Janusz <janusz_kk@o2.pl> wrote:
AtMega ma wszystko co trzeba, dużo zależy od programu jaki się
napisze
no i fuse bity jak ustawi.

Ok, sprawdziłem:
Słabo, wez pdf-a od np atmegi 48 i poczytaj,

po 1, możesz mierzyć nap baterii bezpośrednio przez prosty dzielnik na
dwóch oporach w stosunku do Vref= około 1,1V
Quote:

1. Przy za niskim Vcc robi wysoką impedancję i stan resetu (z którego
jak rozumiem nie wychodzi aż do przywrócenia zasilania).
Mierząc nap możesz wyłączyć czujniki i procka wcześniej uśpić, a timerem

lub WD budzić co np 1 sek i sprawdzać czy już nap rośnie.

Quote:

2. Jest sztuczka - pomiar Vref przy Vcc jako wzorcu - na kontrolę
napięcia Vcc. Bez czegokolwiek (dzienniki, diody, FET) na zewnątrz. Cool.
Mozna i tak.


Quote:

3. Tanie chińskie załaduje Li-pol. Jak bateryjka całkiem rozładuje się
to CPU stanie. To oczekiwane. Jak się załaduje: ruszy. Przy okazji
błyskając diodami, resetując co trzeba itd.
Procek ma jeszcze brown-out detection który zrobi Ci reset przy zbyt

niskim zasilaniu.

Quote:

4. Pozostaje problem jak zmusić jeden konkretny pin do tego aby był
akurat Hi w czasie resetu. Tzn. aby układ siedzący na SPI nie myślał że
jest wybrany przez CS kiedy akurat SPI służy do ISP. Wychodzi na to że
dać 1M do +V na sztywno. Pociągnie to, a normalnie nie będzie
przeszkadzać. Te parę uA nie powinny być dramatyczne dla bateryjki.
Ok


Quote:

5. Przez bootloader nie da się ustawić fuse bitów. Stąd konieczność
dogadania się przez SPI.
Fusy się ustawia raz przy programowaniu procka.



Quote:
6. Teoretycznie może powstać zombie: Atmega będzie off, a współpracujące
układy nadal on. Nie widzę jak Atmega mogłaby w warunkach bycia off
podjąć działania dla zrobienie off innym. Takie coś da się zrobić choćby
przez CS każdego układu: dać opór 1M do Vcc ew. Gnd.
Atmega 48V chodzi już od 1,8V na 4Mhz zegarze, więc pójdzie Ci na

całkiem padniętym li-onie z palcem w D4 :)


--
Pozdr
Janusz

Grzegorz Niemirowski
Guest

Fri May 19, 2017 8:40 pm   



slawek <fake@fakeemail.com> napisał(a):
Quote:
Że co?
Jakoś goła Atmega, bez kwarcu nawet, startuje mi po zwykłym podłączeniu do
baterii. Ale fakt: robi to gdy Vcc rośnie od zera.

Power down w sensie uśpienia a nie odłączenia zasilania.

--
Grzegorz Niemirowski
http://www.grzegorz.net/

slawek
Guest

Fri May 19, 2017 9:21 pm   



On Fri, 19 May 2017 22:23:09 +0200, Janusz <janusz_kk@o2.pl> wrote:
Quote:
Procek ma jeszcze brown-out detection który zrobi Ci reset przy
zbyt
niskim zasilaniu.

Ściślej: wprowadzi w stan resetu z którego wyjście nastąpi gdy
napięcie będzie w normie.

Pcimol
Guest

Sat May 20, 2017 1:30 pm   



On 2017-05-19 18:38, slawek wrote:
Quote:
On Fri, 19 May 2017 08:55:43 +0200, ToMasz <Nieczytam@orange.pl> wrote:
Niech owa atmega podczas pracy "trzyma" przekaźnik w górze. jak
przekaźnik klapnie na "dół", wszelkie dodatkowe układy dowiedzą się
że
przestała działać

Przekaźnik odpada: za prądożerny. Można pokombinować FET ami.

Istnieją przekaźniki bistabilne. (Np. DS2E-SL2-DC5V) Jeśli nie będzie
klepany co chwilę trudno mu zarzucić prądożerność.

sundayman
Guest

Sat May 20, 2017 8:59 pm   



Ja bym zrobił jakiś prosty układ, który odcina zasilanie procesora
poniżej określonego (zbliżonego do minimum poprawnego działania)
zasilania. Najlepiej z małą histerezą, żeby uniknąć niestabilności.

Oczywiście sam mcu też musi mieć brownout włączony. Wtedy ryzyko, że coś
pójdzie nie tak będzie minimalne.

jacek pozniak
Guest

Sun May 21, 2017 3:34 pm   



slawek wrote:

Quote:
Ustrojstwo ma być zasilane z akumulatora i pozbawione przycisków.
Przy zbyt niskim napięciu ma być off. A po naładowaniu ma być on. Aż
do rozładowania. Czy Atmega jest dość inteligentna aby sama się
wyłączyć kiedy trzeba i czy nie będzie próbowała na siłę wybudzać
(resetować) się przedwcześnie?

Tzn. czy nie włączy się na brązowo i potem będzie dziwnie, bez szans
na zwykły reset?

TIA
Zasil ten procesor z baterii litowej aby cały czas był na chodzie,

niezależnie od akumulatora, oczywiście ze średnim poborem prądu np. 10uA.
Po ponad 12 latach wymieniasz baterię, ale przez ten czas masz pewność, że
nie wejdzie w jakieś stany nieustalone.

jp

elektroda NewsGroups Forum Index - Elektronika Polska - Automatyczne wyłączanie i włączanie Arduino z Atmegą - jak to zrealizować bez przycisków?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map