Página principal

Sistemas Digitales Móvil autónomo por fototaxis


Descargar 69 Kb.
Fecha de conversión24.09.2016
Tamaño69 Kb.


Sistemas Digitales



Móvil autónomo

por fototaxis








Alumno: Delmas Guillermo

Profesor: José Juárez






UNIVERSIDAD NACIONAL DE QUILMES

DEPARTAMENTO DE CIENCIA Y

TECNOLOGIA

Ingeniería en Automatización y Control Industrial


OBJETIVO
Construcción de un móvil autónomo con control de locomoción por fototaxis, mediante el sensado de la variable intensidad de luz y la orientación del móvil con respecto al foco.

PROCESO
El fototaxismo es la propiedad de los sistemas a responder u orientar su sistema locomotor en dirección a un estímulo luminoso, logrando reconocer su ubicación con respecto a su propia posición.

La Programación se efectúa bajo lenguaje C, utilizando un microcontrolador MC68HC11F1 para el control de la velocidad de los actuadores diferenciales (bimotor) por realimentación de intensidad lumínica. Se implementa un control de tipo P (proporcional)


MÓVIL AUTÓNOMO O GIRASOL
El sistema fotosensible o girasol, tiene como objetivo primordial la orientación hacia el foco de luz y el alcance del mismo, dentro de un margen reducido de visión, con una dinámica controlada por realimentación.

El sensado de la intensidad de luz se genera a partir de un par de fotorresistencias de resistividad negativa (baja intensidad de luz -> alta resistividad – alta intensidad -> baja resistividad). Las que son implementadas en un circuito simple, divisor resistivo, para luego adquirir los datos en tensión a través del conversor analógico digital y posterior análisis de la señal. Esta señal es conformada dentro del microcontrolador, por ser un medio mucho más versátil a la hora de elegir un rango de funcionamiento según los estímulos.

Para una mejor estimación de la distancia al foco y proporcionalidad lineal del control de velocidad, se linealiza a partir de un punto la curva característica de la fotorresistencia, obteniendo dos ganancias proporcionales.

La señal analizada se relaciona proporcionalmente con el control de la velocidad de avance de cada rueda, por medio del ciclo de trabajo de los PWMs (modulación por ancho de pulso), implementados dentro del micro- controlador. Los PWMs son generados a través de las interrupciones del timer, salida por comparación de tiempo (TOC2 y TOC3).

La tracción es diferencial, cada rueda tiene su control de velocidad, con el cual se da la dirección al móvil según la señal de las fotorresistencias.
DIAGRAMA EN BLOQUE DE SISTEMA FOTOTÁXICO




TABLA DE DIRECCIONES


ENTRADAS

PUERTO DEL MICRO

PINES

FOTORRESISTENCIA 1

A

5

FOTORRESISTENCIA 2

A

6

SALIDAS







MOTOR 1

E

0

MOTOR 2

E

3





DIAGRAMA EN BLOQUE DE SISTEMA DE MUESTREO


MICROCONTROLADOR MC68HC11F1
Del Microcontrolador se utilizan los siguientes recursos:


  • Conversor analógico digital A/D (ADR1, ADR2)

  • Salidas de comparación de tiempo (TOC1, TOC2, TOC3)

  • Comunicación serie SR-232


CONVERSOR ANALÓGICO DIGITAL
El conversor A/D es utilizado en modo canal múltiple, para poder muestrear las señales de las fotorresistencias, cada una sobre un registro diferente y en modo de scan discontinuo.

Los conversores del microcontrolador son 8 y están como función secundaria en el puerto E, de los cuales se utilizan dos, el pin 0 y el pin 3, correspondientes a los registros ADR1 y ADR2 (figura 1).

Figura 1.

Cabe de informar que los pines 0, 3, 5, 7 sobre el puerto del Kid de Motorola corresponden a los canales AN0, AN1, AN2, AN3 y estos a los registros ADR1, ADR2, ADR3, ADR4 respectivamente.


La configuración del conversor se realiza por medio del registro OPTION, se escribe únicamente en el bit 7 para habilitar el conversor


Registro de estado


Los bits del registro de estado son:
CCF: El Flag indica la conversión terminada y el dato disponible. Hasta que no se escriba un set en este bit no se realizará una nueva conversión (útil solamente en modo discontinuo).

SCAN: un cero habilita el scan discontinuo, de este modo se obtiene sólo una vez la conversión y luego se espera el borrado del flag para una nueva conversión.

MULT: configura la forma de cómo se van a guardar los datos, con un set se muestrean los primeros cuatro canales y se alojan los datos convertidos cada uno en un registro diferente.

CA-CB-CC-CD: configuran el grupo de canales y registros que serán utilizados.


Del registro ADCTL solamente se setea el bit 4, correspondiente a la opción multicanal, el resto permanecerá en reset (nivel bajo). Salvo el bit 6 que no se utiliza y el bit 8 correspondiente al flag.
TIMER
Se utilizan 3 de los cinco comparadores de salida, toc1, toc2 y toc3; de los cuales dos generan pwm y el toc1 para fijar una frecuencia de muestro sobre el conversor A\D. Esto genera tres hilos de trabajo que interrumpen a diferentes frecuencias el proceso dentro del bucle infinito propio del micro, o el “for infinito” en lenguaje C. Los comparadores de salida destinados a los pwm (toc2 y toc3) trabajan a una frecuencia mucho mayor que la de muestreo, para evitar vibraciones en los motores, los cuales poseen propiedad inductiva casi inexistente, lo que se traduce en poca inercia y por lo tanto escaso comportamiento como filtro pasa bajos.

Los comparadores son usados en modo “alternador” o TOGGLE.

El comparador TOC1 genera la frecuencia de muestreo y paralelamente levanta los datos de las variables a analizar y setea un flag para iniciar la actualización del sistema. No genera ningún tipo de acción sobre el puerto A, que es el que tiene asignado.

Para configurar los comparadores y la atención a interrupción correspondiente, se procede de la siguiente manera:


OC1M (máscara del comparador 1)

El comparador 1 tiene la capacidad de actuar sobre cualquiera de las 5 salidas de los comparadores, por lo tanto se debe configurar este registro de manera que la atención a interrupción no genere ninguna acción sobre los pines del puerto A, en particular sobre los pines 6 y 5, lugar en donde los toc 2 y 3 generan los pwms.

Entonces se borra el registro colocando ceros en el byte.

TMSK1 (registro de la máscara de interrupción del timer)

Esta máscara permite habilitar y deshabilitar la atención a interrupción por comparación exitosa o entrada de captura. Este registro será utilizado para habilita y deshabilitar los pwms cuando sea necesario.
Esto se logra Seteando permanentemente el bit 7, correspondiente al toc1 y alternando set y reset sobre los pines 6 y 5, relacionados con los comparadores toc2 y toc3 respectivamente.
TFLG1 (registro de banderas de interrupción del timer)

Los bits de este registro indican cuando sucede el sistema de atención a interrupción.

Este registro funciona conjuntamente con el registro anterior (TMSK1).


Una vez ocurrida la interrupción se debe borrar el flag escribiendo un uno en el bit según corresponda. De otro modo quedará bloqueado ese comparador del timer (no sirve para deshabilitar las atención a interrupción, sólo se logra eficientemente desde la máscara de interrupciones).

COMUNICACIÓN RS-232
La comunicación serie se utiliza para la generación de una curva característica de la fotorresistencia, debido a su inexistencia en la divulgación común de hojas de datos de componentes electrónicos.

Los datos obtenidos desde el conversor son reflejados a través de la comunicación serie por el Hiperterminal y genera una base de datos con los diferentes valores de sensado, para luego armar una curva característica.


La configuración es:
SCCR1 (registro de control de comunicación serie)

Permite configurar el largo de la palabra a transmitir y las caracteristicas de Wakeup. Sólo se necesita una transmisión común de una palabra de 8 bit, que se traduce en un reset completo del registro.


SCCR2 (registro de control de SCI)

Permite controlar la habilitación y deshabilitación individual de las funciones de SCI.

En este caso sólo interesa transmitir información desde el microcontrolador a la PC, entonces se setea el byte con un uno en el bit 7 y el resto en cero (reset).



SCSR (registro de estado)

Indica el estado actual en que se encuentra el sistema de comunicación, por medio de flags. Para este caso sólo interesa el bit 7, relacionado con la disponibilidad de canal de transmisión, un uno en el registro significa canal vacío y disponible para cargar el SCDR (registro de dato).



BAUD

Se configura la velocidad de transmisión a 9600 baudios.




HARDWARE

Composición estructural:




  • Dos ruedas con tracción independiente, que dan el avance y giro

  • una rueda omnidireccional como tercer punto de apoyo, dando estabilidad y maniobrabilidad simple al sistema.

  • Un chasis de aluminio, para dar fortaleza y rigidez a la estructura.

  • Una plataforma circular de cartón prensado, como apoyo para el microcontrolador









VISTA AËREA DIFERENTES NIVELES




  • Placa de electrónica:

  • Etapa de potencia: recibe la señal de los PWM, generada por los comparadores de salida, y a través de los opto acopladores (4N35) satura los mosfets (IRF510A) que alimentan los motores.

  • Sensores de intensidad de luz: a través del divisor resistivo se obtiene una señal proporcional a la intensidad de luz, que se traduce en distancia al foco. La variable lumínica es traducida a tensión por medio de dos fotorresistencias. La tensión de salida es convertida a digital por los conversores A/D.

La alimentación de todo el sistema se realiza a partir una fuente de 5 voltios. EL microcontrolador se alimenta con una batería de 9 V.



Placa de electrónica



COMPONENTES

VALORES

R1,R3

10 KΩ

R2,R4

2.2 KΩ

R6,R7

1.33 KΩ

Q1,Q2

MOSFET canal N IRF 510A

M

MOTOR DE CC 5 V

OPTOACOPLADORES

4N35



  • Circuito esquemático del pulsador para muestreoº




COMPONENTES

VALORES

R5

10 KΩ

PULSADOR

Micro Switch N/A



SOFTWARE
El programa utilizado para la programación del microcontrolador es el Cosmic, incluye el compilador, un Linkeador y un ensamblador. El conjunto concluye en el archivo “.S19”, aparte tiene la ventaja de tener incluido un debbuger llamado ZAP. El lenguaje de programación es “C”.

El archivo compilado de motorota “.S19” se carga a través del programa “programador HC11F1” por del puerto serie al microcontrolador.

A continuación se presenta un diagrama en bloques de programa:

PWM.c : este archivo incluye dentro, el “main” donde se genera el bucle infinito (propio del micro), las funciones de atención a interrupción de los timer, toc1, toc2 , toc3, llamadas conversor A/D, pwm_1 y pwm_2 respectivamente.



  • main: en el bucle infinito las funciones se denominan de “linealización” y “análisis” cada vez que es levantado un flag correspondiente.

  • conversor A/D”: se utiliza para generar un muestreo de la señal de sensor a 31.25Hz, se copian a dos variables los valores de la conversión anterior y se levanta el flag.

  • pwm_1” y “pwm_2”: generador del PWM de una de las ruedas. El pwm tiene un periodo de 1khz y administra el ciclo de trabajo.

LINEAL.c: cumple la función de linealizar la curva característica del sensor, decidiendo que estado tomará el sistema según los limites de lejanía y proximidad al foco de luz, para luego reflejarlos en la recta de velocidad, que en realidad es un reflejo directo al ancho de pulso de pwm. Recibe el valor a linealizar y el índice del vector donde serán guardados los valores correspondientes a la curva de velocidad.

ANALISIS.c: Administra la activación y desactivación de los “timer” correspondientes al pwm_1 y pwm_2, según el estado del móvil, aparte de asignar la acción de velocidad, o como dijimos antes el ancho de pulso de los pwm sobre cada rueda según las condiciones en que se encuentra el móvil con respecto al foco, llamando a la función “DIFERENCIAL.c”.

DIFERENCIAL.c: decide a que rueda se asignará el diferencial de velocidad para corregir la trayectoria y de este modo lograr posicionarse de frente al foco. Por otro lado es generado para ahorrar memoria, ya que el código es igual excepto en la decisión en la asignación del diferencial. Recibe el valor del diferencial de velocidad y los índices correspondientes a cada rueda



Curva característica
La curva característica se construye por medio de un pulsador generador de muestras, que al presionarlo, cuando un foco luminoso excita al sistema en diferentes posiciones, toma una muestra de puerto E (conversor A/D) y la comunica instantáneamente a la PC por medio el puerto serie, visualizando el valor en el “HiperTerminal” de windows, y agregando caracteres de separación. Luego estas muestras se grafican punto a punto con MATLAB.
Diagrama en bloques del sistema de muestreo

Modelado del móvil
El diseño de móvil es elegido teniendo en cuenta la complejidad del control a la hora de dar dirección y avance locomotor en búsqueda del foco luminoso. Por medio de un sistema motriz diferencial, una forma simple y eficiente, se logra direccionalidad al mismo tiempo que avance con sólo variar la velocidad diferencial. La rueda omnidireccional, tercer punto de apoyo y de estabilidad, da libertad de acción al sistema y no necesita de un servomecanismo para seguir la dirección deseada.

La base superior se utiliza como apoyo para el microcontrolador HC11F1, por el simple motivo de no poder desmontar el micro controlador e integrar todo el circuito a la placa de electrónica, reduciendo el tamaño y peso.




Modelado del sensor de intensidad lumínica
En principio, la fotorresistencia es un transductor de intensidad de luz a resistividad; a medida que se incrementa la intensidad de luz, la resistividad disminuye cuasi-lineal o logarítmicamente según la potencia del foco luminoso.

A continuación se muestra una gráfica de intensidad de luz, rango digital de 0-255, en función de la distancia (0 – 120 cm). Los datos se lograron por medio del sensor ya encapsulado, limitando adecuadamente los haces de luz.



En base a la curva característica azul se puede estimar la distancia al foco linealizando a partir de un punto dentro del rango. Se toma como punto de partida el valor digital 210. Luego se pueden traducir estos valores aproximados de distancia directamente a un rango digital de velocidad por medio del ciclo de trabajo en el PWM (ancho de pulso 0 – 255):

Como se dijo anteriormente la curva roja representa el rango de velocidades en el que trabaja el PWM para lograr una velocidad máxima o mínima en el móvil.

La expresión de las rectas verdes de linealización es:
rango (95 – 210)
mpendiente = 11.5 Y1 = 11.5 xdistancia + 80
rango (210 - 230)
mpendiente = 4 Y2 = 4 xdistancia + 80
Por lo tanto las distancias a las que se encontraría el móvil si se desplazara con la proporción lineal a estas rectas son:

X95-210 = Y – 80 X210-230 = Y2 -170


    1. 4

La expresión de la recta de rango de velocidad es:


Yvelocidad = 13 Xdistancia + 80

Los límites que impone el encapsulado son prescindibles para una buena estabilidad en la señal del sensor. La fotorresistencia es muy sensible tanto a los haces que inciden directamente como a los que inciden de lados oblicuos, por esto se limita sólo a los rayos que provienen desde un rectángulo de 90cm de ancho por 120cm de altura a 2m de distancia, formando un triángulo.



Las dimensiones se deducen por la ley de Thales, con respecto al triángulo nombrado anteriormente.



DIAGRAMAS DE FLUJO





Atención de interrupción TOC1 , TOC2 y TOC3








ARCHIVOS del proyecto
A continuación se detallan todos los archivos que forman parte del software de este proyecto.


El código fuente se encuentra como archivo anexo.


CONCLUSIONES
EL móvil respondió adecuadamente al estimulo de luz, orientándose con respecto al foco.

Para cada fotorresistencia particular que se utilice se debe realizar una curva característica.

Se observó que cuando la alimentación es de tipo externa el sistema se desempeña correctamente, no así cuando la alimentación se realiza por medio de baterías.

POSIBLES MEJORAS
Implementación de una fuente de Switching como alimentación, ya que proporcionaría una mayor estabilidad y rendimiento como fuente de alimentación.

Controlar las velocidades independientes de las ruedas por medio de un control por realimentación.

Incorporar el microcontrolador a la placa de electrónica para reducir el tamaño y peso del sistema.

Incorporar más sensores de intensidad lumínica para ampliar el rango de visión y discriminar la luz del ambiente.



Desarrollar un control integral para suavizar la reacción en la búsqueda de la fuente de luz.




La base de datos está protegida por derechos de autor ©espanito.com 2016
enviar mensaje