English version

Jednoduché 16-kanálové dálkové ovládání

    úvod:
Toto za?ízení slou?í k dálkovému zapínaní a vypínání a? 16ti nezávislych spot?ebi?? pomocí dálkového ovlada?e. Stiskem tla?ítka 1 a? 16 se sepne p?íslu?ny vystup, dal?ím stiskem se vypne. Dálkové ovládání pracuje na infra?erveném principu, s dosahem a? 45m. Pokud Vám sta?í 4 kanály, m??ete pou?ít 4-kanálové dálkové ovládání.
    Metoda p?enosu (p?enosovy protokol):
Nosná frekvence dálkového ovládání je 36 - 38 kHz. Signály jsou p?ená?eny modulací vzdáleností pulz? (pulse distance modulation, PDM). Oproti modulaci ?í?kou pulz? (pulse width modulation, PWM) má vyhodu v men?ím p?íkonu vysíla?e. Pr?běh signálu je znázorněn na obr. 3. Dlouhá mezera (1726 cykl? CPU) mezi pulzy p?edstavuje log1, krátká (432 cykl?) log0. Jednotlivé vzorky jsou odděleny superdlouhou mezerou (6912 cykl? CPU). Pulz má v?dy délku 432 cykl? CPU a je tvo?en 16-ti impulzy nosné frekvence. Startovací bit se nevysílá. Kód se skládá ze 4 datovych bit? (to pro kódování 16 tla?ítek posta?uje) a ze 4 kontrolních bit?, které jsou logickou inverzí datovych bit?. Kontrolní bity slou?í k ově?ení správnosti p?enosu. Díky invertovanym kontrolním bit?m je také délka vzork? konstantní. Rozdíl mezi krátkou a dlouhou mezerou a mezi dlouhou a superdlouhou mezerou je v?dy ?ty?násobny, tak?e p?enosovy systém je odolny v??i velkym odchylkám taktovacích frekvencí vysíla?e a p?ijíma?e. Do tolerance se bohatě vejdou odchylky interních RC osciltor? vysíla?e i p?ijíma?e a není tedy nutné pou?ívat krystaly. Kód tla?ítka 1 je 0000, kód tla?ítka 2 je 0001, kód tla?ítka 3 je 0010, ... kód tla?ítka 16 je 1111.
    Vysíla? (dálkovy ovlada?):
Vysíla? dálkového ovládání je ?ízen Atmel AVR mikroprocesorem IO1 - ATTiny2313A bě?ící na frekvenci 1 MHz z interního RC oscilátoru. Povely jsou p?ená?eny pomocí infra?erveného zá?ení vysílaného IR LED diodou s vlnovou délkou 940nm. Lze pou?ít nap?. TSAL6100, TSAL6200, TSAL5100 nebo TSAL5300 v klasickém 5mm pouzd?e (max. trvaly proud 100mA). P?i stisku tla?ítka vysíla? vysílá jemu odpovídající kód. Program zaji??uje, ?e vysílání v?dy skon?í celym vzorkem nehledě na to, kdy bylo tla?ítko uvolněno (nedojde k odeslání necelého vzorku). Zaji??uje také, ?e je p?i ka?dém stisku odesláno alespoň 5 vzork? za sebou. Impulzní proud vysílací LED1 je nastaven na cca 320 - 400 mA. Proud je stabilizován obvodem s T1, T2, R1, R2 a díky tomu vlivem vybíjení baterie vyrazně neklesá. Proud je dán odporem R1. Nosná frekvence má st?ídu 33,3% (1/3). Celková st?ída modulovaného signálu je jen 6,6%, a proto lze volit vysoky pulzní proud a získat rozumny dosah. Je nutno dbát na to, aby nebyl p?ekro?en maximální proud zvolené LED p?i dané st?ídě. Vysílací frekvence je p?ibli?ně 37 kHz (taktovací frekvence / 27). Vysíla? se napájí napětím 3V ze dvou tu?kovych (AA) nebo mikrotu?kovych (AAA) ?lánk?, p?ípadně jinou baterií cca 3V. Minimální katalogové napájecí napětí IO1 je 1,8V. Odběr p?i vysílání je cca 20 - 30mA. 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.
    P?ijíma?:
P?ijíma? dálkového ovládání je ?ízen IO2, také typu ATTiny2313A, takté? taktovanym frekvencí 1 MHz z vnit?ního oscilátoru. Jako senzor infra?erveného signálu slou?í integrovany p?ijíma? IO3. Lze pou?ít p?ijíma?e pro frekvence 36 - 38 kHz (jejich pásmová propust je relativně ?iroká), nap?. TSOP1736, TSOP4836, TSOP31236, SFH5110-36, OSRB38C9BA, OSRB38C9AA, TSOP4838, TSOP34838 nebo SFH5110-38. Integrovany p?ijíma? p?ijímá, zesiluje a demoduluje infra?erveny signál, má zabudovanou automatickou regulaci citlivosti a potla?ení okolního světla, pásmovou propust, demodulátor a tvarovací obvod s TTL vystupem. V?echny vyjmenované mají maximum citlivosti p?i 940-950 nm. Tomu také musí odpovídat vysílací LED. ?asto se vyskytující typy jako nap?. 850nm jsou nevhodné! Mně se nejvíce osvěd?il p?ijíma? OSRB38C9BA (lep?í citlivost v porovnání s testovanymi TSOP1736 a SFH5110-38). Vystup p?ijíma?e je vyhodnocen mikroprocesorem IO2. Ten vyhodnocuje p?ijímany signál a pokud p?ijme 2x za sebou stejny kód a shodují se i kontrolní bity, 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 16x. 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ájecí 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 IO3. Ten je dle typu cca 0,5 - 5mA. IO2 odebírá v klidu cca 25uA. Pokud se relé napájejí z jiného napětí, m??e byt napájecí napětí p?ijíma?e i ni??í, ne? 5V. Spodní hranice napětí je omezena zejména IO3. Nap?. v p?ípadě OSRB38C9BA je to 2,7V. IO2 za?íná pracovat p?i napětí 1,7 - 2V, typicky 1,8V (BOD je nastaven na 110). 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 T3 a p?ípadně R4 (je mo?no pou?ít i MOSFET-N). Typické zapojení vyvod? IO3 je na obr. 1, av?ak pro Vá? konkrétní typ raději nahlédněte do jeho datasheetu. Kondenzátor C4 umístěte co nejblí?e IO2.
    Dosah:
Dosah zále?í zejména na typu a proudu LED1 a typu p?ijíma?e IO3. Vysílací IR LED se li?í zejména svym celkovym zá?ivym tokem (mě?eno v mW), zá?ivostí (mě?eno v mW/sr) a vysílacím úhlem. D?le?ity je i max. proud LED. Nutno je také dodat, ?e zá?ivy tok a zá?ivost r?znych LED m??e byt v datasheetu udávána p?i r?zném proudu! Maximální mo?ny dosah p?i dobrém nasměrování je dán zá?ivostí. LED se stejnym zá?ivym tokem, ale men?ím úhlem, má vět?í zá?ivost a naopak. V p?ípadě LED s men?ím úhlem je je v?ak nasměrování vysíla?e kriti?těj?í. Na men?í vzdálenosti se signál p?ená?í i odrazy od objekt? a nezále?í tedy p?íli? na nasměrování. Pokud není vysíla? nasměrován, závisí dosah zejméne na zá?ivém toku. Já jsem jako IR p?ijíma? zvolil OSRB38C9BA. Jako vysílací LED jsem testoval 4 typy. Největ?í dosah, cca 45m, lze získat s diodami TSAL6100 a TSAL5100. Diody TSAL6200 a TSAL5300 poskytují dosah cca 30m, ale jsou méně kritické na nasměrování.
    Poznámka: Program je ur?en pro ATTiny2313A. Na starych typech ATTiny2313 a ATTiny2313V nemusí fungovat - některé jejich vyvody nejsou vybaveny funkcí PCINT.

     Pozor! Pokud za?ízení spíná sí?ové napětí nebo jiné nebezpe?né napětí, je nutno s ním zacházet odpovídajícím zp?sobem. P?i ?patné konstrukci za?ízení se m??e nebezpe?né napětí dostat do v?ech jeho ?ástí. V?e děláte jen na vlastní nebezpe?í a zodpovědnost.

Cely program ke sta?ení:
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 (396 Bajt?)
p?elo?eny program p?ijíma?e v HEX souboru (422 Bajt?)
Zapisování programu do AVR se podrobněji věnuji zde.

P?ípadnym zájemc?m mohu naprogramované mikroprocesory poslat. Více info zde.


Obr. 1 - Schéma jednoduchého 16-kanálového dálkového ovládání s ATtiny2313A.


Obr. 2 - Schéma vykonového spína?e s relé. P?i vyu?ití v?ech 16ti kanál? postavit 16x.


Obr. 3 - Pr?běh signálu (tla?ítko 2 - binární kód 0001).


Nastavení konfigura?ních bit? vysíla?e


Nastavení konfigura?ních bit? p?ijíma?e


P?ijíma? dálkového ovládání v kontaktním poli


Infra?ervené vysílací LED.


R?zné p?ijíma?e pou?itelné jako IO3.



P?idáno: 7. 11. 2012
zpět na úvodní stránku
手机捕鱼游戏