pátek 11. června 2021

TinyHA: žaluzie

Venkovní žaluzie byly na dům jasnou volbou vč. elektrického pohonu. V základní verzi se jedná o Somfy J4 WT, což je chytrý motorek, pro 230V napájení využívá dvou různých vodičů - nahoru a dolů. Kromě toho umožňuje nastavovat doraz, programovací mód se spustí připojením napětí na obě napájení po danou minimální dobu.

Elektroniku jsem se rozhodl umístit do hlubokých instalačních krabic pod ovládací tlačítka. Řešení jsem chtěl autonomní, tedy nouzově funkční i při selhání rozšiřující elektroniky. Nakonec je koncept navržený tak, že pomocí optočlenů snímá stisk ovládacího tlačítka a pomocí relé ho dále přemosťuje. V nejjednodušším případě tedy po detekci dostatečně dlouhého stisku "přidrží" relátkem tlačítko stisknuté po dalších několik desítek sekund, než žaluzie sjede nebo vyjede kompletně. Bez napájení stále fungují tlačítka manuálně.

  

U každého okna mám pod omítkou vedený kablík k magnetickému senzoru pro detekci otevření, což je další vstup, který do elektroniky vede. Celá elektronika je umístěna v miniaturní vaničce vytvořené na 3D tiskárně, která je následně zalita nehořlavou epoxidovou hmotou. Těchto rozšířených tlačítek je po domě cca 10ks, ke každé žaluzii jedno. Dále jsem vyrobil jedno speciální, které slouží k hromadnému ovládání všech 5ks žaluzií v obýváku+kuchyni, to není připojené na 230V, ale pouze na sběrnici.

 

Firmware je funkcí trochu komplikovaný, protože musí reagovat na různé kombinace stavů - např. když žaluzie jedou nahoru a stiskne se tlačítko dolů, zastaví. Když se drží krátce (pod nastavenou dobu), nedělá nic. Když dlouze, sepne příslušné relé a podrží ho po specifikovaný čas. Když přijme odpovídající povel po sběrnici, simuluje stisk tlačítka. Možností je poměrně hodně a jsou docela dobře vidět v main.c.

Každá žaluzie má přiřazeno vlastní adresovací ID a dále volitelně skupinové ID, na které reaguje. Jedná se vlastně o jednoduchý multi-master systém, kdy mastery na sběrnici je buď řídicí jednotka (v této fázi projektu ještě neexistovala) nebo dedikované ovládací tlačítko. Ostatní tlačítka pak vystupují jako slave, odpovídají pouze na jim adresované dotazy.

pondělí 22. března 2021

TinyHA: základní koncepce

Před několika lety jsme dokončovali stavbu rodinného domu, kde máme mimo jiné nainstalovány venkovní žaluzie Climax s pohonem Somfy J4 WT. A to byl první impuls ke zvažování vlastního bastl řešení. Originální ovládání mi přišlo předražené, mechanické řešení spínače s aretací pak příliš primitivní. Rozhodl jsem se, že ovládání žaluzií vyřeším vlastním systémem, který bude zapojený paralelně k ABB žaluziovým tlačítkům a stane se základem budoucí domácí automatizace. Každá žaluzie má tedy vlastní ovládací tlačítko v hluboké podomítkové krabici. A při tahání elektroinstalace jsme všechny krabice kromě 230V rozvodu prosmyčkovali Cat5e kabelem.

Tím byl dán základní stavební prvek TinyHA - drátová sběrnice, fyzicky realizovaná "venkovním" Cat5e kabelem - jeden pár pro rozvod napájení 24V, druhý pro RS485 sběrnici, zbývající dva volné. Napětí 24V bylo zvoleno jako kompromis mezi co nejnižšími úbytky na nezanedbatelně dlouhém vedení a snadnou dostupností DC/DC spínaných zdrojů. Sběrnice RS485 byla jasná volba, je to jediné široce rozšířené rozhraní, které zvládne divokou kombinaci hvězdicové a stromové topologie bez impedančních zakončení, s rozumnou spolehlivostí a přijatelnou cenou.

Pro komunikaci jsem si navrhl jednoduchý vlastní protokol s adresací, který popíšu později. Celková koncepce je nepříliš striktní master-slave, který prakticky umožňuje multi-master s využitím náhodného přístupu na sběrnici (Aloha). Prakticky to funguje tak, že celé TinyHA má jeden centrální bod, postavený na Raspberry Pi Zero W na desce s rozhraními, který je umístěný v místě vyústění všech kabelů (moje miniserverovna kombinovaná se špajzkou). Jednotlivé nódy jsou pak slave zařízení, které pouze odpovídají na dotazy. Výjimkou je ovládací tlačítko pro sdružené řízení žaluzií v obýváku, které při stisku povel vysílá samo, stává se z něj tedy na okamžik další master.

Elektronika zařízení je postavená na AVR a obvykle zabudovaná v podomítkové krabici, není tedy přístupná pro přeprogramování. Pro tento účel jsem si upravil jednoduchý bootloader, který umožňuje aktualizovat firmware a přitom využívat adresu nódu uloženou v EEPROM paměti. Mohu tedy bez rozpojení sběrnice selektivně aktualizovat pouze vybraná zařízení.

Ovládání žaluzií, o kterém budu podrobněji psát příště, bylo první realizovanou částí. To proto, že stát u tlačítka a držet ho dvě minuty než žaluzie sjede až dolů, je fakt otrava, takže mě to donutilo dokončit ovládání poměrně rychle :-) Postupně ale přibývaly další části systému TinyHA: výstupní relé (pro otevírání garáže, spínání topných žebříků, venkovní osvětlení, pokles TUV apod.), vstupy (teplotní čidla na 1-wire sběrnici, senzor otevření vrat garáže, indikace domovního zvonku atd.), centrální jednotka s Raspberry Pi (sběr dat, webové rozhraní pro ovládání, grafy), ePaper panel (grafické zobrazení aktuálních teplot, grafy historie, měření kvality ovzduší CO2, předpověď počasí), měření objemu vody v retenční nádrži pomocí ultrazvukového dálkoměru, průtokoměr vody na zalévání, reimplementace Lidl zvonku, jednotka zálohovaného napájení miniserverovny a pár dalších kousků, které se teprve tvoří.

pátek 12. března 2021

Vzkříšení blogu

Po mnoha letech jsem se rozhodl, že se pokusím opět po kouskách publikovat své výtvory veřejně. Zaručeně to bude nesourodé, nepravidelné a neúplné... zkrátka žádné návody, ale jen myšlenky a podklady pro další bastlení!

V záloze mám především už relativně rozsáhlý systém domácí automatizace TinyHA. Podstatné zdrojáky jsem zveřejnil na Githubu, ale chce to ještě doplnit hodně popisování a navíc je to živý projekt, na kterém průběžně pracuji. Základní myšlenka TinyHA je, že vzniká "lepením", tedy bez důkladného plánu na počátku, co vše má systém umět. Přesný opak toho, co dělám v práci. Aktuálně obsahuje hromadu AVR, nějaké ESP32, řídicí Raspberry Pi Zero, hromadu relátek a pár set metrů Cat5e kabeláže, zaomítané a natahané všemožně po baráku i kolem.

Z dalších zajímavých projektů bych jmenoval vývoj elektroniky SSTV kamery pro nanosatelity - cubesat PSAT2 (aktuálně v provozu) a pocketqube Hades (čeká na start). Sledovat obrázky z vesmíru, vyfocené čínskou kamerou za pár dolarů a zpracované komplet vlastním hardwarem a firmwarem, je úžasné. A abych nezapomněl, podařilo se mi také znovu kompletně zprovoznit své památeční Atari 800XL!