
				  - 1 -

  Tanthat, 8 digitlis, egy analg kimenet inframodul (INFRAMIC)
  

	 Sokszor merl fel igny arra, hogy egy elektronikus eszkz
    vezrlst, vagy egyszeren csak a ki/bekapcsolst infrs
    tvirnytssal szeretnnk megoldani.  Az ok lehet knyelmi, vagy
    technikai, amikor pl.  a krlmnyes dobozols, vagy a nehezen
    hozzfrhet elhelyezs miatt akarjuk a billentyzetet mellzni.  Csak
    nhny plda:  vilgts ki- s bekapcsolsa, garzskapu nyitsa,
    modellvezrls ...	Az elbbi problmkra adhat megoldst az
    ismertetsre kerl kapcsols.

	 Az ramkr tanthat, azaz a tvirnyt 10 billentyjnek a
    vezrlse oszthat ki a digitlis s analg kimenetekre.  Az ramkr a
    legtbb tvirnyt - TV/Video/Mholdvev stb.  - jelt kpes fogadni,
    dekdolni, s azzal a kimeneteket vezrelni.  Az ramkrrel egy -
    esetleg mr tnkrement - kszlk "megmaradt" tvvezrlje is
    hasznosthat.

	 Az inframodullal 10 billentyt lehet megtantani, ebbl nyolc a
    kimeneteket kapcsolgatja, kett a digit potit.

	 A digitlis kimenetek:
	 

	 A tanuls utn nyolc kapcsol billentyhz 2x8 kimenet tartozik,
    azaz egy-egy billenty kt kimenetet vezrel egyszerre.  Egyet a
    mikrokontroller RB0-7 portjbl, egyet pedig az IC6 (CD4094) Q1-8
    kimenetei kzl. (Pl. az egyes billentyhz az RB0, s a Q1 tartozik.)

	 Az RB0-7 porton egy - mr betantott bilenty - megnyomsa a
    tvvezrln a hozztartoz porton egy llapot vltst okoz, teht ha az
    adott kimenet eddig alacsony, most magas szint lesz, s fordtva.

	 Az IC6 (4094) Q1-8 kimenetei pedig egy kb. 1 msodperces alacsony
    impulzust adnak egy-egy billenty lenyomsra.  Teht ha pl.  megnyomjuk
    az 5-s gombot, akkor az RB4 llapotot vlt, a Q5 pedig kb.  1
    msodpercre alacsony szintre kapcsol.

	 (Hogy mirt lett gy kialaktva ? Mert a korbbi infrs
    kapcsolsoknl a felhsznlk ltal kapott visszajelzsek alapjn
    kiderlt, hogy a legtbben mint vlt kapcsol, vagy mint egy
    "nyomgombot", azaz egy pillanatra alacsony szintet ad
    vezrljel kimenetet szeretnnek, illetve ezek kombincijt, teht
    ebbl is prat, abbl is prat. Ezzel a kialaktssal mind
    a 8 kimenetnl vlaszthat melyik fajta legyen.)

	 Az RB0-7 portok 25 mA-el terhelhetek, a Q1-8 pedig a "szoksos"
    TTL kimenetek.

	 A mikrokontroller RB0-7 portja a CS1, a Q18 kimenet a CS2
    tskesoros csatlakozkra vannak kivezetve.	Ha minden kimenetet
    elrhetv akarunk tenni, akkor 20-as, ha csak az egyik fajta kimenetre
    van szksgnk akkor egy 10-es szalagkbel csatlakozt hasznljunk.

				  - 2 -

	 A digitlis potmter:
	 

	 Az MCP4010 egy 256 lpsben szablyozhat digitlis potmter.	A
    vezrlse a 9.-10.-knt beprogramozott billentykkel trtnik, a 9.  a
    lefel, a 10.-ik felfel nveli az ellenlls rtket.  (Taln egy
    tvirnyt Le/Fel billenty - hanger, csatornaszm - prost rdemes
    ide programozni.) A belltott rtk eltroldik, a kvetkez
    bekapcsolsnl az lesz az alaprtk.

	 A mikrokontroller s az EEPROM :
	 

	 Az ramkr egy PIC 16F873-as mikrokontroller kr pl fel,
    aminek 4 MHz-es rajelt az X1, C1, C2 biztostja.

	 Az IC2-es EEPROM-ot a program jelenelegi verzija nem hasznlja,
    annak beltetse felesleges. (A ksbbi fejlesztsekhez van
    fenntartva.)

	 Az L1 LED :
	 

	 Az L1 ktszn LED a norml hasznlat sorn az infrajel vtelekor
    felvillan.	Ha a modul szmra rtelmezhet a jelsorozat, akkor zld
    szinnel, ha nem, akkor piros szinnel.  A programozskor is szerepe van,
    ez ott rszletezve.

	 Az infra vev IC :
	 

	 A ma forgalomba lv tvirnytk jele a legtbbszr egy viv
    frekvencira ltetett impulzussorozat.  Azaz egy-egy hullmcsomag
    jelent egy-egy impulzust, a vezrl kdot pedig az egyes csomagok -
    impulzusok - tvolsga, szma rejti.  Ezt hvjk a PCM,  (Pulse Code
    Modulation) magyarul impulzuskd modulcinak.  A viv frekvencia a
    legtbbszr 36 kHz.

	 Az infra jelet egy TFM 5360 vagy TSOP1736 fogadja. (Funkciban
    gyakorlatilag azonos a kt IC.) Az IC-be mindent
    beleintegrltak ami egy 36 KHz-es viv frekvencira ltetett infra jel
    vtelhez, erstshez, szrshez, dekdolshoz szksges.  Az epoxi
    tok - ami egyben infra szr is - teht magba foglalja a foto PIN
    dids fnyrzkelt, az el erstt, a  frekvencia szrt, egy
    AGC jelerstt, s egy meghajt fokozatot.  A kimenet aktv alacsony
    szintet ad, s 5 mA-el terhelhet.	Kis fogyaszts, s 5 voltos
    tpfeszltsget ignyel.  Csupn hrom kivezetse van, kett a
    tpfeszltsghez, egy pedig a TTL/CMOS kompatibilis jelkimenet, ami
    most a mikrokontroller RA4 portjra csatlakozik.

	 A modul kb.  9-20 voltos egyenfeszltsget ignyel, amibl az IC5
    (7805) el tudja lltani a stabilizlt 5 voltos tpfeszltsget.  A
    fordtott polarits tp bektst a D4 megakadlyozza.

				  - 3 -

	 sszepts :
	 

	 A kapcsolsi s beltetsi rajzra tekintve rgtn lthat, hogyha
    j a pknk, valamint a nyk j minsg, akkor percek alatt kszen
    lesznk.

	 A beltetst megknnyti, hogy a mikrokontroller 1-es lba,
    valamint a polartsfgg alkatrszek pozitv sarknak forrpontja
    szgletes.	A mikrokontrollert rdemes foglalatba rakni.

	 Ahhoz, hogy a vezrlprogram elinduljon, a mikrokontrollernek
    hrom dologra van mindenkpp szksge:  a tpfeszltsgre, egy RESET
    impulzusra, s az rajelre.  Teht ellenrizzk a 7805, a kvarc,
    valamint a C1, C1 bektst, beforrasztst.  Ha mindent rendben
    tallunk, kapcsoljuk be a kszlket, s mrjk le a tpfeszltsgt.
    (Annak 5 volt +/- 2-3 tized voltnak kell lennie.)

	 s akkor most lssuk a programozs menett:
	 

	 A mikrokontrollerre egy olyan mkdtet program lett kifejlesztve,
    ami "tanthat", azaz kpes a tvirnytrl kapott jelet eltrolni,
    azt ksbb egy adott funkcihoz hozzrendelni.  A vev a tvirnytbl
    kapott impulzussorozatbl megprblja megllaptani annak jellemzit.

	 A klnfle tipus tvirnytk ltal kiadott impulzussorozatok
    ersen eltrek, olyan szempontbl mint impulzusszlessg,
    impulzusszm, ismtel, nem ismtel, hogyan ismtel stb.  Nehz
    volt olyan algoritmust krelni, amely a legtbb varicit lefedi.

	 A mikrokontrollert mkdtet program az adott nyomgombhoz
    tartoz sorozatbl megprblja kiszrni annak hasznos
    informcitartalmt, majd azt eltrolja.  (A mikrokontroller a
    beleintegrlt EEPROM memrit hasznlja az adattrolsra.)

	 A programozsi folyamat, s a "hasznlat" kzl a GND-RC5 kz
    kttt (PRG) jumperrel vlaszthatunk.  Zrva programozs, megszaktva
    "hasznlat".

	 A "tants" alatt a vevt lehetleg ne rje kzvetlen napfny,
    szmtgp monitor, vagy lmpa fnye.  rdekes tapasztalat, de az is
    okozhat problmt, hogy az ad, illetve a vev kztt tl kicsi a
    tvolsg.  Teht az ad s vev kztt kb.	2 m tvolsg legyen, a
    billenty lenyoms pedig rvid, "hatrozott" legyen.  (Ellenkez
    esetben az - esetleg tbbszr is - ismtelt kdot akarja a vev
    rtelmezni.)

	 s akkor most sorban a lpsek :

	 - Helyezzk fel a  programozs jumpert. (RC5-t kapcsoljuk a
    GND-re)

	 - Adjunk tpfeszltsget a modulra!  (Figyeljnk a polaritsra!)
    Az L1 ktszn LED piros/zlden villant, s zlden vilgtva jelzi,
    hogy ksz az adatfogadsra.

	 - Nyomjunk le a tvkapcsoln egy billentyt, lehetleg olyant,
    amely egybknt is hasznlatban lesz. Ha egy rvid megnyomsra nem
    reagl, nyomjuk hosszabb ideig a tvirnyt billentyjt. Ha a ngy
    LED most "futfnyszeren" vilgt, akkor a vev ramkr egy szmra
    rtelmezhet jelsorozatot vett.

				  - 4 -

	 - Ezutn az egyes LED vilgt, vrja a hozzrendelend
    billenty kdjt.  Nyomjuk meg teht azt a billentyt, amit ehhez a
    kimenethez akarunk rendelni.  Ha a vtel sikeres, akkor ezt
    nyugtzand, az egyes LED villog kettt, majd a msodik LED gyullad ki.

	 - Ahogy az elbb, programozzuk be a msodik, a harmadik ....
    nyolcadik  kimenethez, majd pedig a digitlis potihoz tartoz
    nyomgombot.

	 Ezzel a felprogramozs megtrtnt, vegyk le a programozs
    jumpert, kezddhet a hasznlat.

	 Ha tpfeszltsg bekapcsolsakor nincs zrt llapotban a
    programozs jumper, akkor a modul az elzleg beprogramozott kdokkal
    mkdik.  Ha j kdokat kvnunk beprogramozni, kezdjk elrl a
    programozsi procedrt.

	 Ha az ramkr bizonytalanul, vagy egyltaln nem mkdik,
    prbljuk meg jra a programozst!	Amennyiben nem sikerl mkdsre
    brni a vevt, valszn, hogy a tvirnyt olyan impulzussorozatot
    hasznl, melyet ez az algoritmus kptelen kezelni, vagy nem PCM
    adattvitelt hasznl.  (Nekem az itthon tallhat hat tvirnytbl
    nggyel volt sikerlmnyem.)

	 Kapcsolat egy PC-vel:
	 

	 A kvetkezk csak akkor fontosak, ha valaki a mikrogpet ssze
    akarja ktni egy PC-vel, mert pl.  sajt programot akar rni mondjuk
    egy PC infrs tvvezrlshez.

	 A mikrokontrollert mkdtet program a tvirnytrl kapott
    billentykdot - az 1-8 gomb 1-8, a poti le 9, a poti fel 10 - sorosan,
    az RS232 szabvny szerint, 2400 baud-os sebessggel - a formtum 8
    adatbit, 1 stop bit, parits bit nincs - kikldi a mikrokontroller TXD
    portjn.

	 A soros adattvitel pl.  egy optocsatols interfszen keresztl
    valsulhat meg.  Az optk egyrszt galvanikusan levlasztjk a
    mikrogpet az IBM PC-rl, msrszt a soros tvitelhez hasznlt
    plussz-minusz 12 voltos feszltsg s az 5 voltos TTL szintek kzti
    szinttvitelt is megoldjk mindkt irnyban.  Ez az "interface" ramkr
    egy kln kis panelon kapott helyet, a GND, RXD, TXD, VCC forrpontokra
    kthet.  A rszletes lersa a SERINT.TXT-ben tallhat.

	 Ha az INFRAMOD.EXE program fut a gpen, s a mikrt sszektjk
    egy soros interfsszel a PC-vel, akkor a lenyomott billenty kdja a
    kpernyn megjelenik.

	 Teht mgegyszer: a soros interfsz csatlakoztatsa csak akkor
    kell, ha egy PC-vel ssze akarjuk ktni a mikrt, egybknt felesleges.

	 A felprogramozs:
	 

	 A mikrokontrollerre egy olyan mkdtet program lett kifejlesztve,
    ami "tanthat", azaz kpes a tvirnytrl kapott jelet eltrolni,
    azt ksbb egy adott funkcihoz hozzrendelni.  A vev a tvirnytbl
    kapott impulzussorozatbl megprblja megllaptani annak jellemzit.

	 A klnfle tipus tvirnytk ltal kiadott impulzussorozatok
    ersen eltrek, olyan szempontbl mint impulzusszlessg,
    impulzusszm, ismtel, nem ismtel, hogyan ismtel stb.  Nehz volt
    olyan algoritmust krelni, amely a legtbb varicit lefedi.

				  - 5 -

	 A mikrokontrollert mkdtet program az adott nyomgombhoz tartoz
    sorozatbl megprblja kiszrni annak hasznos informcitartalmt, majd
    azt eltrolja.  A programozsi folyamat, s a "hasznlat" kzl a PRG
    jumperrel vlaszthatunk.  (GND-RC5 kz kttt) Zrva programozs,
    nyitva "hasznlat".

	 A "tants" alatt a vevt lehetleg ne rje kzvetlen napfny,
    szmtgp monitor, vagy lmpa fnye.  rdekes tapasztalat, de az is
    okozhat problmt, hogy az ad, illetve a vev kztt tl kicsi a
    tvolsg.  Teht az ad s vev kztt kb.	2 m tvolsg legyen, a
    billenty lenyoms pedig rvid, "hatrozott" legyen.  (Ellenkez
    esetben az - esetleg tbbszr is - ismtelt kdot akarja a vev
    rtelmezni.)

	 s akkor most sorban a lpsek :

	 - Helyezzk fel a programozs jumpert.  (RC5-t kapcsoljuk a
    GND-re) Nem szksges, de a mikrt sszekthetjk a PC-vel, gy a
    programozs folyamata a display-n is kvethet.

	 - Adjunk tpfeszltsget a modulra!  (Figyeljnk a polaritsra!)
    Az L1 LED piros/zld szin vltssal jelzi a bekapcsolst.

	 - Nyomjunk le a tvkapcsoln egy billentyt, lehetleg olyant,
    amely egybknt is hasznlatban lesz.  Ha egy rvid megnyomsra nem
    reagl, nyomjuk hosszabb ideig a tvirnyt billentyjt.	Ha az L1
    LED most zld szinnel hrmat villant, akkor a vev ramkr egy szmra
    rtelmezhet jelsorozatot vett.

	 - Ezutn az L1 zlden vilgt, vrja a hozzrendelend billenty
    kdjt.  Nyomjuk meg teht azt a billentyt, amit ehhez a kimenethez
    akarunk rendelni.  Ha a vtel sikeres, akkor ezt nyugtzand, az RB1
    magas szintre vlt, a Q1 1 msodpercre alacsonyra, az RXD-n elkldi
    PC-nek az 1-es karaktert, az L1 LED pedig pirosan villan egyet, majd a
    "zlden" jelzi, hogy vrja a kvetkez billentyt.

	 - Ahogy az elbb, programozzuk be a msodik, a harmadik, ....
    nyolcadik kimenethez, majd a digit potihoz tartoz kt nyomgombot,
    teht sszesen tizet.

	 - Ha most az L1 LED piros/zld vltott szinnel 3-at villan, majd
    elalszik, akkor vgeztnk a billentyk felprogramozsval, vegyk le a
    programozs jumpert, kezddhet a hasznlat.

	 Ha tpfeszltsg bekapcsolsakor nincs zrt llapotban a
    programozs jumper, akkor a modul az elzleg beprogramozott kdokkal
    mkdik.  Ha j kdokat kvnunk beprogramozni, kezdjk elrl a
    programozsi procedrt.

	 Ha az ramkr bizonytalanul, vagy egyltaln nem mkdik,
    prbljuk meg jra a programozst!	Amennyiben nem sikerl mkdsre
    brni a vevt, valszn, hogy a tvirnyt olyan impulzussorozatot
    hasznl, melyet ez az algoritmus kptelen kezelni, vagy nem PCM
    adattvitelt hasznl.  (Nekem az itthon tallhat hat tvirnytbl
    nggyel volt sikerlmnyem.)

	 Epilgus :
	 

	 Az elbbi ramkrnek ltezik egy kisebb, 4 kimenetet kezel
    verzija, amirl egy doksi tallhat "INFRAPIC" nven a lenti honlapon.
    Ennek a 4 kimenetes panelnek van egy 4 relt is tartalmaz verzija.

	 Az "INFRAAMP" ramkr mkdhet mint ifra erst, vagy tanthat
    infra ad.	Sokszor szksg lehet egy infra tvirnyt
    hattvolsgnak nvelsre, pl.  hogy egy olyan kszlket vezreljnk
    egy infra tvirnytval, ami egy msik helyisgben van.  Az infra
    erst ramkr erre lett kitallva.

	 Tanthat infra ad:  Mire j ez ?  Egy alkalmazs:  van egy
    biztonsgi kamera, mellette egy vide, ami rgzti az esemnyeket.
    Legyen egy mozgsrzkel a kamera mellett, s akkor induljon csak a
    felvtel amikor "esemny" van.  s legyen egy ramkr, amire a
    mozgsrzkel csatlakozik, s ami meg tudja tanulni, majd pedig
    kisugrozni, a vide "REC" jelt.  Ez volt az egyik feladat, amire az
    ramkr kszlt.  A rszletek a honlapon.

	 Vgl nincs ms htra mint hogy sok sikert kivnjak az ptshez,
    hasznlathoz.  Viszontltsra :  Torkos Csaba 8100 Vrpalota Pf 65
    Telefon:  napkzben:  88/473-784, egsz nap:  06/30/9472-294, email:
    mikroklub@vnet.hu internet:  http://w3.enternet.hu/mklub ,
    http://www.mikroklub.hu
