Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratory-05 Encoder
1
1. INTRODUCCIÓN conectar de dos formas en pull-up (envia un 0) o
pull down (envia 1).[2]
CODIFICADORES ÓPTICOS:
Los codificadores rotatorios (conocidos
Un circuito antirrebote elimina la serie de pulsos
genéricamente como encoders) son mecanismos
debida al rebote del contacto y produce una sola
utilizados para entregar la posición, velocidad y
transición uniforme de la señal binaria, de 0 a 1 o
aceleración del rotor de un motor. Sus principales
de 1 a 0. En los elementos de contacto en general
aplicaciones incluyen aplicaciones en robótica,
(pulsadores, accionamientos de relés, etc.), al ser
lentes fotográficas, aplicaciones industriales que
elementos de acción mecánica, los cambios de
requieren medición angular, militares, etc. Un
nivel lógico se producen con lo que se denomina
codificador rotatorio es un dispositivo
los rebotes. Estos impulsos transitorios, de corta
electromecánico que convierte la posición angular
duración, que se producen en el accionamiento del
de un eje, directamente a un código digital. Los
contacto, como se muestra en la siguiente
tipos más comunes de encoders se clasifican en:
absolutos y relativos (conocidos también como
incrementales). Los encoders absolutos pueden
venir codificados en binario o gray. Dentro de los
encoders incrementales, se encuentran los encoders
en cuadratura, ampliamente utilizados en motores
de alta velocidad y en aplicaciones en las que
interesa conocer la dirección del movimiento del
eje. El tipo común de encoder incremental consiste
Ilustración-03: tomado de circuitos-antirrebotes-tipo-t
de un disco solidario al eje del motor que contiene
El esquema que se va a usar para proteger un
un patrón de marcas o ranuras que son codificados
pulsador del efecto rebote o sea, el circuito
por un interruptor óptico (par led/fotodiodo o
antirrebote, un circuito en la que utiliza un
led/fototransistor) generando pulsos eléctricos cada
interruptor I, una puerta lógica G (Trigger-Schmitt,
vez que el patrón del disco interrumpe y luego
74LS13, CD40903), junto con un condensador
permite el paso de luz hacia el interruptor óptico a
electrolítico C cuyo valor se puede aumentar o
medida que el disco gira.[1]
reducir (1uF/63V) y un par de resistencias R de 1k
ohm [2].
2
este modo se puede hacer, por ejemplo un reloj que verdad, las referencias comerciales comúnmente
cuando se incremente alguno de sus parámetros, son 74154 (4 a 16), 7447 o 7446 (4 a 7) es el más
por ejemplo los minutos, y la tecla correspondiente común al momento de conectar un display 7
se mantenga pulsada, luego del primer incremento segmentos o un multiplexor [1].
comience a avanzar más rápido, con base en lo
anterior necesitaremos las siguientes librerías:
#include <16f88.h>
#use delay(clock=8MHz)
#use fast_io(all)
#fuses
MCLR,NOPUT,INTRC_IO,NOWDT,NOBROWN
OUT
3
digitalWrite (4,c);
digitalWrite (5,d);
digitalWrite (6,e);
digitalWrite (7,f);
digitalWrite (8,g);}
void loop(){
if (Serial.available()>0){mensaje=Serial.read();
Ilustración-07: tomado de http://panamahitek.com/
if (mensaje=='0'){display (1,1,1,1,1,1,0); }
Para el cual se debe tener una configuración de
if (mensaje=='1'){display (0,1,1,0,0,0,0);} conexiones con arduino igual a la siguiente:
delay(2000);}
4
2.5 Visualización:
Implemente el código que permita la conversión de
la medición de velocidad a código BCD, de forma
que la medición se visualiza en display de 7
segmentos con capacidad para tres dígitos, similar
al mostrado en la imagen.
Ilustración-09: tomado [5]
Conecte la señal de salida a uno de los pines del
Arduino, y elabore un programa que cuente la
cantidad de veces que se detecta el objeto, y que
cada 5 segundos, envíe por el puerto serial el
resultado de la cuenta en ese periodo de tiempo.
Tenga en cuenta la aplicación de estrategias en
hardware y/o software que reduzca el error del Ilustración-12: tomado [5]
conteo debido a rebotes de la señal.
3. RESULTADOS OBTENIDOS
2.3 Simulación de encoder:
3.1 Montaje de PWM:
Realice el montaje en Tinkercad de un motor con
encoder como el que se visualiza a continuación, Se diseña un circuito con un circuito integrado 555
conectando el codificador a pines de entrada a un o definido temporizador el cual nos permite generar
Arduino. Tenga en cuenta que las salidas del una señal de reloj con ayuda de capacitores en este
codificador son de colector abierto. caso de 1uF y el cual al conectar un potenciómetro
con diodos se llega a generar una señal PWM, la
cual se alimenta de forma independiente al encoder
con una batería de 9v.
5
flag=true;
}
if(digitalRead(7)==0&&flag==true)
{
flag=false;
}
lcd.setCursor(0,0);
lcd.print("NÚMERO DE OBJETOS:");
lcd.setCursor (1,1);
lcd.print(cont);
}
Imagen-3: Autoría Propia
Se observa que en la simulación no es necesario Donde la señal es enviada al pin 7 y con sentencias
conectar una terminal del potenciómetro a tierra if y un contador se suman los objetos, el flag es
pero al realizar el montaje se nota que para lograr necesario para no repetir el conteo de un mismo
variar el ciclo útil es necesario conectar una objeto ya que el sensor queda activado por unos
terminal del potenciómetro a tierra. segundos, el límite de objetos que puede contar es
de más de 1000, es importante destacar que el
3.2 Simulación de contador: potenciómetro nos permite activar y desactivar la
Con ayuda del software Tinkercad se realiza la pantalla o controlar su intensidad luminosa.
siguiente simulación:
6
deltaTiempoInterrupciones =
tiempoInterrupcionActual -
tiempoInterrupcionAnterior;
rpm = frecuencia*(60/20);
void loop(){
tiempo= millis();
Ilustración -15: Autoría Propia if(tiempo-tiempo2>=1000)
Para el cual se utiliza el siguiente código: {
tiempo2=tiempo;
#include <LiquidCrystal.h> lcd.setCursor(1,1);
LiquidCrystal lcd(8,7,6,5,4,3); lcd.print(rpm);
volatile unsigned tiempoInterrupcionActual = 0; Serial.println(rpm);
volatile unsigned tiempoInterrupcionAnterior = 0; }
volatile unsigned deltaTiempoInterrupciones = 0; }
7
● Se afirma que los microcontroladores
optimizan el circuito necesario para medir las
revoluciones de un motor, también permiten
eficiencia y precisión en los resultados.
● Se afirma que la señal PWM, al momento de
manejar corrientes de 0.08A se debe conectar
a la resistencia variable una resistencia en
serie para facilitar el manejo de esta corriente
en porcentajes menores a 50% del valor total
de la resistencia variable.
● Se llega a la conclusión que una pantalla LCD
16x2 es más interactiva y permite una mejor
visualización que varios displays de 7
segmentos.
● Por medio de un código serial se puede
obtener resultados esperados permitiendo
sintetizar el proyecto que se está realizando
como para este evento experimental,
evidenciar las velocidades en RPM de un
motor dc.
REFERENCIAS