Uživatelské nástroje

Nástroje pro tento web


cidla

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
cidla [2021/08/10 10:01] – [Napájení] martincidla [2021/08/20 23:27] (aktuální) – [Komunikace s externími čidly] martin
Řádek 22: Řádek 22:
 Současně existuje i rozsáhlá komunita bastlířů, kteří znají a používají jak čipy z původního Arduina tak i dnes stále oblibenější čipy z rodiny ESPxxx. Současně existuje i rozsáhlá komunita bastlířů, kteří znají a používají jak čipy z původního Arduina tak i dnes stále oblibenější čipy z rodiny ESPxxx.
  
-  * ATTINY13A (úsporné a malé řešení)+  * [[ATTINY13A]] (úsporné a malé řešení)
   * [[ATTINY84A]] (více pinu a komfortní pro vývoj)   * [[ATTINY84A]] (více pinu a komfortní pro vývoj)
  
Řádek 29: Řádek 29:
 Pro napájení čidla je potřeba nějaká kombinace baterii, pro náročnější reakční prvky je možné přidat i malý solární panel. Pro napájení čidla je potřeba nějaká kombinace baterii, pro náročnější reakční prvky je možné přidat i malý solární panel.
  
-Odběr většiny čidel je zanedbatelný, pokud se kolem nic nic neděje. V případě jejich aktivace se probouzí nejprve energeticky nenáročný ATTINY, který odebírá od 0,5 mA do 4 mA v závislosti na nastevené frekvenci (1 MHz nebo 8 MHz) a vstupním napětí. Když logika čidla, která je implementována v ATTINY vyhodnotí, že je už potřeba informovat centrálu, probudí na chvilku ESP-01, které zajistí komunikaci s centrálou a zase ho deaktivuje.+Odběr většiny čidel je zanedbatelný, pokud se kolem nic neděje. V případě jejich aktivace se probouzí nejprve energeticky nenáročný ATTINY, který odebírá od 0,5 mA do 4 mA v závislosti na nastevené frekvenci (1 MHz nebo 8 MHz) a vstupním napětí. Když logika čidla, která je implementována v ATTINY vyhodnotí, že je už potřeba informovat centrálu, probudí na chvilku ESP-01, které zajistí komunikaci s centrálou a zase ho deaktivuje.
  
 Reakční prvky jsou na energii náročnější. Mají po celou dobu hry aktivní přijímač 433 MHz (odběr cca 3 mA i s ATTINY), aby mohly okamžitě reagovat na povely řídící jednotky stanoviště. Většinou také nemají jinou možnost, jak se dozvědět, že mají něco provést. Po příjetí signálu na 433 MHz musí probudit ESP-01, aby se dozvěděli, co přesně mají udělat a oznámily do řízení, že je to provedeno, případně, že nastaly nějaké komplikace. Reakční prvky jsou na energii náročnější. Mají po celou dobu hry aktivní přijímač 433 MHz (odběr cca 3 mA i s ATTINY), aby mohly okamžitě reagovat na povely řídící jednotky stanoviště. Většinou také nemají jinou možnost, jak se dozvědět, že mají něco provést. Po příjetí signálu na 433 MHz musí probudit ESP-01, aby se dozvěděli, co přesně mají udělat a oznámily do řízení, že je to provedeno, případně, že nastaly nějaké komplikace.
Řádek 37: Řádek 37:
    * [[napajeni-adapter|Baterie 18650 v kombinaci s nabíjecím adaptérem]]    * [[napajeni-adapter|Baterie 18650 v kombinaci s nabíjecím adaptérem]]
    * [[napajeni-ht7333|Řešení napájení s lineárním regulátorem HT7333]]    * [[napajeni-ht7333|Řešení napájení s lineárním regulátorem HT7333]]
 +   * [[napajeni-stepdown|Stepdown měnič]] 
 +   * [[napajeni-stepup|Stepup měnič]]
 +
 +//Pozor Čip ESP je na napájení náročnější. Potřebuje minimálně 3 V a maximálně snese podle specifikace 3.6 V. Navíc pro vykrytí špiček odběru až 200 mA vyžaduje kondenzátor 3300 uF, bez něhož může být nestabilní po začátku komunikace.
 +//
 +
 +Neoficiálně zástupce firmy Espressif - výrobce čipů rodiny ESP - prohlásil někde na fecebooku, že GPIO jsou 5 V tolerantní při napájení čipu alespoň 3.3 V, což potvrdili i pokusy komunity s anekdotickými případy selhání, pokud je napěti na spodní hranici 3 V. Toto se netýká napájení čipu, pouze GPIO.
 +
 +Komunikace mezi ESP a ATTINY probíhá ve všech uvažovaných režimech (všetně programování ATTINY) tak, že ATTINY nikdy "nezvedá" komunikační linku do log. 1 a tedy přes pull-up na regulovaných 3.3 V zajistíme na lince maximální napětí, 3.3 V a není potřeba řešit napěťové úrovně komunikace, kdybychom snad nevěřili hláškám na facebooku (viz výše).
 +
 +Tímto způsobem máme snadný přístup i k čidlům a reakčním prvkům, které potřebují napětí 5 V obvyklé v původním Arduino světě. Výstupy z těchto čidel můžeme potom komunikovat výše popsaným způsobem s centrální jednotkou stanoviště a není potřeba řešit převod napšťových úrovní.
 +
 +==== Vypínání / zapínání části obvodu ====
 +
 +Některé senzory nebo reakční prvky mohou odebírat i v klidu hodně energie z baterie. Např. hotová destička driver motoru s LD297D z Číny za asi 25 Kč si nestydí vzít i bez spuštěného motorku koem 50 mA. Tento obvod tedy není možné u reakčního prvku nechat trvale napájet.
 +
 +Pomocí kombinace optočlenu a NPN tranzistoru můžeme vytvořit "vypínač" napájení řízený přímo pinem ATTINY.
 +
 +Příklad níže s induktiovní zátěží (např. DC motorkem) napájeným dvěma 18650 články:
 +
 +{{ ::schematic_vypinac_2021-08-18_1_.png?400 |}}
 +
 +==== Přímé řízení výstupním pinem ====
 +
 +Pro řízení některých zařízení stačí přímo zapojit pin mikrokontroleru. Přiklady:
 +
 +   * LED pásky s WS2811 (takt mikrokontroleru musí být 8 MHz, 1 MHz na řízení nestačí, protože operace NOP trvá 1 us)
 +   * Relé modul
 +
 +==== Komunikace s externími čidly nebo diplejem ====
 +
 +Piny univerzálního seriového rozhraní (např. u ATTINY84 PA5 a PA6) jsou vyvedeny pro účely přípojení sběrnice I2C nebo UART. Podobně je ponechán volný i pin SCK pro případné využití sběrnice SPI, např. některými displeji.
 +
 +==== Měření napětí, proudu a kapacity ====
 +
 +TODO
 +
 +==== Měření stavu baterie ====
 +
 +TODO
 +
 +==== RGB LED pásky s WS2811 ====
 +
 +https://photos.app.goo.gl/KVs89ADRtzTZNWz96
 +
 +
 +==== Komunikace s řídicí jednotkou stanoviště ====
 +
 +Když se ATTINY rozhodne komunikovat s centrálou ať už z důvodu svého vlastního rozhodnutí kvůli lokálním změnám (čidla) anebo proto, že obdrží po 433 MHz žádost o komunikaci (reakční prvky), pošle RESET impulz svému ESP-01, který je v režimu deepsleep.
 +
 +ESP-01 ihned po probuzení naváže kontakt s centrálou komunikační vrstvou ESPNow, oznámí své probuzení a zeptá se, jestli není k dispozici aktualizace firmware. Pokud je nový firmware, aktivuje svou servisní WIFI a nastaví stavovou buňku paměti pro ATTINY o probíhajícím servisu.
 +
 +Pokud ATTINY začne posílat data (příkazem poke), bude vyčkávat až na nastavení specifické stavové buňky paměti na hodnotu, která potvrzuje předání všech dat z ATTINY a poté celou paměť pošle přes ESPNow do centrální jednotky.
 +
 +Centrální jednotka po obdržení datového balíku pamětových buněk čidla nebo reakčního prvku tato uloží do své SQLite databáze a spustí několik koleček řídicích pravidel k dosažení pevného bodu. Poté odešle nově získáná data zpět přes ESPNow do ESP-01. ESP-01 po obdržení dat jimi přepíše svou paměť a nastaví stavovou buňku na hodnotu - "data z centráli předána".
 +
 +ATTINY bude po předání dat pravidelně kontrolovat, jestli ESP-01 už má nastavenou stavovou hodnotu o předání dat. Pokud to zjistí přečte si data, o která má zájem a vyšle ESP-01 signál k uspání.
  
cidla.1628582513.txt.gz · Poslední úprava: autor: martin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki