Práctica 3: Control de velocidad





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:

  1. 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).

  2. 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.

Los programas a realizar serán:

  1. Servidor para control de velocidad (serv-velocidad). Programado para el micro 6808, en C. La lectura de las transiciones se debe hacer mediante interrupciones. Para la generación del PWM hay que emplear los temporizadores también con interrupciones.

  2. Programa de test para el servicio TMA (test-tma). Se ejecuta en el PC y se comunica con el servidor de control de la velocidad. Este programa debe permite comprobar el correcto funcionamiento del servicio tma, para cada uno de los motores. (por ejemplo enviando diferentes valores de tensión media desde un menú de opciones).

  3. Programa de test para el servicio LT (test-lt). Se ejecuta en el PC y se comunica con el servidor de control de la velocidad. Este programa debe mostrar en pantalla el número de transiciones y la velocidad a la que se mueve cada rueda.

  4. Programa con el controlador PI (test-pi). Se ejecuta en el PC y se comunica con el servidor de control de la velocidad. El usuario debe indicar la velocidad a la que el robot se debe mover. 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.

Evaluación:

La práctica se evaluará oralmente el día de la entrega. Los criterios de puntuación son:



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.


[Página principal del laboratorio]

Juan González Gómez.

Imagen de portada. (C) Juan Manuel Barrio Olmos, Eduardo Corral Rivas, Francisco García Tormo. Abril-2004

Última modificación: 20-Abril-2005