Obsah:

8 kanálový programovateľný časovač: 13 krokov
8 kanálový programovateľný časovač: 13 krokov

Video: 8 kanálový programovateľný časovač: 13 krokov

Video: 8 kanálový programovateľný časovač: 13 krokov
Video: Korg WAVESTATE // Review and full tutorial // Wave sequencing and Vector synthesis explained 2024, Júl
Anonim
8 kanálový programovateľný časovač
8 kanálový programovateľný časovač
8 kanálový programovateľný časovač
8 kanálový programovateľný časovač
8 kanálový programovateľný časovač
8 kanálový programovateľný časovač

Úvod

Na svoje projekty používam od roku 1993 rad mikrokontrolérov Microchip PIC a všetky svoje programovania som vykonal v jazyku assembler pomocou Microchip MPLab IDE. Moje projekty siahali od jednoduchých semaforov a blikajúcich diód LED až po rozhrania joysticku USB pre modely R/C a analyzátory rozvádzačov používané v priemysle. Vývoj trval mnoho dní a niekedy aj tisíce riadkov kódu assembleru.

Po obdržaní Matrix Multimedia Flowcode 4 Professional som bol voči softvéru dosť skeptický. Vyzeralo to príliš ľahko veriť. Rozhodol som sa to skúsiť a otestoval som všetky rôzne komponentné makrá, všetky s veľkým úspechom. Najlepšie na používaní Flowcode bolo, že jednoduché projekty bolo možné kódovať za jednu noc. Po hraní s I²C a hodinami DS1307 v reálnom čase som sa rozhodol navrhnúť 8 -kanálový časovač pomocou Flowcode. Keďže nejde o malý a ľahký projekt, veril som, že to bude skvelý projekt, ako sa naučiť Flowcode.

Výber mikroprocesora a ďalších komponentov

Vzhľadom na požadovaný počet I/O pinov bolo zrejmé, že bude potrebné 40 -pinové zariadenie. Bol zvolený PIC 18F4520, hlavne kvôli programovej pamäti 32 kB a 1536 bajtov dátovej pamäte. Všetky použité komponenty sú štandardnými zariadeniami s otvormi, čo umožňuje v prípade potreby postaviť obvod na doske Vero. To tiež pomohlo s vývojom na doske.

Krok 1: Ciele projektu

Ciele projektu
Ciele projektu

Ciele

- Presné udržiavanie času so záložnou batériou.

- Všetky programy a údaje budú zachované aj po výpadku napájania.

- Jednoduché používateľské rozhranie.

- Flexibilita programovania.

Dodržiavanie času

Život v oblasti náchylnej na výpadky napájania, štandardných 50/60 Hz z elektrických vedení nebude postačovať na presné dodržanie času. Hodiny v reálnom čase boli nevyhnutné a po testovaní niekoľkých čipov RTC som sa rozhodol pre DS1307 kvôli jeho jednoduchej konfigurácii oscilátora a batérie. Docela presné udržiavanie času bolo dosiahnuté pomocou iba kryštálu 32,768 kHz pripojeného k DS1307. Presnosť bola do 2 sekúnd počas 2 -mesačného skúšobného obdobia s použitím 4 rôznych značiek kryštálov.

Uchovávanie údajov

Všetky údaje o časovom programe musia byť zachované, dokonca aj pri výpadku napájania. S až 100 rôznymi programami a rôznymi konfiguračnými údajmi bolo zrejmé, že 256 bajtov palubnej EEPROM PIC nebude dostatočne veľké. Na uloženie všetkých programovacích informácií sa používa EEPROM 24LC256 I²C.

Jednoduché užívateľské rozhranie

Užívateľské rozhranie pozostáva iba z 2 položiek, 16 x 4 riadkového LCD displeja s LED podsvietením a klávesnice 4 x 3. Celé programovanie je možné vykonať iba stlačením niekoľkých tlačidiel. Doplnkami rozhrania sú počuteľný piezoelektrický bzučiak a vizuálne blikajúce podsvietenie LCD.

Krok 2: Flexibilita programovania

Flexibilita programovania
Flexibilita programovania

Aby bola zaistená dostatočná flexibilita programu, má časovač 100 programov, ktoré je možné nastaviť jednotlivo. Pre každý program je možné nastaviť čas zapnutia, čas vypnutia, výstupné kanály a deň v týždni. Každý program má tri režimy:

- Auto: Je nastavený čas zapnutia, čas vypnutia, výstupný kanál a deň v týždni.

- Vypnuté: Jednotlivé programy je možné deaktivovať bez odstránenia nastavení. Ak chcete program znova povoliť, jednoducho zvoľte iný režim.

- Deň/noc: Je nastavený čas zapnutia, vypnutie, výstupný kanál a deň v týždni. Funguje rovnako ako automatický režim, ale bude

výstupy zapínajte iba medzi časom zapnutia a vypnutia, keď je tma. To tiež umožňuje úplné ovládanie deň/noc

ako dodatočnú flexibilitu pri zapnutí a zapnutí svetla pri západe slnka.

Príklad 1: Svetlo sa rozsvieti po 20:00 a vypne sa pri východe slnka.:

Dňa: 20:00, Vypnuté: 12: 00, Príklad 2: Svetlo sa rozsvieti pri západe slnka a vypne sa o 23:00.

Dňa: 12:00

Vypnuté: 23:00

Príklad 3: Zapne svetlo pri západe slnka a vypne svetlo pri východe slnka.

Dňa: 12:01

Vypnuté: 12:00

K dispozícii sú ďalšie možnosti, všetky pracujú nezávisle na 100 programoch zapnutia/vypnutia.

Programové kanály aktívne: Namiesto vypínania niekoľkých programov je možné deaktivovať jednotlivé výstupné kanály bez toho, aby ste museli programy meniť.

Pomocné vstupy: K dispozícii sú dva digitálne vstupy, ktoré umožňujú zapnutie určitých výstupných kanálov na určitý čas. Dá sa napríklad použiť na zapnutie určitých svetiel, keď prídete domov neskoro v noci, keď stlačíte tlačidlo na diaľkovom ovládači, alebo na zapnutie iného radu svetiel pri spustení domáceho alarmu.

Pomocné výstupy: K dispozícii sú dva ďalšie výstupy (okrem 8 výstupných kanálov). Môžu byť naprogramované tak, aby sa zapínali s určitými výstupnými kanálmi alebo s digitálnymi vstupmi. V mojej inštalácii mám výstupy 6-8 ovládajúce moju závlahu, ktorá funguje na 24V. Kanály 6-8 používam na zapnutie jedného z pomocných výstupov, na zapnutie napájania 24 V pre zavlažovací systém.

Ručné zapnutie: Na hlavnej obrazovke sa dajú pomocou tlačidiel 1-8 kanály ručne zapnúť alebo vypnúť.

Krok 3: Hardvér

Hardvér
Hardvér

Napájanie: Napájací zdroj pozostáva z usmerňovača, vyhladzovacieho kondenzátora a poistky 1 A na ochranu proti preťaženiu. Táto dodávka je potom regulovaná regulátorom 7812 a 7805. Napájanie 12 V slúži na napájanie výstupných relé a všetky ostatné obvody sú napájané z 5 V zdroja. Pretože je regulátor 7805 pripojený k výstupu regulátora 7812, celkový prúd musí byť obmedzený na 1 ampér cez regulátor 7812. Tieto regulátory je vhodné namontovať na vhodný chladič.

I²C Bus: Aj keď Flowcode umožňuje hardvérové ovládanie I²C, rozhodol som sa použiť softvérovú konfiguráciu I²C. To umožňuje väčšiu flexibilitu priradenia pinov. Aj keď je pomalší (50 kHz), v porovnaní s hardvérovou zbernicou I²C stále funguje skvele. K tejto zbernici I²C sú pripojené DS1307 aj 24LC256.

Hodiny v reálnom čase (DS1307): Počas spustenia sa načíta register RTC 0 a 7, aby sa zistilo, či obsahuje platné časové a konfiguračné údaje. Po správnom nastavení sa načíta čas RTC a čas sa načíta do PIC. Toto je jediný čas, kedy sa čas číta z RTC. Po spustení bude na kolíku 7 RTC prítomný impulz 1 Hz. Tento signál 1 Hz je pripojený k RB0/INT0 a prostredníctvom služby prerušenia sa čas PIC aktualizuje každú sekundu.

Externá EEPROM: Všetky údaje a možnosti programu sú uložené na externej EEPROM. Údaje EEPROM sa načítajú pri spustení a kópia údajov sa uloží do pamäte PIC. Údaje EEPROM sa aktualizujú iba pri zmene nastavení programu.

Senzor deň/noc: Ako snímač dňa/noci sa používa štandardný svetlo závislý odpor (LDR). Pretože LDR majú mnoho tvarov a variácií, všetky s rôznymi hodnotami odporu za rovnakých svetelných podmienok, použil som analógový vstupný kanál na čítanie úrovne svetla. Denné aj nočné úrovne sú nastaviteľné a umožňujú určitú flexibilitu pre rôzne senzory. Na nastavenie hysterézie je možné nastaviť jednotlivé hodnoty pre deň a noc. Tento stav sa zmení iba vtedy, ak je úroveň svetla pod nastaveným bodom Deň alebo nad Noc dlhšie ako 60 sekúnd.

LCD displej: Používa sa 4-riadkový, 16-znakový displej, pretože všetky údaje nebolo možné zobraziť na 2-riadkovom displeji. Projekt obsahuje niekoľko vlastných znakov, ktoré sú definované v makre LCD_Custom_Char.

Pomocné vstupy: Oba vstupy sú uložené do vyrovnávacej pamäte s tranzistorom NPN. Na konektore je k dispozícii aj +12 V a 0 V, čo umožňuje flexibilnejšie pripojenie k externým pripojeniam. Ako príklad je možné k zdroju pripojiť prijímač diaľkového ovládania.

Výstupy: Všetky výstupy sú elektricky izolované od obvodu pomocou relé 12V. Použité relé sú dimenzované na 250 V AC, pri 10 ampéroch. Normálne otvorené a normálne zatvorené kontakty sú vyvedené na svorky.

Klávesnica: Použitá klávesnica je maticová klávesnica 3 x 4 a je pripojená PORTB: 2..7.

Krok 4: Prerušenie klávesnice

Prerušenie klávesnice
Prerušenie klávesnice
Prerušenie klávesnice
Prerušenie klávesnice
Prerušenie klávesnice
Prerušenie klávesnice

Chcel som využiť prerušenie PORTB pri zmene pri každom stlačení klávesu. Na to bolo potrebné v Flowcode vytvoriť vlastné prerušenie, aby sa zaistilo správne nastavenie smeru a údajov PORTB pred a po každom prerušení klávesnice. Pri každom stlačení alebo uvoľnení tlačidla sa vygeneruje prerušenie. Rutina prerušenia reaguje iba po stlačení klávesu.

VLASTNÉ PRERUŠENIE

Povoliť kód

portb = 0b00001110; trisb = 0b11110001;

intcon. RBIE = 1;

intcon2. RBIP = 1;

intcon2. RBPU = 1;

rcon. IPEN = 0;

Kód obsluhy

if (intcon & (1 << RBIF))

{FCM_%n ();

portb = 0b00001110;

trisb = 0b11110001;

wreg = portb;

clear_bit (intcon, RBIF);

}

Zistené problémy

Počas prerušenia musí rutina služby prerušenia za ŽIADNYCH podmienok zavolať akékoľvek iné makro, ktoré by sa dalo použiť niekde vo zvyšku programu. To nakoniec povedie k problémom s pretečením zásobníka, pretože k prerušeniu môže dôjsť v rovnakom čase, keď je hlavný program tiež v rovnakom podprograme. Toto je tiež identifikované ako VÁŽNA CHYBA podľa Flowcode, keď je kód zostavený.

Vo vlastnom kóde klávesnice pod GetKeyPadNumber existuje také volanie makra Delay_us, ktoré spôsobí pretečenie zásobníka. Aby som to prekonal, odstránil som príkaz Delay_us (10) a nahradil ho 25 riadkami „wreg = porta;“príkazy. Tento príkaz číta PORTA a vloží jeho hodnotu do registra W, aby sa dosiahlo určité oneskorenie. Tento príkaz bude skompilovaný do jednej inštrukcie podobnej assembleru movf porta, 0. Na 10MHz hodiny použité v projekte budú každá inštrukcia 400ns a aby som dostal 10us oneskorenie, potreboval som 25 z týchto inštrukcií.

Všimnite si v druhom riadku obrázku 3: Vlastný kód GetKeypadNumber, že pôvodný príkaz delay_us (10) bol deaktivovaný pomocou „//“. Pod toto som pridal svojich 25 „wreg = porta;“príkazy na získanie nového 10us oneskorenia. Keďže vo vlastnom kóde Keypad_ReadKeypadNumber nie je možné volať žiadne makrá, makro klávesnice je teraz možné použiť v rámci rutiny služby prerušenia.

Je potrebné poznamenať, že komponenty Flowcode Keypad a eBlocks nepoužívajú na vstupných riadkoch štandardné výsuvné odpory. Namiesto toho používa 100K sťahovacie odpory. Vzhľadom na určité rušenie zistené na klávesnici počas vývoja boli všetky odpory 100K nahradené 10K a všetky 10K odpory nahradené 1K5. Klávesnica bola testovaná, aby fungovala správne s káblami 200 mm.

Krok 5: Použitie časovača

Použitie časovača
Použitie časovača
Použitie časovača
Použitie časovača
Použitie časovača
Použitie časovača

Všetky obrazovky sú nastavené tak, aby zobrazovali všetky požadované informácie, ktoré má používateľ vykonať v rýchlych zmenách nastavení. Riadok 4 slúži na pomoc pri navigácii v ponukách a možnostiach programu. Počas normálnej prevádzky je k dispozícii celkom 22 obrazoviek.

RIADOK 1: Čas a stav

Zobrazuje aktuálny deň a čas, za ktorým nasledujú stavové ikony:

A - Indikuje, že bol aktivovaný Aux vstup A a časovač Aux vstupu A beží.

B - Indikuje, že bol aktivovaný Aux vstup B a časovač Aux Input B beží.

C - Indikuje, že je zapnutý Aux výstup C.

D - Indikuje, že je zapnutý Aux výstup D.

} - Stav senzora deň/noc. Ak je prítomný, znamená to, že je noc.

2. RADA: Výstupy programu

Zobrazuje kanály, ktoré boli zapnuté rôznymi programami. Kanály sú zobrazené vo svojich výstupných číslach a znak „-“znamená, že konkrétny výstup nie je zapnutý. Kanály, ktoré boli deaktivované v „Aktívne výstupy programu“, tu budú stále uvedené, ale skutočné výstupy sa nenastavia.

RIADOK 3: Reálne výstupy

Ukazuje, ktoré kanály sú zapnuté rôznymi programami, Aux vstupmi A a B alebo manuálnymi výstupmi nastavenými užívateľom. Stlačením 0 sa vrátia všetky manuálne aktivované výstupy na vypnuté a resetujú sa časovače A & B Aux Output.

RIADOK 4: Možnosti ponuky a klávesov (vo všetkých ponukách)

Udáva funkciu klávesov „*“a „#“.

Stredná časť označuje, ktoré číselné tlačidlá (0-9) sú pre zvolenú obrazovku aktívne.

Vstupný stav pomocného vstupu A a B sa zobrazuje aj pomocou ikony prepínača Otvorený alebo Zatvorený.

Výstupy je možné zapnúť/vypnúť ručne stlačením príslušného klávesu na klávesnici.

V ponukách sa na navigáciu v rôznych možnostiach programu používajú klávesy Star a Hash. Na nastavenie možností sa používajú klávesy 0-9. Ak je na jednej obrazovke alebo v ponuke programovania k dispozícii viac možností, na prechod medzi rôznymi možnosťami sa používa kláves Hash. Aktuálne zvolená možnosť bude vždy označená znakom „>“v ľavej časti obrazovky.

0-9 Zadajte časové hodnoty

1-8 Zmeňte výber kanála

14 36 Krokové programy, 1 krok späť, 4 kroky späť 10 programov, 3 kroky vpred, 6 krokov vpred 10

programy

1-7 Nastavené dni v týždni. 1 = nedeľa, 2 = pondelok, 3 = utorok, 4 = streda, 5 = štvrtok, 6 = piatok, 7 = sobota

0 Na hlavnej obrazovke vymažte všetky manuálne prepísania a časovače vstupu A a vstupu B. V ostatných ponukách sa zmeny

vybrané možnosti

# Na hlavnej obrazovke deaktivujete všetky manuálne prepísania, časovače vstupu A a vstupu B a výstupy programu, do

nasledujúca udalosť.

* a 1 Reštartujte časovač

* a 2 Vymažte všetky programy a možnosti, obnovte predvolené nastavenia.

* a 3 Prepnite časovač do pohotovostného režimu. Časovač znova zapnete stlačením ľubovoľného klávesu.

Pri nesprávnom zadaní akejkoľvek časovej hodnoty podsvietenie LCD 5 -krát zabliká, čo znamená chybu. Súčasne zaznie bzučiak. Príkazy Exit a Next budú fungovať iba vtedy, ak je aktuálna položka správna.

Podsvietenie LCD

Pri prvom spustení sa podsvietenie LCD zapne na 3 minúty, pokiaľ:

- Došlo k zlyhaniu hardvéru (EEPROM alebo RTC sa nenašlo)

- Čas nie je nastavený v RTC

Podsvietenie displeja LCD sa znova zapne na 3 minúty pri každom vstupe používateľa na klávesnici. Ak je podsvietenie LCD vypnuté, akýkoľvek príkaz klávesnice najskôr zapne podsvietenie LCD a ignoruje stlačené tlačidlo. To zaisťuje, že používateľ bude schopný čítať LCD displej pred použitím klávesnice. Ak je aktivovaný Aux vstup A alebo Aux vstup B, zapne sa aj podsvietenie LCD na 5 sekúnd.

Krok 6: Snímky obrazovky ponuky

Zábery obrazovky ponuky
Zábery obrazovky ponuky
Zábery obrazovky ponuky
Zábery obrazovky ponuky
Zábery obrazovky ponuky
Zábery obrazovky ponuky

Pomocou klávesnice je možné každú z možností ľahko naprogramovať. Obrázky poskytujú niekoľko informácií o tom, čo každá obrazovka robí.

Krok 7: Návrh systému

Dizajn systému
Dizajn systému

Celý vývoj a testovanie prebehli na breadboarde. Pri pohľade na všetky sekcie systému som systém rozdelil na tri moduly. Toto rozhodnutie bolo spôsobené predovšetkým obmedzeniami veľkosti DPS (80 x 100 mm) bezplatnej verzie Eagle.

Modul 1 - Napájanie

Modul 2 - doska CPU

Modul 3 - Reléová doska

Rozhodol som sa, že všetky súčiastky musia byť ľahko dostupné a že nechcem používať komponenty na povrchovú montáž.

Prejdeme si každú z nich.

Krok 8: Napájanie

Zdroj
Zdroj
Zdroj
Zdroj
Zdroj
Zdroj
Zdroj
Zdroj

Napájanie je priamo vpred a napája dosky CPU a relé 12 V a 5 V.

Regulátory napätia som namontoval na slušné chladiče a na napájanie som použil aj nadhodnotené kondenzátory.

Krok 9: Doska CPU

Doska CPU
Doska CPU
Doska CPU
Doska CPU
Doska CPU
Doska CPU
Doska CPU
Doska CPU

Všetky komponenty, okrem obrazovky LCD, klávesnice a relé, sú namontované na doske CPU.

Svorkovnice boli pridané kvôli zjednodušeniu prepojenia medzi napájaním, dvoma digitálnymi vstupmi a svetelným senzorom.

Zásuvné kolíky/zásuvky zaisťujú jednoduché pripojenie k obrazovke LCD a klávesnici.

Na výstupy do relé som použil ULN2803. Už obsahuje všetky požadované jazdné odpory a diódy flyback. To zaistilo, že dosku CPU je stále možné vyrobiť pomocou bezplatnej verzie Eagle. Relé sú pripojené k dvom ULN2803. Spodný ULN2803 sa používa pre 8 výstupov a horný ULN2803 pre dva pomocné výstupy. Každý pomocný výstup má štyri tranzistory. Pripojenia k relé sú tiež prostredníctvom kolíkových konektorov/zásuviek.

PIC 18F4520 bol vybavený programovacou zásuvkou, ktorá umožňuje jednoduché programovanie pomocou programátora PicKit 3.

POZNÁMKA:

Všimnite si, že doska obsahuje ďalších 8 pinov IC. Horný IC je PIC 12F675 a je pripojený k digitálnemu vstupu. Toto bolo pridané počas návrhu DPS. To uľahčuje predbežné spracovanie digitálneho vstupu. V mojej aplikácii je jeden z digitálnych vstupov pripojený k môjmu poplachovému systému. Ak zaznie alarm, v mojom dome sú zapnuté určité svetlá. Zapnutie a vypnutie strážneho systému vydáva rôzne pípnutia na siréne. Použitím PIC 12F675 teraz môžem rozlišovať medzi zapnutím/vypnutím a skutočným alarmom. 12F675 je tiež vybavený programovacou zásuvkou.

Tiež som zabezpečil port I2C prostredníctvom kolíka/zásuvky záhlavia. To sa bude hodiť neskôr pri reléových doskách.

Doska obsahuje niekoľko prepojok, ktoré je potrebné spájkovať pred inštaláciou zásuviek IC.

Krok 10: Záver Flowcode

Flowcode Záver
Flowcode Záver
Flowcode Záver
Flowcode Záver
Flowcode Záver
Flowcode Záver

Keďže som v zostave zvyknutý pracovať na úrovni registra, bolo niekedy ťažké používať makrá komponentov. Dôvodom bolo hlavne moje nedostatočné poznanie programovacej štruktúry Flowcode. Jediné miesto, kde som používal bloky C alebo ASM, bolo zapnúť výstupy vo vnútri rutiny prerušenia a v rutine Do_KeyPressed vypnúť/povoliť prerušenie klávesnice. PIC sa tiež umiestni do režimu SLEEP pomocou bloku ASM, keď sa nenájde EEPROM alebo RTC.

Pomoc pri používaní rôznych príkazov I²C bola získaná zo súborov pomocníka Flowcode. Pred úspešným použitím príkazov je potrebné presne vedieť, ako fungujú rôzne zariadenia I²C. Navrhovanie obvodu vyžaduje, aby projektant mal k dispozícii všetky relevantné technické listy. Toto nie je nedostatok Flowcode.

Flowcode skutočne obstál v teste a je vrelo odporúčaný osobám, ktoré chcú začať pracovať s radou mikroprocesorov Microchip.

Programovanie a konfigurácia Flowcode pre PIC boli nastavené podľa obrázkov

Krok 11: Voliteľná doska relé I2C

Voliteľná doska relé I2C
Voliteľná doska relé I2C
Voliteľná doska relé I2C
Voliteľná doska relé I2C
Voliteľná doska relé I2C
Voliteľná doska relé I2C

Doska CPU už má hlavičkové pripojenia pre 16 relé. Tieto výstupy sú tranzistory s otvoreným kolektorom cez dva čipy ULN2803. Toto je možné použiť na napájanie relé priamo.

Po prvých testoch systému sa mi nepáčili všetky vodiče medzi doskou CPU a relé. Keď som na dosku CPU zahrnul port I2C, rozhodol som sa navrhnúť reléovú dosku na pripojenie k portu I2C. Použitím 16 kanálového čipu Expander I/O Port MCP23017 I/O Port a tranzistorového poľa ULN2803 som redukoval spojenia medzi CPU a relé na 4 vodiče.

Keďže sa mi nepodarilo zmestiť 16 relé na plošný spoj 80 x 100 mm, rozhodol som sa vyrobiť dve dosky. Každý MCP23017 používa iba 8 zo 16 portov. Doska 1 zvláda 8 výstupov a doska 2 dva pomocné výstupy. Jediným rozdielom na doskách sú adresy jednotlivých dosiek. To sa dá ľahko nastaviť pomocou mini prepojky. Každá doska má konektory na dodávanie energie a údajov I2C na druhú dosku.

POZNÁMKA:

V prípade potreby softvér zabezpečuje iba jednu dosku, ktorá môže používať všetkých 16 portov. Všetky údaje o výstupných relé sú k dispozícii na prvej doske.

Pretože obvod je voliteľný a veľmi jednoduchý, nevytvoril som schému. Ak bude dostatočný dopyt, môžem ho pridať neskôr.

Krok 12: Voliteľné RF prepojenie

Voliteľné prepojenie RF
Voliteľné prepojenie RF
Voliteľné prepojenie RF
Voliteľné prepojenie RF
Voliteľné prepojenie RF
Voliteľné prepojenie RF

Po dokončení projektu som čoskoro zistil, že musím k časovaču pritiahnuť veľa káblov 220 V AC. Vyvinul som vysokofrekvenčné prepojenie pomocou štandardných 315 MHz modulov, ktoré umožňovali umiestnenie časovača do skrinky a reléových dosiek do strechy, v blízkosti všetkých rozvodov 220 V.

Odkaz používa AtMega328P s frekvenciou 16 MHz. Softvér pre vysielač aj prijímač je rovnaký a režim je zvolený mini prepojkou.

Vysielač

Vysielač je jednoducho zapojený do portu CPU I2C. Nie je potrebné žiadne ďalšie nastavenie, pretože AtMega328P počúva rovnaké údaje ako reléové dosky I2C.

Údaje sa aktualizujú raz za sekundu na porte I2C a vysielač pošle tieto informácie cez RF prepojenie. Ak vysielač neprijíma údaje I2C približne 30 sekúnd, vysielač bude nepretržite vysielať údaje, aby vypol všetky relé do prijímacej jednotky.

Napájanie modulu vysielača je možné zvoliť medzi 12 V a 5 V pomocou mini prepojky na doske PC. Napájam vysielač 12 V.

Prijímač

Prijímač počúva kódované údaje z vysielača a umiestňuje ich na port I2C. Reléová doska sa jednoducho zapojí do tohto portu a funguje rovnako, ako bola zapojená do dosky CPU.

Pokiaľ prijímač neprijme platné údaje po dobu 30 sekúnd, bude prijímač nepretržite odosielať údaje na port I2C, aby vypol všetky relé na doskách relé.

Schémy

Jedného dňa, ak bude po tom dopyt. Skica Arduino obsahuje všetky potrebné informácie na zostavenie obvodu bez schémy zapojenia.

Rozsah

V mojej inštalácii je vysielač a prijímač od seba vzdialené asi 10 metrov. Časovač je v skrini a reléová jednotka v hornej časti stropu.

Krok 13: Konečný produkt

Finálny produkt
Finálny produkt
Finálny produkt
Finálny produkt
Finálny produkt
Finálny produkt

Hlavná jednotka bola vložená do starého projektového boxu. Obsahuje nasledovné:

- Transformátor 220V/12V

- doska napájania

- doska CPU

- Displej LCD

- Klávesnica

- RF Link vysielač

- Dodatočná domáca jednotka diaľkového prijímača, ktorá mi umožňuje zapnúť/vypnúť svetlá pomocou diaľkového ovládača

Reléová jednotka pozostáva z nasledujúcich prvkov:

- Transformátor 220V/12V

- doska napájania

- Prijímač RF Link

- 2 x reléové dosky I2C

Všetky dosky boli navrhnuté s rovnakými rozmermi, čo uľahčuje ich stohovanie na seba pomocou rozperiek 3 mm.

Odporúča: