DISEÑ O E IMPLEMEÑT DISEÑ IMPLEME ÑTACIO ACIO Ñ DE UÑ ROBOT SEGUIDOR DE LUZ
1. Integrantes: Diego Méndez V. Jorge Torres C.
2. Objetivos generales:
Aplicar los conocimientos adquiridos en la asignatura, para la elaboración de una aplicación práctica de la electrónica de potenc ia
3. Objetivos específicos:
Desarrollar una aplicación empleando conceptos de la electrónica de potencia, en conjunto con los conocimientos adquiridos en las distintas asignaturas de la carrera.
Diseñar e implementar una solución electrónica, en un producto final a través de una tarjeta PCB.
Introducir al estudiante en las aplicaciones de la robótica.
Dimensionar y emplear correctamente los dispositivos electrónicos de potencia, mediante sus hojas características.
Dimensionar e incluir, adecuadamente, sistemas de protección para un diseño electrónico de potencia.
4. Descripción general: Un sistema seguidor o rastreador de luz, es un mecanismo electrónico-mecánico, que permite la orientación y movimiento hacia una fuente de luz. Sus aplicaciones son diversas y van desde la construcción de robots para tareas específicas por ejemplo la exploración de lugares a los que una persona no puede tener acceso, hasta sistemas de orientación de paneles solares, para maximizar la captación de energía. Con el mismo principio, se puede implementar por ejemplo un sistema de posicionamiento automático para antenas, en función de la detección de niveles de potencia de una señal receptada.
5. Características: Lo que buscamos es diseñar e implementar un robot seguidor de luz, que cumpla con las siguientes características:
La estructura mecánica del robot se guidor, debe ser diseñada y construida.
El control de los motores que accionan al robot, debe ser implementado con transistores de potencia (TIP).
El sistema electrónico del robot, debe contar con un mecanismo que permita regular la sensibilidad a la luz, de ésta forma el robot puede operar en diferentes ambientes, a través de la regulación de los sensores.
El sistema electrónico, debe incluir un sistema de regulación de velocidad de movimiento del robot hacia la fuente de luz.
La solución para el sistema de control, así como el tipo de sensores a emplearse serán definidos por los grupos de trabajo.
El sistema electrónico en conjunto debe ser implementado en una tarjeta electrónica impresa PCB, adicionalmente el robot debe incluir un mecanismo de alimentación propio (baterías).
Se evaluará la operatividad del robot, el diseño mecánico, el sistema electrónico implementado de acuerdo a los requerimientos especificados, así como la inclusión de accesorios.
La operatividad del robot se evaluará de acuer do a las siguientes pruebas.
6. Diagramas de bloque del robot Sensores
Adquisición de datos
Configuración
Procesamiento de señales
sensibilidad y velocidad
(microcontrolador)
Ilustración 1 Diagrama de Bloques del seguidor de luz
7. Descripción de cada bloque
Potencia
Bloque de sensores: El circuito consta de un bloque de ocho sensores para obtener la señal de luz, cada uno está formado por un LDR que forma un partidor de tensión con una resistencia y un transistor para amplificar la variación de voltaje como indica la siguiente.
Figura 1 Esquema de sensor individual
Existen ocho de estos bloques distribuidos alrededor del carro para percibir la señal analógica desde distintas ubicaciones de la fuente de luz. En la sección de Anexos se puede consultar el diagrama del bloque de sensores.
Bloque de adquisición de datos: Este bloque obtiene la señal analógica de cada uno de los sensores a sus ocho entradas, este trabajo es realizado con un ADC0808 (conversor analógico – digital con multiplexor incorporado), por lo tanto es necesario un bloque de oscilación con el que realiza el muestreo de conversión de las señales. El oscilador es un multivibrador 555 que entrega un tren de pulsos de aproximadamente 200 KHz y las entradas de selección del multiplexor están dadas por el microcontrolador. Estos dos bloques se muestran clara mente en la sección de anexos.
Bloque de configuración de sensibilidad y velocidad: Este bloque es sencillo y corto. Consta únicamente de un potenciómetro para regular la velocidad, esto se hace cuando se pulsa el pulsante de configuración de velocidad, entonces el microcontrolador lee una de sus entradas analógicas, a la que está conectado el potenciómetro, y entonces ajusta la salida del módulo PWM según la entrada del potenciómetro. Para la configuración de sensibilidad se acciona igualmente al pulsar el botón correspondiente. Cuando se presiona el botón, el microcontrolador entra en un bucle censando otra entrada analógica a la que está conectado otro módulo exactamente igual a los ocho del bloque sensores, de esta manera se obtiene un dato de referencia del medio en el que se encuentre. Luego los datos adquiridos desde los sensores son comparados con esta referencia de la configuración.
Bloque de procesamiento de señales: En este bloque está el microcontrolador que ejecuta el programa y toma las decisiones de dirección para el carro, compara los datos recibidos de los sensores, configura la sensibilidad y velocidad, la salida de PWM habilita los motores mediante
compuertas AND para ir a la etapa de potencia. Contiene también un bloque de alimentación del circuito para regular el voltaje de la batería a 5 voltios, además de los botones y LEDS de señalización.
Bloque de potencia: En este bloque están simplemente los transistores TIP121 que reciben la señal de las compuertas AND y a su colector tienen los motores que mueven al carro.
7.1
Sistema electrónico: Diseños, esquemas y cálculos.
Para explicar el diseño electrónico vamos a explicar primero la lógica del software del microcontrolador. Lo que se hace al arrancar el carro es configurar la sensibilidad, según la iluminación del ambiente, a continuación la velocidad con la entrada analógica del potenciómetro como se explicó en su respectivo bloque. Hechas las configuraciones procede a un bucle infinito en el que censa los datos de los LDRs, entonces vienen los condicionantes para cada caso: en caso de no haber un valor de voltaje menor (menor o mayor dependerá del circuito del sensor o de la lógica de programación) que la referencia de sensibilidad, el carro permanece estático, si la variación de luz está al frente del carro, mueve los dos motores, y en caso de ser un LDR de lado, acciona el motor de movimiento respectivo para ubicar la fuente de luz al frente. Explicado esto no es difícil deducir las conexiones y esquemas de los módulos del circuito, que por razones de espacio y presentación se han adjuntado a este documento en forma de anexos en la parte final. Los cálculos realizados fueron únicamente para las resistencias de base de los transistores (para un β medido y una corriente de colector dada por el motor):
=
= 150 = 250 × 10− =
=
250 × 10− 150
= 0.00 .00166 166 = 1.66 .66 =
=
5 1.66 × 10− ≈ 3 Ω
Código del programa en el microcontrolador:
= 3012 3012.0 .04 4Ω
'**************************************************************** '* Name : SEGUIDOR_LUZ.BAS * '* Author : DIEGO MENDEZ - JORGE TORRES * '* Notice : Copyright (c) 2011 Universidad de Cuenca * '* : All Rights Reserved * '* Date : 12/9/2011 * '* Version : 2.2 * '* Notes : * '* : * '**************************************************************** define define define define
OSC 4 ADC_BITS 8 ADC_CLOCK 3 ADC_SAMPLEUS 50
DEFINE CCP1_REG PORTC DEFINE CCP1_BIT 2
'Hpwm 1 pin port 'Hpwm 1 pin bit
'************************************ '***** DECLARACION DE VARIABLES ***** '************************************ sensibilidad VAR BYTE velocidad VAR BYTE num_ldr var byte dato_ldr VAR BYTE aux VAR BYTE bandera VAR BIT no_luz var bit main: ADCON1 = %10 TRISA = $FF TRISB = %01100000 PORTB = 0 TRISC = 0 PORTC = 0 TRISD = $FF gosub set_sensibilidad gosub set_velocidad num_ldr = 0 inicio: PORTB = num_ldr high PORTC.3 pause 10 low PORTC.3 pauseus 50 dato_ldr = PORTD if PORTB.5 = 0 then pause 250 gosub set_sensibilidad endif if PORTB.6 = 0 then pause 250 gosub set_velocidad
endif if dato_ldr < sensibilidad then select case num_ldr case 0 gosub adelante case 1, 2, 3, 4 gosub derecha case 5, 6, 7 gosub izquierda end select endif
no_luz = 1 for aux = 0 to 7 PORTB = aux high PORTC.3 pause 10 low PORTC.3 dato_ldr = PORTD if dato_ldr < sensibilidad then no_luz = 0 goto sigue endif next aux sigue: if no_luz then gosub detener endif num_ldr = num_ldr + 1 if num_ldr = 8 then num_ldr = 0 endif goto inicio '************************************ '*********** SUBRUTINAS ************* '************************************ set_sensibilidad: bandera = 1 HIGH PORTB.3 while bandera adcin 0,sensibilidad pauseus 50 if PORTB.5 = 0 THEN pause 250 bandera = 0 ENDIF wend LOW PORTB.3 RETURN set_velocidad: bandera = 1 high PORTB.4 while bandera adcin 1,velocidad
pauseus 50 hpwm 1,velocidad,500 if PORTB.6 = 0 then pause 250 bandera = 0 endif wend low PORTB.4 return adelante: high PORTC.0 high PORTC.1 pause 100 return derecha: low PORTC.0 high PORTC.1 pause 100 return izquierda: high PORTC.0 low PORTC.1 pause 100 return detener: low PORTC.0 low PORTC.1 return
7.2
Sistema mecánico: Diseños, diagramas, planos.
A continuación se presentan diferentes vistas de la estructura del carro.
Figura 2 (a) Vista superior del carro (b) Vista frontal. Las medidas están dadas en cm
Figura 3 (c) Vista trasera, (d) (d) Vista lateral. Las medidas están dadas dadas en cm
Figura 4 Vista superior del cono cono para sensores
7.3
Pruebas realizadas: mediciones, inconvenientes y soluciones.
Uno de los inconvenientes previstos era el consumo de corriente, pero el regulador fue suficiente con el consumo de todo el circuito. El mayor inconveniente se presentó al momento de transferir la impresión del papel a la placa. Luego de varios intentos se pudo solucionar usando papel fotográfico y planchando por un buen rato. El principal inconveniente en el ensamblaje fue la ubicación de sensores alrededor del carro, esto se solucionó haciendo pequeñas perforaciones en un cilindro para ahí ubicar los LDRs.
8. Implementación del robot. Luego de elaborar las placas resolver los problemas de construcción procedimos a ensamblar las diferentes partes del carro.
8.1
Diseño y elaboració elaboración n de tarjetas PCB.
Para una mejor implementación se decidió elaborar el circuito PCB por módulos, se realizó un módulo por cada esquema de circuito. Consta entonces de cuatro esquemas principales: los sensores (que al estar hechos por módulos individuales se podrían utilizar en otros proyectos), el oscilador para la conversión del ADC, el bloque del ADC, que se encarga de recibir las señales analógicas y pasarle ocho bits al microcontrolador, y por último el diagrama principal, de procesamiento de datos con el microcontrolador. Para una presentación en escala 1:1 se adjunta en la sección de anexos los archivos para impresión en las placas correspondientes a cada módulo.
Figura 5 Módulos Módulos de sensores LDR
Figura 6 Módulo de oscilador oscilador para ADC
Figura 7 Módulo Módulo ADC
Figura 8 PCB principal: Procesamiento de datos datos
8.2
Implementación Implementa ción del robot: Sistema electrónico y mecánico
La estructura del carro se fijó por clavos y tornillos dado que en su mayoría está hecho de madera. Las llantas deben tener un material adherente al piso, y una rueda loca de apoyo en la parte trasera. Los motores se fijaron a la estructura con tornillos y el PBB principal, el cilindro de sensores y los módulos de sensores con silicón caliente.
8.3
Fotos del proyecto
Fotografía 1 Vista superior PCB principal
Fotografía 2 Vista lateral
Fotografía 3 Interconexión entre módulos (peinetas)
Fotografía 4 Módulo individual LDR
9. Conclusiones y recomendaciones. Existen distintas maneras de elaborar este proyecto, muchas lógicas de programación e implementación de un seguidor de luz, en nuestro caso concluimos que los métodos empleados en nuestro seguidor de luz lo hace n un proyecto muy completo. Nos sirvió mucho para practicar la elaboración de circuitos impresos aunque aún podría mejorar la construcción de la parte mecánica. Fue bastante eficiente la forma de censar tomando una sola referencia en lugar de calibrar cada uno de los sensores para el nivel de luz en el ambiente de trabajo. También la forma analógica de adquirir y comparar los datos. También resulta de mucha ayuda separar el proyecto en módulos, de esta forma se pueden probar las partes individualmente y en caso de haber errores serán mucho más fáciles de detectar y corregir.
10.
Trabajo futuro.
Para un trabajo futuro y para mejorar el trabajo del robot sería muy conveniente implementar un puente H para cada motor, para habilitar la inversión de giro y el carro pueda girar sobre su propio eje en vez de describir grandes curvas el momento de girar.
11. -
Referencias Bibliográficas.
Universidad de Cuenca, Facultad de Ingeniería - Electrónica Analógica - Capítulo II: Transistores BJT, Ing. Santiago González Martínez.
Hojas de datos: -
Transistor BJT TIP 121
-
Conversor analógico – analógico – digital digital ADC0808
-
Microcontrolador PIC16F877A
-
Compuerta lógica AND 74LS08
-
Transistor BJT BC147
12.
ANEXOS