miércoles, 23 de abril de 2008

Rotation Sensor o Encoder

Bien lei un documento viejo del antigo Logohip 16F876, y este se llamaba http://www.wellesley.edu/Physics/Rberg/logochip/docs/feedback.doc, hablaba de como construir un Shaft Encoder o bien un Sensor de rotacion, el problema es que se utiliza el Pin C0, que es un contador, pero que nuestro nuevo Logochip V 2.0 no tiene o es otro Pin en este caso el A4.
Busque el datasheet para encontrar este Pin y vi el codigo que presentaba el documento, que mide el periodo para una revolucion, pero lo que me interezaba era hacer que una rueda u otro mecanismo, de N revoluciones.
Aqui les presento las forma de construir su propio Encoder, en el que utilizo un pequeño pulsador que cuenta los pulsos de una polea de lego de 6 huecos.







El sensor deveria ir unido al eje de nuestro mecanismo en mi caso de prueba al motor el cual lleva un engrane de 8 dientes y el eje de la polea uno de 24 dientes, ah.. utilizo un motor de Lego gris lo uni al los pines 7 y 6, no es correcto porque este motor trabaja con mas corriente pero es solamente para hacer una prueba, y por no requerir mucho torque no dañara nuestro Logo..

Este es el programa...

; Jimmy Bolaños

; Demo Sensor de Rotacion

; una Revolucion = 6 clicks.

to Rot-Sensor

setn 0

setbit 4 porta-ddr

write portb-ddr 0

on-m1

loop [ wait-for-edge

setn n + 1

ifelse (n = :m) [off-m1

setn 0

stop!]

[on-m1]

]

end


to wait-for-edge

waituntil [break?]

waituntil [not break?]

end


to break?

output testbit 4 porta

end


to on-m1

setbit 7 portb

end


to off-m1

clearbit 7 portb

end

No hay comentarios:

Logochip Arm V 2.0 Video

Aca les dejo un video del Arm en funcionamiento.