Úvod:
Zařízení slouží k rádiovému dálkovému zapínaní a vypínání až 4 nezávislých spotřebičů pomocí dálkového ovladače.
Stiskem tlačítka 1, 2, 3 nebo 4 se sepne příslušný výstup, dalším stiskem se vypne. Dálkové ovládání pracuje na principu radiových vln na frekvenci 433,92 MHz.
Na rozdíl od infračerveného dálkového ovládání není nutné ovladač nasměrovat, není nutná
přímá viditelnost mezi vysílačem a přijímačem (lze ovládat i přes zeď, za roh, ...) a umožňuje větší dosah.
Metoda přenosu:
Signál je přenášen z dálkového ovladače do přijímače pomocí komunikačních modulů na pásmu 433 MHz na frekvenci 433,92 MHz.
Toto pásmu je možné bez licence využívat pro datové přenosy s malým objemem dat a s vysílacím výkonem až 10mW. Bez dalších úprav by však šlo použít i
jiné pásmo, např. 868 MHz, kde je povoleno až 25mW. K přenosu lze použít hotové komunikační moduly - typy, které mají 3 vývody:
napájecí napětí, zem a vstup (vysílač) či výstup (přijímač). Jejich použití je velmi jednoduché. Logické impulzy na vstupu vysílače
se objeví na výstupu přijímače (pokud je v dosahu a není rušen jiným zařízením).
Já jsem zvolil vysílací modul FS1000A XD-FST a přijímací modul BX-RM12-433.
Tyto moduly už se mi osvědčily u bezdrátového teploměru. Obě antény mají délku 17,3cm (čtvrt vlny).
Data jsou přenášena modulací délkou pulzu.
V jednom paketu je přenášeno 16 bitů dat - stav tlačítek vysílače (4 bity), invertovaný stav tlačítek vysílače (4 bity) pro kontrolu správnosti přenosu,
ID zařízení (7 bitů) a 1 paritní bit pro další kontrolu správnosti přenosu.
Logická 1 je představována pulzem délky 512us, logická 0 pulzem dlouhým 128us, mezera mezi bity má vždy délku 256us, mezera mezi pakety 1024us. Rozdíl mezi krátkým a
dlouhým pulzem či mezi krátkou a dlouhou mezerou je vždy čtyřnásobný, což zajišťuje odolnost vůči velkým odchylkám taktovacích frekvencí
vysílače a přijímače a lze tedy vypustit krystaly. Průměrná přenosová rychlost je cca 1,8 kb/s. Sedmibitové ID zařízení je nastaveno
na 1001001 a lze ho ve zdrojovém kódu v případě potřeby změnit (je hned nahoře, na vysílači i přijímači nastavte stejnou hodnotu).
To se hodí při potřebě nezávislého provozu více párů zařízení v blízkosti. ID má celkem 128 možných kombinací. Níže ke stažení dávám
2 varianty programu (jedna má ID 1001001 a jedna 1001010), abyste mohli bez úpravy programu vytvořit 2 páry vysílač+přijímač, které se vzájemně neovlivňují.
Vysílač (dálkový ovladač):
Vysílač (dálkový ovladač) je řízen mikroprocesorem IO1 - Atmel AVR ATTiny13A (ATTiny13V), běžícím na frekvenci 1,2 MHz z
interního RC oscilátoru. Data jsou přenášeny pomocí radiového signálu. Při stisku tlačítka dojde k odeslání příslušného kódu.
Program zajišťuje, že každý vzorek je odeslán alespoň 5x, nehledě na dobu stisku tlačítka.
Vysílač se napájí napětím 3V nebo 4,5V např. ze dvou či tří tužkových
(AA) nebo mikrotužkových (AAA) baterií, podle toho, jaké napájecí napětí vyžaduje vysílací modul, případně podle požadovaného dosahu.
V klidu vstupuje IO1 do módu power down a spotřeba celého vysílače je pod 1uA (proud mnohem menší, než
samovybíjení baterie, tedy zcela zanedbatelný). Kondenzátor C2 umístěte co nejblíže IO1. Na výstup PB4 lze přes vhodný odpor připojit
signalizační LED.
Přijímač:
Přijímač dálkového ovládání je řízen IO2, také typu ATTiny13A (ATTiny13V, ATTiny13), taktovaným frekvencí 1,2 MHz z vnitřního oscilátoru.
K příjmu radiového signálu slouží Modul-2 (přijímací RF modul). Výstup je vyhodnocen mikroprocesorem IO2.
Ten vyhodnocuje a zpracovává přijatý signál, a pokud přijme kód ve
správném tvaru - délka 16 bitů, souhlasí ID zařízení, paritní bit i inverzní hodnota a dva po sobě jdoucí pakety jsou stejné
- vyhodnotí příjem jako bezchybný a překlopí příslušný výstup.
Po připojení napájení je výchozí stav všech výstupů log0 (vypnuto). K výstupům přijímacího obvodu se připojí výkonové spínače, např. s relé dle obr. 2.
Pokud chcete využít všechny kanály, postavte výkonový spínací obvod 4x. Použijte relé s kontakty dimenzovanými na požadované napětí a proud.
Cívka relé může být na 5V, potom ji lze napájet ze stejného zdroje jako přijímač. Pokud je cívka na vyšší napětí, např. 12V nebo 24V,
relé se napájí ze zdroje příslušného napětí. Napětí 5V lze z vyššího napětí získat např. pomocí integrovaného obvodu 7805 nebo 78L05.
Odběr přijímače je, pokud jsou všechny výstupy v log0 nebo nezatížené, dán zejména odběrem RF Modulu 2. Ten je dle typu
cca 2 - 6mA. IO2 odebírá v klidu okolo 25uA. V sepnutém stavu je odběr dán hlavně odběrem cívek relé. Cívka relé by měla odebírat do 500mA, jinak je nutno
použít jiný T1 a případně R1 (jako T1 je možno použít i MOSFET-N). Kondenzátor C4 umístěte co nejblíže IO2.
Dosah:
Komunikačním modulům a jejich dosahu se blíže věnuji v článku o
bezdrátovém teploměru.
Celý program ke stažení (ID je 1001001):
zdrojový kód vysílače v assembleru (ASM)
zdrojový kód přijímače v assembleru (ASM)
přeložený program vysílače v HEX souboru (168 Bajtů)
přeložený program přijímače v HEX souboru (290 Bajtů)
Celý program ke stažení, s jiným ID (1001010) - kdo chce druhý pár vysílače a přijímače, který se vzájemně neovlivňuje s prvním párem:
zdrojový kód vysílače v assembleru (ASM)
zdrojový kód přijímače v assembleru (ASM)
přeložený program vysílače v HEX souboru (168 Bajtů)
přeložený program přijímače v HEX souboru (290 Bajtů)
Zapisování programu do AVR se podrobněji věnuji zde.