úvod:
Za?ízení slou?í k rádiovému dálkovému zapínaní a vypínání a? 4 nezávislych spot?ebi?? pomocí dálkového ovlada?e.
Stiskem tla?ítka 1, 2, 3 nebo 4 se sepne p?íslu?ny vystup, dal?ím stiskem se vypne. Dálkové ovládání pracuje na principu radiovych 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 malym objemem dat a s vysílacím vykonem 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 vyvody:
napájecí napětí, zem a vstup (vysíla?) ?i vystup (p?ijíma?). Jejich pou?ití je velmi jednoduché. Logické impulzy na vstupu vysíla?e
se objeví na vystupu p?ijíma?e (pokud je v dosahu a není ru?en jinym 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), invertovany 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 dlouhym 128us, mezera mezi bity má v?dy délku 256us, mezera mezi pakety 1024us. Rozdíl mezi krátkym a
dlouhym pulzem ?i mezi krátkou a dlouhou mezerou je v?dy ?ty?násobny, co? zaji??uje odolnost v??i velkym 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?nych 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álkovy ovlada?):
Vysíla? (dálkovy 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?dy 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?kovych
(AA) nebo mikrotu?kovych (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 zanedbatelny). Kondenzátor C2 umístěte co nejblí?e IO1. Na vystup PB4 lze p?es vhodny 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), taktovanym 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). Vystup je vyhodnocen mikroprocesorem IO2.
Ten vyhodnocuje a zpracovává p?ijaty 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 bezchybny a p?eklopí p?íslu?ny vystup.
Po p?ipojení napájení je vychozí stav v?ech vystup? log0 (vypnuto). K vystup?m p?ijímacího obvodu se p?ipojí vykonové spína?e, nap?. s relé dle obr. 2.
Pokud chcete vyu?ít v?echny kanály, postavte vykonovy spínací obvod 4x. Pou?ijte relé s kontakty dimenzovanymi na po?adované napětí a proud.
Cívka relé m??e byt 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 vystupy 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 jiny 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.
Cely program ke sta?ení (ID je 1001001):
zdrojovy kód vysíla?e v assembleru (ASM)
zdrojovy kód p?ijíma?e v assembleru (ASM)
p?elo?eny program vysíla?e v HEX souboru (168 Bajt?)
p?elo?eny program p?ijíma?e v HEX souboru (290 Bajt?)
Cely program ke sta?ení, s jinym ID (1001010) - kdo chce druhy pár vysíla?e a p?ijíma?e, ktery se vzájemně neovlivňuje s prvním párem:
zdrojovy kód vysíla?e v assembleru (ASM)
zdrojovy kód p?ijíma?e v assembleru (ASM)
p?elo?eny program vysíla?e v HEX souboru (168 Bajt?)
p?elo?eny program p?ijíma?e v HEX souboru (290 Bajt?)
Zapisování programu do AVR se podrobněji věnuji zde.