433 MHz vypínač

 

 

Bezdrátový vypínač spotřebiče 220V

Bezlicenční frekvence 433 MHz je široce komerčně využívána pro různá zařízení typu bezdrátových tlačítek, dálkových ovládačů, pro přenos dat typu např. meteostanic aj. V našem případě bude sloužit k bezdrátovému zapínání a vypínání zařízení 220V ve vedlejší místnosti, např. routeru. Bezdrátový vypínač 433 MHz zapne router při zapnutí PC a následně jej po vypnutí PC vypne. 

K sestavení setu budeme potřebovat vysílač a přijímač 433 MHz, dvě desky Arduina a doplňkové součásti (zdroje, ovládání 220V, vypínače aj.).  

Byly objednány dvě soupravy modulů 433,92 MHz, modul 1modul 2. Po překonání potíží při oživování (např. postupně slábnoucí citlivost přijímače coby závada přijímače) byl v konečné konstrukci použit vysílač modulu 1 a přijímač modulu 2. Táto kombinace vykazovala spolehlivý provoz.  

 

Poz. v konkrétním případě vysílače byl popis na plošném spoji posunutý a obtížně se určovalo např. napojení antény.

 

Oživení komunikace

Vysílač a přijímač se připojí na napájení 5V z desek Arduina (5V z desky arduina na pin Vcc vysílače/přijímače , kontakty GND se propojí) a propojí se signálové piny výše označené DATA. Z desky Arduina vysílače se napojí pin D9 na signálový pin vysílače a  signálový pin přijímače se napojí na pin D2 desky Arduina přijímače.

 

Před oživováním komunikace nainstalujeme do IDE knihovnu "RCSwitch" pro datovou komunikaci na frekvenci 433 MHz (obsahuje protokoly přenosu dat). Po stažení veřejně dostupného zip souboru knihovny (zde , "Source code (zip)"),  a jeho rozbalení, přeneseme manuálně celý adresář "rc-switch-master" do adresáře "Libraries" a restartujeme IDE. Následně umístíme do IDE postupně skeče "433_vysilac" a 433_prijimac" a nahrajeme do desek NANO

 

Skeč vysílače "433_vysilac.ino" :

#include <RCSwitch.h>        		// připojení knihovny   
RCSwitch vysilac = RCSwitch();  	// vytvoření objektu vysílače z knihovny

void setup() 
{vysilac.enableTransmit(9);}   		// zahájení vysílání na pinu D9 

void loop() 
{vysilac.send(1, 32);          		// odeslání hodnoty "1" s délkou 32 bitů 
delay(50);}     			// pauza před novým během smyčky

 

Skeč přijímače "433_přijinac.ino" :

#include <RCSwitch.h>                     // připojení knihovny    
RCSwitch prijimac = RCSwitch();           // vytvoření přijímače z knihovny    
int P=0;                                  // deklarace proměnných P,S    
int S=0;


void setup() 
{Serial.begin(9600);                      // zahájení sériové komunikace
prijimac.enableReceive(0);}               // nastavení přijímacího pinu na interrupt pin 0 = pin D2 pro UNO, Nano   

void loop() 				  	
{if (prijimac.available()) 		  // detekce příchozí komunikace                  
{int P = prijimac.getReceivedValue();     // načtení signálu přijímačem do proměnné P   
Serial.println(P);                        // kontrola přijmu zobrazením načtené hodnoty na sériovém monitoru  
S=P;}                                     // přiřazení načtené hodnoty do proměnné S  
{if (S==1) digitalWrite(9, true);}        // když bude přijatá hodnota S "1", bude na pinu č.9 logická "1"   
{if (S!=1) digitalWrite(9, false) ;}      // když bude přijatá hodnota S různá od "1", bude pin č.9 bez signálu   
prijimac.resetAvailable();                // vymazání modulu pro přijetí nové hodnoty   
delay(1000);                              // smyčka čeká 1 sekundu   
S=0;} 					  // vynulování proměnné S

 

Komentáře k dílčím příkazům skečů jsou uvedeny na řádcích za dvojitým lomítkem. Vysílač odesílá neustále hodnotu "1" modulovanou protokolem knihovny. Přijímač posuzuje každou sekundu přijímaný signál a pokud odpovídá hodnotě "1" (odpovídá modulaci podle protokolu knihovny) přiřadí pinu č. D9 desky přijímače logickou 1, tj. napětí cca 4V. Toto napětí bude dále využito k sepnutí spínače 220V.

Skeče nahrajeme do desek Arduin. Nejprve nahrajeme skeč vysílače do desky vysílače a poté skeč přijímače do desky přijímače. Pokud máme k dispozici dva PC (např. stolní PC a notebook), využijeme je v dané fázi pro napájení desek pomoci USB.  Pokud máme jen jedno PC, musíme zajistit napájení vysílače z externího zdroje 5V, který připojíme na pin Vin a GND Arduina. Desku přijímače napojíme přes USB na PC.

 Přenos signálu z vysílače na přijímač ověříme tzv. sériovým monitorem, tj. na straně přijímače spustíme IDE a rozklikneme v pravé horní části IDE ikonu "lupy" (sériový monitor). V zobrazení sériového monitoru zkontrolujeme v dolní roletě rychlost přenosu dat, která v daném případě musí být nastavena na rychlost 9600 baudů. V případě přijmu signálu přijímačem se začne na pracovní ploše zobrazovat každou sekundu hodnota "1" .

 

 

Pin D9 desky Arduina přijímače vrací logickou 1 v případě přijmu signálu z vysílače. Toto napětí je využito k sepnutí triakového spínače 220V pro sepnutí spotřebiče :

 (Poz.: V následujícím zapojení je přerušován pouze jeden přívod 220V. Tento způsob ovládání lze použít jen v případě, že spotřebič 220V, který je tímto ovládán, je zabudován společně s ovládáním v jednom boxu a neumožní jakýkoliv neoprávněný kontakt s 220V) 

Na uvedeném schéma není připojen přijímač, je popsáno výše.

POZOR! - v případě použití tohoto provedení platí - ovládaný 220 V spotřebič max. 150 W, triak zde není chlazen :

(přijímač+ovládání 220 V, poz.  - modul přijímače na snímku byl později pro nespolehlivost vyměněn za jiný modul přijímače, jak je výše uvedeno)

 

Signál digitálního pinu D9 nabije kondenzátor 1G, který zajistí sepnutí sekvence "tranzistor/optorele/triák" a podrží sepnutí cca 2 minuty pro případ výpadku signálu. 

 

Na co si dát pozor:

Pokud byly desky NANO objednány bez napájených připojovacích kontaktů, je nutné na nýty pájet velmi opatrně. V jednom případě došlo ke zkratu na pájeném kontaktu Vin. Spolehlivější je objednat desky s již napájenými kontakty a případně nepotřebné kontakty odštípnout.

 Pozornost je vhodné věnovat anténám. Dodavatel doporučuje spirálové antény, případně deklaruje anténu, např. vysílače, přímou 25 cm. Při ověření přímé antény vysílače byly zaznamenány výpadky přenosu signálu při zkrácení antény na 15 cm. Ve finální podobě byly použity antény spirálové. Byly umístěné uvnitř plastových boxů.

Umístění antény, především vysílače, je klíčové. Přihnuti antény nad plošný spoj vysílače zcela přerušilo komunikaci, pravděpodobně docházelo k nežádoucí indukci na součástky vysílače. Anténu je vhodné odklonit od plošného spoje.

 

 

Mechanické provedení

 Konstrukční součásti lze použít dle vlastního vkusu (boxy,kontrolky aj.). Byly použity standardní plastové boxy (nesmí být kovové).

 

 

    Desky Arduina byly zvoleny typu NANO. V boxu přijímače byla deska NANO umístěna pro jistotu ve stínění z důvodu blízkosti spínaného zdroje 220V/12V/1A pro napájení routru. Z důvodu universálnějšího využití vysílače byl vysílač osazen zdrojem 220V/5V pro napájení Ardujina. Napájení vysílače bylo možné zvolit připojením USB z PC, odpadnul by napájecí zdroj 220 V. Jako napájecí zdroje 220 V byly zde použity již nepotřebné nabíječky mobilních telefonů zbavené původních plastových pouzder. Při návrhu napájení Arduina přijímače si dáme záležet a vybereme zdroj s nízkou klidovou spotřebou. V daném případě byl "stand-by" odběr boxu přijímače ověřen na úrovni 0,9 W (zůstává trvale zapnut). 

V daném případě byl vysílač vždy zapnut při zapnutí vypínače na přívodu 220 V k PC a následně po vypnutí přívodu 220 V PC byl vypnut.  Vzdálenost přenosu signálů 433 MHz modulů byla deklarovaná výrobcem v desítkách metrů. Sestava pracovala spolehlivě v bytě přes dvě zdi a nábytek na vzdálenost cca 8m.

 

Alternativní řešení ]

 

Prosinec 2019 

 

Home

 

Arby

arduinohobby@email.cz