• IR dálkové ovládání. IR dálkové ovládání. Teorie řízení

    Infračervené dálkové ovládání je jedním z nejvíce jednoduchými způsoby interakce s elektronickými zařízeními. Téměř v každém domě je několik takových zařízení: TV, hudební centrum, video přehrávač, klimatizace. Ale nejzajímavější aplikací infračerveného dálkového ovládání je dálkové ovládání robota. Ve skutečnosti se v této lekci pokusíme implementovat takový způsob ovládání pomocí oblíbeného ovladače Arduino Uno.

    1. IR dálkové ovládání

    Co je potřeba k tomu, aby se robot naučil poslouchat infračervené (IR) dálkové ovládání? Nejprve potřebujeme samotné dálkové ovládání. Můžete použít běžný TV ovladač, nebo si můžete pořídit miniaturní ovladač k autorádiu. Právě tyto dálkové ovladače se často používají k ovládání robotů.

    Tento dálkový ovladač má 10 digitálních tlačítek a 11 tlačítek pro manipulaci s hudbou: hlasitost, převíjení vzad, přehrávání, zastavení atd. Pro naše účely více než dost.

    2. IR senzor

    Za druhé, pro příjem signálu z dálkového ovládání potřebujeme speciální IR senzor. Obecně můžeme infračervené záření detekovat běžnou fotodiodou/fototranzistorem, ale na rozdíl od něj náš IR senzor detekuje pouze infračervený signál o frekvenci 38 kHz (někdy 40 kHz). Je to tato vlastnost, která umožňuje senzoru ignorovat spoustu cizího světelného šumu z osvětlovacích lamp a slunce.

    Pro tento tutoriál použijeme oblíbený IR senzor. VS1838B, který má následující vlastnosti:

    • nosná frekvence: 38 kHz;
    • napájecí napětí: 2,7 - 5,5 V;
    • proudový odběr: 50 uA.

    Lze použít i jiné senzory, např.: TSOP4838, TSOP1736, SFH506.

    3. Připojení

    Snímač má tři výstupy (tři nohy). Pokud se podíváte na snímač ze strany přijímače IR signálu, jak je znázorněno na obrázku,

    • pak vlevo bude - výstup do ovladače,
    • uprostřed - záporný silový kontakt (zem),
    • a vpravo - kladný napájecí kontakt (2,7 - 5,5 V).

    Hlavní schéma zapojení

    Vzhled rozložení

    4. Program

    Připojením IR senzoru napíšeme program pro Arduino Uno. K tomu používáme standardní knihovnu IRvzdálený, který je určen právě pro zjednodušení práce s příjmem a přenosem IR signálů. S pomocí této knihovny budeme přijímat příkazy z konzole a pro začátek je stačí zobrazit v okně monitoru sériový port. Tento program je pro nás užitečný, abychom pochopili, jaký kód poskytuje každé tlačítko.

    #include "IRremote.h" IRrecv irecv(2); // specifikuje výstup, ke kterému je připojen přijímač decode_results results; void setup() ( Serial.begin(9600); // set Rychlost COM port irecv.enableIRIn(); // začít přijímat ) void loop() ( if (irrecv.decode(&results)) ( // pokud data přišla v Serial.println(results.value, HEX); // tisk dat irecv.resume(); // přijmout další příkaz))

    Načítání programu na Arduino. Poté se pokusíme přijímat příkazy z konzole. Otevřete monitor sériového portu (Ctrl+Shift+M), zvedněte dálkový ovladač a namiřte jej na senzor. Stisknutím různých tlačítek sledujeme v okně monitoru kódy odpovídající těmto tlačítkům.

    Problém se stahováním programu

    V některých případech se při pokusu o stažení programu do ovladače může objevit chyba:

    TDK2 nebyl prohlásil V jeho působnosti

    Chcete-li to opravit, stačí odstranit dva soubory ze složky knihovny. Jdeme k dirigentovi. Přejděte do složky, kde je aplikace nainstalována Arduino IDE(s největší pravděpodobností je to "C:\Program Files (x86)\Arduino"). Poté do složky knihovny:

    …\Arduino\libraries\RobotIRremote

    A smazat soubory: IRremoteTools.cpp A IRremoteTools.h. Poté restartujeme Arduino IDE a znovu se pokusíme nahrát program do řadiče.

    5. Ovládejte LED pomocí IR dálkového ovladače

    Nyní, když víme, které kódy odpovídají tlačítkům na dálkovém ovladači, pokoušíme se naprogramovat ovladač tak, aby zapínal a vypínal LED při stisknutí tlačítek hlasitosti. K tomu potřebujeme kódy (mohou se lišit v závislosti na dálkovém ovladači):

    • FFA857 - zvyšte hlasitost;
    • FFE01F - snížení hlasitosti.

    Jako LED používáme vestavěnou LED na kolíku #13, takže schéma zapojení zůstane stejné. Takže program:

    #include "IRremote.h" IRrecv irecv(2); // specifikuje výstup, ke kterému je připojen přijímač decode_results results; void setup() ( irecv.enableIRIn(); // zahájení příjmu ) void loop() ( if (irrecv. decode(&results)) ( // pokud data přišla do přepínače (hodnota výsledků) (case 0xFFA857: digitalWrite (13, HIGH); break; case 0xFFE01F: digitalWrite(13, LOW); break; ) irecv.resume(); // přijměte následující příkaz) )

    Nahrajte do Arduina a otestujte. Klikněte vol+- LED svítí. Klikněte vol-- jde ven. Nyní, když víte, jak to všechno funguje, můžete místo LED ovládat motory robota nebo jiná podomácku vyrobená mikroelektronická zařízení!

    Ahoj všichni! Zde si povíme, jak udělat co nejjednodušší IR ovládání (). Tento okruh můžete dokonce ovládat běžným dálkovým ovladačem televizoru. Hned varuji, vzdálenost není velká - asi 15 centimetrů, ale i takový výsledek potěší začátečníka v práci. U podomácku vyrobeného vysílače se dosah zdvojnásobí, to znamená přibližně o dalších 15 centimetrů. Dálkový ovladač je vyroben jednoduše. IR LED připojíme k 9voltové "koruně" přes odpor 100-150 ohmů, při nastavování běžné tlačítko bez upevnění přilepíme k baterii elektrickou páskou, přičemž elektrická páska by neměla rušit infračervené záření IR LED.

    Fotografie ukazuje všechny prvky, které potřebujeme k sestavení obvodu

    1. Fotodioda (možná je téměř jakákoli)
    2. Rezistor pro 1 ohm a pro 300-500 ohmů (Pro přehlednost jsem na fotografii dal odpory na 300 a 500 ohmů)
    3. Trimrový odpor 47 kohm.
    4. Tranzistor KT972A nebo podobný v proudu a struktuře.
    5. Lze použít jakoukoli nízkonapěťovou LED.

    Schematické schéma přijímače IR ovládání na jednom tranzistoru:


    Začněme vyrábět fotodetektor. Jeho schéma bylo převzato z jedné referenční knihy. Nejprve si desku nakreslete permanentním fixem. Dá se to ale udělat i se sklopnou montáží, ale je vhodné to udělat na textolit. Moje deska vypadá takto:


    Nyní samozřejmě přistoupíme k pájení prvků. Pájení tranzistoru:



    Připájeme rezistor 1 kOhm (Kilohm) a trimovací rezistor.


    A nakonec připájeme poslední prvek - jedná se o odpor 300 - 500 Ohm, já nastavil 300 Ohm. Zveřejnil to s opačná strana tištěný spoj, protože mi to nedovolil připjať zepředu, kvůli jeho mutačním tlapkám =)


    Celé to čistíme kartáčkem na zuby a lihem, abychom smyli zbytky kalafuny. Pokud je vše sestaveno bez chyb a fotodioda funguje, bude fungovat okamžitě. Video ze stavby v akci si můžete prohlédnout níže:

    Na videu je vzdálenost malá, protože bylo nutné dívat se na kameru a na dálkové ovládání zároveň. Nemohl jsem proto zaostřit směr dálkového ovladače. Pokud dáte místo fotodiody fotorezistor, bude reagovat na světlo, osobně ověřeno, citlivost je ještě lepší než u původních obvodů fotorezistoru. Do obvodu jsem přivedl 12v, funguje to dobře - LED svítí jasně, jas a citlivost fotorezistoru jsou upraveny. Aktuálně podle tohoto schématu vybírám prvky tak, abych mohl napájet IR přijímač od 220 voltů a výstup na žárovku byl také 220V. Děkuji za poskytnuté schéma: thehunteronghosts . Materiál poskytl:

    Nejmodernější domácnost elektronické vybavení má dálkové ovládání, které využívá infračervené (IR) záření jako způsob přenosu informací. IR datový kanál se používá v některých zařízeních námi vyráběného systému.

    Princip IR přenosu informací

    Infračervené nebo tepelné záření je elektromagnetická radiace, který vyzařuje jakékoli těleso zahřáté na určitou teplotu. IR oblast leží v oblasti spektra nejblíže viditelnému světlu, v jeho dlouhovlnné části, a zaujímá oblast od přibližně 750 nm do 1000 μm. Infračervené záření tvoří většinu záření vyzařovaného žárovkami, asi polovinu záření ze Slunce. Optické vlastnosti látek v infračerveném záření se liší od jejich vlastností ve viditelném světle. Některá skla jsou například neprůhledná pro infračervené paprsky a parafín na rozdíl od viditelného světla propouští infračervené záření a používá se k výrobě infračervených čoček. K jeho registraci se používají tepelné a fotoelektrické přijímače a speciální fotografické materiály. Zdrojem IR paprsků jsou kromě zahřátých těles nejčastěji používané pevnolátkové zářiče - IR lasery, k registraci se používají fotodiody, forotesistory nebo bolometry. Některé vlastnosti infračerveného záření jej činí vhodným pro použití v zařízeních pro přenos dat:

    • IR polovodičové zářiče (IR LED) jsou kompaktní, téměř bez setrvačnosti, ekonomické a levné.
    • IR přijímače jsou malé a také levné
    • IR paprsky neodvádějí pozornost člověka díky své neviditelnosti
    • Navzdory rozšířenosti IR paprsků a vysoká úroveň"pozadí", je v IR oblasti málo zdrojů impulsního šumu
    • IR záření s nízkým výkonem neovlivňuje lidské zdraví
    • IR paprsky se dobře odrážejí od většiny materiálů (stěny, nábytek)
    • IR záření neproniká stěnami a neruší činnost jiných podobných zařízení

    To vše umožňuje úspěšně využívat IR metodu přenosu informací v mnoha zařízeních. IR vysílače a přijímače se používají ve spotřební a průmyslové elektronice, počítačová technologie, zabezpečovací systémy, systémy přenosu dat na velké vzdálenosti přes optické vlákno. Podívejme se podrobněji na provoz řídicích systémů spotřební elektroniky (dálkových ovladačů).

    Po stisknutí tlačítka IR dálkové ovládání vyšle kódovanou zprávu a přijímač nainstalovaný v ovládaném zařízení ji přijme a provede požadované akce. Aby bylo možné přenést logickou sekvenci, dálkové ovládání generuje pulsní paket IR paprsků, jehož informace je modulována nebo kódována délkou nebo fází pulsů, které paket tvoří. První řídicí zařízení používala sekvence krátkých impulsů, z nichž každý byl součástí užitečné informace. V budoucnu však začali používat metodu modulace konstantní frekvence s logickou posloupností, v důsledku čehož nejsou do prostoru vysílány jednotlivé pulzy, ale balíčky pulzů o určité frekvenci. Data jsou již přenášena zakódovaná s dobou trvání a polohou těchto frekvenčních shluků. IR přijímač přijme takovou sekvenci a provede demodulaci pro získání obálky. Tento způsob vysílání a příjmu se vyznačuje vysokou odolností proti rušení, protože přijímač naladěný na frekvenci vysílače již nereaguje na rušení s jinou frekvencí. Pro příjem IR signálu se dnes obvykle používá speciální mikroobvod kombinující fotodetektor, zesilovač s pásmovou propustí naladěnou na určitou nosnou frekvenci, zesilovač s AGC a detektor pro získání obálky signálu. Kromě elektrického filtru obsahuje takový mikroobvod optický filtr naladěný na frekvenci přijímaného IR záření, což umožňuje v maximální míře využít LED zářič, jehož emisní spektrum má malou šířku. . V důsledku takového technická řešení bylo možné přijímat užitečný signál s nízkou spotřebou na pozadí IR záření z jiných zdrojů, domácí přístroje, radiátory topení atd. Práce moderní zařízení IR ovládání je poměrně spolehlivé a dosah je od několika metrů do 40 metrů nebo více, v závislosti na implementaci a úrovni rušení.

    Vysílač IR signálu

    Vysílač IR signálu, IR dálkový ovladač, je nejčastěji napájen z baterie nebo akumulátoru. Proto by jeho spotřeba měla být co nejnižší. Na druhé straně musí mít vysílaný signál značný výkon, aby bylo zajištěno dlouhý dosah přenos. Takové problémy, které jsou opačné z hlediska nákladů na energii, jsou úspěšně řešeny metodou přenosu krátkých pulzně kódovaných paketů. Mezi přenosy nespotřebovává dálkové ovládání prakticky žádnou energii. Úkolem dálkového ovladače je dotazovat se na tlačítka klávesnice, kódovat informace, modulovat referenční frekvenci a vydávat signál do vysílače. Pro výrobu konzol, různé specializované mikroobvody pro tyto účely však lze použít i moderní univerzální mikrokontroléry jako AVR nebo PIC. Hlavním požadavkem na takové mikrokontroléry je dostupnost režimu spánku s extrémně nízkou spotřebou energie a schopnost cítit stisknutí tlačítek v tomto stavu.

    Zářič IR signálu vysílá infračervené paprsky působením budícího proudu. Proud do emitoru obvykle přesahuje možnosti mikrokontroléru, proto je pro generování požadovaného proudu instalován ten nejjednodušší na jeden tranzistor. Pro snížení ztrát je třeba při výběru tranzistoru věnovat pozornost jeho aktuálnímu zesilovacímu faktoru - β nebo h21. Čím vyšší je tento koeficient, tím vyšší je účinnost zařízení. Moderní vysílače používají polní nebo CMOS tranzistory, jejichž účinnost na používaných frekvencích lze považovat za limitující.

    Výše uvedené schéma není bez nevýhod, zejména když se úroveň nabití baterie sníží, výkon záření klesne, což povede ke snížení dosahu. Chcete-li snížit závislost na napájecím napětí, můžete použít nejjednodušší stabilizátor proudu.

    Většina vysílačů pracuje na frekvenci 30 - 50 kHz. Tento frekvenční rozsah byl zvolen historicky při vytváření prvního podobná zařízení. Byla vybrána oblast s nejnižší úrovní rušení. Navíc omezení na elementová základna. V budoucnu, jak se zařízení s takovým způsobem řízení standardizovalo a distribuovalo, se přechod na jiné frekvence stal nevhodným.

    Aby se zvýšil pulzní výkon vysílače a tím i jeho dosah, signál základní frekvence se liší od meandru a má pracovní cyklus 3 - 6. Pulzní výkon se tedy zvyšuje při zachování nebo dokonce snížení střední výkon. Impulzní proud LED je vybrán na základě jeho pasových hodnot a může dosáhnout jednoho nebo více ampérů. Pulzní proud u většiny IR dálkových ovladačů nepřesahuje 100 mA. V tomto případě, protože referenční frekvence má také nízký pracovní cyklus a doba trvání kódované zprávy nepřesahuje 20-30 ms, průměrný proud při stisknutí tlačítka nepřesáhne jeden miliampér. Vyzdvihnout impulsní proud LED je spojena se snížením účinnosti a snížením životnosti. Moderní infračervené LED mají účinnost 100-200 mW vyzářené energie při proudu 50 mA. Přípustný průměrný proud by neměl překročit 10-20 mA. Zdroj LED musí mít RC filtr, který snižuje vliv impulsního šumu na napájení mikrokontroléru. Rozsah LED diod používaných pro IR dálkové ovladače většiny domácích zařízení má maximum v oblasti 940 nm.

    Doba trvání jednoho paketu referenční frekvence pro sebevědomé přijetí není kratší než 12-15 a ne více než 200 period. Při vysílání kódované zprávy tvoří vysílač na začátku preambuli, což je jeden nebo více paketů referenční frekvence a umožňuje přijímači nastavit požadovaný zisk a úrovně pozadí. Data v zakódovaném balíčku jsou přenášena jako nuly a jedničky, které jsou určeny dobou trvání nebo fází (vzdálenost mezi sousedními pakety). Celková doba trvání zakódované zprávy se nejčastěji pohybuje od několika bitů po několik desítek bytů. Pořadí sekvence, znaménko začátku a množství dat je určeno formátem zprávy.

    Přijímač IR signálu

    Přijímač IR signálu zpravidla obsahuje samotný přijímač IR záření a mikrokontrolér. Mikrokontrolér dekóduje přijatý signál a provede požadované akce. Vzhledem k tomu, že přijímač je ve většině případů instalován v zařízení s napájení ze sítě, jeho spotřeba není podstatná. Mikrokontrolér nejčastěji provádí jiné servisní funkce v zařízení a je jeho centrálním logickým zařízením.

    Přijímač IR záření se nejčastěji vyrábí ve formě samostatného integrovaného modulu, který je umístěn za předním panelem ovládaného zařízení. Přední panel má průhledné okénko pro IR paprsky. Takový mikroobvod má zpravidla tři výstupy - výkon, společný a signální výstup. Výrobci elektronické komponenty nabídka přijímačů IR signálu různé typy a provedení. Princip jejich práce je však podobný. Uvnitř takového mikroobvodu je:

    • fotodetektor - fotodioda
    • integrující zesilovač, který extrahuje užitečný signál na úrovni pozadí
    • omezovač, který přivede signál na logickou úroveň
    • pásmová propust naladěná na frekvenci vysílače
    • demodulátor - detektor, který extrahuje obálku užitečného signálu.

    Pouzdro takového přijímače je vyrobeno z materiálu, který funguje jako přídavný filtr, který přenáší infračervené paprsky určité vlnové délky. Moderní integrované přijímače umožňují přijímat užitečný signál na úrovni pozadí přesahující ji několik desítekkrát a zároveň cítit frekvenční shluky, které mají pouze 4 až 5 period.

    Přijímač záření musí být napájen RC filtrem pro zvýšení citlivosti. Mikrokontrolér vytváří na napájecích vedeních široký rozsah rušení, které může ovlivnit činnost přijímače.

    IR přenosové formáty

    Různí výrobci domácích spotřebičů používají ve svých produktech různé IR dálkové ovladače. Protože dálkový ovladač by měl komunikovat pouze s konkrétní zařízení generuje datovou sekvenci, která je jedinečná pro daný typ zařízení. Přenášená data obsahují kromě vlastního řídicího příkazu adresu zařízení, testovací data a další servisní informace. Navíc používají různí výrobci různé cesty sekvenování dat a různé způsoby přenosu logických stavů. Nejběžnější způsoby kódování informačních bitů jsou změna délky pauzy mezi pakety (intervalová metoda) a kódování kombinací stavů (dvoufázová metoda). Existují však způsoby, jak zakódovat bity informací podle trvání, kombinace trvání a pauzy atd. Nejběžnější formáty přenosu.

    Historie dálkového ovládání

    Jeden z prvních příkladů zařízení na dálkové ovládání vynalezl a patentoval Nikola Tesla v roce 1893.

    První televizní dálkový ovladač byl vyvinut americkou společností Společnost Zenith Radio Corporation na počátku 50. let 20. století. K televizi byl připojen kabelem. V roce 1955 bylo vyvinuto bezdrátové dálkové ovládání. Flashmatic, založené na vysílání paprsku světla ve směru fotobuňky. Fotobuňka bohužel nedokázala rozlišit světlo z dálkového ovládání od světla z jiných zdrojů. Navíc bylo požadováno namířit dálkový ovladač přesně na přijímač.

    Dálkové ovládání Zenith Space Commander 600

    Univerzální dálkový ovladač Harmonie 670

    Válčení

    • V první světové válce německé námořnictvo používalo k boji s pobřežní flotilou speciální čluny. Byly poháněny spalovacími motory a ovládané na dálku z pobřežní stanice.

    kabelem dlouhým několik mil, přivázaným k cívce na lodi. Letoun sloužil k jejich přesnému navádění. Tyto čluny nesly na přídi velkou výbušnou nálož a ​​jely rychlostí 30 uzlů.

    • Dělnicko-rolnická Rudá armáda používala dálkově ovládané tanky v sovětsko-finské válce v letech 1939-1940 a na začátku Velké vlastenecké války. Teletank byl řízen rádiem z řídícího tanku na vzdálenost 500-1500 m, čímž byla získána telemechanická skupina. Rudá armáda postavila na začátku druhé světové války nejméně dva teletankové prapory. Rudá armáda měla také dálkově ovládané čluny a experimentální letadla. Mezitím byly německé tankové prapory kompletně rádiově vybaveny, každý tank měl na palubě vysílačku, což ukazuje na obrovskou převahu německé techniky a průmyslu do začátku války.
    • Podrobné informace o použití dálkového ovládání pro speciální účely v naší době jsou většinou utajované

    Letectví

    Téměř veškerá avionika a další palubní vybavení letadla je ovládáno pomocí dálkových ovladačů v kokpitu, dálkové ovládání je k dispozici i v pozemní výbavě

    Vodní doprava

    Značná část vybavení lodi je ovládána dálkovým ovládáním

    Železnice a metro

    Dálkové ovladače se používají k ovládání vlakového zařízení, traťového zařízení, staničního zařízení (eskalátor, osvětlení atd.)

    Průmyslová výroba a stavebnictví

    Některé typy průmyslových a stavebních zařízení lze ovládat pomocí dálkového ovladače

    Výzkumné a výrobní technické laboratoře

    Některé typy laboratorních zařízení jsou ovládány dálkovým ovládáním

    Prostor

    • Technologie dálkového ovládání byla také použita při průzkumu vesmíru. Sovětský Lunochod byl dálkově řízen ze Země. Přímé dálkové ovládání kosmických lodí na delší vzdálenosti je nepraktické kvůli rostoucímu zpoždění signálu.
    • V kabině astronautů jsou dálkové ovládací panely pro ovládání zařízení a motorů kosmické lodi.

    Komunikační a jiné systémy informačních technologií

    Dálkové ovládání mohou mít opakovače, rádiové majáky, stejně jako komunikační rádiové stanice, radary a další systémy

    Energetický průmysl

    V elektroenergetice se jednotky dálkového ovládání používají k ovládání zařízení energetického systému a řízení spotřeby energie

    Děj aneb „Jak zařízení začalo“

    …Když jsem dorazil, Victoria seděla na gauči a zírala na televizi. Den byl těžký, tak se jí nechtělo nic dělat. Několik minut jsme sledovali nějaký popový seriál, pak to skončilo a Vika vypnula televizi. Místnost potemněla. Venku pršelo, takže i doma se zdálo být chladno.
    Vika vstala z pohovky a začala hmatem hledat vypínač od lampy. Nástěnná lampa z nějakého důvodu nevisela u pohovky, ale na jiné stěně, a já jsem musel dupat přes pokoj, abych rozsvítil světlo. Když ji konečně rozsvítila, místnost byla naplněna teplým světlem žárovky.
    Vedle mě na zmuchlaném prostěradle ležel ovladač od televize. Spodní tlačítka jsou neoznačená a s největší pravděpodobností se nepoužívají. A pak mě napadla zajímavá myšlenka...
    - Vic, chceš, abych ti rozsvítil lampu dálkovým ovladačem z krabice? Jsou tam i tlačítka navíc...

    Pojem
    Naše zařízení musí být schopno přijímat signál z IR dálkového ovládání, odlišit „své“ tlačítko od ostatních a ovládat zátěž. První a poslední bod je jednoduchý jako sekera. Ten druhý je ale o něco zajímavější. Rozhodl jsem se, že nebudu omezen na žádné konkrétní dálkové ovládání (Proč? - „Není zajímavé!“), ale vytvořím systém, který bude fungovat různé modely dálkové ovládání od různé vybavení. Jen kdyby se IR přijímač nevzdal a s jistotou zachytil signál.

    Signál zachytíme pomocí fotodetektoru. A ne každý přijímač je vhodný – nosná frekvence musí odpovídat frekvenci dálkového ovladače. Nosná frekvence přijímače je uvedena v jeho označení: TSOP17xx - 17 je model přijímače a xx je frekvence v kilohertzech. A nosnou frekvenci dálkového ovládání lze nalézt v dokumentaci nebo na internetu. V zásadě bude signál přijat, i když se frekvence neshodují, ale citlivost bude na hovno - musíte dálkové ovládání strčit přímo do přijímače.

    Každá společnost vyrábí domácí přístroje, je nucena dodržovat normy při výrobě „železa“. A modulační frekvence konzolí jsou také standardní. Vývojáři ale vycházejí ze softwarové stránky – rozmanitost protokolů výměny mezi dálkovým ovládáním a zařízením je prostě úžasná. Proto jsem musel přijít s univerzálním algoritmem, který se nestará o protokol výměny. Funguje to takto:

    Paměť zařízení se ukládá kontrolní body. Pro každý takový bod je potřeba zaznamenat čas a stav výstupu z IR přijímače - 0 nebo 1.
    Při příjmu signálu z dálkového ovládání MK zkontroluje postupně každý bod. Pokud se všechny body shodovaly, pak se jednalo o stejné tlačítko, pro které bylo zařízení naprogramováno. A pokud se výstup z přijímače alespoň v jednom bodě neshoduje se šablonou, tak zařízení nebude nijak reagovat.

    Chyby však nikdo nezrušil! Je možné, že se signál bude lišit od šablony, ale
    v kontrolních bodech budou hodnoty stejné. Ukazuje se falešný poplach. Zdálo by se - vzácné zapadlo a je těžké s ním bojovat! Ale ve skutečnosti není všechno tak špatné (a místy i dobré).

    Za prvé, máme digitální signál, což znamená, že impulsy přicházejí s konstantním zpožděním (časováním) a prostě nevznikají. Pokud jsou tedy body dostatečně husté, nemůžete se bát, že by nějaký impuls chyběl.

    Za druhé, malý šum (obvykle vypadá jako vzácné krátké impulsy) ve většině případů jde jako les - protože pokud nedopadne přímo na řídicí bod, nic neovlivní systém. Máme tedy přirozenou ochranu proti hluku.

    Druhý typ chyby (alias Command Missing) je způsoben tím, že bod je umístěn příliš blízko okraje pulsu (k místu, kde signál na výstupu z přijímače mění svou úroveň).
    Představte si, že několik mikrosekund po bodu přerušení by se měl signál změnit z VYSOKÉHO na NÍZKÝ. Nyní si představte, že konzole vydala příkaz o něco rychleji než obvykle (stává se to poměrně často). Čelo impulsu se posunulo v čase a nyní se vyskytuje PŘED kontrolním bodem! Výstup z přijímače neodpovídá vzoru a systém bude resetován.
    Abyste tomu zabránili, musíte umístit kontrolní body mimo čela.

    "Všechno je v pohodě," říkáte, "Ale kde získám kontrolní body?". Tak na tomhle jsem se zasekl už dlouho. V důsledku toho jsem se rozhodl svěřit umístění bodů vám.
    Zařízení má propojku J1. Pokud je při zapnutí zavřený, zařízení bude hloupě vysílat vše, co IR přijímač vyvede přes UART. Na druhé straně drátu jsou tato data přijímána mým programem, který zobrazuje impulsy z TSOP na obrazovce počítače. Stačí myší rozházet kontrolní body na tomto grafu a uložit je do EEPROM. Pokud neexistuje způsob, jak použít UART, pak propojka J2 přichází na záchranu. Když je zavřený, zařízení nevydává data přes UART, ale přidává je do EEPROM.


    Systém
    Jednoduché až ošklivé. Jako ovladač jsem vzal ATTiny2313. Frekvence 4 megahertz, z quartz, nebo vnitřní RC řetězec.
    Linky RX a TX pro komunikaci a napájení jsou vyvedeny do samostatného konektoru. Tam je také zobrazeno - RESET, aby bylo možné přeflashovat MK bez vyjmutí ze zařízení.
    Výstup fotodetektoru je připojen na INT0, je napájen přes rezistor 33k. Pokud je silné rušení, tak tam můžeš dát menší rezistor např. 10k.
    Na pinech D4 a D5 jsou propojky. Jumper1 až D5 a Jumper2 až D4.

    Na pin D6 je připojen napájecí modul. Navíc jsem vzal nejmenší z těch, které jsem měl - BT131. Jeho proud je 1A - není v pohodě, ale pouzdro není příliš velké - TO92. Pro malou zátěž to stačí. Udělal jsem optočlen na MOC3023 - nemá snímač průchodu nulou, což znamená, že je vhodný pro plynulé ovládání zatížení (zde jsem to neimplementoval).

    Port B je téměř celý vyveden na konektor - lze tam připojit indikátor nebo něco jiného. Stejný konektor používám i při flashování zařízení. Pin B0 je obsazen LED.

    Celé je to napájeno přes LM70L05 a diodový můstek. To znamená, že můžete vstoupit střídavé napětí, například z transformátoru. Hlavní věc je, že nepřesáhne 25 voltů, jinak zemře stabilizátor nebo konder.

    Platba je takto:


    Ano, je mírně odlišná od desky, která je v archivu. Ale to neznamená, že jsem ze sebe udělal uber-pokročilou desku a podstrčil vám demo verzi :). Naopak moje deska má pár nedostatků, které ve finální verzi nejsou: na pinu nemám pin RESET a LED visí na PB7. A to není příliš příznivé pro in-circuit programování.

    Firmware
    Zařízení může pracovat ve dvou režimech. V prvním - když je J2 zavřený - jednoduše vysílá impulsy z fotodetektoru do UART. Začněme tím:

    UART pracuje na rychlosti 9600, tedy na frekvenci 4 MHz zapisujeme 25 do registru UBRR.

    ... počkáme, až noha fotodetektoru škubne. Jakmile spadne (zpočátku visí na pull-up rezistoru), spustíme časovač (TIMER / COUNTER1, ten se 16 bity) a zapneme přerušení INT0 pro jakoukoli změnu na vstupu - jakákoli logická změna (ICS00 = 1). Časovač tiká... čekáme.

    Impulz z dálkového ovládání skončil - výstup z fotodetektoru vystřelil nahoru, přerušení fungovalo. Nyní zapíšeme hodnotu časovače do paměti a vynulujeme časovač. Musíte také zvýšit ukazatel zápisu, abyste mohli v příštím přerušení zapisovat na jiné místo v paměti.

    Další impuls...škubnutí výstupu...přerušení...zápis hodnoty časovače do paměti...resetování časovače...ukazatel + 2 (zapisujeme dva bajty najednou)...

    A tak to bude pokračovat, dokud nebude jasné, že konec (RAM) se blíží. Nebo dokud signál neskončí. V každém případě zastavíme časovač a zakážeme přerušení. Potom pomalu vyhodíme vše, co jsme nasbírali, do UARTu. Nebo, pokud je J2 zavřený - v EEPROM.

    Na konci se můžete otupit nekonečný koloběh a počkejte na reset - mise je dokončena.
    A výstupem bude posloupnost čísel. Každá z nich je doba mezi změnami stavu výstupu TSOP. Když víme, jak tato sekvence začala (A my víme! Toto je přechod z VYSOKÉHO do NÍZKÉHO), můžeme obnovit celý obrázek:

    Po inicializaci sedíme a čekáme, až TSOP škubne. Jakmile se tak stalo, načteme první bod z EEPROM a v jednoduchém cyklu otupíme tolik, kolik je tam napsáno. V tomto případě uvažujeme čas v balíčcích po 32us. Když vycházíme ze strnulosti, zkontrolujeme - na výstupu přijímače je něco.

    Pokud výstup neodpovídal tomu, co jsme očekávali, není to náš tým. Můžete klidně počkat na konec signálu a začít znovu.

    Pokud výstup odpovídá našemu očekávání, načteme další bod a zkontrolujeme jej. Takže dokud nenarazíme na bod, jehož čas = 0. To znamená, že už žádné body nejsou. Takže celý tým se shodoval a vy můžete táhnout náklad.

    Ukazuje se tedy, že jde o jednoduchý algoritmus. Ale čím jednodušší, tím spolehlivější!

    Softina
    Nejprve mě napadlo udělat šablonu automaticky. To znamená, že zavřete propojku, píchnete dálkové ovládání do TSOP a MK sám nastaví kontrolní body a přidá je do EEPROM. Pak se ukázalo, že nápad byl šílený: víceméně adekvátní algoritmus by se ukázal být příliš komplikovaný. Nebo to nebude univerzální.

    Druhým nápadem byl program pro počítač, ve kterém si můžete sami nastavit kontrolní body. Ne příliš technologicky vyspělé, ale cokoli je lepší než svěřit tento obchod MK.


    Naučíme zařízení reagovat na požadované tlačítko na dálkovém ovladači:

    1) Uzavřeme propojku J1.

    2) Připojte UART. Pokud není možné jej připojit, zavřeme propojku J2. Poté zařízení vyhodí data v EEPROM.

    3) Zapněte napájení.

    4) Pokud se rozhodneme použít UART, pak spustíme software a podíváme se na stavový řádek (ve spodní části okna). Mělo by to říkat " COM port OTEVŘENO." Pokud není napsáno, hledáme zásek ve spojení a stiskneme tlačítko „Připojit“.

    5) Vezměte dálkové ovládání a šťouchněte požadované tlačítko v TSOP. Jakmile zařízení zjistí, že signál odešel, LED se rozsvítí. Ihned poté začne zařízení vysílat data přes UART (nebo zapisovat do EEPROM). Po skončení přenosu LED zhasne.

    6.1) Pokud pracujeme přes UART, tak stiskneme tlačítko "Stáhnout přes UART". A my se radujeme z nápisu „Nahrál jsem graf ...“ ve stavovém řádku.

    6.2) Pokud pracujeme přes EEPROM, tak paměť EEPROM načteme programátorem a uložíme do *. bin soubor. (Přesně bin!). Poté v programu stiskneme tlačítko „Load.bin“ a vybereme soubor z EEPROM.

    7) Podíváme se na načtený graf - to je signál z TSOP. Na postranním panelu je posuvník – můžete s ním měnit měřítko. Nyní šťouchneme myší do grafu - nastavíme kontrolní body. Body se smažou pravým tlačítkem. Jen je nedávejte příliš blízko k přední části. Ukazuje se něco takového:


    8) Klikněte na "Save.bin" a uložte body. Poté tento soubor flashneme do EEPROM. Protože čas mezi dvěma body vtěsnáme do 7 bitů, je omezen na 4 ms. Pokud čas mezi dvěma body překročí tuto hodnotu, program odmítne vložit body do souboru.

    9) Odstraňte propojky. Restartujeme zařízení. Připraveno!

    Testovací video