Práctica 3: Control de velocidad |
|
Problema:
¿Cómo hacer que el robot pueda moverse a diferentes velocidades? ¿Cómo lograr que la velocidad sea independiente de las características del robot (peso, tipo de motores, radio de la ruedas, etc...)?. Necesitamos añadir CONTROL.
Hasta ahora, el robot lo hemos controlado de manera “binaria”. Los motores sólo podían estar en dos estados: encendidos (a máxima velocidad) y apagados (velocidad 0).
A parte de la “brusquedad” de movimientos, el consumo instantáneo de corriente es muy elevado (para que ambos motores pasen de velocidad 0 a la máxima, se requiere mucha energía instantánea). Esto se podría evitar haciendo que el robot acelerase poco a poco.
El objetivo de esta práctica es realizar un control de velocidad de tipo PI (Proporcional-Integral) para solucionar estos problemas.
Enunciado:
Realizar un controlador de velocidad, de tipo PI, para cada motor, que permita al robot avanzar en línea recta a diferentes velocidades, describir arcos y acelerar/desacelerar de manera controlada.
El controlador se programará en el PC. En el microcontrolador 6808 se ejecutará un programa servidor (similar al servidor genérico empleado en la práctica 2, pero modificado) que ofrecerá dos servicios nuevos:
Servicio TMA: Tensión media aplicada a los motores. Los motores responden al valor medio de la tensión aplicada. Cuanto mayor sea este valor, mayor la velocidad. Utilizando la técnica del PWM (Pulse Width Modulation o modulación por anchura de pulso), podemos generar señales digitales con diferentes valores medios de tensión. Aplicadas a un motor, permite variar su velocidad. Este servicio permite determinar el valor medio de la tensión aplicada. Las unidades empleadas para especificar la senal PWM podrán ser las que el alumno considere más adecuadas (esto dependerá de cómo lo implemente cada uno).
Servicio LT: Lectura de Transiciones. Devuelve el número de transiciones que se han producido en el encoder (paso de blanco a negro o de negro a blanco) desde la última petición. Este servicio nos da, por tanto, el ángulo que se ha movido la rueda desde la última vez (medido en número de transiciones, y sabemos que cada vez que ocurre una transición, la rueda a girado un determinado ángulo, que depende de la resolución de nuestro encoder). Con este dato podemos obtener la velocidad como el cociente entre el número de transiciones y el tiempo transcurrido.
Tareas a realizar:
Implementar el servicio TMA y realizar un programa de pruebas (test-tma), en el PC, que permita comprobar su correcto funcionamiento (por ejemplo enviando diferentes valores de tensión media desde un menú de opciones). (2 ptos)
Implementar el servicio LT y realizar un programa de pruebas, en el PC (test-lt), que permita comprobar su correcto funcionamiento, mostrando en pantalla el número de transiciones y la velocidad a la que se mueve cada motor. (2 ptos)
Implementar el controlador PI en el PC (test-pi). El usuario indica la velocidad y el robot se mueve. Las constantes del controlador se calcularán mediante prueba-error. Se puede saber si está funcionando correctamente fijándose en la velocidad de giro de las ruedas. Tiene que ser la misma tanto si el robot está moviéndose sobre una superficie como si lo tenemos levantado, sin que haya contacto entre ruedas y suelo. (2 ptos)
Documentación (obligatoria). Todo lo realizado, haciendo hincapié en los problemas encontrados, se debe documentar: Estudio teórico, solución adoptada, valores de los coeficientes del PI empleados, cómo se han calculado, cómo se han implementado los servicios TMA y LT... (1 pto)
Mejoras: (3 ptos)
Control de aceleración/desaceleración
Que el robot pueda describir trayectorias en arco (haciendo que un motor se mueva más rápidamente que otro)
IMPORTANTE:
Esta práctica tiene mucho de Diseño. Una de las tareas será la de definir cómo se implementan los servicios, qué tipos de tramas se van a emplear, etc. La solución no es única: puede haber tantas como alumnos. Por eso es importante poner en la memoria el estudio realizado y justificar qué solucion se ha adoptado.
Imagen de portada. (C) Juan Manuel Barrio Olmos, Eduardo Corral Rivas, Francisco García Tormo. Abril-2004
Última modificación: 21-abril-2004