rotative encoder
DESCRIPTION
How to encode 16 position on a wheel with 4 bisTRANSCRIPT
7/18/2019 Rotative Encoder
http://slidepdf.com/reader/full/rotative-encoder 1/5
Soluzione “Prize competition”.
Roberto Rubino,
07/06/2013
Si consideri la codifica di 16 numeri su 4 bit. Far ruotare il cilindro in senso antiorario corrisponde a“siftare! le cifre del numero di una posi"ione a sinistra. #l bit rimanente potr$ essere settato a 0 o a
1. %&ni numero a dun'ue due possibili “(icini! se il cilindro ruota in senso antiorario e altri due se
ruota in senso orario )
*sempio)
0001 a come (icini “destri! 0010 e 0011 e come (icini “sinistri! 0000 e 1000
Se si considerano i 16 numeri come i (ertici di un &rafo orientato, colle&ati ai loro “(icini! destri, il
problema si riduce alla ricerca di un ciclo ce tocci tutti i (ertici una ed una sola (olta +un ciclo di
amilton-. ro(ata una solu"ione, essa sar$ (alida per 'ualsiasi (erso di rota"ione del cilindro.
Supponiamo ad esempio, ce il cilindro ruoti in senso antiorario e 'uindi le cifre “siftino! a
sinistra.
#l &rafo ce rappresenta i “(icini destri! di o&ni elemento pu essere ottenuto facilmente in 'uesto
modo +rappresentando i numeri in base 10 per comodit$-)
#l &rafo percorribile solamente da sinistra (erso destra. %((iamente i numeri (anno da 0 a 1
perc la codifica a 4 bit, ma il &rafo pu essere dise&nato immediatamente per 'ualsiasi numerodi bit con cui si (o&lia la(orare.
7/18/2019 Rotative Encoder
http://slidepdf.com/reader/full/rotative-encoder 2/5
Rimane dun'ue da definire lal&oritmo con cui coprire il &rafo)
Supponiamo ce il ciclo parta da 0 e si concluda in 0.
ercorreremo il &rafo se&uendo due semplici re&ole)
– d o&ni bi(io si percorrano prima &li arci in posi"ione “inferiore!. Si percorrano &li arci
“superiori! solo se i (ertici inferiori sono &i$ stati (isitati.
– %&ni (olta ce si passa per un (ertice 'uesto (iene e(iden"iato, in modo da ricordarsi di non
passarci di nuo(o.
5alla defini"ione dellal&oritmo si pu notare ce esso non dipende dal numero di bit utili""ati,
ed 'uindi estendibile al caso &enerale.
*sempio di copertura del &rafo a 16 bit secondo le re&ole sopra descritte)
1 1-3
1-3-7 1-3-7-15
7/18/2019 Rotative Encoder
http://slidepdf.com/reader/full/rotative-encoder 3/5
1-3-7-15-14 1-3-7-15-14-13
1-3-7-15-14-13-11 1-3-7-15-14-13-11-6
1-3-7-15-14-13-11-6-12 1-3-7-15-14-13-11-6-12-9
7/18/2019 Rotative Encoder
http://slidepdf.com/reader/full/rotative-encoder 4/5
1-3-7-15-14-13-11-6-12-9-2 1-3-7-15-14-13-11-6-12-9-2-5
1-3-7-15-14-13-11-6-12-9-2-5-10 1-3-7-15-14-13-11-6-12-9-2-5-10-4
1-3-7-15-14-13-11-6-12-9-2-5-10-4-8 1-3-7-15-14-13-11-6-12-9-2-5-10-4-8-0
'uesto punto il ciclo pu ricominciare.
7/18/2019 Rotative Encoder
http://slidepdf.com/reader/full/rotative-encoder 5/5
erificiamo ce la se'uen"a sia corretta ritraducendola in binario)
+8uesto 'uello ce “(edono! i 'uattro contatti man mano ce il cilindro scorre-
19 0001
39 0011
79 011119 1111
149 1110
139 1101
119 1011
69 0110
129 1100
:9 1001
29 0010
9 0101109 1010
49 0100
;9 1000
09 0000
Supponendo dun'ue ce &li 1 siano se"ioni conduttrici del cilindro e &li seri se"ioni
isolanti, la se'uen"a di se"ioni da porre sul cilindro sar$)
0001111011001010
Roberto Rubino,
07/06/2013