1. Potřebné součástky
Pro vytvoření automatického řízení solárních panelů budeme potřebovat následující vybavení:
1× Kit (IC Housing)– zařízení pro vložení a spuštění IC10 čipu.
1× Integrated Circuit (IC10)– programovatelný čip, který bude řídit celý systém.
1× Daylight Sensor– senzor sledující aktuální polohu Slunce.
1× Flashing Light– výstražné světlo signalizující noční návrat panelů.
1× nebo více Solar Panel (Dual)– solární panely s možností automatického natáčení.
1× Area Power Controller (APC) s baterií– doporučené záložní napájení řídicího systému.
1× Computer s IC Editor Motherboard– zařízení potřebné k naprogramování IC10.
1× Screwdriver– šroubovák pro nastavení portů IC Housing.
Kabeláž– podle potřeb zapojení elektrické a datové sítě.
Poznámka:
K naprogramování IC10 lze místo klasického počítače využít také kompatibilní notebook. Po nahrání programu již počítač nemusí být součástí zapojeného systému.
Poznámka:
APC s baterií doporučuji pro zajištění nepřetržitého napájení řídicího systému. IC10 musí pracovat i v noci, kdy solární panely nevyrábějí elektrickou energii.
2. Správné umístění solárních panelů
Nejdříve rozmístíme solární panely Solar Panel (Dual).
Každý panel má dva samostatné konektory:
Power Port– napájecí konektor, kterým panel dodává vyrobenou elektrickou energii.
Data Port– datový konektor, přes který panel přijímá příkazy k natáčení.
Všechny panely musí být postavené stejným směrem. Pokud některý panel natočíme odlišně, nebude správně reagovat na společné hodnoty řízení.
Důležité: Orientace panelů má přímý vliv na jejich horizontální a vertikální natáčení. Hodnoty použité v našem programu jsou připravené právě pro toto konkrétní rozmístění.
3. Umístění Daylight Sensoru
Daylight Sensor slouží jako hlavní zdroj informací o poloze Slunce.
Díky němu bude IC10 vědět, kdy má solární panely natáčet za Sluncem a kdy má zahájit jejich noční návrat.
Senzor umístíme následovně:
Daylight Sensor položíme vodorovně.
Jeho snímací plocha musí směřovat vzhůru k obloze.
Datový konektor senzoru natočíme na sever (0°).
Zajistíme, aby senzor nezakrývaly budovy nebo jiné překážky.
Správné natočení senzoru je stejně důležité jako orientace samotných solárních panelů.
Senzor poskytuje programu tři důležité hodnoty:
Horizontal– horizontální úhel polohy Slunce.
Vertical– vertikální úhel polohy Slunce.
Activate– informace o tom, zda senzor detekuje sluneční světlo.
Pomocí těchto údajů bude IC10 automaticky řídit celý systém.
4. Zapojení elektrické a datové sítě
Nyní propojíme jednotlivá zařízení.
Je potřeba rozlišovat mezi řídicí sítí, která přenáší příkazy, a výstupní elektrickou sítí, do které panely dodávají vyrobenou energii.
4.1 Řídicí síť
Do jedné společné napájené řídicí sítě připojíme:
IC Housing
Daylight Sensor
Flashing Light
Datové konektory všech Solar Panel (Dual)
Všechna tato zařízení musí být součástí stejné datové sítě, aby mezi nimi mohl IC10 komunikovat.
Flashing Light využívá jeden společný konektor pro napájení i data. Proto ho připojíme přímo k této síti.
4.2 Výstupní elektrická síť
Napájecí konektory Solar Panel (Dual) připojíme k bateriím nebo k hlavní elektrické síti základny.
Tím oddělíme výrobu elektrické energie od komunikace s řídicím systémem.
4.3 Napájení řídicího systému
Řídicí síť doporučuji napájet přes APC s vloženou baterií.
Důvod je jednoduchý: jakmile zapadne Slunce, panely přestanou vyrábět energii. IC10 však musí zůstat zapnuté, aby dokázalo dokončit noční návrat panelů a ovládat výstražné světlo.
5. Nastavení IC Housing
Jakmile máme všechna zařízení zapojená, nastavíme jejich přiřazení v IC Housing.
Pomocí šroubováku přiřadíme následující zařízení:
Port d0 – Daylight Sensor:Sledování aktuální polohy Slunce.
Port d1 – Solar Panel (Dual):Referenční panel pro kontrolu dosažení noční polohy.
Port d2 – Flashing Light:Výstražné světlo signalizující probíhající návrat panelů.
Proč používáme referenční panel?
Program potřebuje během nočního návratu ověřit, zda solární panely již dosáhly požadované polohy.
K tomu využívá jeden konkrétní panel, který přiřadíme na portd1.
Ostatní panely není nutné připojovat na další porty IC Housing. IC10 je bude ovládat hromadně pomocí příkazusb.
Poznámka: Zařízení nemusíme ve hře přejmenovávat. Jejich názvy budou vytvořené přímo v programu pomocí příkazualias.
6. Kompletní program IC10
Nyní máme připravené všechny součástky, správně orientovaná zařízení a nastavené porty IC Housing.
Můžeme přejít k naprogramování.
Otevřeme IC Editor, vytvoříme nový program a vložíme následující kód.
IC10 – automatické solární panely na Marsu
alias Sensor d0
alias Panel d1
alias Warning d2define Panels HASH("StructureSolarPanelDual")
define EAST_H 270
define EAST_V 165
define TOL 2
main:
yield
l r0 Sensor Activate
beqz r0 nightday:
s Warning On 0
l r0 Sensor Horizontal
sb Panels Horizontal r0
l r0 Sensor Vertical
add r0 r0 90
sb Panels Vertical r0
j mainnight:
sb Panels Horizontal EAST_H
sb Panels Vertical EAST_V
l r0 Panel Horizontal
sub r0 r0 EAST_H
abs r0 r0l r1 Panel Vertical
sub r1 r1 EAST_V
abs r1 r1max r0 r0 r1
sgt r0 r0 TOL
s Warning On r0
j main
Po vložení programu zkontrolujeme jeho správnost, nahrajeme jej na IC10 čip a vložíme do IC Housing.
Následně program spustíme.
Pozor při přepisování: V příkazech l r0 a l r1 je první znak malé písmeno L, nikoliv velké I nebo číslice 1.
7. Podrobné vysvětlení programu
Abychom celému systému lépe rozuměli, rozebereme si jednotlivé části programu.
7.1 Pojmenování zařízení – alias
Na začátku programu používáme příkazalias, který vytváří jednoduché názvy pro zařízení připojená k IC Housing.
Sensoroznačuje Daylight Sensor.
Paneloznačuje referenční solární panel.
Warningoznačuje výstražné světlo.
Díky těmto názvům nemusíme v celém programu používat označeníd0,d1ad2.
Program je tím přehlednější a lépe se upravuje.
7.2 Hromadné ovládání panelů – HASH
Následující příkaz určuje typ zařízení, se kterým budeme pracovat:
HASH("StructureSolarPanelDual")označuje typ zařízení Solar Panel (Dual).
Použitím příkazusbnásledně můžeme odeslat stejnou hodnotu všem panelům tohoto typu ve společné datové síti.
To znamená, že jeden IC10 program dokáže ovládat více panelů najednou.
Důležité: Pokud máme na stejné datové síti další Solar Panel (Dual), bude reagovat také. Chceme-li některé panely řídit samostatně, musíme je oddělit do jiné datové sítě.
7.3 Nastavení noční polohy
Zde definujeme tři důležité hodnoty:
EAST_H = 270°– horizontální poloha, do které se panely vrátí po západu Slunce.
EAST_V = 165°– vertikální poloha panelů během noci.
TOL = 2°– povolená odchylka od požadované polohy.
Hodnoty 270° a 165° odpovídají orientaci zařízení použité v tomto návodu. Jejich cílem je připravit panely směrem k rannímu východu Slunce.
7.4 Rozpoznání dne a noci
Hlavní smyčka programu začíná následujícími příkazy:
Příkazyieldzajistí krátké přerušení běhu programu a pokračování v dalším herním ticku.
Následně IC10 přečte hodnotuActivatez Daylight Sensoru.
Hodnota 1:Senzor detekuje sluneční světlo a program pokračuje denním režimem.
Hodnota 0:Program přeskočí do nočního režimu označenéhonight.
Tímto způsobem dokáže systém automaticky přecházet mezi dnem a nocí.
7.5 Denní režim – automatické sledování Slunce
V denním režimu pracujeme s následující částí:
Program nejprve vypne výstražné světlo.
Potom přečte ze senzoru horizontální polohu Slunce a odešle ji všem solárním panelům.
Následně přečte vertikální hodnotu a přičte k ní korekci 90°.
Výpočet vertikálního úhlu:
Vertical panelů = Vertical senzoru + 90°
Tato korekce je nutná kvůli konkrétní orientaci panelů a Daylight Sensoru.
Výslednou hodnotu IC10 odešle všem panelům pomocí příkazusb.
Potom se program vrátí na začátek a celý proces opakuje.
Panely tak průběžně upravují svůj horizontální i vertikální náklon podle aktuální polohy Slunce.
7.6 Noční režim – návrat do výchozí polohy
Jakmile Daylight Sensor přestane detekovat sluneční světlo, IC10 přejde do noční části programu.
Všem panelům odešle dvě požadované hodnoty:
Horizontal: 270°
Vertical: 165°
Panely se začnou automaticky otáčet do své noční polohy.
Tím však práce programu nekončí.
7.7 Kontrola dokončení nočního návratu
Po odeslání požadovaných hodnot IC10 zkontroluje skutečnou polohu referenčního panelu připojeného nad1.
Nejprve přečte aktuální horizontální a vertikální polohu.
Potom vypočítá rozdíl mezi skutečnou a cílovou hodnotou na obou osách.
Příkazabspřevede výsledek na absolutní hodnotu, aby program pracoval s velikostí odchylky bez ohledu na její znaménko.
Nakonec použijeme:
Příkazmaxvybere větší z obou odchylek.
sgtnásledně porovná tuto odchylku s povolenou tolerancí 2°.
Výsledkem je jednoduché automatické řízení výstražného světla.
Stavy výstražného světla:
Odchylka větší než 2°:Světlo je zapnuté.
Obě osy v toleranci 2°:Světlo je vypnuté.
Flashing Light vytváří blikající efekt automaticky. IC10 pouze přepíná jeho hodnotuOnmezi 0 a 1.
Výstražné světlo tedy signalizuje probíhající noční návrat, nikoliv běžné natáčení panelů během dne.
8. Otestování celého systému
Po spuštění programu doporučuji ověřit jeho funkci během dne i noci.
Test během dne
Zkontrolujeme napájení IC Housing a řídicí sítě.
Ověříme, že Daylight Sensor detekuje sluneční světlo.
Sledujeme, zda se panely otáčejí podle polohy Slunce.
Zkontrolujeme, že výstražné světlo zůstává vypnuté.
Pokud panely správně sledují Slunce, denní řízení funguje.
Test během noci
Počkáme na západ Slunce.
Panely by se měly začít přesouvat do přednastavené polohy.
Během návratu se aktivuje výstražné světlo.
Po dosažení požadované polohy se světlo automaticky vypne.
Jakmile opět vyjde Slunce a Daylight Sensor ho začne detekovat, program přejde zpět do denního režimu.
Není potřeba žádný ruční zásah.
9. Nejčastější problémy a jejich řešení
Panely se vůbec nenatáčejí
Zkontroluj, zda je IC Housing napájený, zda je program spuštěný a zda jsou datové konektory panelů propojené se společnou řídicí sítí.
Panely se natáčejí nesprávně
Nejčastější příčinou bývá nesprávná orientace panelů nebo senzoru.
Zkontroluj, že panely mají napájecí konektor na východ a datový na západ. Daylight Sensor musí mít datový konektor na sever.
Některé panely nereagují
Příkazsbovládá všechny odpovídající panely v dostupné datové síti.
Pokud některý panel nereaguje, zkontroluj jeho datové propojení a zda jde skutečně o Solar Panel (Dual).
Výstražné světlo se nevypíná
Program kontroluje polohu panelu přiřazeného nad1.
Pokud tento panel není správně nastavený nebo nedosáhne požadované polohy v toleranci 2°, světlo zůstane zapnuté.
Systém přestává fungovat po západu Slunce
Pravděpodobnou příčinou může být ztráta napájení řídicí sítě.
Ověř napájení IC Housing a případně použij APC s baterií.
Systém přepíná do nočního režimu i během dne
Program reaguje na hodnotuActivatez Daylight Sensoru.
Pokud je senzor zastíněný nebo nemá správný výhled na oblohu, může přestat detekovat sluneční světlo a aktivovat noční režim.
10. Důležité vlastnosti a omezení
Před použitím systému je potřeba počítat s několika vlastnostmi programu:
Kód byl vytvořen a otestován pro Mars.
Správná funkce závisí na orientaci senzoru a panelů uvedené v návodu.
Hodnoty 270°, 165° a korekce +90° nejsou univerzální pro všechna rozmístění.
Program ovládá všechny Solar Panel (Dual) ve stejné datové síti.
Kontrola dokončení nočního návratu probíhá pouze pomocí referenčního panelu nad1.
Výstražné světlo je během běžného denního sledování vypnuté.
Další panely můžeme do systému přidávat bez nutnosti programovat další IC10, pokud jsou kompatibilní a připojené do stejné řídicí sítě.
11. Závěr
Pomocí jediného IC10 čipu jsme vytvořili automatické řízení solárních panelů, které zajišťuje jejich natáčení za Sluncem během dne a návrat do připravené polohy po jeho západu.
Výstražné světlo nám navíc poskytuje jednoduchou vizuální kontrolu toho, zda noční návrat stále probíhá, nebo již byl dokončen.
Výhodou tohoto řešení je možnost společně ovládat větší počet panelů, snadno upravovat jednotlivé hodnoty a v budoucnu rozšiřovat program o další funkce.
Na rozdíl od základního řešení pomocí Logic I/O můžeme chování celého systému upravovat přímo prostřednictvím programu IC10.
Další krok
Pomohl vám tento návod?
Podívejte se na další české návody nebo pokračujte na YouTube kanál VPetr Herní Dílna CZ.