[ stojakovicv @ 12.05.2009. 06:33 ] @
Imam apsolutni enkoder koji daje 5 x 4 bita paralelno, na svom izlazu. Dakle ukupno 20 bita (provodnika) za polozaj.
Enkoder daje 5 cifara koje se prikazuju na 7-seg displeju .Svaka cifra nosi 4 bita.

Na izlaz sam nakacio 20 led dioda i snimio sledece stanje: svaki izlaz od ova 4 (svaka cifra) pokazuje istu sekvencu nula i jedinica, ali cifre imaju razlicitu tezinu.

dakle na prva 4 bita se okretanjem enkodera pokazuje redom :

0110
0010
0011
0001
0101
0001
0011
0010
0110
1110
1010
1011
1001
1101
1001
1011
1010
1110

posle toga opet se ponavlja u krug. Ista sekvenca dolazi i na ostale 4 cifre, samo sa vecom tezinom.

I na kraju : kakav je ovo kod?
Na displeju se pokazuju dec cifre 0-9. Ovde kako sam izmerio, prikazuje se 18 razlicitih stanja. Mozda sam negde preskocio dva puta stanje 0000, pa bi onda ukupno bilo 20 razlicitih stanja, sto mu dodje: 2 stanja moraju da se promene da bi se prikazala jedna cifra? Tako da imamo deset cifara: 0-9.

Da li je ova moja logika ispravna, ili postoji neko jednostavnije objasnjenje ove sekvence? koje?


[ Sepa011 @ 12.05.2009. 07:53 ] @
Proguglaj malo 'Gray Code'
[ stojakovicv @ 12.05.2009. 08:38 ] @
naravno da sam proguglao, ali nesto ne vidim smisao!

wiki kaze: http://en.wikipedia.org/wiki/Gray_code

dec Gray code:
0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
9 1101
10 1111
11 1110
12 1010
13 1011
14 1001
15 1000
[ _str_ @ 12.05.2009. 08:49 ] @
Evo sema za prebacivanje u binarni sistem sa XOR i NOT kapijama.
[ guja011 @ 12.05.2009. 09:03 ] @
koji model enkodera (pise li sta na kucistu) i sta se nalazi izmedju cifara i njega od elektronike
[ rsinisa @ 12.05.2009. 09:16 ] @
Sivi kod je tako napravljen da se kod dve susedne kombinacije menja samo po 1 bit radi sigurnijeg dekodiranja.

Pozdrav.
Sinisha
[ stojakovicv @ 12.05.2009. 12:02 ] @
enkoder je ferrocontrol WK 1000.
google ne daje skoro nista bitno.
kontaktirao sam proizvodjaca, ali se ne javljaju.

eh sad kad moram da opisem citav sklop: enkoder je vezan na ulaz jednog od paralelnih ulaznih kola procesora Z80. Z80 obradjuje signale i salje ih preko izlaznog paralelnog kola na displej 5 x 7seg.
Dakle kod u mcu radi posao!

enkoder ima dva diska, jedan se vrti nekih 5-6 puta brze od drugog. sa jednog diska ide prvih 12 bita (najnize 3 cifre), a sa ovog koji ide sporije dolazi jos 8 bita ( vise dve cifre)

od elektronike koliko sam video na izlazu su 74LS621 i 622 OCTAL BUS TRANSCEIVERS, a osim njih tu su i CA3081 NPN Transistor Arrays, optokapleri,...

mislim da sam video i neki HCF ... ne secam se koji.

nego da se vratimo na kod. ovo je prviih 9 prelaza .

0110
0010
0011
0001
0101
0001
0011
0010
0110

primetio sam simetriju oko 5-tog prelaza: 0101, dakle prvi i zadnji, drugi i predzanji, ... su isti
isto to imamo i kod druge devetke:

1110
1010
1011
1001
1101
1001
1011
1010
1110

Grayov kod se pravi na slican nacin, ali mi je glupo da enkoder ne izbacuje pozicije redom 0-1-2-3-4-5-6-7-..... nego da malo sara
[ stojakovicv @ 14.05.2009. 11:18 ] @
za sve one kojima bi ovo moglo da koristi, odgonetnuo sam kod.
Rec je o Petherick kodu koji se koristi za kodiranje duzinskih mera:

http://www.ahok.de/en/hoklas-code.html

to znaci da moja sekvenca izlgeda ovako:

Petherick <=> decimalno

0101 <=> 0
0001 <=> 1
0011 <=> 2
0010 <=> 3
0110 <=> 4
1110 <=> 5
1010 <=> 6
1011 <=> 7
1001 <=> 8
1101 <=> 9
1001 <=> 8
1011 <=> 7
1010 <=> 6
1110 <=> 5
0110 <=> 4
0010 <=> 3
0011 <=> 2
0001 <=> 1




i tako dalje u krug...
[ stojakovicv @ 06.06.2009. 21:35 ] @
Jel zna neko kako se uopste dekodira neki apsolutni enkoder? Odnosno kako se takav enkoder koristi za merenje duzine?

Gledao sam neke Omronove enkodere, sa Gray-ovim kodom na izlazu.
Daju isto sto i ovaj moj, samo sto je moj u Petherick-ovom kodu. Ne bitno, jer sam ga ja odgonetnuo.

Problem mi je kako da u kodu mcu-a odgonetnem sekvencu koja se pojavljuje na enkoderovom izlazu:

0
1
2
3
4
5
6
7
8
9
9
8
7
6
5
4
3
2
1
0

Snimio sam malo detaljnije stanja na izlazu i evo ga fajl u excelu prikacen.
Ako se pogledaju plavim oznacene decimalne cifre, i ako se krecemo u jednu stranu, npr. kada se enkoder vrti u desno, cifre koje nam dolaze su:

256
257
258
259
249
248
247
246
245
.
.
.

ocigledno je da enkoder ne daje redom brojeve koji predstavljaju trenutnu poziciju, vec se svaka od cifara menja prema gore navedenoj sekvenci, a potom te sekvence za svaku cifru treba da se "friziraju" u programu mcu-a da bi se dobio stvarni polozaj enkodera.






[ PedjaZ @ 07.06.2009. 11:39 ] @
c1=cifra1, c2=cifra2...

if c2/2=int(c2/2) then 'ako je c2 paran broj
'nista ja tu ne bi dir'o
else
c1=9-c1
end if

objasnjenje
kada je c2 paran broj
onda c1 broji od 0 ka 9

kada je c2 neparan
onda c1 broji od 9 ka 0
ali sa onim c1=9-c1
broji opet od 0 ka 9

end if
[ PedjaZ @ 07.06.2009. 23:28 ] @
Evo resenja u koloni N O P
samo gresi kod 200 - resi vec nekako

kolona N
=E257

kolona O
=IF(E287=1;9-G287;G287)

kolona P
=IF(E287<>1; IF(G287/2=INT(G287/2); I287; 9-I287); IF(G287/2=INT(G287/2); 9-I287; I287))

Odoh
[ stojakovicv @ 08.06.2009. 06:19 ] @
Hvala Pedja,

Ja sam napravio gresku u koloni gde pise 200 kada sam popunjavao tabelu! Matematika radi posao! Svaka cast!

Inace, uporedjivao sam sve i svasta u tabeli tabih dosao do resenja, ali ova fora sa parnom cifrom mi nije pala na pamet.