|
|
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 ]
|