Automatické vypínání RPi

Uživatelský avatar
Dex
Administrátor
Příspěvky: 816
Registrován: 16 úno 2013, 14:26

Automatické vypínání RPi

Příspěvek od Dex » 20 lis 2017, 13:21

Zdravím,

mám takový nápad a potřebuji poradit s elektronikou.

Představte si robota s RPi. Konkrétně Zero W, takže odběr špičkově cca 200 mA. Na zapnutí není co řešit, zapne se napájení, RPi nabootuje a jede.

Automatické vypnutí už je ale složitější. Moje představa je taková, že když vypnu napájení robota, něčím (superkondenzátorem?) bude RPi stále dostávat svých 5 V a jeden GPIO pin přejde např. z 1 do 0. Skriptík, který to obslouží, si napíšu. To je drobnost. Tím se spustí korektní shutdown a ten potřebuje 10 sekund max. i s rezervou.

Jako zdroj používám 3x 18650 v sérii tj. cca 12 V. Pak následujě DC měnič na 5 V a ten napájí jak RPi tak veškerou elektroniku na 5 V. 3V větev má vlastní měnič.

Pochopitelně by bylo nejlepší, kdyby ten superkondenzátor napájel jen RPi a nikoliv tu havěť okolo. Dalo by se ale uvažovat i o tom, že bude superkondenzátor větší a udrží to 10 s všechno. I když je napájení RPi 5 V, tak GPIO jsou 3,3 V.

Mno a teď bych potřeboval poradit, jak to udělat :-)

Stydíte-li se radit zde, můžete mi rady pošeptat do ouška i v sobotu :-D, ale říkal jsem si, že by to mohlo zajímat více lidí.

PS: a ano, můžu tam taky dát prosté tlačítko a před odpojením baterie ho prostě zmáčknout, počkat a pak robota vypnout ;-)
"all your robots are belong to us"
robodoupe.cz | rxd.cz | codetory.cz

hubacekp
Příspěvky: 259
Registrován: 24 úno 2013, 13:40

Re: Automatické vypínání RPi

Příspěvek od hubacekp » 20 lis 2017, 14:53

Pokud má ten robot jezdit, tak pro ten superkondík spočítej čas jízdy a jen připočti 10s či víc.
Čas vypínání by v poměru k času jízdy neměl být velký.
můžeš tam mít dva vypínače: A) stop motorů B) Celkové vypnutí, které pošle jen příkaz RPi na vypnutí.

PS: Co se stane, když RPi vypneš natvrdo bez korektního vypnutí? Už se to někomu kvůli tomu sesypalo?

Uživatelský avatar
gilhad
Příspěvky: 132
Registrován: 29 kvě 2015, 00:36

Re: Automatické vypínání RPi

Příspěvek od gilhad » 20 lis 2017, 15:15

Jo, obcas se kvuli tomu nabori filesystem na karte a obcas se pak neopravi automagicky. Zvlast pokud tam bezi vic veci (a ze ten linux k tomu svadi, napriklad si ukladat veci do databaze, psat do logu a tak). mam takhle par desitek RPi, co jsou obcas nahodne vypnutu a obcas se u nektereho zacne syspat filesystem (ext3, cili s jurnalem) a po nejake dobe to dojde do stavu, ze veci nefungujou spravne. Obcas, zdaleka nikoli vzdy.

Uživatelský avatar
Dex
Administrátor
Příspěvky: 816
Registrován: 16 úno 2013, 14:26

Re: Automatické vypínání RPi

Příspěvek od Dex » 20 lis 2017, 15:19

Já to myslel jinak, v podstatě potřebuji pro RPi maličkou UPSku, se signálem, že už jí dochází šťáva ;)

FS na kartě není připojen jako RO, takže lecos to asi přežije, ale korektní postup to rozhodně není. To už tam raději dám tlačítko, kterým dám RPi avízo, že se bude robot vypínat. Na to ale musím myslet ;)
"all your robots are belong to us"
robodoupe.cz | rxd.cz | codetory.cz

Uživatelský avatar
fulda
Příspěvky: 511
Registrován: 04 led 2016, 17:18

Re: Automatické vypínání RPi

Příspěvek od fulda » 20 lis 2017, 15:24

Zdar, pokud by jsi chtěl jednoduchou, snadno pochopitelnou správnou neužitečnou informaci, tak bych tě odkázal na schema ZDE, kde je uvedeno, že se pro napájení používá PAM2306 DATAShÍT a ten má dva nezávislé vstupy pro napájení. První je pro napájení 3V3 větve (piny 7 a 6) a druhý pro napájení 1V8 větve (piny 1 a 12), takže stačí, pokud dopravíš napětí do příslušné větve.
Větev 1V8 se spouští s menším zpožděním za větví 3V3, tak asi nebude důležitá :) (napájí se z ní časování :) )

Takže první otázka zní - jsi dost drsný na to, aby jsi škrábnul na plošňáku cestu, která přivádí +5V na piny 1,6,7 a R1? pokud ano a dokážeš na její místo vnutit diodu, tak máš vyhráno a bude to docela malý kondenzátor.

Zhruba takhle:

Kód: Vybrat vše

+5V
 _
 |        __
 +--|>|--|__|--+
_|_            |
\ /            |
---            |
 |             |
 +------|<|----+
 |             |
\|/           _|_+
 PAM2306      ___
piny 1,6,7     |
 a R1          |
              _|_ GND
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Uživatelský avatar
fulda
Příspěvky: 511
Registrován: 04 led 2016, 17:18

Re: Automatické vypínání RPi

Příspěvek od fulda » 20 lis 2017, 15:30

Dex píše:
20 lis 2017, 13:21
Jako zdroj používám 3x 18650 v sérii tj. cca 12 V. Pak následujě DC měnič na 5 V a ten napájí jak RPi tak veškerou elektroniku na 5 V. 3V větev má vlastní měnič.
Ještě je možná rada takováhle:
polaď si měnič, aby dával 5,7V a dej za něj 2 diody - jedna, která bude napájet tu havěť okolo a druhá, která bude napájet RaPI. S tím, že za druhou bude ten supercap.

Pozor na to, že než se ti kondík nabije, tak RaPI nemá napájení.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Uživatelský avatar
Dex
Administrátor
Příspěvky: 816
Registrován: 16 úno 2013, 14:26

Re: Automatické vypínání RPi

Příspěvek od Dex » 20 lis 2017, 15:51

Drsnej jsem myslím dostatečně :lol: ale musím to prozkoumat s lupou v ruce, jestli se mi to bude nebo nebude pozdávat ;) Nápad je to ovšem zajímavý, to jo.

Druhá verze zní také zajímavě, a možná i méně destruktivně :)

Ještě z toho potřebuji někde vytáhnout ten signál "že už je čas". V principu by mělo stačit něco jako dělič napětí za hlavním spínačem, ale adaptibilní na různé úrovně nabití baterie. Na to bude určitě stačit nějak šikovně zapojený tranzistor či operační zesilovač, ale to jsem zrovna asi chyběl když se to probíralo :D
"all your robots are belong to us"
robodoupe.cz | rxd.cz | codetory.cz

Uživatelský avatar
fulda
Příspěvky: 511
Registrován: 04 led 2016, 17:18

Re: Automatické vypínání RPi

Příspěvek od fulda » 20 lis 2017, 16:36

Dex píše:
20 lis 2017, 15:51
Ještě z toho potřebuji někde vytáhnout ten signál "že už je čas". V principu by mělo stačit něco jako dělič napětí za hlavním spínačem, ale adaptibilní na různé úrovně nabití baterie. Na to bude určitě stačit nějak šikovně zapojený tranzistor či operační zesilovač, ale to jsem zrovna asi chyběl když se to probíralo :D
Ne ne, ten právě celkem elegantně chytneš za první diodou z druhého návrhu (složitá věta co?).
Tam uděláš jen hloupoučký dělič 5V -> 3V3 a ten přímo vrazíš na vstup toho RaPI.
Pokud je dělič napájen, tak generuje "1", když není napájen, generuje "0".

Jo a pokud by tuto část četl JRT, tak tam není nic o pitomém děliči, ale je tam použit brown out and reset generátor - například některý z TĚCHTO.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Uživatelský avatar
jrt
Příspěvky: 1228
Registrován: 17 úno 2013, 17:13

Re: Automatické vypínání RPi

Příspěvek od jrt » 20 lis 2017, 16:43

A kdybys spínačem jen řekl "chci vypnout" a Raspberry by udělalo všechnu tu otročinu za tebe, to by nešlo?

A pozor na to, že superkondenzátory mají mezní napájecí napětí 2,7 V!
jrt
hobbyrobot.cz, profirobot.cz
edurobot.cz, robodoupe.cz

Uživatelský avatar
Dex
Administrátor
Příspěvky: 816
Registrován: 16 úno 2013, 14:26

Re: Automatické vypínání RPi

Příspěvek od Dex » 20 lis 2017, 16:51

Mno když ta otročina spočívá v tom, že se odpojí zdroj napájení a to by bylo možná ještě složitější udělat to obráceně ;)

Možná tam bude prostě tlačítko a papírek s postupem co mám dělat a kdy :D
"all your robots are belong to us"
robodoupe.cz | rxd.cz | codetory.cz

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host