Volver arriba
2012-06-12
En anteriores artículos vimos la presentación
y los requisitos de diseño del
cochecito teledirigido Placa Buggy 1; la configuración
general; el concepto
electrónico general; la suspensión,
la planta motriz y el sistema de actuación
y alimentación de dicha planta; las señales
acústicas y luminosas; y el sistema
de control remoto. Hoy vamos a plantear la estructura de la
lógica programada en el microcontrolador para manejar el cochecito
en reacción a las señales del mando a distancia.
Descripción del programa de control
El programa de control realiza unas pocas funciones:
- En primer lugar, establece la configuración inicial.
- En segundo lugar, ejecuta un bucle principal que se
encarga de controlar el cochecito.
- En paralelo con el bucle principal, hay un mecanismo
de interrupciones que sirve para detectar la frecuencia
de parpadeo de la luz infrarroja del mando a distancia.
Esta frecuencia de parpadeo codifica la orden transmitida
al cochecito.
Una acción importante del bucle principal consiste en encender
y apagar los motores de forma intermitente muchas veces por segundo.
Esto sirve para que los motores no giren a máxima velocidad, ya que
no tienen mucha reducción y el coche avanza excesivamente rápido en
régimen continuo. Con más reducción no haría falta esto.
Configuración inicial
Lo primero que hace el programa es asignar valores
iniciales a las variables de trabajo y configurar las líneas
de entrada y salida, el temporizador y el mecanismo de
interrupciones. Después de esto, pasa al bucle principal.
Bucle principal
El bucle principal es muy sencillo:
- Si la actual medida ya ha sido evaluada, ve al bucle de intermitencia
de los motores:
- Si el modo no es de encender motores, vuelve al bucle principal.
- Espera un poco.
- Decrementa un contador.
- Si el contador llega a cero, conmuta el estado de encendido
o apagado de los motores y pon la cuenta atrás de nuevo en marcha.
- Si no, vuelve al bucle principal.
- Si hay una nueva medida, evalúala:
- Marca la medida como ya evaluada.
- Decide qué orden se ha recibido en función de la cuenta de pulsos:
- Si la cuenta de pulsos está dentro del rango correspondiente
a la marcha atrás, la orden es de marcha atrás.
- Lo equivalente para las demás órdenes (marcha adelante, giro
a la izquierda, giro a la derecha, encendido de la bocina y
encendido del faro frontal).
- Verifica si la lectura es estable:
- Si la orden deducida de la cuenta de pulsos actual coincide con la
orden deducida de la cuenta de pulsos anterior:
- Decrementa una cuenta atrás.
- Si la cuenta atrás llega a cero, la lectura es estable.
- Si no, la lectura todavía es inestable.
- Si es diferente:
- Pon la cuenta atrás en su valor inicial.
- La lectura es inestable
- Si hay una lectura estable aplica la orden:
- Si la orden es la de marcha atrás, activa las líneas correspondientes.
- Lo equivalente para las demás órdenes (marcha adelante, giro
a la izquierda, giro a la derecha, encendido de la bocina y
encendido del faro frontal).
- Vuelve al bucle principal.
- Vuelve al primer paso.
La cuenta de pulsos se hace mediante interrupciones. Cada vez que
se ejecuta una de estas interrupciones, el bucle principal queda pausado
temporalmente. Hay interrupciones por cambio de estado de la señal
de entrada (cuando la señal infrarroja se enciende o se apaga) y por
fin de la cuenta de un temporizador cíclico de frecuencia fija.
Interrupción por cambio de nivel de la señal de entrada
Esta interrupción se ejecuta cuando la entrada cambia de nivel,
es decir, cuando el receptor detecta que se ha encendido o apagado
la iluminación infrarroja. La secuencia a seguir es muy sencilla:
- Si la lectura del sensor es alta, incrementa un contador temporal
de pulsos.
Interrupción por final de la cuenta del temporizador
La secuencia es igualmente muy sencilla:
- Guarda el valor del contador temporal de pulsos como la actual
cuenta de pulsos.
- Marca la lectura como no evaluada.
Otros artículos de esta serie
- Presentación
y requisitos de diseño.
- Configuración
general.
- Concepto
electrónico general.
- Suspensión,
planta motriz y sistema de actuación y alimentación de dicha planta.
- Señales
acústicas y luminosas.
- Sistema
de control remoto.
- Lista
de componentes.
- Código
fuente, planos, instrucciones de montaje e instrucciones de uso.
Categorías:
DIY,
Informática
Artículos publicados el mismo mes
Permalink:
https://sgcg.es/articulos/2012/06/12/placa-buggy-1-un-cochecito-teledirigido-7/
Volver arriba