
Nedavno jsem v ramci pripravy na vyrobu dokonalych pedalu vytvarel neco, co by melo funkci potenciometru, aniz by trpelo jeho hlavni nevyhodou, tj. omezenou mechanickou zivotnosti. Akce se celkem zdarila, takze mam ted par kolecek na ovladani trimu letadla, co to vyuzivaji.
Nasledujici text bude mix informaci, jak ktera vec teoreticky funguje, co jsem delal ja a jak to dopadlo. Upozornuji, ze nejsem profi navrhar elektroniky, takze je urcite spousta veci, co pujde udelat lip. mozna tam mam dokonce neco uplne blbe. Jestli neco takoveho uvidite, ozvete se a ja to opravim. Nebudu se snazit pouzivat odborne terminy, protoze je neznam, a navic je tenhle text zamereny na amatery, jako jsem ja.
Duvod, proc to pisu i se zakladni teorii je, ze tohle cele stale neni vec, ktera by nesla zlepsovat, a taky myslim, ze ti, kdo se pusti do stavby neceho podobneho jsou kutilove, kteri budou znalost principu potrebovat.
Potenciometr je mechanicka soucastka, kterou urcite vsichni znate.
Tri kontakty a otocna osicka.
Vyvody
jsem oznacil A,B,C, abychom se v nich v dalsim povidani vyznali. Pri
otaceni osicko se posunuje kontakt B po odporove draze, takze se meni
odpor mezi A a B a mezi B a C. Odpor mezi A a C zustava konstantni, to
je ta hodnota, kterou pri nakupu reknete prodavaci, ze chcete :-).
Trimr je takovy malicky potenciometr, ktery slouzi k pocatecnimu nastaveni hodnot v elektronickem obvodu. Neni staven na mechanickou zivotnost, ta se pohybuje vetsinou ve stovkach cyklu, nekdy ani to ne. Takze je naprosto nepouzitelny jako potenciometr do joysticku, ale vyborny v tom, k cemu je urcen, totiz zapajeni do plosneho spoje misto odporu. Konec odbocky.
Jak se zapojuje potenciometr k pocitaci: jediny vstup, ktery je primo navrzeny k pripojeni potenciometru je gameport. Ten pro ne ma 4 nezavisle vstupy, oznacovane typicky AX,AY,BX,BY. Je to z davnych dob, kdy byl gameport navrzen pro 2 joysticky. Nebudu tady uvadet presny popis konektoru a hodnot, to si najdete sami, napisu jen princip funkce. Potenciometr se pripoji primo mezi dva piny konektoru - +5V a 'cteci' pin pro prislusnou osu. Meri se zmena jeho odporu (nabiji se skrz nej kondenzator a podle rychlosti nabiti se zjisti jeho aktualni odpor - program inicializuje cteni a ceka, dokud nebude mit vstup z portu danou hodnotu). Z toho plyne, ze: potenciometr se musi pripojit vystupy A a B nebo B a C, podle toho, jakou chceme orientaci osy. Pokud ho pripojime pres A a C, samozrejme nebude fungovat. Tenhle zpusob pripojeni je jednoduchy, ma ale nektere nevyhody - hlavne, ze se musi rucne centrovat.
Pripojeni potenciometru v USB joysticku
V tomto pripade se uz o analogovou cast stara elektronika joysticku a
komunikace s pocitacem je ciste digitalni. Potenciometr je tu pripojen
vsemi tremi vyvody: A a C jsou pripojeny na zem a napajeci napeti, B je
vystup napojeny na AD prevodnik. Takto zapojeny potenciometr funguje
jako delic napeti, pri otaceni osicko stoupa nebo klesa napeti na B
podle toho, jak se blizi ke strane pripojene k nule nebo k napajeni. AD
prevodnik (AD je zkratka analog-digital) pak z teto hodnoty vyrobi
cislo v digitalni forme, ktere se potom zpracovava dal. ADC zde funguje
vlastne jako voltmetr. Hlavni vyhoda tohoto zpusobu zapojeni je zrejma:
jsou urceny dva krajni body, kterych muze vystup potenciometru nabyvat
(tj. hodnota napeti Vcc (napajeciho) a gnd (uzemneni)). V praxi to tak
jednoduche neni, vetsinou neni vyuzity cely rozsah potenciometru, takze
elektronika joysticku musi hodnoty prepocitavat. Jako stredni poloha se
vetsinou bere hodnota namerena hned po zapnuti.
To, co jsem vyrabel ja, je navrhovane na zapojeni jako delic napeti, tedy nepujde bez uprav pouzit k pripojeni do gameportu. Na konci popisu upravu schematu, ktera by mozna sla pouzit k gemeportu. Cele zapojeni jsem navrhoval pro pouziti s usb, z cehoz vyplyva pouziti napajeciho napeti +5V a par dalsich omezeni, ktere se pozdeji objevi.
(Pisu opticky potenciometr, protoze se tohle souslovi trochu vzilo, i kdyz odbornici urcite skacou z kuze). Princip se da shrnout jednou vetou: z jedne strany cidla svitime, na druhe strane merime dopadajici svetlo a mezi tim je nejaka pohybliva clona. Jako zdroj svetla budeme muset pouzit LED diody, protoze jsme omezeni proudem, ktery muzeme z usb cerpat (ve specifikaci je neco kolem 100mA, jestli se dobre pamatuji).
Ledky maji jednu zradu, jejiz dusledkem je schopnost spachat velmi rychlou
sebevrazdu. Ubytek napeti na nich je totiz konstantni. Kdyz zapojujeme
normalni odpor, plati vzorec R=U/I. Takze I=U/R, prochazejici proud je
roven napeti lomenym odporem. Kdyz zvysime napajeci napeti, zvysi se
umerne tomu prochazejici proud. U led tohle neplati, proud se
(lidove receno) zvysi neumerne:
pro 1.9V prochazi minimalni
proud a ledka jeste nesviti, pro 2.1V uz prochazi prilis velky proud a
ledka je na ceste do kremikoveho nebe (ty dva volty plati pro cervene
ledky, jine barvy vetsinou vyzaduji jine napeti - treba bile okolo 4
voltu. Napajeci napeti se casto ani neudava, dulezity je proud
prochazejici ledkou - vetsinou 5-30 mA). Na diodach je ubytek napeti
konstantni, vice o tom bude rec dale.
Pokud se nam podari udrzet presne napajeci napeti, mame vyhrano. V
praxi se zapojeni nejcasteji resi pridanim odporu do serie s ledkou,
tim se krivka zavislosti narovna a presnost drzeni napeti neni tak
kriticka. Navic pak muzeme pripojit ledku i na vyssi napeti, protoze
cast napeti na sebe stahne ten odpor.
Kdyz zapojime odpory seriove, tj. za sebou v rade, bude zapojeni vypadat
Vcc----R1----R2----Gnd.
Celkovy odpor serioveho zapojeni je souctem odporu ucastniku,
tedy R=R1+R2.
Proud protekajici obvodem bude:I=U/R=U/(R1+R2).
Uvazujme hypoteticky priklad: Vcc=5V, R1=3kOhm,
R2=1kOhm (kiloohm, mela by tam byt velka recka omega misto toho Ohm,
ale piste to...). Celkovy odpor pak bude 4kOhm a protekajici proud
I=5/4000=1.25mA. Protoze obema proteka stejny proud, je zrejme, ze na
R1 bude napeti U1=R1*I=3000*0.00125=3.75V, zatimco na R2 bude
U2=R2*I=1.25V. Jako kontrolu muzeme pouzit prosty fakt, ze U1 a U2 musi
dat dohromady napajeci napeti: 3.75V+1.25V=5V.
K cemu nam je informace, ze na R2 bude 1.25V? K tomu, ze kdyz budeme
merit napeti v bode mezi R1 a R2, umime spocitat, ze namerime 1.25V a
zname zavislost, kterou se napeti ridi. Je to dost zasadni princip,
doporucuji tomu venovat pozornost.
Jak tohle deleni napeti vyuzijeme pri zapojovani
ledky se seriovym odporem, priklad:
cervenou ledkou ma prochazet proud 10mA, napajeni mame 5V. Postup uvah:
ubytek napeti na cervene led je 1.6V. A jsem u toho, co jsem slibil
pred par odstavci. Zatimco u odporu je ubytek napeti jiz zmineny U=RI,
tedy zavisi na proudu (R je pro dany odpor konstantni, proto se tomu
rika odpor :-)), u diod je konstantni, tedy se nemeni s proudem. U
infra led to muze byt treba jen 1.2V, u bile to byva 3.6V. Kdyz zkusime
spocitat odpor LEDky podle obecne platneho vzorce R=U/I, zjistime, ze
se nam odpor meni pri zmene proudu (U je ubytek napeti, co zustava
konstantni, I se meni). Na to pozor pri vypoctech. Musime uvazovat
takto: mame napajeni 5V, ubytek na cervene diode je 1.6V, takze napeti
ve zbytku obvodu, v nasem pripade odporu, bude 3.4V.
A dale je to jednoduchy: R=U/I=3.4/0.010=340 Ohmu. (poznamka: vsimavi
si urcite vsimli, ze konstantni ubytek napeti nemuze vytvorit zavislost
proudu na napeti jako na tom obrazku nahore, tedy ze v jednom z tech
dvou informaci kecam. To je vicemene pravda, konstantni ubytek napeti
je pouze teoreticky, ale dost se to tomu blizi, coz nam v praxi da
prave takhle zalomeny graf. Dokonale konstantni ubytek napeti by dal v
grafu dokonaly schod - vodorovne a pak svisle)
Takze ted umime zapojit LEDku: vybereme si ledku, v technickych udajich o ni si zjistime proud, na ktery je navrzena a spocitame si odpor, ktery nam ji ochrani pred spalenim.
Navrat ze vsech odbocek, pokracujeme v optickem potenciometru
Nyni si popiseme zapojeni senzoru. Nebudu zatim psat hodnoty soucastek,
ted mi jde o princip.
Jedna strana senzoru, ta svitici. Ja jsem pouzil infra led, jednodusse proto, ze kdyz jsem je kupoval, bylo tohle cele jeste experiment a kombinace ledky a fototranzistoru (ten bude na prijimaci strane, viz dale) v infra pasmu byla nejlevnejsi. Tahle cast bude jednoducha: na napajeni 5V je napojena LEDka v serii s odporem. Spocitat to umime, takze teoreticky by v tom problem byt nemel. Teoreticky. V praxi zjistime, ze tim urcujicim faktorem, kolik ma svitit vysilaci strana, je prijimaci senzor na strane druhe. Nasim cilem je vyuzit pokud mozno cely jeho rozsah, tj. od uplneho zakryti az do jeho maximalniho osvetleni. Takze budeme asi muset snizit proud tekouci vysilaci LEDkou, aby nam osvetleni senzoru neprelezlo pres jeho horni mez.
Prijimaci strana senzoru: tady jsem pouzil fototranzistor v serii s odporem. Fototranzistor je soucastka, ktera meni svuj odpor v zavislosti na osvetleni (ma dva vyvody jako odpor, ale narozdil od nej zavisi na polarite zapojeni). Kdyz ho dame do serie s odporem a pripojime mezi napajeni a zem, staci nam merit napeti na spoji mezi nimi - kdyz fototranzistor meni svuj odpor, meni se take pomer napeti na obou soucastkach a tim i napeti uprostred obvodu. Viz teorie serioveho zapojovani soucastek popsana vyse.
Ledka vypada vetsinou takhle:
Z pouzdra z pruhledneho epoxydu koukaji dva vyvody, delsi a kratsi. Delsi
se pripojuje na plus, kratsi smerem k zemi. Mimo toto rozliseni je
pouzdro na strane u kratsiho vyvodu navic zplostele.
Fototranzistor vypada vetsinou uplne stejne. Takze az je budete kupovat, snazte se, abyste meli neco v cirem a neco v namodralem pouzdru, nebo je alespon nedostali v jednom pytliku. Konec odbocky.
Jako clonu mezi svitici a prijimaci stranou jsem pouzil normalni sroub, ktery se otacenim v upevnenych maticich posunuje dopredu a dozadu a svym koncem zakryva vice ci mene prostoru mezi LEDkou a fototranzistorem. Pro prumer LEDky a fototranzistoru 5mm je vhodny sroub M6. Ten s jemnym stoupanim jsem nesehnal, ten s normalnim ma stoupani 1mm, tedy teoreticky 5 otocek mezi uplnym zakrytim a odkrytim. V praxi se s nim da dosahnout cteciho rozsahu neco pres dve otacky.
Je zrejme, ze tak jednoduchym zapojenim fototranzistoru nedostaneme na vystupu cely rozsah napeti (od 0 do napajeciho). To by nam zmensovalo presnost cteni.
AD prevodnik si v nejjednodussim pripade muzeme predstavit jako krabicku, ze ktere koukaji 4 draty (napajeci, zem, analogovy vstup a digitalni vystup). Jak je uvnitr takova krabicka realizovana nas ted nemusi zajimat. Vystupem prevodniku je cislo od 0 do N, kde 0 odpovida napeti na vstupu rovnemu zemi a N odpovida napeti rovnemu napajecimu. Cislo N je dano poctem bitu vystupniho cisla, tj. osmibitovy prevodnik ma vystupni rozsah 2^8=256, desetibitovy 1024 a treba sestnactibitovy 65536.
V praxi maji prevodniky vice kontaktu. Typicky to je oddelene napajeni analogove casti (tim se potlaci ruseni, ktereho digitalni obvody vyrabeji pomerne dost) a takzvane referencni napeti - to je pouzito jako horni mez mericiho rozsahu misto napajeciho napeti. To ma vyhodu v jeho snazsi stabilizaci (stabilizovat presne napajeci napeti, kdyz na nej jsou pripojeny spotrebice s promenlivou spotrebou neni vubec jednoduche) a v moznosti jeho snizenim zmensit rozsah mericiho intervalu a tim mereni zpresnit. Pomerne caste jsou take vicenasobne prevodniky - maji vice vstupu a mechanismus vybirani, ktery z nich chceme cist. Konec odbocky.
Takze my mame na vystupu napeti v pomerne malem rozmezi, napriklad 2-4V pro napajeci napeti 5V. Muzeme to pripojit primo na AD prevodnik, ale tim degradujeme rozliseni prevodniku na 40% jeho schopnosti (rozkmit dvou voltu z peti, napriklad osmibitovy by nam vracel hodnoty 102-205). Nebo udelame neco, co nam ten rozsah dvou voltu "roztahne" na celych pet. K tomu pouzijeme trivialni zapojeni operacniho zesilovace.
to je
kupa soucastek v jednom pouzdre, ktera ma velmi sirokou skalu velmi
snadneho pouziti. Operacni zesilovac ma dva napajeci konektory (zem a
Vcc), dva vstupy (invertujici znaceny - a neinvertujici +) a jeden
vystup (obvykle znaceny out). Jednoduse receno zesilovac porovnava
napeti na vstupech a podle toho nastavuje svuj vystup.
S
operacni zesilovac obvykle potkame v DIP pouzdre, to je ten obvykly
"svab s nozickami". Casto v nem budou dva nebo ctyri najednou (se
spolecnym napajenim), ktera nozicka patri k cemu je obvykle treba najit
v dokumentaci. Na obrazku vlevo je vnitrni usporadani obvodu LM324 (ten
jsem pouzil ja). Jeden konec pouzdra je odlisen prolisem v plastu, cely
cip obsahuje ctyri nezavisle operacni zesilovace se spolecnym napajenim
- celkem 14 nozicek.
Jeste jedna vlastnost, o ktere se zminim, protoze to budeme potrebovat: vetsina op.zesilovacu neni schopna dat na vystupu napeti vyssi, nez je asi 1V pod napajecim napetim. Ty, ktere jsou schopny menit svuj vystup od zeme az k Vcc se nazyvaji rail-to-rail operacni zesilovace.
aneb to, co jsem pouzil. Jak to v principu funguje: operacni zesilovac
porovnava svoje vstupy a podle toho nastavuje vystup. Pomoci zpetne vazby
(to je ten odpor mezi vystupema - vstupem) se nastavuje zesileni:
zesilovac se vlastne snazi zmenou sveho vystupu zmenit napeti
na svem - vstupu, pomer mezi R1 a R2 urcuje, jak moc musi menit svuj
vystup, aby vyrovnal napeti na vstupech. Kdyz bude R1 velky a R2 maly,
bude k srovnani vstupu potreba mala zmena vystupu (velky R1 vlastne
odstinuje vstup, zatimco maly R2 umoznuje velky vliv napeti na vystupu).
Kdyz bude R1 maly a R2 velky, situace bude opacna, op.zesilovac bude
muset zmenit svuj vystup o hodne, aby prekonal velky R2, takze
vysledkem bude velke zesileni signalu.
Vstup + ma funkci reference, tedy napeti, ktere se ma promitnout jako nula na vystupu. Konec odbocek. Invertujici se tomuto zapojeni rika proto, ze zesileni u nej ma zaporne znamenko (tj. pri vhodne volbe odporu bude zesilovat ("mala vlnka" na vstupu udela "velkou vlnku" na vystupu), ale bude menit polaritu (kde byl na vstupu "kopec", bude ted "udoli" a naopak))
Zpet k nasemu problemu, jak vystupni rozsah par voltu roztahnout na
cely rozsah mereni prevodniku. Pokud mame prevodnik s oddelenou
referenci, muzeme ji snizit a tim zkorigovat alespon horni stranu
intervalu mereni. Pouziti operacniho zesilovace k zesileni signalu bude
mit ale dalsi vyhody, hlavne moznost upravy i dolniho kraje intervalu.
Nase zapojeni je na
obrazku vlevo. Potenciometr P1 slouzi k nastaveni reference, tim budeme
posunovat vystupni interval nahoru a dolu, potenciometr P2 nastavuje
zesileni, tim budeme vystupni interval zvetsovat a zmensovat.
Potenciometry nastavime tak, abychom interval vystupu z optickeho
cidla (pro mechanicky rozsah pohybu, ktery pouzijeme) promitli na
co nejvetsi rozsah napeti na vystupu. Pokud pouzijeme rail-to-rail
zesilovac, muze to byt i interval 0-Vcc.
A tento vystup uz napojime do vstupu AD prevodniku. To je cele.
Mejte na pameti, ze jsem to zacal ciste jako experiment, z cehoz vyplyvaji nektere kompromisy ci primo chyby, co jsem do zarizeni zabudoval. Na veci, co me v prubehu stavby napadly, nebo ktere by bylo vhodne resit lepe se budu snazit nezapomenout.
Jiz od pocatku jsem celou
konstrukci navrhoval jako tri trimovaci kolecka, tj. metodou sroubu
zajizdejiciho mezi diodu a fototranzistor s cilem co nejvice otocek
mezi krajnimi polohami. Pokud to chcete vyuzit treba na joystick, kde
je mechanicky rozsah jen treba 45°, mozna by stalo za uvahu to resit
nejakou posuvnou clonkou. Kolecka jsem ziskal ze stare rozebrane
tiskarny, srouby, matice a drevene profily koupil v Obi.
Primarni uvaha byla usadit ledku a fototranzistor do vyvrtanych der ve drevech a mezi tyto dve dreva vlozit vodici matice a stahnout je vruty. To celkem funguje, ale je treba si dat pozor na presne usazeni matic - kdyz bodou nakrivo, sroub v nich nebude chodit hladce. To byl trochu muj pripad. Ja jsem pouzil dva pravouhle profily s tim, ze vysledek umistim na levy okraj monitoru. Mezi nimi v mezere odpredu dozadu jsem naplanova srouby a v mensi mezere vedouci rovnobezne s obrazovnou nejaky ukazatel polohy. To predpokladalo vyvrtat do dreva otvor na usazeni jedne vodici matice, coz jde, ale vyvrtat ho dost presne a usadit tam matici presne do smeru, to neni nic jednoducheho. Zarizeni u me nema dorazy, rozsah otaceni 720° jen s jednoduchou sipkou na kolecku bez ukazatele, ve ktere otacce prave jsme, ale nic z toho celkem nevadi. Dodelani ukazatele je planovano, ale vsechny uvazovane varianty zatim na neco narazily.
Nepodcenujte zastineni senzoru! Nezastineny senzor se bude rozcentrovavat pri zmene okolniho osvetleni nebo dokonce bude vystup poskakovat. Ja jsem zatrel oblepil zadni stranu fototranzistoru kobercovkou, do sterbin dodelal clony ze skladaneho papiru a celkove je to jeste stineny tretim drevenym profilem a stejne to nestacilo. Ted jsem ve druhem kole, zatrel jsem zadni stranu fototranzistoru barvou, do sterbin nacpal masu papiru a planuji jeste odclonit zadni stranu ledek (mam podezreni, ze skrz pouzdro pronika svetlo). Uz pred druhym kolem to bylo dobre pouzitelny, ale v nekterych pripadech se vystup pohyboval, kdyz nemel.
Pohled ze strany
fototranzistoru, s provizornim stinenim kouskem kobercove pasky
(skoro k nicemu). Nyni jsou fototranzistory pretreny vrstvou barvy,
coz je lepsi. Cela tahle strana je jeste prekryta tretim drevenym
profilem. Nozicky optoelektronickych soucastek byly zkracovany podle
potreby, takze puvodne kratsi nemusi byt nutne kratsi i ted.
Primo proti sroubu
ze strany senzoru
Ze strany LEDek.
Pres drevo je nalepena oboustranna lepici paska, ktera to pomaha drzet
na monitoru. U senzoru vice vpravo je videt papirova clonka, u senzoru
vlevo momentalne neni kvuli fotografovani.
Stejne misto trochu
z jineho uhlu (od obrazovky monitoru)
Operacni zesilovac
s omackou - ten roztahuje vystup senzoru na co nejvetsi rozsah
hodnot. Trimr vlevo je spolecne nastaveni posunu, stojate trimry urcuji
zesileni (jeden je navic). Tenke cerne dratky vedou k senzorum, ten tlusty
smerem k AD prevodniku (obsahuje ty barevne a ma navic spolecne
stineni).
Plosnak operacniho
zesilovace z druhe strany. Tou dirkou vpravo nahore se protahne
maly vrut, kterym je to pripevneno na vnitrni strane konstrukce.
Detail na
papirovou clonu. Malo ucinna, ale je tam stejne jen pro zamezeni
vzajemneho ovlivnovani mezi kanaly, na coz staci.
Pohled shora,
na kterem je hezky videt rozmisteni mechanickych casti.
Podobny pohled
jeste z doby stavby. Jen jediny senzor byl instalovan,
provizorne nadratovan a byly testovano, jestli to vubec bude chodit :-).
Celkovy pohled
- poloha tretiho dreveneho profilu a umisteni na monitoru.
Nahore je to poveseno na pruznem uchytu, coz rozdeluje hmotnost mezi
horni uchyt a oboustrannou lepici pasku mezi drevem a monitorem. Nahore
je videt poctive stineni z rolicky hnede lepici pasky, neco podobneho
jeste pribyde do te trojuhelnikove mezery vedle a pro jistotu jeste
neco podobneho zdola. Na kazdem kolecku je zluty trojuhelnicek jako
ukazatel polohy, ty cerne carky tam jsou z historickych duvodu, smysl
nemaji.
Odlepeno a pootoceno,
tahle strana je priplacnuta k monitoru.
Nase zarizeni bude ruseno tremi nezavislymi zpusoby: parazitnim svetlem dopadajicim na senzor, elektromagnetickymi vlnami, zachycovanymi vodici od senzoru a rusenim skrz napajeni.
Pokud jde o svetlo, resenim je dokonale utesneni senzoru. Pokud pouzijete infra pasmo jako ja, budete muset asi venovat utesneni vetsi pozornost, protoze cim vetsi vlnova delka zareni ("vice infra"), tim vetsi schopnost pronikat skrz material. V extremnim pripade i treba skrz zed. Jak velky rozdil to je, netusim, tech 940nm vlnove delky neni od viditelneho spektra prilis vzdaleno.
Elektromagneticke ruseni: kazdy drat v prostoru se chova jako antena - prijima vysilani radia, televize, radaru, elektrickych vodicu ve zdi apod. Cim delsi drat, tim nizsi frekvence je schopen kvalitne prijimat. Resenim (alespon castecnym) je pouzit stinene vodice (jeden vodic vedeny ve druhem). Ty se pouzivaji pomerne casto, treba na vedeni ke sluchatkum. Pak vedeme signal vnitrnim vodicem, ten vnejsi pripojime na uzemneni. Uzavreni elektroniky do zelezne krabicky taky pomaha.
Ruseni pres napajeni: to snad bude hrozit pomerne malo, pocitacove zdroje by mely byt v tomto smeru kvalitni. Takze tady jen upozornim ty, co budou stavet i digitalni propojeni s pocitacem, na nutnost co nejduslednejsiho oddeleni analogove a digitalni casti naseho zarizeni (vcetne reference AD prevodniku). A taky nezapomente, ze privodni kabel se chova jako antena - chyta elektromagneticke ruseni. Konec odbocky.
Ja bohuzel nejsem schopen rict, jak moc usili bude nutno odstineni venovat, protoze mam pocitac na miste, kde se obcas objevuje nejaka zahada, co je schopna mi klepat obrazem na monitoru o vice nez milimetr, takze nikdy nevim, na cem jsem.
Dalsi reseni pro odstineni ruseni je vyrobit elektronicky filtr, ktery bude propoustet jen nizke frekvence. Vzhledem k charakteru naseho vstupu muzeme rict, ze frekvence rekneme vyssi nez 20Hz jsou ruseni (kdo dokaze pohnout rukou vpravo-vlevo vic nez dvacetkrat za vterinu, bude muset tuhle hranici zvysit :-)). Postavime obvod, ktery toto ruseni vyhladi (da se rici zprumeruje v case), zatimco nizsi frekvence necha nedotceny (to je low-pass filtr, kdyby propoustel vysoke frekvence a eliminoval nizke, byl by to hi-pass filtr). Takove obvody se vetsinou stavi z kondenzatoru, odporu a operacnich zesilovacu. Existuje nekolik druhu filtru, jejichz rozdily pro nas nejsou dulezite (nestavime prece hifi). Jen jeden udaj pro nas bude mit velky vyznam, a to je strmost filtru. Kazdy low-pass filtr se chova (trochu zjednodussene receno) tak, ze az do sve hranicni frekvence signal propousti a signaly s vyssi frekvenci tlumi v zavislosti na frekvenci - cim je frekvence dale od hranicni, tim vetsi utlum. Strmost filtru je prave ten koeficient x. Je dan poctem jeho stupnu (strmejsi filtr je vlastne rada za sebou razenych podobnych jednoduchych filtru).
Kdyz budete planovat nejaky filtr, umistujte ho bud co nejblize AD prevodniku (aby se mezi nim a prevodnikem nestihlo nachytat ruseni), nebo do mista pred velkym zesilenim signalu (kde je signal slaby, tam se ruseni projevuje nejvic). Konec odbocky.
Kdyz si chcete nejaky filtr postavit a nevite jak na to, vygooglete sloa088.pdf, coz je krasny text "Active Filter Design Techniques" od Texas Instruments. Tam je popsano vse, co potrebujete.
Nam pujde hlavne o odstineni frekvence 50Hz, ktera nam prichazi vsemi smery (po napajeni, elektromagneticky vzduchem i ve forme kolisani urovne osvetleni v mistnosti). Ostatni ruseni bude na radove vyssich frekvencich, takze s nim nebude mit filtr problem. Ja mam jenom jednoduchy filtr (odpor 2.2kOhm v privodu od seznoru a kondenzator asi 2uF od pinu prevodniku proti zemi) tesne pred prevodnikem. Vliv tohodle filtru na ruseni o 50Hz je prakticky nulovy (zmensi ho o par procent), ale proti vysokym frekvencim je celkem ucinny. Zbastleni dokonalejsiho je v planu. Zapojeni, jak ho ted mam, obcas cuka (kdyz se divate na ukazatel polohy nebo paky trimu v kabine, trhaji sebou), ale nevadi to. Kdyby to ale nebyl trim, ale treba knipl, tak by to byl asi problem. Znovu ale opakuji, ze u me doma je nekdy jakesi zahadne silne ruseni, ktere asi jinde nepotkate. Kde presne je zakopany krtek zatim nevim.
Vysilaci cast: IR LED L-53F3BT (výrobce: Kingbright, prumer 5mm,
vysílací, 5-20mW/sr@20mA, 30deg, 940nm, koupeno v GESu za 3.80Kc) v
serii s odporem 2.7kOhm.
Prijimaci cast: fototranzistor L-53P3BT (výrobce: Kingbright, prumer
5mm, 30V, 940nm, 30deg, z GESu za 3.80Kc) v serii s odporem 220kOhm.
Jako zesilovac jsem pouzit LM324. Lepsi by byl LMV324 (nebo jiny
rail-to-rail), ale ten tu neni k sehnani. Hodnoty odporu a trimru u
zesilovace: 100kOhm v serii, 500kOhm trimr pro urceni zesileni. Pro
vsechny kanaly spolecny 100kOhm trimr pro nastaveni nuly. Obrazek
schematu zapojeni je nahore.
Vystupy jsem pripojoval do zapojeni MJoy8. Informace o nem najdete na strance projektu mjoy. To tady popisovat nebudu, tam je to popsane dost dobre. Kdyby to nekdo planoval stavet, ozvete se, napisu nekam par tipu.
Vsechno, co ted napisu o gameport verzi jsou teoreticke uvahy. Nemam duvod to zkouset postavit a navic nemam u pocitace gameport, takze ani nemuzu. Ale uz jsem kdysi nejaky ten joy do gameportu stavel, takze vim, jak gameport pracuje.
Je zrejme, ze vysilaci stranu muzeme zachovat - v gameportu je 5V a zem a pokud vim, to napeti je tam za behu pocitace nepretrzite. Zatim jednoduche, ze :-).
Prijimaci strana: tady se nabizi komplet nahrazeni cele strany jednim
fotoodporem. Fotoodpor je (jak nazev napovida) soucastka, ktera meni
svuj odpor v zavislosti na osvetleni. Takze by melo stacit koupit
primerenou hodnotu (rozsah rekneme 10kO-200kO, cena asi 30Kc) a zapojit
ji misto potenciometru v klasickem zapojeni gameportoveho joysticku.
Povrch fotoodporu ma urcity vzorek (viz obrazek vpravo), takze asi bude
nutne vystinout nejlepsi pootoceni tak, aby na vystupu nebyly 'schody'.
K takto jednoduchemu zapojeni nejspis nepujde pouzit fototranzistor, protoze u nej se odpor meni take se zmenou napajeni (pri konstantnim osvetleni) - to protoze v sobe obsahuje zesilovaci tranzistor. Kdyz se cte gameport, nabiji se postupne kondenzator, a kdyz je skoro nabity, bude napeti na fototranzistoru prilis nizke.
Fotodioda: pri osvetleni vytvari na svem vystupu napeti. Takze se nada
zapojit mezi napajeni a zem, ale dala by se pripojit primo na vstup
operacniho zesilovace (jednim koncem na jeho vstup, druhym na zem).
Bylo by nejspise potreba radove vetsi zesileni signalu. Fotodiody pry
mivaji vyrazne vetsi rozsah osvetleni, pri kterem je jejich vystup
linearni. Jestli to nekdo vyzkousite, dejte vedet, jak to dopadlo.
Optozavora: to je soucastka, ktera v sobe sdruzuje ledku a prijimaci
senzor. Ma tvar podobny U, kde skrz tu sterbinu prave vede svetelny
paprsek. Zda se tedy byt idelani pro nas ucel. Jenze optozavora bude
vetsinou optimalizovana pro rozliseni dvou stavu (zakryto/odkryto),
takze to nejspis bude bida s linearitou. Jestli to nekdo vyzkousite,
dejte vedet, jak to dopadlo.
Jeste bych to doplnil sve zkusenosti. Pred rokem jsem se o to same pokousel. Teda ja si hral jen s tou optickou casti, nad AD prevodnikem a roztazenim pasma jsem neuvazoval, tak daleko jsem se nedostal.
A k tomu ja dodavam: Metoda clony s promenlivou pruhlednosti mozna nebude uplne slepa. Pravdepodobne by stacilo jen zmensit jas LEDky. Ja jsem na neco podobneho narazil u metody cloneni sroubem, kde pri standardnim vykonu LEDky byl fototranzistor po vetsinu rozsahu pohybu clony uplne oslnen.
V teto souvislosti je zajimavy Munguv napad se dvema polarizacnimi filtry, kde by se jejich vzajemnym pootocenim menila jejich prusvitnost.