Story Transcript
DISEÑO DE UN SISTEMA RF PARA LECTURAS DE SENSORES EN APLICACIONES DOCENTES DE PROYECTOS BÁSICOS DE INGENIERÍA
Estudios: Máster universitario en Ingeniería Electrónica Autor: Santi Devroyé Berenguer Director: Santiago Silvestre Año: 2012
ÍNDICE
INTRODUCCIÓN ............................................................................................... 4 1. DESCRIPCIÓN GENERAL DEL SISTEMA .................................................... 6 1.1. Sensor .................................................................................................... 6 1.2. Acondicionador ....................................................................................... 7 1.3. A/D.......................................................................................................... 8 1.4. Transmisor.............................................................................................. 9 1.5. Receptor ............................................................................................... 10 1.6. Procesador de datos............................................................................. 10 2. ESPECIFICACIONES DEL SISTEMA .......................................................... 11 2.1. Sensor de temperatura LM35 ............................................................... 11 2.2. Acondicionamiento ............................................................................... 13 2.3. Microcontrolador ................................................................................... 16 2.3.1.Microcontoladores PIC................................................................... 16 2.4. Transmisor-Receptor ............................................................................ 19 2.5. Célula solar........................................................................................... 23 3. IMPLEMENTACIÓN ..................................................................................... 25 3.1. Acondicionamiento ............................................................................... 25 3.2. PIC16F877A ......................................................................................... 27 3.2.1. Puertos Entrada/Salida ................................................................. 27 3.2.2. Oscilador....................................................................................... 27 3.2.3. Configurar módulo A/D ................................................................. 28 3.2.4. Configurar interrupciones A/D....................................................... 31 3.2.5. Tiempo de adquisición .................................................................. 31 3.2.6. Almacenamiento del resultado. Registros ADRESH y ADRESL ... 32 3.2.7. USART.......................................................................................... 33 3.3. Entorno de programación PIC .............................................................. 36 3.3.1. MPLAB.......................................................................................... 36 3.3.2. PICkit 2 ......................................................................................... 39 3.4. Transmisor............................................................................................ 42 3.5. Receptor ............................................................................................... 44 3.6. LabVIEW .............................................................................................. 45 3.7. Alimentaciones ..................................................................................... 48 3.7.1. Regulador de tensión LM317 ........................................................ 48
2
3.7.2. Cambio de nivel de tensión BYV10............................................... 50 3.7.3. Regulador de tensión LDO ........................................................... 51 3.8. Balance energético ............................................................................... 52 3.8.1. Panel solar .................................................................................... 52 3.8.2. Batería .......................................................................................... 55 3.9. Diseño PCB .......................................................................................... 57 3.9.1. OrCAD Capture CIS...................................................................... 57 3.9.2. OrCAD Layout............................................................................... 60 3.9.3. CIRCUIT CAM .............................................................................. 62 3.10. Funcionamiento y validación del sistema .......................................... 64 3.11. Balance económico ............................................................................ 68 CONCLUSIONES............................................................................................. 70 BIBLIOGRAFÍA ................................................................................................ 72 ANEXO A: Código PIC ..................................................................................... 74 ANEXO B: Gráficas salida PIC ......................................................................... 76
3
INTRODUCCIÓN Los nuevos planes de estudio de grados adaptados al EEES (Espació Europeo de Educación Superior) tienen como una de sus prioridades que en el proceso de aprendizaje se adquieran una serie de competencias genéricas y específicas. Para adaptar este nuevo plan de estudios, la ETSETB-UPC después de un estudio exhaustivo de las diferentes metodologías empleadas en universidades de Europa y EEUU, decidió que el método CDIO (Concebir-DiseñarImplementar-Operar) era el mejor modelo posible, ya que facilita la incorporación de los nuevos conceptos de docencia. La iniciativa CDIO surgió el año 2000 con la intención de acercar los estudios de ingeniería a las necesidades de la industria, facilitando de esta forma su incorporación. CDIO ha provocado que la ETSETB-UPC incorpore tres nuevas competencias genéricas para cubrir los aspectos más relacionados con la ingeniería. De esta manera las competencias genéricas de la ETSETB son las siguientes: 123456789-
Emprendeduría e innovación Sostenibilidad y compromiso social Tercera lengua (inglés) Comunicación eficaz oral y escrita Trabajo en equipo Uso solvente de los recursos de información Aprendizaje autónomo Capacidad para identificar, formular y resolver problemas de ingeniería Capacidad para concebir, diseñar, implementar y operar sistemas complejos en el ámbito de las Tecnologías de la Información y las Comunicaciones (TIC) 10- Experimentalidad y conocimiento de la instrumentación
Las tres últimas competencias genéricas son las incorporadas recientemente para cubrir el modelo CDIO. En la ETSETB el modelo CDIO se implementa por una parte en todas las asignaturas del grado, incluyendo el TFG (Trabajo Final de Grado) y además en tres asignaturas de proyectos (built-in experiences), en donde el alumno deberá desarrollar las competencias genéricas con proyectos que se asemejarán al ejercicio de la ingeniería. Las tres asignaturas de proyectos se encuentran repartidas en diferentes cursos del grado. Tienen el objetivo de consolidar el aprendizaje de las competencias genéricas y específicas de las materias que se están tratando en paralelo y de las anteriores. También es una forma de motivar al estudiante en el trabajo acerca de las competencias que adquirirá posteriormente en otras asignaturas y además es una manera de poder desarrollar de forma natural
4
gran parte de las competencias genéricas que sean difíciles de encontrar en asignaturas convencionales. El presente proyecto se ubica dentro de una de las asignaturas de proyectos, concretamente la referente al segundo curso, llamado PBI (Proyecto Básico de Ingeniería). Consistirá en diseñar, implementar y caracterizar un bloque de un sistema TIC complejo, teniendo conocimiento de la estructura del sistema completo y de las especificaciones de cada uno de los bloques que lo forman.
En este proyecto el alumno deberá desarrollar una serie de competencias, que son referentes a:
• Sensores. Existe una gran variedad de sensores que dependen de la magnitud que se desea medir. Es necesario saber elegir el sensor adecuado comparando las diferentes características. • Electrónica analógica. Consiste en temas de acondicionamiento de señales, viendo temas de amplificación, corrección de offset, filtrado, etc. • Convertidores A/D. Cada vez es más habitual el procesado de señales digitales, con lo que si se tiene una señal analógica es necesario realizar una conversión a digital. • Radiofrecuencia. Cálculo i dimensionado de antenas para enlaces de radiofrecuencia en la banda libre (433MHz). • Programación. Se utiliza el lenguaje de programación C para programar el microcontrolador y el lenguaje de programación gráfico LabVIEW para procesar los datos que se envían a través del puerto serie del ordenador. • Diseño PCB. El diseño de la placa impresa se realiza con diferentes programas que es necesario aprender su utilización. • Dimensionado PV. Muchos equipos requieren de sistemas de alimentación autónomos que facilitan su portabilidad. Es necesario conocer el consumo del sistema para hacer el dimensionado de un panel solar adecuado e incluir baterías para asegurar una alimentación continuada. • Balance económico. Antes de iniciar un proyecto, se puede realizar un estudio económico orientativo para ver si es factible su ejecución. Posteriormente, también se realiza para ver el coste final.
5
1. DESCRIPCIÓN GENERAL DEL SISTEMA
El sistema que se ha realizado está formado por una serie de bloques o subsistemas que tienen una función específica. Todos ellos se encuentran conectados por medio de señales eléctricas.
Fig. 1.1. Sistema completo
A continuación se detalla cada uno de los bloques desde un enfoque técnico y docente.
1.1. Sensor El sensor es el elemento encargado de recoger los datos de interés, convirtiendo una magnitud física en una señal eléctrica. Los sensores pueden tener una salida digital o analógica. La elección de un tipo u otro influirá en la etapa posterior de acondicionamiento, siendo en general más simple en los sensores digitales. En el mercado existen diferentes tipos de sensores, que se diferencian unos de otros dependiendo de la magnitud que se quiera medir, como por ejemplo, sensores térmicos, magnéticos, mecánicos, ópticos, etc. Desde el punto de vista docente, se tiene que plantear qué magnitud se desea medir y una vez localizado el tipo de sensor adecuado, comparar las especificaciones técnicas que más se ajusten al diseño.
6
1.2. Acondicionador El bloque acondicionador adapta la señal de salida del sensor al margen de tensiones de entrada del convertidor analógico-digital para obtener su máximo rendimiento. Forman parte de este subsistema las siguientes etapas: Amplificación. Si la señal de salida del sensor es muy débil se requiere una etapa amplificadora para tener los niveles de señal adecuados. También puede ser necesaria una corrección de offset para ajustarse a los márgenes de entrada del convertidor analógico-digital. Filtrado. Se utiliza para reducir problemas relacionados con señales no deseadas, como puede ser el ruido y las interferencias. También se emplea el filtrado antes de realizar un muestreo, para evitar que se superpongan frecuencias indeseadas a la de interés, mediante un filtro antialiasing. Adaptación de impedancias. Si se desea entregar la máxima potencia de un elemento a otro distinto puede ser necesario adaptar sus impedancias. Linealización. Cuando no se tiene una respuesta lineal se utilizan una serie de procedimientos para que se aproxime a un modelo lineal. La no linealidad puede ser causada por el sensor o por los métodos utilizados para la medición. Corrección de errores. Las fuentes de errores pueden ser muy diversas y a veces difíciles de solucionar. Se distinguen entre errores estáticos y errores dinámicos. Los errores estáticos afectan a las señales lentas mientras que los errores dinámicos afectan a las señales rápidas, debido a elementos del sistema que almacenan energía. También existen errores aleatorios, provocando diferencias en los resultados que no siguen ningún patrón definido.
Multiplexación. Si se tienen diferentes sensores y un único convertidor analógico-digital es necesario el uso de un multiplexor, de manera que vaya conmutando entre ellos. En este punto del acondicionamiento, se plantea la necesidad de adaptar la señal de salida del sensor al rango de entrada del convertidor analógico-digital. Si fuera necesario, hay que pensar el tipo de acondicionamiento, realizar los cálculos pertinentes, elegir el material necesario, montarlo y probarlo por separado antes de incluirlo en el sistema.
7
1.3. A/D Cada vez es más habitual encontrar equipos que tienen una entrada de datos en formato digital. Si se hacen mediciones de señales analógicas es necesario disponer de un convertidor analógico-digital. Las características a tener en cuenta a la hora de elegir un convertidor son el número de bits, el margen de entrada, el número de canales, su tensión de referencia, su exactitud, la velocidad de conversión y de salida y el código de salida. La conversión analógica-digital consta de dos etapas, la cuantificación y la codificación. El proceso de cuantificación consiste en representar una señal analógica con un número discreto de valores en instantes determinados. Cuantos más bits tenga el codificador (n) mayor es el número de niveles (2n) y por tanto, más se puede aproximar a la señal de origen. Durante el proceso de cuantificación se puede producir un error, que es la diferencia entre el valor cuantificado y el valor analógico de entrada. Si se utiliza la conversión por redondeo, el error de cuantificación máximo será de 0.5 LSB1 y empleando conversión por truncamiento de 1 LSB. Se puede disminuir el error de cuantificación aumentando el número de niveles, con el consiguiente aumento del ancho de banda. La otra etapa de la conversión es la codificación, que es utilizar una serie de símbolos que representan el valor cuantificado. Suele ser habitual la codificación binaria (0 y 1).
Fig. 1.2. Ejemplo de conversión analógica-digital
En el ejemplo de la figura 1.2 se muestra una señal analógica continua en el tiempo y su conversión a digital. En este caso se ha utilizado un convertidor de 2 bits, que corresponde a 4 niveles posibles (00, 01, 10 y 11). El margen de
1
LSB (Least Significant Bit) 1LSB=Fondo de escala/2n
8
amplitudes de entrada es de 0V a 5V, con lo que cada nivel representa 5V − 0V = 1.25V . 22 Un aspecto que hay que tener en consideración es que la velocidad de conversión tiene que ser como mínimo el doble de la frecuencia máxima de la señal de entrada, para evitar problemas de aliasing. Una de las limitaciones de los convertidores son las señales que evolucionan de forma muy rápida en el tiempo. Para remediarlo se utiliza un Sample &Hold (muestreo y retención) que permite guardar un nuevo valor de entrada hasta que no haya finalizado la conversión en proceso. Docentemente, la conversión analógica-digital se plantea utilizando un PIC, aprovechando que lleva incorporado una UART. Por lo tanto, hay que elegir el modelo y fabricante que cumpla con las características citadas al principio del bloque A/D. El PIC hay que programarlo con lenguaje de programación C.
1.4. Transmisor
El transmisor es el instrumento capaz de enviar datos a una cierta distancia. Los datos en formato de señal eléctrica son convertidos en señales electromagnéticas por medio de una antena y enviados a un receptor a través de un enlace. En la figura 1.1 se representa un enlace de radiofrecuencia. Las características más importantes del transmisor son su potencia de emisión, las especificaciones de su antena (directividad y ancho de banda) y su modulación (amplitud, fase o frecuencia). La comunicación entre un transmisor y un receptor puede ser de tres tipos: • Simplex. Se envían datos en una sola dirección. • Half-duplex. En ambas direcciones pero en tiempos distintos. • Duplex. Indistintamente en las dos direcciones. Tanto el transmisor como el receptor desde el punto de vista docente se tratan en este punto. Hay que elegir un conjunto transmisor-receptor que utilice el mismo enlace y rango de frecuencias, también pensado en el rango de distancias, si es necesario utilizar algún protocolo, etc. Antes de incluir el transmisor y el receptor en el sistema, hay que testear su correcto funcionamiento, configurando su potencia, frecuencia de trabajo y tamaño de los paquetes de datos y realizar un envío de datos entre ellos.
9
1.5. Receptor El receptor capta las ondas electromagnéticas enviadas por un transmisor y las convierte en señales eléctricas a través de una antena. El receptor, entre otros procesos, puede detectar posibles errores de la transmisión y descartar datos que no sean de interés. Una vez realizadas todas estas operaciones envía los datos a un procesador de datos. La característica más importante del receptor es su sensibilidad.
1.6. Procesador de datos El procesador de datos habitual es un ordenador que recibe los datos del receptor por medio de una conexión RS232 o USB. Los datos recogidos son tratados por un software determinado que permite realizar toda una serie de operaciones, como por ejemplo, almacenarlos, convertirlos a otro formato, descodificarlos, detección de errores, etc. En esta parte del sistema hay que pensar el tipo de conexionado entre el receptor y el ordenador y utilizar o crear un software que capture los datos recibidos por el puerto serie y posteriormente procesarlos.
10
2. ESPECIFICACIONES DEL SISTEMA 2.1. Sensor de temperatura LM35 El sensor de temperatura elegido es el LM35. Este circuito integrado fabricado por National Semiconductor tiene una salida en tensión linealmente proporcional a la temperatura en ºC, equivalente a 10mV/ºC. Además no necesita ajustes de calibración externos. Las características más destacables del sensor son las siguientes: • Calibrado directamente en grados centígrados. • Amplio rango de trabajo desde -55ºC hasta +150ºC. • Comportamiento lineal y factor de escala de 10mV/ºC. • Precisión de 0,5ºC a 25ºC y error de no linealidad típico de 1/4ºC. • Impedancia de salida de 0,1 Ω para cargas de 1 mA. • Alimentación entre 4 y 30V y bajo consumo (60 µA de corriente de drenador). • Buena relación calidad-precio. El rango de temperaturas que se utiliza para el proyecto es de 2ºC hasta 50ºC, como se muestra en el gráfico de la figura 2.1. El límite inferior es una limitación de la configuración con alimentaciones positivas comprendidas entre 4V y 20V. El límite superior se debe al ajuste de tensiones de entrada para el PIC16f877A [0V-5V] que se detalla en la parte de acondicionamiento.
Fig.2.1. Tensión se salida del sensor LM35 en función de la temperatura.
11
La medida de temperaturas negativas no es uno de los requisitos para este proyecto, ya que se utilizará para aplicaciones docentes donde la temperatura ambiente del lugar no lo hace necesario. Otro de los factores es que para medir temperaturas negativas no se puede utilizar la configuración de la figura 2.2, sino que es necesario añadir una resistencia alimentada con una tensión negativa. La alimentación del sistema no cuenta con una fuente de tensión negativa ya que sería complicar el diseño y no es el objetivo.
Fig. 2.2. Configuración del sensor de temperatura para medir de 2ºC a 150ºC. Para evitar capacidades parásitas que afecten a los resultados, se ha implementado la configuración recomendada por el datasheet del sensor, que consiste en añadir a la salida del sensor una resistencia de 75Ω en serie con un condensador electrolítico de 1µF conectado a masa.
Fig. 2.3. Diseño para evitar capacidades parásitas.
El sensor de temperatura se puede elegir con diferentes encapsulados, como se muestra en la segunda página del datasheet. Para el proyecto se utiliza el encapsulado T0-92 que consta de tres patas. Vs se alimenta a 5V, GND se conecta a masa y Vout es la salida del sensor, que es la tensión proporcional a la temperatura captada por el sensor.
Fig. 2.4. Encapsulado TO-92.
12
2.2. Acondicionamiento
En el proyecto, el margen de valores de salida del sensor de temperatura LM35, comprende de 20mV a 500mV, mientras que los valores de entrada del convertidor analógico-digital es de 0V a 5V. En consecuencia, resulta necesario amplificar la señal de salida del sensor, para adaptarse a los niveles de entrada del convertidor. También sería necesario desplazar los 20mV a 0V con una corrección de offset, pero no se realiza, ya que es necesario disponer de una fuente de tensión negativa y como se ha argumentado en el apartado del sensor de temperatura, no se dispone. De entre las muchas posibilidades de amplificadores que ofrece el mercado, se ha elegido un amplificador de instrumentación, el AMP04, ya que su funcionamiento requiere la misma alimentación que el sensor y el PIC, es decir, 5V. Otro de los factores clave es que puede trabajar con fuentes de alimentación que no sean simétricas. Las características más destacadas del amplificador de instrumentación AMP04 son las siguientes: • Trabaja desde los 5V hasta +-15V. • Excelente combinación de precisión, bajo consumo de potencia y ganancia. • Ofrece una ganancia entre 1 a 1000 utilizando una sola resistencia externa. • Funciona con temperaturas comprendidas entre los -40ºC hasta 85ºC.
Fig. 2.5. Encapsulado AMP04
Fig. 2.6. Diagrama de bloques interno AMP04
13
Como se muestra en la figura 2.5, el amplificador AMP04 tiene un encapsulado tipo DIP de 8 patas. Internamente está formado por dos amplificadores, uno para la ganancia y el otro para la tensión de referencia.
A partir de la figura 2.6 se obtiene la ganancia del circuito amplificador.
Fig. 2.7. Análisis amplificador AMP04
El análisis del amplificador AMP04 se realiza por análisis de mallas y utilizando cortocircuito virtual, como se muestra en la figura 2.7. Las ecuaciones resultantes son las siguientes: De la malla A se tiene: VREF − V + V + − V I = 100kΩ 11kΩ
(2.1)
La V I se obtiene aislándola de 2.1. 11kΩ 11kΩ V I = V + 1 + − VREF 100kΩ 100kΩ
(2.2)
De la malla B se tiene: V I − V + V − − V + V + − V0 + = 11kΩ RG 100kΩ
(2.3)
Operando en 2.3, la tensión de salida resulta ser:
14
V0 =
100kΩ + V + − V − + VREF RG
(
)
(2.4)
Finalmente la relación de la ganancia queda como: Gain =
V0 100kΩ = + VREF − V −V RG
(
+
)
(2.5)
La fórmula de la ganancia 2.5 coincide con la que se facilita en el datasheet del amplificador.
15
2.3. Microcontrolador
Un microcontrolador es un circuito integrado que ejecuta una serie de procesos. Estos se encuentran almacenados en su memoria, que previamente un usuario los ha programado. Internamente un microcontrolador está formado por tres bloques principales: • CPU (Central Processing Unit). Es la encargada de interpretar y ejecutar las instrucciones que contienen los programas y de procesar los datos. • Memoria. Se utiliza la memoria RAM para almacenar los datos y la memoria ROM/EPROM/EEPROM para los programas. • Puertos de entrada y salida. Proporcionan la comunicación entre los periféricos externos y el procesador. También tienen la utilidad de entregar al microcontrolador su alimentación y una frecuencia de trabajo entre otros. Los microcontroladores están diseñados principalmente para el control de maquinaria sin la interactuación humana. Se encuentran en el interior de muchos equipos, como por ejemplo, en automóviles, equipos electrodomésticos, juguetes, etc. No hay que confundir un microcontrolador con un microprocesador. Mientras el microcontrolador incluye todos los elementos en un único chip, en el microprocesador los diferentes elementos se encuentran físicamente separados. Existen diferentes empresas fabricantes de microcontroladores, entre las más conocidas se encuentran Atmel, Holtek, Intel, Microchip, Texas Instruments, National Semiconductor, etc.
2.3.1.Microcontoladores PIC
Los PIC (Peripheral Interface Controller) son microcontroladores fabricados por Microchip Technology. Utilizan un procesador tipo RISC (Reduced Instruction Set Computer), en donde las instrucciones son simples y de tamaño fijo, con el objetivo de minimizar el tiempo de ejecución. La memoria de datos y la de programa se encuentran separadas, ofreciendo mayor seguridad en acceso. En la fabricación de los PICs, Microchip realiza una diferenciación en tres gamas, la alta, la media y la baja. Se diferencian unas de otras dependiendo del número y la longitud de las instrucciones, la memoria de programa, tipo de
16
memoria y si incluyen interrupciones, convertidores A/D, puerto serie o temporizadores. Para la realización del proyecto se ha elegido el PIC16f877A, que es un microcontrolador de gama media. La razón de este PIC es que lleva incorporado un convertidor A/D de 10bits y una UART, también por su bajo consumo, la relación calidad-precio y por su alimentación. Algunas de estas características se muestran en la arquitectura interna del PIC de la figura 2.8.
Fig. 2.8. Arquitectura del microcontrolador PIC16f877A.
17
El convertidor A/D del microcontrolador PIC16F877A es de 10bits. El convertidor admite 8 entradas analógicas pero no permite realizar más de una conversión a la vez. Su funcionamiento se muestra en la figura 2.9.
Fig. 2.9. Diagrama de bloques del convertidor A/D
18
2.4. Transmisor-Receptor
Tanto para el transmisor como para el receptor se ha elegido el módulo de radiofrecuencia RXQ2, fabricado por Telecontrolli, que proporciona comunicaciones inalámbricas para la transmisión de datos, modulados por desplazamiento de frecuencia gausiana (GFSK)2 y utilizando codificación Manchester3. Las características más importantes son las siguientes: • Velocidades de datos de RF de 100kbps. • Alimentación típica de 3.3V y consumo de corriente máximo en transmisión de 30 mA. • Rango de distancia superior a los 250 m. • Opera desde los -20ºC hasta los 70ºC. • Canales de RF de banda estrecha seleccionables. • Velocidades de datos del host de hasta 38400 baudios. • Diseño de RF controlado por cristal. • Excelente rechazo a las interferencias. • Incorpora detección de errores (CRC). Los módulos transceivers RXQ2 tienen diferentes modos de operación, que son: punto a punto, broadcast, un transmisor y diferentes receptores y muchos transmisores y un único receptor. Algunas de las aplicaciones del módulo son para el sector de la automoción, seguridad en edificios, monitorización remota de procesos industriales y redes de computadoras entre otros.
Fig. 2.10. Módulo transceiver RXQ2.
Fig. 2.11. Pines RXQ2.
2
GFSK es una FSK en la que antes de modular la señal, la información se pasa por un filtro gausiano, consiguiendo un estrechamiento de la señal modulada que comporta velocidades mayores. 3 La codificación Manchester consiste en que cada tiempo de bit se realiza una transición entre dos niveles de señal. Un ‘1’ representa una transición de bajo a alto y un ‘0’ una transición de alto a bajo. La transición se utiliza para sincronizar y transmitir los datos.
19
El módulo RXQ2 utiliza el formato de datos siguiente: la velocidad de transmisión en baudios definida por el usuario (4800, 9600, 19200 o 38400), 8 bits de datos, no utiliza paridad, 1 bit de stop y control hardware.
El módulo RXQ2 tiene la posibilidad de adquirirse con una tarjeta de evaluación (RXDL1), que tiene una conexión directa RS232 para conectarse al ordenador. Además tiene un rango de alimentación de 5V a 12V y es fácilmente configurable por medio del software RXQ2_Setting ver 2.21.
Fig. 2.12. Tarjeta de evaluación RXDL1.
La tarjeta RXDL1 consta de 6 interruptores. El primero cuando está en ON se activa el módulo, el segundo y tercero definen la velocidad de transmisión, el cuarto cuando está en OFF es para configurar el módulo y en ON para el modo de operación y los interruptores 5 y 6 cuando están en ON se utiliza el protocolo de handshake y en OFF no.
El software de los transceivers RXQ2 es un programa realizado en LabVIEW, en el que se puede configurar la dirección de cada uno de ellos, su dirección de destino, la frecuencia de trabajo, la potencia de transmisión y el tamaño del paquete de datos. También se puede elegir el puerto de comunicación y la velocidad de transmisión. La frecuencia de trabajo se puede elegir entre 430 MHz y 440 MHz en pasos de 100 kHz y entre 860 MHz y 880 MHz en pasos de 200 kHz.
20
Fig. 2.13. Programa RXQ2_Setting ver 2.21 para configurar los módulos. En la figura 2.14 se muestra la ventana del programa que señala que se ha producido una configuración errónea. Las causas de este problema pueden ser diferentes, como que no se haya elegido correctamente el puerto donde se encuentra conectada la tarjeta o su velocidad de transmisión, que la tarjeta no se encuentre alimentada o que el interruptor 4 esté en ON.
Fig. 2.14. Programa con una configuración incorrecta.
Fig. 2.15. Programa funcionando correctamente. Cuando se ha realizado un proceso de escritura de datos en el módulo, en la parte derecha de la figura 2.15 se muestran los datos seleccionados y en la parte izquierda los valores en decimal.
21
El cálculo de la frecuencia en decimal se realiza con las siguientes ecuaciones. La banda de 430 MHz a 440 MHz: Valor = ( Frecuencia − 422.4 MHz ) ⋅ 10
(9.2)
La banda de 860 MHz a 880 MHz Valor = [( Frecuencia / 2) − 422.4 MHz )] ⋅ 10
(9.3)
El programa hyperterminal se utilizó en un principio para recibir los datos del puerto serie. El proceso para iniciarlo se explica a continuación. Una vez se ejecuta el programa, la primera ventana que aparece pregunta si se desea que éste sea el cliente telnet predeterminado. Este paso se puede obviar en futuras ejecuciones si se marca no volver a ver este cuadro de diálogo. A continuación, solicitará un nombre para la nueva conexión y la elección de un icono. En la pestaña connect to, donde pone connect using, hay que elegir el puerto en el que se encuentra conectada la tarjeta de evaluación. Habrá que definir las propiedades del puerto elegido, es decir, los bits por segundo, los bits de datos, la paridad, bits de parada y control de flujo, tal como se muestra en el ejemplo de la figura 2.16. Hay que tener presente que si se está utilizando el software de los transceivers, éste se tiene que cerrar o detener antes de ejecutar una nueva conexión mediante el hyperterminal o viceversa.
Fig. 2.16. Configuración del puerto a través del Hyperterminal.
22
2.5. Célula solar Una célula solar es un dispositivo semiconductor que realiza el llamado efecto fotovoltaico, que consiste en transformar la radiación solar en electricidad. El material más empleado para su construcción es el silicio, que dependiendo de su pureza y del rendimiento, se diferencia entre silicio monocristalino, policristalino y amorfo. La célula solar es una junción PN, que consiste en juntar un semiconductor con una gran concentración de huecos (dopado tipo P) con otro que tiene una gran concentración de electrones (dopado tipo N). La presencia de esta asimetría, dentro de una estructura semiconductora, automáticamente da origen a la presencia de un campo eléctrico. Polarizando en la dirección de un diodo, es decir, la corriente entra por el lado P y sale por el N, se genera una corriente eléctrica, que es la componente de oscuridad. La otra componente es la corriente fotogenerada, que es proporcional al flujo de fotones e independiente del potencial aplicado. La corriente de iluminación va a salir siempre del lado P hacia fuera. La suma de las dos componentes es la corriente de la célula solar. La célula solar es capaz de entregar potencia al circuito, ya que trabaja en el cuarto cuadrante de la curva característica I-V, donde se dan las características necesarias para un dispositivo generador (IVProject Wizard. Entonces se abre una ventana de bienvenida y se le da a siguiente. El primer paso consiste en elegir el PIC, en este caso, el PIC16F877A y se da a siguiente. El segundo paso es elegir la herramienta de programación. Se selecciona la opción HI-TECH ANSI C Compiler, ya que para el proyecto se utiliza el lenguaje de programación C.
36
Fig. 3.9. Segundo paso para la creación de un nuevo proyecto. El tercer paso es la creación de un nuevo proyecto. Seleccionando la pestaña Browse se elige la carpeta de destino del proyecto y se le da un nuevo nombre. El cuarto paso consiste en añadir al proyecto ficheros ya creados. Si no se tienen se da a siguiente. Finalmente aparece el resumen de los pasos que se han realizado, visualizando el PIC seleccionado, la herramienta de programación y donde se ubica el proyecto. Si alguno de los parámetros no es el correcto, se puede volver atrás. Para concluir se da clic en finalizar. Una vez que se ha creado el proyecto, se tiene que crear el fichero que contendrá el código en lenguaje C. Para ello, se selecciona File->New y aparecerá un fichero en blanco. Éste se guarda (File->Save as) en la misma carpeta del proyecto, dándole un nombre y seleccionando el formato C Source Files. Para añadirlo al proyecto, se da un clic con el botón derecho en Source Files y se selecciona Add Files, como se muestra en la figura 3.10.
Fig. 3.10. Añadir ficheros al proyecto.
37
Si se desea, se puede depurar el programa mediante Debugger->Select Tool>PICkit2. Una vez se ha terminado de escribir el programa, se compila mediante ProjectBuild. Si aparece un mensaje como en la figura 3.11 diciendo Build Successful significa que el programa no ha encontrado ningún error de lenguaje, lo que no significa que funcione como se desee.
Fig. 3.11. Ventana resumen de la compilación del proyecto. El siguiente paso es comprobar que la configuración de los bits sea la correcta. Una mala configuración puede producir que el PIC no funcione, aunque el código de programación sea correcto, dando lugar a dudas. Como el oscilador que se utiliza es un cristal de cuarzo hay que poner XT oscillator en FOSC. Para cambiar uno de los parámetros hay que deseleccionar Configuration Bits in code y ya se podrá seleccionar el adecuado. Posteriormente, hay que volver a activar la pestaña.
Fig. 3.12. Configuración de los bits.
38
Para exportar el archivo creado se va a File->Export. El File Format se selecciona Intel 32-bit Hex (INHX32). Se le da un nombre al archivo y se guarda en formato *.hex.
Fig. 3.13. Exportar archivo.
3.3.2. PICkit 2
El código programado en el MPLAB, se graba en el PIC16F877A a través del programador PICkit 2 de Microchip. Se ha seleccionado este programador ya que es compatible con el PIC de trabajo y es el más económico. El programador PICkit 2 dispone de un cable que conecta su salida con el puerto USB del ordenador. Se puede conocer el estado del programador a través de los 3 LEDs de diferentes colores que lleva incorporado. Cuando el led Power (verde) se activa significa que el programador se alimenta a través del puerto USB. El led Target (amarillo) indica que el programador está alimentando al PIC y finalmente el led Busy (rojo) se activa cuando el programador está realizando alguna operación, como la grabación del PIC.
39
Fig. 3.14. Conexionado programador PICkit 2 con el PIC16F877A.
El programador PICkit 2 incluye un CD que contiene el software PICkit 2 v2.11. Antes de abrir el programa, se recomiendo tener conectado el programador al PIC. De esta forma lo detecta automáticamente, aunque también se puede seleccionar en la pestaña Device Family. La tensión de alimentación se puede establecer escribiendo directamente el valor en el cuadro de la derecha del software o mediante las flechas hacia arriba o hacia abajo, como se muestra en la figura 3.15. Si no se selecciona la casilla ON y se realiza una operación de programación, el programador activará el VDD con el voltaje establecido.
Fig. 3.15. Alimentación PICkit 2
Fig. 3.16. Alimentación externa.
Si el PIC se encuentra alimentado externamente, el software del PICkit 2 la detecta y la muestra en el cuadro de la derecha, que se vuelve de color gris para que no se pueda modificar. Para importar el archivo con extensión *.hex creado en MPLAB, se va a File>Import HEX. Una vez cargado el archivo, se programa mediante Programmer>Write Device o directamente haciendo clic en Write. Cada vez que se realiza una operación, el software informa si se ha hecho con éxito o ha ocurrido algún error, como en el ejemplo de la figura 3.17.
40
Fig. 3.17. Software PICkit 2 después de realizar satisfactoriamente una programación.
41
3.4. Transmisor
En la parte transmisora, se ha alimentado el módulo a 3,3V, que se obtiene de la salida del regulador LM317 y se conecta al pin 1 del módulo RXQ2. Los pines 2,3 y 4 se conectan directamente a masa y el 7 y 8 no tienen conexión.
Fig. 3.18. Pines RXQ2.
La velocidad de transmisión del módulo, se configura por medio de los pines 12 y 13, tal como se muestra en la tabla 3.5 y que en este caso es de 9600 baudios. El pin 14 cuando se encuentra a nivel bajo, se utiliza para la configuración del módulo y a nivel alto para operar. El pin 9 se conecta a nivel alto para que opere en modo normal. Tabla 3.5. Configuración velocidad de transmisión RXQ2. DR2
DR1
0 0 1 1
0 1 0 1
Baud Rate (baudios) 4800 9600 19200 38400
Los datos procedentes de la salida del PIC16F877A se conectan al pin 10 y el pin 11 se conecta a masa, ya que el módulo no actúa como transceiver. Los pines 15 y 16 corresponden al protocolo handshake4. Se ha intentado programar el PIC16F877A para que interactúe con estos pines, pero no se ha conseguido. Se ha cuestionado este problema con el servicio técnico del fabricante, pero la información que tenían era la del datasheet. Después de probar diferentes intentos, se ha visto que la mejor conexión posible era
4
El protocolo de hanshake se utiliza para reducir las colisiones entre estaciones transmisoras, especialmente para las estaciones ocultas. Su funcionamiento consiste en que cuando se quiere transmitir, primero se envía un paquete RTS (Request to Send) con la dirección destino, origen y la duración de la comunicación. Si al cabo de un tiempo determinado se recibe un paquete CTS (Clear to Send) significa que el receptor se encuentra disponible para recibir datos, se reserva el medio hasta el final de la comunicación y se empieza la transmisión de datos. En el caso que el receptor se encuentra ocupado se envía un CTS informando al transmisor.
42
conectando estos dos pines a masa, ya que funcionan con un ‘0’ lógico. Para no saturar el receptor de datos, se ha ajustado el tiempo de conversión del PIC. La antena del transmisor se conecta al pin 5 del módulo. Se utiliza un dipolo de lambda/4, con una antena tipo látigo de 15,5 cm para obtener el máximo rango de distancia posible.
c 3 ⋅ 108 λ= = = 15,5cm 4 ⋅ f 4 ⋅ 483,9 ⋅ 106
(3.5)
Los pines 9, 12, 14, 15 y 16 tienen conectados a su salida una resistencia de 10kΩ, que actúa como pull up (asegurar un ‘1’ lógico) o pull down (asegurar un ‘0’ lógico).
43
3.5. Receptor Lo primero que se ha hecho al recibir los módulos RXQ2 y las tarjetas de evaluación RXDL1 ha sido comprobar su correcto funcionamiento. Se han elegido dos módulos RXQ2, situándolos cada uno de ellos en una tarjeta de evaluación distinta y se han conectado en diferentes ordenadores. Los dos módulos han sido configurados con una dirección propia, la dirección de destino la del otro módulo, una frecuencia de 433,9 MHz, una potencia de 10dBm y el mismo tamaño de paquete. Para ver los datos recibidos de cada uno de los módulos, se ha utilizado el programa hyperterminal, que por defecto se incluye en el sistema operativo Windows, aunque en las nuevas versiones no. Escribiendo una frase en uno de los ordenadores, ésta se mostraba en el hyperterminal del otro ordenador y viceversa. Si se utiliza el protocolo de handshake, se ha observado que los caracteres recibidos son los deseados, mientras que si no se utiliza, aparecen algunos diferentes a los originales. En el sistema, el receptor se configura con una velocidad de transmisión de 9600 baudios, es decir, conectando el interruptor 2 en ON y el 3 en OFF. En modo de operación el interruptor 4 debe estar en ON, mientras que si se configura tiene que estar en OFF. La salida del receptor se conecta a uno de los puertos USB del ordenador a través de un cable adaptador RS232-USB.
44
3.6. LabVIEW LabVIEW (Laboratory Virtual Instrument Engineering Workbench) es un entorno de programación gráfico, diseñado para la realización de proyectos de instrumentación, como por ejemplo, la adquisición de datos o el control de los instrumentos remotamente. LabVIEW se programa con los denominados instrumentos virtuales (VI). Cada VI está formado por un diagrama de bloques y un panel frontal. El diagrama de bloques es la parte del VI donde se programan los diferentes componentes con lenguaje gráfico, mientras que el panel frontal es la interfase entre el usuario y el VI. Para realizar un nuevo proyecto en LabVIEW, primero se arranca el programa. Aparecerá una ventana donde se puede crear un nuevo instrumento virtual o abrir uno existente. Si se desea crear uno nuevo, se selecciona New-Blank VI, y se abrirán dos ventanas nuevas, una es el diagrama de bloques y la otra el panel frontal. También deberían mostrarse las paletas de controles y de herramientas. Si no fuera así, se pueden activar mediante Window->show Controls palette y Window->show Tools palette. La paleta de controles se utiliza para la creación de los diferentes componentes del panel frontal y la paleta de herramientas permite depurar, editar o modificar los instrumentos virtuales. LabVIEW dispone de un menú de ayuda que permite consultar y ver ejemplos de programación gráfica de cada uno de los componentes, mostrando información de las diferentes entradas y salidas y su formato. VISA (Virtual Instrument Standard Architecture) es un estándar que tiene el objetivo de que el control de instrumentos no dependa del bus (GPIB, VXI, USB, etc), del software o de la plataforma utilizada.
Fig.3.19. Diagrama de bloques
45
En el proyecto, la lectura del puerto serie se realiza a través de VISA configure serial port. Por defecto se encuentra configurado como se desea, es decir, una velocidad de transmisión de 9600 baudios, 8 bits de datos, no se utiliza paridad y 1 bit se stop. Una vez que se ha iniciado el puerto serie, se configura la lectura mediante un VISA read. El byte count es el número de bytes que tienen que ser leídos y se puede escoger en el panel de control. Finalizada la lectura es necesario liberar el puerto, cerrando la sesión VISA, por medio de VISA close y también se recomienda adjuntar un control de errores.
Los datos leídos son convertidos a un valor decimal y para obtener el valor de la temperatura en grados, se utiliza la fórmula 11.1. (V ) ⋅ Valor ⋅10 − 1 −V Temperatura (º C ) = REF + nREF − 2 −1
(3.6)
En donde: N es el número de bits utilizado por el convertidor A/D, que son 8 bits. Valor es el dato recibido del puerto serie.
VREF + − VREF − en el convertidor A/D corresponde a su alimentación, es decir, 5V. Los datos de salida del sensor son 10mV/ºC. En la etapa de acondicionamiento este valor se amplifica por 10 y para obtener la relación V-T es necesario multiplicar por 10. Finalmente se añade una corrección de 1ºC, después de compararse con termómetros de mercurio.
Terminado el proceso de conversión, la temperatura se muestra en un termómetro ajustado de 2V a 50V y en una gráfica temporal. El último paso consiste en enviar los datos de temperatura a un documento Excel, en la ruta que se desee. También se adjunta a cada dato el día, la hora, minutos y segundos que fue procesado. Los datos en Excel pueden ser tratados para realizar datos estadísticos de interés y eliminar posibles fallos, por medio de la opción filtro.
46
Fig.3.20. Panel frontal.
47
3.7. Alimentaciones
3.7.1. Regulador de tensión LM317 El LM317 es un regulador de tensión positivo capaz de entregar un rango de tensión de salida desde 1.2V hasta 37V, con una corriente de 1.5 A. Como se muestra en la figura 3.21, el regulador está formado por tres terminales, Input (In), Output (OUT) y Adjustment (ADJ). La salida está protegida contra cortocircuitos. El regulador LM317 es muy fácil de utilizar, ya que para obtener el voltaje de salida deseado, requiere dos resistencias externas. La resistencia R2 de la figura 3.22 se recomienda que sea un potenciómetro para ajustar la tensión de salida. En el proyecto se utiliza una resistencia de valor fijo, ya que el transmisor funciona con 3.3V y permite un rango desde 1.9V hasta 3.6V de alimentación.
Fig. 3.21. Encapsulado LM317.
Fig.3.22. Esquemático LM317.
El LM317 en funcionamiento tiene una tensión de referencia de 1.25V entre el terminal de salida y el de ajuste. Por este motivo, la tensión de entrada del regulador tiene que ser 1.25V por encima de la tensión de salida. Analizando el circuito de la figura 3.22 se tienen las siguientes ecuaciones: La corriente a través de la resistencia R1 es: I R1 =
1.25 R1
(3.7)
La corriente I R1 circula a través de la resistencia R2. Entonces el voltaje en R2 es: VR 2 = I R1 ⋅ R 2 + I ADJ ⋅ R 2
(3.8)
48
Si se sustituye I R1 en 3.8 y se desprecia I ADJ , ya que su máximo valor es de 100 µA y se mantiene muy constante con variaciones del voltaje de entrada o de la carga, se tiene: VR 2 = 1.25 ⋅
R2 R1
(3.9)
El voltaje de salida es: VOUT = VR1 + VR 2
(3.10)
Entonces: R2 VOUT = 1.25 ⋅ 1 + R1
(3.11)
Se quiere una tensión de salida de 3.3V y se fija la resistencia R1 con un valor de 220Ω. Aislando R2 de 3.11 se obtiene su valor: R1 220 R2 = ⋅ (VOUT − 1.25) = ⋅ (3.3 − 1.25) ≈ 361Ω 1.25 1.25
(3.12)
Los valores estándares de resistencias no contemplan 361Ω. Para solucionarlo, se ha elegido una resistencia de 330 Ω en serie con una de 27 Ω, obteniéndose una tensión de salida de 3.28V aproximadamente.
49
3.7.2. Cambio de nivel de tensión BYV10 El transmisor RXQ2 trabaja con un nivel máximo de tensión de alimentación de 3.6V y la salida del PIC16F877A con un nivel alto ‘1’ se tienen 5V. Por lo tanto es necesario disponer de un elemento entre el PIC y el transmisor que reduzca los 5V de la salida del PIC a 3.3V. Un diodo y una resistencia de 10kΩ conectada entre la tensión deseada y el ánodo del diodo realizan la operación de cambio de nivel de tensión, tal como se muestra en la figura 3.24. Existen muchos tipos de diodos, pero se ha elegido uno tipo shottky, ya que tiene una tensión umbral muy baja (0.2V) y por su rápida conmutación entre los estados de conducción directa e inversa.
Fig. 3.23. Encapsulado SOD81 BYV10 y su símbolo circuital.
Fig. 3.24. Esquemático cambio de nivel de 5V a 3.3V.
El funcionamiento del esquemático de la figura 3.24 se describe a continuación. El diodo está en abierto cuando el cátodo tiene una tensión mayor que el ánodo, dando a la salida un nivel alto (3.3V). Mientras que cuando la tensión en el ánodo es mayor que en el cátodo, el diodo conduce y a la salida se tiene un nivel bajo, que será la tensión umbral del diodo (0.2V).
50
3.7.3. Regulador de tensión LDO
El LDO (Low Drop Out) es un regulador de baja caída de tensión a la salida. Algunas de sus características más destacadas son las siguientes: • Tensión fija a la salida de 3V, 3.3V o 5V y una corriente de 50mA. • Tensión de entrada máxima de 40V. • Consumo de corriente muy bajo en reposo (15µA). • Rango de temperatura de -40ºC hasta 125ºC. • Tolerancia a la salida de ±3% y ±2% inicialmente. • 200mV de caída de tensión de salida con una corriente de 50mA. • Protección contra cortocircuito y voltaje inverso. El LDO que se utiliza es el que fija una tensión a la salida de 5V (LM2936Z-5). De entre los diferentes encapsulados existentes, se ha elegido el T0-92, tal como se muestra en la figura 3.25.
Fig. 3.25. Encapsulado TO-92 LDO.
Fig. 3.26. Circuito LM2936Z-5.
La configuración para el correcto funcionamiento del LDO es la mostrada en la figura 3.26. El condensador conectado a la salida, de valor 10µF, es imprescindible para la estabilidad, mientras que el de 100nF de la entrada es opcional, dependiendo de la distancia que se encuentre el regulador de la fuente de alimentación.
51
3.8. Balance energético El consumo total del circuito de trabajo es de aproximadamente 70mA. Este valor se obtiene de limitar la fuente de corriente y con los datos de consumo de los componentes que conforman el circuito. A continuación se detalla el cálculo de la corriente que se necesita del módulo. Sabiendo que se tiene una carga de 70mA, en un día el consumo es: L = 70mA ⋅ 24
h Ah = 1.68 dia día
(3.13)
Utilizando una batería de 6V y suponiendo un HPS (Horas Pico Solar) de 4,5kh/día, que es el valor de la duración de un día equivalente con irradiancia constante y de valor 1000W/m2, se tiene: Ah (3.14) E generada = HPS ⋅ I médulo ⋅ VBatería = 4,5 ⋅ I módulo ⋅ 6V = 1,68 día La corriente del módulo necesaria se obtiene aislando de 3.14. I módulo ≈ 62,2mA
(3.15)
Con este dato de corriente, se ha elegido un panel solar comercial que se ajuste más a estas características, ya que si el dimensionado se hace por encargo, el coste es muy elevado.
3.8.1. Panel solar Un panel solar es un conjunto de células solares conectadas en serie, si se quiere aumentar el voltaje, o en paralelo si se desea aumentar la corriente.
Fig. 3.27. Panel solar MSX-01F. Las características del panel solar elegido son las siguientes:
52
Voltaje de circuito abierto (Voc): 10.3V. Corriente de cortocircuito (Isc): 160mA. Voltaje bajo carga especificado (Vld): 7.5V. Corriente típica en Vld (Ild): 150mA. Longitud: 127mm. Anchura: 127mm. Altura: 3mm.
Para caracterizar el panel solar, se ha utilizado un simulador solar, que es un instrumento en el que se proyecta sobre el panel un haz cilíndrico con una determinada irradiancia. El problema que surgió es que el simulador solar del laboratorio se utiliza para células solares de una dimensión reducida. Al colocar el panel no se pudo conseguir que el haz lo cubriera todo, con el consiguiente problema de sombreado. Esto provoca que el resultado obtenido no sea lo que realmente puede ofrecer el panel en condiciones estándar (STC), pero permite ver que funciona correctamente. La figura 3.28 muestra la característica I-V obtenida del panel, que se corresponde con la de color azul. Las medidas se han hecho con una irradiancia de 1000W/m2 pero al tener problemas de sombreado, el valor de irradiancia media sobre el panel que se ha obtenido es: I SC _ MEDIDA I SC
=
GMEDIDA G
(3.16)
El valor de Isc del panel es de 160mA. GMEDIDA =
I SC _ MEDIDA⋅G I SC
=
46,8 ⋅ 1000 W ≈ 293 2 160 m
(3.17)
Con estos datos se ha hecho la corrección pertinente para obtener la curva característica I-V del panel con una irradiancia de 1000W/m2, que se muestra a continuación en color rojo en la figura 3.28.
53
Fig. 3.28. Curva característica I-V del panel fotovoltaico para una irradiancia de 1000W/m2 (color rojo) y la medida (color azul).
Fig. 3.29. Curva característica I-V en oscuridad.
54
También se ha obtenido la característica I-V en oscuridad, tal como se muestra en la figura 3.29.
3.8.2. Batería
Si no se recibe la radiación adecuada, el sistema puede demandar una potencia que el panel fotovoltaico no es capaz de entregar. Entonces es necesario conectar una batería para asegurar un suministro constante al sistema. Se ha elegido una batería comercial de 6V, para utilizar valores estandarizados de tensiones de baterías comerciales. El fabricante es Cyclon y tiene una capacidad nominal de 2.5 Ah. Se trata de una batería de Plomo ácido, típica en aplicaciones fotovoltaicas aisladas, aunque cualquier batería comercial recargable de tensión nominal de 6V puede ser utilizada en este sistema. La batería seleccionada es capaz de dar al sistema una autonomía de 2 días, suponiendo que el sistema funciona las 24h del día en el punto de máximo consumo y en ausencia total de luz.
Fig. 3.30. Batería de 6V Cyclon 0819-0012. La alimentación del sensor, del amplificador de instrumentación y del regulador de tensión están previstas a 5V, pero todos pueden funcionar con una alimentación mayor que los 6V de la batería. El problema de utilizar una batería de 6V es la alimentación del PIC, ya que su límite máximo es 5.5V y trabaja a 5V. Es necesario regular los 6V de salida de la batería y alimentar a 5V el PIC mediante un LDO (ver 3.7.3), tal como se muestra en la figura 3.31.
55
Fig. 3.31. Diagrama de bloques de la alimentación del PIC, por medio de la batería y un regulador de tensión LDO.
56
3.9. Diseño PCB La realización de la PCB (Printed Circuit Board) ha comportado la utilización de diferentes programas concebidos con esta finalidad, que son el OrCAD Capture, el OrCAD Layout y el CIRCUIT CAM. Se podría realizar solamente con el OrCAD Layout, pero es más sencillo hacer primero el esquemático del circuito con las diferentes uniones en el OrCAD Capture y posteriormente exportarlo al Layout. La instalación del OrCAD permite elegir diferentes programas. Para el proyecto se ha instalado el OrCAD Capture CIS 9.2.3 y el OrCAD Layout. A continuación se detalla el proceso que se ha seguido ordenadamente y de cada programa para obtener la placa impresa.
3.9.1. OrCAD Capture CIS
El diseño de la placa impresa se empieza abriendo el OrCAD CIS. Hay que crear un nuevo proyecto seleccionando File->New->Project. Se le da un nombre y ubicación al proyecto, se selecciona la opción Schematic y se clica a OK. Para empezar a insertar elementos, se selecciona el botón Place Part, que aparece marcado arriba en la figura 3.32.
Fig. 3.32. Ventana Place Part.
Los diferentes elementos existentes, se encuentran clasificados en librerías. Primero se elige la librería en Libraries, en el apartado Part List se selecciona el elemento deseado, que aparecerá en la esquina inferior de la ventana y se da a
57
OK. Si no se encuentra la librería deseada, se puede importar dándole al botón Add Library. También existen dos formas más de buscar elementos. La primera es seleccionando todas las librerías y en la apartado Part escribir el nombre del elemento. La otra es dándole al botón Part Search… Aparecerá una ventana nueva y en Part Name se escribe el nombre del elemento y se clica en Begin Search. Muchas veces, el obstáculo principal es desconocer el nombre exacto del elemento. Utilizando * delante o detrás del nombre, se mostrarán todos los elementos que lo contengan. Puede darse el caso que el elemento deseado no se encuentre en ninguna librería. Se puede remediar editando un elemento que contenga características parecidas o creándolo. Para editar un elemento, primero se selecciona y a continuación se da un clic con el botón derecho y se elige edit part. Aparecerá el elemento con sus pines. Realizados los cambios pertinentes, se cierra la ventana y se puede elegir entre guardarlos o no. Si se desea crear un nuevo elemento, primero se genera la librería que los contendrá, File->New->Library. En la parte izquierda de la ventana principal, en la carpeta File, se encuentra la carpeta Library. Dentro de ésta, se habrá creado una nueva librería y dándole con el botón derecho se elige New Part. Aparecerá una ventana donde se le da un nombre, una referencia (Part Reference Prefix), su footprint (medidas y pines del elemento) y se da a OK. Para conocer el footprint de un elemento hay que buscarlo dentro de la librería (Library Manager) del OrCAD Layout. Si no se encuentra el adecuado, se puede editar uno parecido o crearlo, midiendo sus dimensiones con un pie de rey y con la herramienta de OrCAD Layout Tool->Measurement->Select Tool.
Fig. 3.33. Ventana nuevo elemento.
58
En la figura 3.33 se puede ver la ventana para la creación de un nuevo elemento y el cuadro de comandos en la parte de arriba. Terminado el proceso de creación, se cierra la ventana y se guardan los cambios. Para utilizar el nuevo elemento, solo queda añadir la librería creada, como se ha explicado anteriormente. Una vez se han seleccionado todos los elementos que conforman el circuito, se unen entre ellos mediante el comando Place wire, que es uno de los comandos que se muestra en la parte de arriba de la figura 3.32. También se han utilizado los comandos power, ground y no connect. En el proyecto se han creado nuevos elementos para el PIC16F877A y el RXQ2 y se ha editado el sensor LM35.
Fig. 3.34. Diseño OrCAD CIS del esquemático del sistema.
Finalizada la parte referente al esquemático, se tiene que exportar el circuito para utilizarlo con OrCAD Layout. Tal como se muestra en la figura 3.35, se selecciona el fichero con extensión .dsn y se le da al botón netlist. En la ventana que aparece, se selecciona la pestaña Layout, se marca la opción User properties are in inches, se escoge la carpeta de destino y Aceptar. Si el programa detecta algún error, lo mostrará y no se creará el archivo hasta que no se haya solucionado.
59
Fig. 3.35. Exportación circuito.
3.9.2. OrCAD Layout
Antes de abrir el OrCAD Layout hay que tener cerrado el OrCAD Capture. Una vez iniciado el programa, se selecciona File->New. A continuación, se elige el fichero default.tch (C:\Cadence\PSD_14.2\tools\layout_plus\data). Después se solicita el archivo con extensión MNL creado con el OrCAD Capture y seguidamente hay que dar un nombre y ubicación al archivo que se creará con extensión .max. Si alguno de los elementos no tiene definido su footprint o es erróneo, en este punto del proceso se solicitará para seguir con la ejecución del programa.
Fig. 3.36. OrCAD Layout al abrir el fichero del OrCAD Capture.
60
Los diferentes elementos del circuito aparecen tal como se muestra en la figura 3.36. Es necesario ordenarlos según se dispongan en la placa y revisar las conexiones entre ellos. Si no se utilizan reglas de diseño de OrCAD, primero se tiene que desactivar el comando Online DRC. Para mover los elementos, se selecciona la herramienta Component Tool y para rotarlos se utiliza la tecla R. Si se quiere modificar o añadir alguna línea, se realiza a través de Connection Tool y dando un clic con el botón derecho encima de la ventana principal, donde se selecciona la acción a realizar. Finalizado el proceso de cambiar la disposición de los elementos y de revisar el conexionado, se define el área de la placa, con el comando obstacle tool. A continuación, se tienen que definir las características de la placa, mediante Window->Nets. Se mostrará una nueva ventana y hay que hacer doble clic encima de Net Name para seleccionarlo todo. Se abrirá otra ventana donde se definirá el ancho de las pistas (Min Width, Conn Width y Max Width) con el valor deseado (30). También se puede definir el ancho de una pista concreta, seleccionándola y con el botón derecho en properties. Las caras que tendrá la pista y si se pueden utilizar o no puentes, se define mediante Tool->Layer->Select From Spreadsheet. En principio, se utiliza la capa TOP y la BOTTOM, el resto se deselecciona. La forma más rápida para deseleccionar es dando doble clic encima de Layer Name y en la ventana que aparece seleccionar Unused Routing. De esta forma se deshabilitan todas las capas. Ahora hay que activar las que se deseen, dando un clic con el botón derecho encima de la capa y en properties seleccionar Routing Layer o Jumper Layer. Los ficheros que permiten la creación de puentes, se tienen que importar de File->Load y buscar los archivos jumper_h.sf y jumper_v.sf de la carpeta con la ruta C:\Cadence\PSD_14.2\tools\layout_plus\data. Para finalizar, OrCAD permite rutear la placa seleccionando Auto->Autorute>Board. También es posible ajustar alguna pista con el comando Add/Edit Route Mode.
61
Fig. 3.37. Diseño OrCAD Layout del sistema.
3.9.3. CIRCUIT CAM
Junto con el técnico de laboratorio de electrónica de la escuela, se utilizó el programa CIRCUIT CAM para añadir a la PCB el agujero de la antena, agrandar los agujeros correspondientes a los terminales de alimentación y hacer los de soporte de la placa. Todo ello mesurándolo con un pie de rey. Se ha decidido imprimir la placa de circuito impreso en una sola capa, de esta forma se tarda menos tiempo, se facilita el proceso de soldar y su coste es más económico.
62
Fig. 3.38. Diseño final de la placa con CIRCUIT CAM.
63
3.10. Funcionamiento y validación del sistema En este apartado se detallan los procedimientos a seguir para hacer funcionar el sistema. Inicialmente se alimenta la placa transmisora. Si es en el laboratorio, se configura la fuente de alimentación a 6V, limitando la corriente a 70mA y se conecta el terminal positivo de la fuente, al borne rojo de la placa más alejado de tierra (borne negro). Si la alimentación es como la figura 3.39, el terminal positivo del panel solar, se conecta al borne rojo de la placa más cercano a tierra y el terminal positivo de la batería, como en la fuente de alimentación. La posición del interruptor es la ilustrada en la figura 3.39.
Fig. 3.39. Sistema transmisor con la alimentación proveniente del panel solar y de la batería.
El receptor se alimenta de una fuente de alimentación del laboratorio, con una tensión a 5V y limitando la corriente a 70 mA. La antena del receptor es un simple hilo y el adaptador RS232-USB se conecta como en la imagen. Para realizar la comunicación, todos los interruptores de la tarjeta RXDL1 tienen que estar en posición ON a excepción del tercero.
64
Fig. 3.40. Receptor con la alimentación proveniente de la fuente de alimentación y el cable de adaptación RS232-USB. Finalizada la etapa de alimentación, se procede a conectar el cable RS232USB de la salida del receptor a la entrada de uno de los puertos USB del ordenador. Si éste no reconoce el dispositivo, se necesita instalar el software del controlador. Para conocer el puerto donde se encuentra conectado el cable USB, se tiene que ir a Inicio->Panel de control, hacer doble clic en Sistema, seleccionar la pestaña Hardware, dar un clic en Administrador de dispositivos y desplegar la opción Puertos (COM&LPT). El número de puerto se muestra en Prolific USBto-serial Comm port (COM7). Si se utiliza el puerto RS232 es el puerto número 1. Conocido el puerto de comunicaciones, se inicia LabVIEW 2010, que se encuentra en Inicio->Todos los programas->National Instruments->LabView 2010->LabView. Se abrirá una ventana en la que hay que seleccionar el proyecto deseado, mediante open->Browse… Hay que elegir la carpeta donde se encuentra el archivo, que en este caso se llama projecte y abrirlo. Aparecerán dos ventanas nuevas, una es el diagrama de bloques y la otra el panel de control. En el diagrama de bloques, donde aparece el recuadro de la figura 3.41, se indica la ruta y el nombre donde se desea que se guarden los datos.
Fig. 3.41. Ruta fichero Excel.
65
En el panel de control hay que seleccionar en VISA resource name, el puerto de comunicaciones, que anteriormente se ha explicado cómo efectuarlo. En contador Bytes 2 se inserta el número de bytes que desean ser leídos antes de representarse gráficamente. El mínimo es uno. Finalizado el proceso de configuración, se inicia la ejecución dando un clic en Si se desea hacer una pausa se utiliza y para detener el programa el botón De querer consultarse los datos de la hoja de Excel, primero hay que parar la ejecución del programa. A continuación haciendo un clic con el botón derecho en el archivo, se selecciona abrir con. Si entre los programas está Excel se abre. Si no es el caso, se da un clic en examinar, se busca la carpeta Microsoft office, seguidamente office 14 y finalmente se muestra Excel. Al abrir la hoja de Excel aparece un mensaje advirtiendo de que tiene otro formato… Se dice que sí y se muestran los datos. En la figura 3.42, se muestra la ventana panel de control con la ejecución del programa. La gráfica permite observar la evolución de la temperatura con el tiempo. Si se sopla o se toca con el dedo el sensor, la temperatura aumentará significativamente y posteriormente irá bajando hasta recuperar la temperatura ambiente.
Fig. 3.42. Validación del sistema.
66
Parada la ejecución del programa, se abre la hoja de Excel indicada en el diagrama de bloques y se puede observar que se han registrado correctamente, tal como se muestra en la figura 3.43.
Fig. 3.43. Temperaturas registradas en una hoja Excel.
67
3.11. Balance económico Se ha realizado un estudio económico estimativo, basándose en los costes de los componentes utilizados en el sistema. No se han contabilizado las licencias software de los programas, como por ejemplo, LabVIEW, que la ETSETB tiene instalado en los ordenadores del laboratorio de instrumentación. Tampoco se ha tenido presente el tiempo destinado al diseño e implementación del sistema. Tabla 3.6. Detalle del coste del sistema. Precio
Cantidad
Total
Transceiver RXQ2
61,43 €
2
122,86 €
Tarjeta RXDL1
90,34 €
2
180,68 €
Antena látigo
8,84 €
1
8,84 €
PIC16F877A
4,62 €
1
4,62 €
Regulador LM317
2,23 €
1
2,23 €
Regulador LDO
2,30 €
1
2,30 €
Panel solar
40,67 €
1
40,67 €
Batería 6V
22,06 €
1
22,06 €
Programador PICKIT2
46,92 €
1
46,92 €
Impresión PCB
30 €
1
30 €
Interruptor
1,5 €
1
1,5 €
5€
-
5€
17,5 €
1
17,5 €
Componentes (resistencias, condensadores, diodos, etc)
Cable RS232-USB
68
Total
485,18 €
Como se puede observar en la tabla 3.6, el componente más caro es la tarjeta de evaluación RXDL1. Ésta podría ser substituida realizando el diseño con un MAX232, que permite para ajustar los niveles de tensión de la entrada del puerto del ordenador.
69
CONCLUSIONES
El proyecto realizado cumple con los requisitos CDIO del nuevo plan de estudios. Ha permitido concebir la necesidad de captar una magnitud física y que ésta se pueda enviar a un destino que recoja los datos y los procese debidamente. Con esta idea, se ha diseñado el sistema completo teniendo en cuenta cada uno de los bloques que lo forman. La unión entre ellos también ha provocado la inclusión de algunos bloques que en el proceso anterior de concepción no habían surgido, ya que los componentes tienen unos parámetros eléctricos que muchas veces no se adecuan a lo que se había planteado. La implementación del sistema ha consistido en programar, utilizar diferentes programas software y montar el circuito. Finalmente, se ha operado el sistema completo comprobando su correcto funcionamiento. Con este proyecto se ha conseguido aprender y trabajar una serie de competencias, que son: • La elección de componentes adecuados para el sistema según sus especificaciones técnicas y eléctricas. • Acondicionamiento de circuitos. • Estudiar y programar en lenguaje C el convertidor A/D y la USART del microcontrolador PIC16F877A. • Programación gráfica utilizando el software LabVIEW. • Amplificadores de instrumentación que no requieren fuentes simétricas. • Realizar transmisiones por medio de un enlace de RF y calculando el tipo de antena necesario. • Reguladores y cambios de nivel de tensión. • Dimensionado fotovoltaico. • Diseñar, montar y soldar los diferentes componentes de la PCB por medio del programa ORCAD Capture y Layout y Circuit CAM. • Resolución de problemas inesperados que pueden surgir al montar el sistema, como por ejemplo, interferencias. • Estudiar protocolos de comunicación.
70
En el mercado existen muchas aplicaciones que realizan el proyecto diseñado, con un tamaño y coste mucho más reducido. La finalidad no es precisamente esta, sino ver cada uno de los bloques que forman el sistema, para familiarizarse, estudiarlos y tenerlos presente. En un futuro, el alumno los podrá utilizar en diseños que tenga que realizar durante su proceso universitario o en el mundo laboral. Si se tiene el producto final no se puede llegar a entender las dificultades que pueden surgir para diseñarlo. Para futuros trabajos, se pueden utilizar diferentes sensores que comportarán un acondicionamiento distinto. También se puede realizar el diseño de la tarjeta de evaluación.
71
BIBLIOGRAFÍA [1]. Ramón Pallás Areny, “Adquisición y distribución de señales”, MARCOMBO, S.A., Barcelona, 1993. [2]. Lluís Prat Viñas, Josep Calderer Cardona, “Dispositius electrònics i fotònics. Fonaments”, segona edició, Edicions UPC, Barcelona, 2006. [3]. Apuntes de la asignatura energía solar fotovoltaica, Luis Castañer. [4]. M. Fernández, M.A. García, J. Ramos, P.J. Riu, J. Rosell, “Sistemas de test automático curso de laboratorio”, reimpresión, Edicions UPC, Barcelona, 2005. [5]. Alarcón, E.; Bragos, R.; Sayrol, E. Learning to conceive, design, implement and operate circuits and systems. A: 2011 IEEE International Symposium on Circuits and Systems. "ISCAS 2011 the IEEE International Symposium on Circuits and Systems: proceedings". IEEE, 2011, p. 1183-1186. [6]. Bragos, R. [et al.]. Implementation and first results of the Introduction to Engineering course in the ETSETB-UPC new degrees. A: II Conferencia Internacional en Fomento e Innovación con Nuevas Tecnologías en la Docencia de la Ingeniería. "FINTDI2011: segunda Conferencia Internacional en Fomento e Innovación con Nuevas Tecnologías en la Docencia de la Ingeniería = 2011 Promotion and Innovation with New Technologies in Engineering Education FINTDI 2011 International Conference: Teruel, 5 y 6 de mayo de 2011: abstracts". 2011, p. 1-4. [7]. Cabrera, M. [et al.]. A remote laboratory to promote the interaction between university and secondary education. A: IEEE 1st Annual Engineering Education Conference. "IEEE EDUCON 2010 Conference". Universidad Politécnica de Madrid (UPM), 2010, p. 1-5. [8]. Cabrera, M. [et al.]. GILABVIR: Virtual laboratories and remote laboratories in engineering. A teaching innovation group of interest. A: IEEE 1st Annual Engineering Education Conference. "IEEE EDUCON 2010 Conference". Universidad Politécnica de Madrid (UPM), 2010, p. 1-6. [9]. Página de national instruments para LabVIEW. http://www.ni.com/labview/esa/ [10]. Sensor de temperature LM35 datasheet. http://www.ti.com/lit/ds/symlink/lm35.pdf [11]. Amplificador de instrumentación AMP04 datasheet. http://www.analog.com/static/imported-files/data_sheets/AMP04.pdf [12]. Microcontrolador PIC16F877A datasheet.
72
http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf [13]. Transceiver RXQ2 datasheet. http://www.telecontrolli.com/download/products-datasheets/transceivers/146rxq2_en.html [14]. Tarjeta de evaluación RXDL1 datasheet. http://www.telecontrolli.com/download/products-datasheets/radio-modem-ademo-boards/126-rxdl1_en.html [15]. Regulador de tensión LM317 datasheet. https://www.national.com/ds/LM/LM117.pdf [16]. Panel solar MSX-01F datasheet. http://elcodis.com/parts/2560067/MSX-01F.html#datasheet [17]. Regulador de tensión LDO LM2936Z-5 datasheet http://www.ti.com/lit/ds/symlink/lm2936.pdf [18]. Página de microchip para descargar MPLAB. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId= 1406&dDocName=en019469&part=SW007002 [19]. Manual PICkit 2. http://ww1.microchip.com/downloads/en/devicedoc/51553e.pdf [20]. Página para descargar del software RXQ2. http://www.telecontrolli.com/download/technical-documentation-area/102rxq2setting-ver-2-21_it.html [21]. Página web de la ETSETB. http://www.etsetb.upc.edu/
73
ANEXO A: Código PIC A continuación se adjunta el fichero del PIC16F877A programado en lenguaje C, que básicamente utiliza el convertidor A/D y la USART. La explicación se detalla en el apartado 3.2.
#include #include #include #define _XTAL_FREQ 4000000 unsigned char salida_convertidor; void configure_AD_interrupt() { ADIF=0; ADIF=1 ADIE=1; PEIE=1; GIE=1; __delay_ms(100); GO=1; } static void interrupt interrupcion(void) { if(ADIF) { salida_convertidor = ADRESH;//valor_sensor= configure_AD_interrupt while (!TXIF){} TXREG = salida_convertidor; } }
ADRESH;
void main(void){
PORTA = 0b00000000; TRISA = 0b00000001; PORTB = 0b00000000; TRISB = 0b00000000; PORTC = 0b00000000; TRISC = 0b10000000; PORTD = 0b00000000; TRISD = 0b00000000; PORTE = 0b00000000;
74
TRISE = 0b00000000; ADCON1 = 0b00001110 ADCON0 = 0b01000000; ADON=1; SPBRG = 25; BRGH = 1; SYNC = 0; SPEN = 1; TX9 = 0; TXEN = 1; configure_AD_interrupt(); while(1){} }
75
ANEXO B: Gráficas salida PIC
Una forma de comprobar que la programación del PIC funciona correctamente es visualizando su salida a través de un osciloscopio. Inicialmente se conecto la entrada de datos a la alimentación, es decir, 5V. Los otros valores se obtuvieron colocando a la entrada un potenciómetro y variándolo de mayor a menor valor, tal como se muestra en las siguientes figuras. Finalmente se conecto la entrada directamente a masa.
Fig. B.1.Entrada a 5V.
Fig. B.2. Entrada potenciómetro.
Fig. B.3. Entrada potenciómetro.
Fig. B.4. Entrada potenciómetro.
76
Fig. B.5. Entrada potenciómetro.
Fig. B.6. Entrada a masa.
77