» Optimus PFC » Álbumes de fotos y vídeos » Capturas de osciloscopio

04 de Mayo de 2004

Título: Capturas de osciloscopio: Relación de figuras y contenido.

A continuación se muestra el significado de cada una de las capturas realizadas desde el osciloscopio y mostradas en el álbum de fotos "Capturas de osciloscopio".

Figura Descripción
tek_0001.gif Duración del printf de estado en la rutina de desbordamiento del TIMER 3. 40ms a 10Mhz. TIMER 3 desborda cada 100ms.
tek_0002.gif Tiempo que transcurre entre desbordamientos de TIMER 3. Configurado para desbordar cada 100ms a 10Mhz.
tek_0003.gif Ídem tek_0002.gif.
tek_0004.gif Duración de la rutina de desbordamiento de TIMER 3 en la que lanzamos los procesos speed_ctrl(), odo_ctrl() y realizamos algun incremento de contadores. Dura 6ms.
Podemos observar como con una frecuencia de dos veces por segundo aparece un pulso mas ancho. Éso se produce cuando dentro de la rutina mencionada anteriormente hacemos un printf() del vector de estado (ver tek_0001.gif).
tek_0005.gif Igual que tek_0004.gif, pero esta vez incluimos la duracion del prinf() (40ms, total: 46ms).
tek_0006.gif En CH-1 la rueda el PWM_duty_cicle enviado a la rueda derecha. En CH-2 lo mismo para la izquierda. Los valores coinciden porque hemos ejecutado el comando set_pwm(256, 256).
tek_0007.gif Ídem tek_0006.gif, pero set_pwm(512, 512);
tek_0008.gif Ídem tek_0006.gif, pero set_pwm(768, 768);
tek_0009.gif Ídem tek_0006.gif, pero set_pwm(1023, 1023). La resolución de los controladores PWM del PIC fueron configurados para usar los 10 bits posibles, por tanto tenemos 1024 niveles de resolución para el duty_cicle, que van desde 0 hasta 1023.
tek_0010.gif MOTOR DERECHO. En CH-1 aparece la señal de PWM. En CH-2 los tics que llegan de los encoders. El comando enviado al control fue setvel(150, 0); Por tanto, speed_ctrl() va fijando periódicamente el PWM_DUTY_CICLE en función de los tics que recibe. La rueda estaba dando una vuelta completa en algo más de 1 s (aprox).
Los ejes, las ruedas y el sistema de anclaje no son precisamente un ejemplo de precisión mecánica, por tanto 0.5 s son de bajada desde la parte más mala del eje (torcida) y otros 0.5 s. son de subida. Este efecto se puede apreciar en la señal de los encoders. La parte más lenta coincide con el instante en que el defecto del eje está situado en la parte más baja de la circunferencia descrita durante el giro. Suponiendo que los ejes, las ruedas y el sistema de anclaje fueran mejores, la señal del encoder debería ser menos oscilante.
tek_0011.gif Idem tek_0010.gif pero para MOTOR_IZQUIERDO.
tek_0012.gif Se estaba ejecutando el comando setvel(100, 0), pero la rueda izquierda necesitaba más PWM porque había una mano que paraba la rueda.
tek_0013.gif Duración de la rutina de desbordamiento de TIMER 3 en la que realizamos (además de algunos incrementos de contadores) las siguientes tareas: speed_ctrl(), odo_ctrl() y printf() del vector de estado. TIMER 3 desborda cada 91 ms y la rutina dura 20ms. En este caso estamos usando un reloj de 11059200 Hz y una línea RS232 a 115000 bps. El hecho de usar el anterior reloj garantiza que no habrá errores de transmisión debidos a las imperfecciones del reloj del PIC:

CLK = SBGRP * 16 * velocidad_transmision

11059200 = 6 * 16 * 115200
tek_0014.gif Ídem tek_0013.gif, pero TIMER 3 desborda cada 100ms. RS232 115200, 11059200 Hz. La rutina más larga dura 20ms.

Volver ]

© 2004 optimus.meleeisland.net