Optikai meres

norbimagan norbimagan at vnet.hu
Fri Jul 23 14:02:08 CEST 2004


Szia Laci!



A tovabbiakhoz feltetelezem, a targyak nem kozvetlen egymas utan vannak,
hanem kozottuk minimum egy targynyi szunetekkel.

Csak egy hitrelen otlet... Ha nekem kellene ilyennel szivni, akkor
kettos ado-vevot alkalmaznek, es sokkal nagyobb erositest, celszeruen
egy kellokeppen alacsony kuszobertekre rakott komparatort. Ez ugy nezne
ki, hogy a ket fenyhid kb. feltargy meretnyi tavolsagban lenne. Vagyis
jon az elso kitakaras, majd melle a masodik. Ezutan megszunik ez elso
kitakaras, majd a masodik is.
Ez akkor rettenetesen jo, ha "szőrös" a targy szele, vagy lekerekitett a
jel, s a "lekerekites" miatt "beprellezik".

Ugyanis ekkor - hagyomanyos meresi elrendezessel - szaggatott jelsorozat
keletkezne, vagy adott sebessegre kellene ujraindithato monostabilt
beloni. Ez pedig sokkal tobb macera, mint a dupla kapu alkalmazasa.

Az elektronika celszeruen egy parszaz Ft-os mikrovezerlo, de valamelyik
RT-ujsagban talalsz logikai kappukkal is valami rajzot.
Celhardvernel az elv, hogy van ket RS-flopod. Az elsot bebillenti a
targy elso megjelenese. Amikor ez bebillen, a masodik flop reteszelese
megszunik, igy a targy tovabbhaladasakor az is be tud billenni.
Persze a "szor" miatt tobbszor kaphat inditojelet, de O" csak az elsore
fog reagalni. Amikor a targy szele elhagyja az elso fenykaput, az elso
flop bebillenve marad, meg nem torteni semmi. Azonban a masodik
fenykapunal megjeleno elso tuske torli az elso flopot, ami pedig
reteszeli a masodikat. Igy a masodik flop is lebillen. A kimeojelet
ertelemszeruen a masodik floprol vedd le.

Soktak maskepp i csinalni. Latam 4-bites komparatorral is megoldva, meg
par kapuval. Ugyanezt lattam EPROM+komparator+dtar-al, mashol
shiftregiszterrel csainaltak. XOR-kapukkal+egyetlen rs-floppal+rc-taggal
is lattam egy erdekes megoldast valamikor. Ott ugy sporoltak meg a
masodik flopot, hogy a kondi a jelévaltozaskor vitte csak at a tusket.
Szoval lehetoseg a hardeveresben annyi, mint reten a fuszal. :)))

Szoftvernel meg egyszerubb a helyzet, ezt a funkciot kell
leprogramoznod. A kovetkezo allapotok valtoznak ugye: 00,01, 11,10,00...
Vagyis egy hurok figyeli egymas utan, a kovetkezo allapotot, vagy a
sajat allapot megszuneset. Bekapcsolaskor indulsz valahonnan, pl.
megnezed, mit latnak az erzekelok, as abba a hurokba ugrassz.
Kb. ilyen, primitiv algoritmus szerint gondoltam: "Kapuk" a bemeneti
port, "Kimenet" a kimeneti port, ertelemszeruen. Szamolni se ez a hurok
szamol. Arra irhatsz pl egy megszakitasi rutint, ha kell.

Start:
 IF kapuk=00 then goto hurok00
 IF kapuk=01 then goto hurok01
 IF kapuk=11 then goto hurok11
 IF kapuk=10 then goto hurok10
Hurok00:
 Kimenet=0
 IF kapuk=01 then goto hurok01 
 goto hurok00
Hurok01:
 IF kapuk=11 then goto hurok11 
 goto hurok01
Hurok11:
 Kimenet=1
 IF kapuk=10 then goto hurok10 
 goto hurok11
Hurok10:
 IF kapuk=00 then goto hurok00 
 goto hurok10

Persze ez a modszer kis valtoztatassal alkalmas lehetne iranyfuggo
elhaladas vizsgalatara is, de ez esetben minimalisan modosul a progi.
Ha ilyen is erdekel, szolj.

Udv.:
          Norbi.




More information about the Elektro mailing list