|
Práctica 3: Control del Robot con Encoders |
|
|

Enunciado:
En esta práctica vamos a colocar al menos un encoder en el robot. Este elemento nos va a permitir calcular el ángulo girado por una rueda o lo que es lo mismo
medir la distancia recorrida o girada por el robot. La utilidad que le vamos a dar es modificar el programa de la práctica 2, ahora en lugar de dar órdenes al robot y esperar
un tiempo medido en el PC, le mandaremos al robot la orden a realizar y el número de pasos del encoder. También podremos ampliar el programa
para grabar una secuencia y luego reproducirla.
Para poner en marcha un encoder lo que tenemos que hacer es colocar en la cara interior de una rueda un circulo con segmentos blanco-negro alternados, podéis ver uno en la figura siguiente.
Luego colocaremos un sensor CNY70 (Podemos usar uno de los que se usaron para seguir la línea negra de la P1) orientado hacia la rueda, por ejemplo pegándolo en el propio futaba.

Evaluación:
La práctica se evaluará oralmente el día de la entrega. Los criterios de puntuación son los siguientes, y la nota máxima un 10:
Entrega:
La práctica se entregará la Semana del 21 de Mayo de 2007
Pasos para realizar la práctica básica (5 puntos):
1. Imprimir un círculo codificado con impresora láser para que funcione con los CNY70.
2. Hacer un programa para el microcontrolador que espere a recibir una trama por el puerto serie.
La trama tendrá al menos tres bytes: 3. Para probar este programa podemos hacer que al recibir la trama completa la devuelva por el puerto serie. Usando un programa terminal que permita mandar y leer
en hexadecimal podremos probar el funcionamiento correcto. En linux podemos usar el g-scterm y en windows el VBHexTerm. Ojo, estos programas no están instalados en el
laboratorio.
4. Hacer el módulo del programa que lee el sensor CNY70 y que va registrando las transiciones de negro a blanco y viceversa detectadas.
5. Hacer el programa del PC que lee un fichero donde habremos guardado las intrucciones para el robot. Será como el de la P2 pero en
lugar de contar tiempo lo haremos con transiciones. Para sincronizar el programa del PC y el del microcontrolador tendremos que hacer que cada vez que se
envía una trama desde el PC, éste se quede esperando a recibir la confirmación de trama ejecutada desde el microcontrolador, para poder enviar la trama siguiente.
- 0xFF principio de trama.
- Byte que indicará la dirección (equivalente al de las teclas de la práctica anterior).
- Byte que indicará las transiciones a leer en el encoder. Ojo, el rango irá desde 0 hasta 0xFE para no coincidir con el principio de trama.
Enlaces:
Ejemplo de instalación de un Encoder por Javier de Lope[Página principal del laboratorio]
Última modificación: 10-abril-2007