SISTEMA DE TELECOMANDO PARA AUTOMOTORES BASADO EN C.A.N. BUS
Fecha 22/05/2009
Autor Paulo Mauricio Snchez
Reviso Ingeniero Jorge Naguil Tutor de Trabajo Final
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 2 -
Dedicado a mi padre, Rubn B. Snchez, de quien durante su existencia recib su apoyo y afecto incondicional y que no pudo Compartir este momento tan especial de mi vida.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 3 - AGRADECIMIENTOS
Este trabajo final de grado fue posible gracias al apoyo constante e incondicional del Ingeniero Jorge Naguil quien me proporcion una gua invaluable durante todo este proceso. Tambin debo agradecer a mi madre, Carlina, mi esposa, Nancy y mi hija Lara, por proporcionarme todo lo que tuvieron a su alcance a lo largo de estos aos. Sin esa ayuda hubiera sido imposible concretar esta carrera.
Deseo agradecer a mis hermanos quienes me han ayudado y apoyado en la concrecin de esta carrera.
Un agradecimiento muy especial a mis compaeros y amigos de trabajo que proporcionaron un apoyo constante tanto en lo profesional como en lo afectivo.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 4 -
SISTEMA DE TELECOMANDO PARA AUTOMOTORES BASADO EN C.A.N. BUS
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 5 - HOJA DE ACEPTACION DEL TRABAJO FINAL
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 6 - INDICE
Resumen.8
1. Introduccin9 1.1. Descripcin General10 1.2. Ubicacin fsica del sistema11
2. Estudio de tecnologa a implementar..12 2.1. Microcontrolador ........12 2.2. Los DSPIC...13 2.3. Eleccin de la tecnologa a utilizar..14
3. Los microcontroladores......14 3.1. Introduccin a los microcontroladores ......15 3.2. Los PICs..16 3.3. Estructura de un microcontrolador..17 3.4. El procesador o CPU.. 19 3.5. Memoria de programa R.O.M.19 3.6. Memoria de datos R.A.M21 3.7. Lneas de entradas/salidas, Puertos.22 3.8. Mdulos temporizadores internos (TMRs)..22 3.9. Lenguajes de programacin.24 3.10 Programador25 3.11 Teora de funcionamiento del mensaje CAN..28 3.12 Caractersticas del mdulo CAN.29 3.13 Formato del mensaje CAN..29 3.14 Trama estndar CAN...29
4. Diseo del Hardware.31 4.1 Nodo 1 CAN(Maestro).31 4.12. Asignacin funcional de cada pin del nodo 1 CAN...32 4.2. Nodo 2 CAN (Esclavo)35 4.21. Asignacin funcional de cada pin del nodo 2 CAN...35
5. Desarrollo del circuito...37 5.1. Circuito del nodo 1 CAN.37 5.12. Etapa de entrada..38 5.13. Etapa de salida39 5.14. Etapa microcontrolada40 5.2. Circuito del nodo 2 CAN.41 5.21. Indicador de nivel de combustible..43 5.22. Sensor de nivel de combustible..44 5.23. Sensor de estacionamiento.48 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 7 - 6. Diseo del Firmware.50 6.1. Diagrama de flujo del PIC 16F874 del nodo 1 CAN..50 6.2. Funcionamiento del Firmware del PIC 16F874 (nodo 1 CAN)......52 6.3. Diagrama de flujo del PIC 16F873A del nodo 1CAN.56 6.4. Funcionamiento del Firmware del PIC 16F873A (nodo 1 CAN)...58 6.5. Diagrama de flujo del nodo 2 CAN.58 6.6. Funcionamiento del Firmware del PIC 16F873A del nodo 2 CAN....60
7. Integracin Hardware Software..64 7.1. Prueba del sistema experimental ....70
8. Conclusiones..78
9. Referencias79
Anexos80 Anexos1: Diagramas de flujos de nodo1 CAN y nodo2 CAN...81 Anexo 2: Hojas de datos........93
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 8 -
GLOSARIO
ADC: Conversor Analgico a Digital, (Analog to Digital Converter). C.A.N.: Controller Area Network. CPU: Unidad Central de Proceso (Central Prossesing Unit). CISC: Computadores de Conjunto de Instrucciones Complejo. DSC: Controladores Digitales de Seal. DSP: Procesadores Digital de Seal. DAC: Conversor Digital a Analgico, (Digital to Analog Converter). EEPROM: ROM Programable y Borrable Elctricamente (Electrically-Erasable Programmable Read-Only Memory. ICSP: Programacin serie incorporada (In Circuit Serial Programming). LVP: Programacin a bajo voltaje, (Low Voltage Programming). MCLR: Borrador Maestro (Master Clear). MSJ: Mensaje OTP: One Time Programmable. PC: Computadora personal. PIR1: Registro que contiene los bit de sealizacin de interrupcin de perifricos. RCIF: Bit de sealizacin de interrupcin por recepcin del USART. RISC: Computadores de Conjunto de Instrucciones Reducido. ROM: Memoria de solo lectura (Read Only Memory). RAM: Memoria de Acceso Aleatorio (Random Acces Memory). SISC: Computadores de Conjunto de Instrucciones Especfico. TMR: Temporizador / Contador de (8bits). Tosc: Tiempo interno de trabajo del microcontrolador. USART: (Universal Synchronous Asynchronous Receiver Transmitter). UPP628: Programador de microcontroladores ZIF: Insercin Fuerza cero
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 9 -
RESUMEN
El objetivo de este trabajo final de grado es disear un sistema de telecomando, para la actualizacin del sistema de iluminacin, confort y control de sistemas electrnicos utilizado en los automviles, de bajo costo y que pueda ser instalado, controlado, diagnosticado y reparado por pequeos talleres de electricidad del automotor. Este proyecto se desarrollar utilizando el Protocolo Lgico del CAN BUS, en una Mensajeria Reducida del mismo, esto significa que se utilizar la filosofa y el esquema de trabajo del CAN BUS para el manejo de: luces interiores y exteriores, alarmas, cierre central, asientos, accesorios, sensores de estacionamientos, levanta cristales, etc. Esta implementacin se desarrollar con la utilizacin de los recursos que integran los microcontroladores PIC, diseando un firmware en el que incluya la lgica de la trama de datos del protocolo CAN. El proyecto no ser un sistema cerrado ya que se podr actualizar tanto a nivel hardware como software, logrando un mayor control de los sistemas electrnicos del vehculo. El trabajo final de grado quedar concluido con la construccin de un prototipo experimental de laboratorio.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 10 -
1- INTRODUCCION
En la actualidad existe un sistema de comunicacin llamado C.A.N. BUS (Controller Area Network), que es un protocolo de comunicacin serie desarrollado por la firma alemana BOSCH, para el intercambio de informacin entre unidades de control electrnicas del automvil. Soporta un control distribuido en tiempo real con un alto nivel de seguridad y mltiplexacin. Este sistema permite una reduccin importante tanto del nmero de sensores utilizados como de la cantidad de cables que componen la instalacin elctrica. De esta forma aumentan considerablemente las funciones presentes en los sistemas del automvil donde se emplea el CAN BUS, sin aumentar los costos, adems estas funciones pueden estar repartidas entre las distintas unidades de control que el sistema posee. Esta tecnologa CAN BUS, se est comenzando a utilizar en automviles de alta gama y muy costosos, el cual solo las grandes empresas y concesionarias del pas disponen de los servicios de diagnosis, control y reparacin de estos nuevos sistemas. La implementacin est orientada hacia aquellos automviles con mas de 10 aos de antigedad, vehculos en los cuales a esa edad comienzan a producirse fallas en el sistema de distribucin elctrico, en componentes tales como contactos, llaves, cables, relay, etc.; ya que su reemplazo por un nuevo cableado resultara muy costoso. Segn notas publicadas en Internet, WWW.Autoxuga.com , WWW.Autocity.com, http://es.wikipedia.org/wiki/CAN_bus, los automviles que tienen instalado el Sistema CAN Bus, logran una reduccin del 20 % en la cantidad de cableado del sistema elctrico, incrementando la fiabilidad, ofrecen nuevas funciones al usuario, estableciendo un dilogo permanente entre las unidades de control multiplexados entre s. El tiempo, costo de diagnosis y reparacin de este sistema ser ms econmico, en comparacin con los costos de un sistema CAN.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 11 -
En la siguiente Figura n 1.0, se muestra el diagrama en bloques del sistema que se desea implementar:
NODO 1 ENLACE DE DATOS (BUS) NODO 2 Maestro Esclavo
Lneas de mando Sensores y actuadores
Figura n 1.0, diagrama en bloques.
1.1 Descripcin General:
Nodo 1 y Nodo 2 Estos nodos, constarn de un sistema de digitalizacin, de comandos y sensores, codificador / decodificador y transmisor / receptor.
Enlace de Datos
Este enlace llevar los datos digitales en forma confiable y con redundancia. Debe ser capaz de transportar informacin a alta velocidad, de acuerdo con las limitaciones de la tecnologa a utilizar para el desarrollo del trabajo final de grado.
Lneas de mando
Por estas lneas circulan seales elctricas que comandan los actuadores y sensores.
Sensores y actuadores Los sensores sern de salida digitalizada y los actuadores podrn ser llaves electrnicas, electromecnicas, reles, solenoides, motores de CC, etc. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 12 -
1.2- UBICACIN FISICA DEL SISTEMA
En un automvil existen dos grandes zonas a controlar por los sistemas electrnicos: a) la parte delantera y b) parte trasera o posterior; las cuales estarn controladas por los Nodo 1 CAN y Nodo 2 CAN respectivamente, existiendo un enlace de datos digitales (Bus de datos CAN) bidireccional entre ellos, en la siguiente Figura n 1.2 se muestran las ubicaciones fisicas de los nodos:
Vista lateral:
NODO 1 CAN NODO 2 CAN BUS CAN Vista superior:
Lneas de mando Actuadores y Sensores
Figura n 1.2, Vistas lateral y superior de ubicacin de los nodos Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 13 -
2- ESTUDIO DE TECNOLOGIA A IMPLEMENTAR
El criterio a utilizar en la eleccin de la tecnologa, se basar en la confiabilidad, eficiencia, implementacin, seguridad, costo, disponibilidad de componentes en el mercado y herramientas de diseo. A continuacin se dar una breve explicacin de cada uno de los sistemas elegidos para el estudio de la tecnologa a utilizar en este trabajo final de grado.
2.1- MICROCONTROLADORES.
Recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios procesos. Por ejemplo, el controlador que regula el funcionamiento de un horno dispone de un sensor que mide constantemente su temperatura interna y cuando traspasa los limites prefijados, genera las seales adecuadas que accionan los actuadotes que intentan llevar a la temperatura dentro de los valores estipulados.
Un microcontrolador es un circuito integrado de alta escala de integracin que incorpora la mayor parte de los elementos que configuran un controlador.
Un microcontrolador dispone normalmente de los siguientes componentes:
- Procesador o CPU (unidad central de proceso) - Memoria RAM para contener los datos. - Memoria ROM/PROM/EPROM/EEPROM, para el programa. - Lneas de E/S para comunicarse con el exterior. - Diversos mdulos para el control de perifricos (temporizadores, puertos serie y paralelo, comunicacin USART, conversores CAD y CDA, etc ) . - Generador de impulso de reloj que sincronizan el funcionamiento de todo el sistema.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 14 - Dependiendo del modelo de microcontrolador que se trate, el tamao y tipo de la memoria pueden diferir, as como tambin el nmero de lneas de E/S, mdulos de control de perifricos, etc. El estudio se enfoc en los microcontroladores PIC, de la empresa Microchip Technology Inc., mas precisamente en el modelo 16F8xx. Con respecto al diseo del Firmware, se han desarrollado todo tipo de lenguajes para la programacin, pero los ms usados son el ASEMBLER, el BASIC y el C. Cuentan con un repertorio de 35 instrucciones mquina. En lo referente a las aplicaciones de software, Microchip, proporciona gratuitamente un completo entorno integrado de desarrollo, el MPLAB IDE, que incluye un gestor de proyecto, un potente editor, un ensamblador y un simulador. En cuanto al hardware, se requiere un programador grabador que puede ser el PIC School, diseado por Ingeniera de Microsistemas programados S.L., o tambin se encuentran publicados en Internet varios y censillos programadores, que solo requieren pocos componentes electrnicos para su funcionamiento.
2.2- LOS DSPIC.
Con el objetivo de aprovechar la sinergia de los miles de profesionales que hay en el mundo proyectando sistemas embebidos en microcontroladores de propsito general PIC y ayudarles a realizar la transicin al procesamiento digital de seales, Microchip ha creado los DSC (Controladores Digitales de Seal), que son una combinacin de los microcontroladores de PIC de 16 bits y los recursos necesarios para dotarlos de las prestaciones de los DSP (Procesador Digital de Seales).
DSC = MICROCONTROLADOR PIC DE 16 BITS + PRESTACIONES DSP
Existe una gran similitud en la arquitectura, la programacin, los perifricos y las herramientas de desarrollo que se encuentran en el diseo de sistemas con microcontroladores PIC de 16 bits y la utilizada con los DSC. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 15 - Aunque los DSC se han construido tomando como base la arquitectura de los PIC 24xxx. Existen ciertas peculiaridades que distinguen estos dos tipos de procesadores, segn se muestra en la Tabla n 2.2:
MICROCONTROLADOR DSPIC Instrucciones multiciclos Instrucciones de nico ciclo Intrusiones de microcontrolador Instrucciones de microcontrolador + Instrucciones DSP Direccionamientos clsicos Direccionamientos especiales Multiplicacin bsica Multiplicacin compleja en un solo ciclo Rendimiento normal Rendimiento muy alto Operaciones aritmticas generales Mdulos de redondeo y saturacin
Tabla n 2.2
Estos DSPIC cuentan con un repertorio de 84 instrucciones bsicas y con todas sus combinaciones pasan las 200 instrucciones mquinas. Estos DSPICs cuentan con mdulos de comunicacin CAN, en los cuales estn incluidas las rutinas de programacin y el protocolo CAN propiamente dicho. Actualmente esta tecnologa (componentes y hardware) son muy difcil de conseguir en nuestro mercado, sin embargo existen libros que explican el uso, manejo y campo de aplicacin de estos DSPIC.
2.3- ELECCION DE LA TECNOLOGIA A UTILIZAR.
Teniendo en cuenta los factores antes mencionado y su estudio correspondiente para la eleccin del sistema a utilizar, se decidi por los Microcontroladores PIC, en especial los de la gama media de los PIC 16F8xx, el cual es el que presenta las mayores prestaciones tecnolgicas, implementacin, costo y sobre todo disponibilidad en el mercado nacional, para el desarrollo de este trabajo final de grado.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 16 - 3 LOS MICROCONTROLADORES
En este capitulo, se realiza una introduccin a la descripcin de los conceptos fundamentales y a las aplicaciones generales que rodean a los microcontroladores, basado en el libro Microcontroladores PIC, la solucin en un chip de Eugenio Cuenca, Jos Angulo Usategui e Ignacio Martnez. Luego se continu con el estudio de la gama media cuya teora se basa en el libro Microcontroladores PIC, Diseo prctico de aplicaciones 2da parte, PIC 16F87x y PIC 18Fxxx , de Jos Angulo Usategui, Ignacio Angulo Martnez y Susana Romero Yesa, conjuntamente con las pginas Web dedicadas a los microcontroladores como: www.microchip.com, pgina oficial del fabricante de los PICs, www.microcontroladores.com, de Ingeniera de microsistemas programados.
3.1 INTRODUCCIN A LOS MICROCONTROLADORES
Los microcontroladores hicieron su aparicin a principio de los 80 y se trata de un circuito integrado programable que contiene toda la estructura (arquitectura) de una microcomputadora, mostrado en la Figura n 3.1. Es decir que, dentro de un microcontrolador se puede encontrar:
Una CPU (Unidad Central de Proceso)
Memoria RAM
Memoria ROM
Memoria EEPROM (Memoria de lectura y escritura no voltil, es decir, que no se pierden los datos cuando el circuito es desconectado)
Puertos de Entrada/Salida (Pines de E/S) e incluso muchos modelos de microcontroladores incorporan distintos mdulos perifricos, como pueden ser; conversores analgico/digital (A/D), mdulos PWM (control por ancho de pulso), mdulos de comunicaciones seriales o en paralelo, y ms. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 17 -
Figura n 3.1 PIC, Circuito integrado
Todo esto lo podemos encontrar dentro del mismo circuito integrado. Cada vez existen ms productos que incorporan microcontroladores con el fin de aumentar sustancialmente sus prestaciones, reducir su tamao y costo, mejorar su confiabilidad y disminuir el consumo de energa.
3.2 LOS PIC
Los microcontroladores denominados PIC corresponden exclusivamente a la marca Microchip. PIC significa "Peripheral Interface Controller" y fue desarrollado por Microchip a principio de los 80. Existe una gran cantidad de modelos de microcontroladores cuyas caractersticas y prestaciones varan de un modelo a otro. De esta manera los desarrolladores pueden seleccionar el modelo que mejor se ajuste a sus necesidades. Los distintos modelos de microcontroladores se agrupan por familia. Una familia puede estar formada por un conjunto de modelos cuyas caractersticas y prestaciones son bastante similares. Cuando se compra un microcontrolador, la memoria del mismo se encuentra vaca y para que funcione es necesario que sea programado, es decir que, el desarrollador debe escribir un programa que contenga todos los procesos que el microcontrolador debe ejecutar. Este programa se escribe en un lenguaje llamado Assembler (ensamblador) cuya principal caracterstica es su alta complejidad ya que se trata de un lenguaje de bajo nivel, es decir, que se encuentra cercano al lenguaje de la mquina que del lenguaje humano.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 18 - 3.3 ESTRUCTURA INTERNA DE UN MICROCONTROLADOR
Bsicamente, un microcontrolador est compuesto por los siguientes componentes:
Procesador o CPU (del ingls Central Prossesing Unit o Unidad Central de Proceso).
Memoria para el programa tipo ROM.
Memoria RAM para contener los datos.
Lneas de E/S para comunicarse con el exterior.
Mdulos temporizadores.
Puertas de E/S digitales.
Puertas serie y paralelo.
Mdulo de comunicacin USART
Mdulo de comparacin y captura.
Conversores CAD y CDA.
En la Figura n 3.2, se puede ver la estructura interna de un microcontrolador PIC, en este caso de la familia 16F87X
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 19 -
Figura n 3.2, PIC, Estructura Interna
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 20 - 3.4 EL PROCESADOR O CPU
Es el elemento ms importante del microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. La CPU se encarga de la decodificacin y ejecucin del programa. Actualmente, existen 3 tipos de arquitectura de procesadores:
CISC (Computadores de Conjunto de Instrucciones Complejo): Disponen de ms de 80 instrucciones en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecucin. Una ventaja de los procesadores CISC es que ofrecen instrucciones complejas que actan como macros.
RISC (Computadores de Conjunto de Instrucciones Reducido): En estos procesadores el repertorio de instrucciones es muy reducido y las instrucciones son simples y generalmente se ejecutan en un ciclo. La ventaja de stos es que la sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador.
SISC (Computadores de Conjunto de Instrucciones Especfico): En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es "especfico", o sea, las instrucciones se adaptan a las necesidades de la aplicacin prevista.
3.5 MEMORIA DE PROGRAMA ROM
La memoria ROM es una memoria no voltil, es decir, que no se pierden los datos al desconectar el equipo y se destina a contener el programa de instrucciones que gobierna Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 21 - la aplicacin. Los microcontroladores disponen de capacidades de ROM comprendidas entre 512 bytes y 8 k bytes. Existen distintos tipos de memorias ROM, la cual determinar la aplicacin del microcontrolador.
ROM con mscara: Es una memoria no voltil de slo lectura cuyo contenido se graba durante la fabricacin del chip. El elevado costo del diseo de la mscara slo hace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades.
OTP: El microcontrolador contiene una memoria no voltil de slo lectura "programable una sola vez" por el usuario. OTP (One Time Programmable). Es el usuario quien puede escribir el programa en el chip mediante un sencillo grabador controlado por un programa desde una PC. La versin OTP es recomendable cuando es muy corto el ciclo de diseo del producto, o bien, en la construccin de prototipos y series muy pequeas. Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin mediante fusibles para proteger el cdigo contenido.
EPROM: Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces. La grabacin se realiza, como en el caso de los OTP, con un grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cpsulas son de material cermico y son ms caros que los microcontroladores con memoria OTP que estn hechos con material plstico.
EEPROM: Se trata de memorias de slo lectura, las cuales se puede escribir y borrar elctricamente. EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la programacin como el borrado, se realizan elctricamente desde el propio grabador y bajo el control programado de un PC. Es muy cmoda y rpida la operacin de grabado y la de borrado. No disponen de ventana de cristal en la superficie. Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 22 - Para ello se usan "grabadores en circuito" que confieren una gran flexibilidad y rapidez a la hora de realizar modificaciones en el programa de trabajo. El nmero de veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no es recomendable una reprogramacin contina. Son muy idneos para la enseanza y la ingeniera de diseo. Se va extendiendo en los fabricantes la tendencia de incluir una pequea zona de memoria EEPROM en los circuitos programables para guardar y modificar cmodamente una serie de parmetros que adecuan el dispositivo a las condiciones del entorno. Este tipo de memoria es relativamente lenta.
FLASH: Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. Funciona como una ROM y una RAM pero consume menos y es ms pequea. A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms rpida y de mayor densidad que la EEPROM. La alternativa FLASH est recomendada frente a la EEPROM cuando se precisa gran cantidad de memoria de programa no voltil. Es ms veloz y tolera ms ciclos de escritura y borrado.
3.6 MEMORIA DE DATOS RAM
La memoria RAM es una memoria voltil, es decir, que se pierden los datos al desconectar el equipo, y se destina a guardar las variables y los datos. Los microcontroladores disponen de capacidades de RAM comprendidas entre 20 y 512 bytes. Hay microcontroladores que tambin disponen como memoria de datos una de lectura y escritura no voltil, del tipo EEPROM. De esta forma, un corte en el suministro de la alimentacin no ocasiona la prdida de la informacin, que est disponible al reiniciarse el programa.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 23 - 4 . 1 Oscilacion Frec 3.7 LNEAS DE ENTRADA/SALIDA (E/S), (PUERTOS)
Los microcontroladores cuentan con una serie de pines destinados a entrada y salida de datos o seales digitales. A estos pines se les denomina Puerto. Como se menciono anteriormente, todo el funcionamiento del microcontrolador est controlado a travs de los registros. Los puertos no son la excepcin, tambin estn controlados por los registros. Por esto, un puerto no puede estar formado por ms de 8 pines; 1 Pin por cada Bit de un registro. Un puerto si puede estar formado por menos de 8 pines. Un microcontrolador puede contener varios puertos dependiendo del modelo. A cada puerto se lo identifica con una letra. Por ejemplo; Puerto A, Puerto B, etc. Para poder utilizar un puerto, primero el mismo debe ser configurado. Cada pin de un puerto puede ser configurado como entrada o salida independientemente del resto de los pines del mismo puerto.
3.8 MDULOS TEMPORIZADORES INTERNOS (TMRS)
Un temporizador interno (TMR) es un mdulo de hardware incluido en el mismo microcontrolador el cual est especialmente diseado para incrementar automticamente el valor de un registro asociado al TMR cada vez que el mdulo TMR recibe un pulso. A este pulso se lo llama seal de reloj. El mdulo TMR siempre incrementa el valor del registro asociado, nunca decrementa dicho valor. Algunos microcontroladores pueden incluir ms de un mdulo TMR y la seal de reloj de cada uno de stos puede ser de origen interno o externo. Si el origen de la seal de reloj est configurado como externo, el mdulo temporizador puede ser utilizado como un contador de eventos externos, incrementando el TMR con cada pulso recibido mediante el pin correspondiente. Si el origen de la seal de reloj es interno, el TMR incrementa con cada ciclo del oscilador. Esto permite utilizar el temporizador como contador de ciclos de programa, donde, un ciclo corresponde al tiempo de ejecucin de una instruccin, lo cual se puede calcular con la siguiente frmula:
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 24 - 4 000 . 000 . 4 1 ms 001 . 0 000 . 000 . 1 1 = ( ) do Microsegun s ms 1 001 . 0 =
Donde Frec. Osc. es la frecuencia del oscilador utilizado. Dado que la velocidad de ejecucin del microcontrolador corresponde a de la velocidad del cristal utilizado, cada ciclo de programa se ejecuta en un tiempo determinado segn el cristal que estemos utilizando. Por ejemplo; con un cristal de 4Mhz la velocidad real de procesamiento del microcontrolador es de 1 Mhz. Aplicando la siguiente frmula:
Esto significa que cada ciclo de programa se ejecuta en 1 s y dado que cada incremento del TMR corresponde a un ciclo de programa, si se cuentan los incrementos de un TMR, indirectamente se podr calcular el tiempo transcurrido. El incremento del TMR se realiza de manera automtica y de forma paralela a la ejecucin del resto del programa. Esto significa que el programa no debe controlar el incremento del TMR, lo cual s debe realizarse en las temporizaciones por bucles, en las cuales el microcontrolador se queda esperando a que transcurra un tiempo, y no pueden ejecutarse otras tareas mientras no finalice la temporizacin. Entonces el TMR puede ser utilizado como temporizador mientras el microcontrolador ejecuta otros procesos. En general los microcontroladores cuentan con una interrupcin por desbordamiento del TRM, es decir que, el microcontrolador se interrumpe cuando el TMR0 pasa de 255 (B[11111111]) a 0 (B[00000000]) en los temporizadores de 8 bits y cuando pasa de (B[11111111_11111111]) a 0 (B[00000000 _ 00000000]) en los temporizadores de 16 bits. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 25 - Dado que 256 s es un tiempo relativamente corto (para un TMR de 8 bits a 4 Mhz.), existe la posibilidad de preescalar el TMR0 para que el registro asociado al TMR se incremente cada 2, 4, 8,o ms ciclos. De esta manera, se multiplica la cantidad de ciclos que deben ejecutarse para realizar un incremento del TMR. Al prescaler tambin se lo denomina predivisor. Por ejemplo, con un predivisor de 8, cada incremento del TMR se realiz cada 8 ciclos de programa y el desbordamiento del TMR se realizara cada 2048 ciclos (255 incrementos * 8ciclos). As podr realizar interrupciones con perodos de tiempo mayores.
3.9 LENGUAJES DE PROGRAMACION
Se han desarrollado todo tipo de lenguajes para los microcontroladores, pero los ms usados son el Ensamblador, el BASIC y el C. El Ensamblador, que es el utilizado para este proyecto, utiliza nemnicos inteligibles, es una forma mas humana de escribir los programas. La programacin en un lenguaje de alto nivel (como el C) permite disminuir el tiempo de desarrollo de un producto. No obstante, si no se programa con cuidado, el cdigo resultante puede ser mucho ms ineficiente que el programado en ensamblador. Los programas escritos en Ensamblador son compactos y rpidos puesto que realizan un completo control de la mquina. El desarrollo del firmware se realiz con el MPLAB IDE, que es proporcionado en forma gratuita por la empresa Microchip desde su Web, www.microcip.com. El MPLAB IDE es un entorno de desarrollo integrado que le permite escribir y codificar los programas para los microcontroladores PIC. El MPLAB IDE incluye un editor de texto, funciones para el manejo de proyectos, un simulador interno y una variedad de herramientas que lo ayudarn a mantener y ejecutar su aplicacin. Tambin provee una interfase de usuario para todos los productos con lenguaje Microchip, programadores de dispositivos, sistemas emuladores y herramientas de tercer orden. En la Figura n 3.3 se muestra el entorno grfico de programacin del software MPLAB IDE.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 26 -
Figura n 3.3, entorno MPLAB IDE
3.10 PROGRAMADOR
Para transferir el cdigo de una PC al PIC normalmente se usa un dispositivo llamado programador. La mayora de PICs que Microchip distribuye hoy en da incorporan ICSP (In Circuit Serial Programming, programacin serie incorporada) o LVP (Low Voltage Programming, programacin a bajo voltaje), lo que permite programar el PIC directamente en el circuito destino. Para la ICSP se usan los pines RB6 y RB7 como reloj y datos y el MCLR (Master Clear) para activar el modo programacin aplicando un voltaje de 13 voltios. Existen muchos programadores de PICs, desde los ms simples que dejan al software los detalles de comunicaciones, a los ms complejos, que pueden verificar el dispositivo a diversas tensiones de alimentacin e implementan en hardware casi todas las Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 27 - funcionalidades. Muchos de estos programadores complejos incluyen ellos mismos PICs preprogramados como interfaz para enviar las rdenes al PIC que se desea programar. El programador elegido para el desarrollo de este proyecto es el UPP 628, diseado y fabricado conjuntamente por las empresas SILICONBYTE (Argentina) y SILANCODE (Espaa), en la Figura 3.4 se muestra el programador utilizado.
Figura 3.4 Programador UPP628.
Es un programador USB para microcontroladores, soporta la lnea 8/14/18/20/28/40, DIP y va ICSP la posibilidad de programacin de micros de mayor tamao in circuit. No necesita alimentacin externa, cuenta con un PIC 16F628, cuyo firmware es actualizable. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 28 - La insercin del chip, al programador se realiza mediante un zcalo ZIF (Insercin fuerza cero) y la programacin se hace con su propio software, Figura 3.5.
Figura 3.5 Software UPP628
En la Figura 3.5, se puede observar el cdigo fuente (.Hex), programar la palabra de configuracin, que permite fijar valores para el oscilador, activacin/desactivacin del Watchdog Timer, posicin del microcontrolador en el zcalo ZIF y comprobacin de la grabacin. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 29 - 3.11 TEORIA DE FUNCIONAMIENTO DEL MENSAJE CAN
En el bus CAN los mensajes transmitidos por un nodo no contienen los tradicionales campos de direccin origen y destino, sino que estn caracterizados con un identificador. Los dems nodos que estn conectados a la red reciben el mensaje y mediante el anlisis del identificador determinan si la trama es de inters o no; en caso afirmativo, la trama es procesada, y en caso contrario se ignora. En la Figura 3.6, se muestra un ejemplo de una red CAN bus.
Bus CAN
Figura 3.6, Ejemplo de red CAN
El mdulo CAN de los dsPIC satisface las especificaciones de las versiones 2.0, que permite la transmisin de mensajes con identificadores de 11 y 29 bits.
dsPIC con CAN Transceiver CAN dsPIC con CAN Transceiver CAN dsPIC con CAN Transceiver CAN Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 30 - 3.12 CARACTERISTICAS DEL MODULO CAN
El mdulo CAN es un controlador de comunicaciones y trabaja como Full CAN, es decir, que puede tratar un nmero limitado de tramas y tiene las siguientes caractersticas relevantes:
- Dos buffers de entrada con prioridad. - Tres buffers de transmisin. - Tramas de envos de datos estndar y extendidos. - Longitud de datos 0-8 byte. - Tasa de transferencia ajustable hasta 1 Mb/s. - Varios filtros de aceptacin de identificador.
3.13 FORMATO DE MENSAJE CAN
El protocolo CAN soporta todas las funciones de transmisin de mensajes tanto de entrada como de salida. Los registros deben ser cargados apropiadamente para una correcta transmisin de los mensajes. Los errores y estados son detectados mediante la lectura de sus correspondientes registros. Todo mensaje detectado en el bus CAN es analizado en busca de errores y despus filtrado para finalmente ser recibido y guardado en uno de los registros de entrada.
3.14 TRAMA ESTNDAR CAN
Una trama estndar es generada por un nodo cuando quiere transmitir datos de una o varias estaciones remotas. El productor introduce un objeto en la red que puede ser consumido por cualquier nmero de estaciones remotas. La trama CAN esta formada por los campos mostrados en la Figura 3.7.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 31 -
Figura 3.7, Trama estndar
Inicio de trama (1 bit): Un nico bit dominante de comienzo de comienzo de trama (SOF), para la sincronizacin de todos los nodos. Campo de arbitraje (12 bit): Esta formado por el identificador de 11 bits y el bit de solicitud de transmisin de peticin (RTR) el cual distingue si la trama es del tipo dato (0) o peticin (1). Campo de control (6 bits): El primer bit (IDE) es un identificador que est a 0 para especificar que la trama es estndar. El segundo bit (RB0) es un bit reservado con valor 0. Los cuatros bits restantes (DLC) indican la longitud de campo de datos en bytes. Campo de datos (0-8 bytes): Contiene los datos a enviar. La longitud vara entre 0 y 8 bytes viniendo especificada en el DLC. Este campo de datos estara vaco en el caso de una trama peticin. Secuencia de deteccin de errores (16 bits): La deteccin de errores se realiza mediante el mtodo CRC (cdigo de redundancia cclica).este campo contiene 15 bits para el CRC y un bit recesivo para el delimitador de CRC. Campo ACK (2 bits): El primero de ellos indica si la estacin ha recibido correctamente el mensaje y el segundo es el delimitador de ACK. Ambos campos son transmitidos como recesivos pero el primero de ellos es modificado a dominante cuando al menos un nodo recibe el mensaje correctamente. Fin de trama (7 bits): Consta de siete bits recesivos consecutivos (EOF).
SOF ARBRITAGE RTR CONTROL DATOS CAMPO CRC CRC ACK EOF Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 32 - 4.0 DISEO DEL HARDWARE
El diseo se realiz de acuerdo con las caractersticas de los microcontroladores (PIC 16F873A, PIC 16F874), esquema elctrico-electrnico de iluminacin y control, funcionalidad, disponibilidad de recursos comunes a todos los automviles, incluyendo mejoras y la posibilidad de actualizacin tanto de confort como a nivel Firmware CAN del sistema electrnico instalado en cada vehculo. En la Figura 4.0 se muestra el diagrama en bloques del sistema completo.
NODO 1 CAN (Maestro) NODO 2 CAN (Esclavo)
BUS de Datos
Figura 4.0 Diagrama de bloques
4.1 NODO 1 CAN (MAESTRO)
El nodo 1 CAN est formado por dos microcontroladores, PIC 16F874A y PIC 16F873A, encapsulados Dip de 40 y 28 pines respectivamente, Figura 4.1. Llamo MC1 al Firmware CAN, del microcontrolador programado en el nodo 1 CAN. El MC1 es el encargado de controlar, sensar, digitalizar, configurar y actualizar el mensaje CAN, transmitir, recibir y controlar los errores de los mensajes codificados a travs del Bus bidireccional de datos, por medio de su puerto serie de transmisin USART (Universal Synchronous Asynchronous Receiver Transmitter ).
MC1
MC3 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 33 -
Figura 4.1 Diagrama de pines
4.12 ASIGNACION FUNCIONAL DE CADA PIN (NODO 1 CAN)
En esta seccin se indica la distribucin funcional elegida para cada pin de los microcontroladores del nodo 1 CAN. Est eleccin se realiz teniendo en cuenta todas las funciones, necesidades, privilegios, comunes del sistema elctrico-electrnico que disponen los vehculos, de acuerdo a las caractersticas y funciones de manejo de cada pin de los perifricos y puertas que disponen los microcontroladores. En la Tabla 4.2, se muestran las asignaciones a cada pin en nodo 1 CAN: Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 34 - PIC 16F874
PIN DESCRIPCION RA0/AN0 Input Modo encendido/Modo apagado RA1/AN1 Input Luz de estacionamiento / tablero. RA2/AN2/VREF- Input Luz de guio derecho RA3/AN3/VREF+ Input Luz de guio izquierdo RA4/T0CKI Input Luz de Stop (comando) RA5/AN4/ SS Input Desempaador de cristal trasero (comando) RC0/T1OSO/T1CKI Input Cierre centralizado de puertas RC1/T1OSI/CCP2 Input Luz de reversa / Sensores de Estacionamiento (comando) RC6/TX/CK Output Transmisin de mensaje CAN asa nodo 2 (USART) RC7/RX/DT Input Recepcin de mensaje CAN desde nodo 2(USART) RB0/INT Output Luz de estacionamiento / tablero RB1 Output Luz de guio derecho RB2 Output Luz de guio izquierdo RB3/PGM Output Luz de Balizas RB4 Output Cierre centralizado de puertas RB5 Output Indicacin sonora de Sensores de estacionamientos RB6/PGC Output Indicacin luminosa de Sensores de estacionamientos RD0/PSP0 Output Bit 0 al DAC (LSB) RD1/PSP1 Output Bit 1 al DAC RD2/PSP2 Output Bit 2 al DAC RD3/PSP3 Output Bit 3 al DAC RD4/PSP4 Output Bit 4 al DAC RD5/PSP5 Output Bit 5 al DAC RD6/PSP6 Output Bit 6 al DAC RD7/PSP7 Output Bit 7 al DAC (MSB)
Tabla 4.2, Descripcin de pines
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 35 - PIC 16F873A
PIN DESCRIPCION RA0/AN0 Input Luz de iluminacin baja RA1/AN1 Input Luz iluminacin alta RA2/AN2/VREF- Input Luz iluminacin interior RA3/AN3/VREF+ Input Encendido de aire acondicionado RA4/T0CKI Input encendido de ventilacin, en velocidad n 1(Ventilacin 1). RA5/AN4/ SS Input encendido de ventilacin, en velocidad n 1(Ventilacin 2). RC0/T1OSO/T1CKI Imput Pulsadores de apertura de puertas RC1/T1OSI/CCP2 Input limpia parabrisas, en velocidad n 1 RC2/CCP1 Input limpia parabrisas, en velocidad n 2 RC3/SCK/SCL Imptut bocina RC4/SDI/SDA Output luz de iluminacin baja RC5/SDO Output luz de iluminacin alta RC6/TX/CK Output luz de iluminacin de interior RC7/RX/DT Output encendido de aire acondicionado RB0/INT Output Ventilacin 1 RB1 Output Ventilacin 2 RB2 Output pulsadores de apertura de puertas RB3/PGM Output limpia parabrisas en velocidad n1 RB4 Output limpia parabrisas en velocidad n2. RB5 Output bocina RB6 Input Modo encendido / Modo apagado
Tabla 4.2, Descripcin de pines (continuacin)
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 36 - 4.2 NODO 2 CAN (ESCLAVO)
Se designa como MC2 al Firmware CAN del microcontrolador programado en el nodo 2 CAN. El nodo 2 CAN est formado por un microcontrolador, PIC 16F873A, encapsulados Dip de 28, Figura 4.2. El MC2 es el encargado de recibir las rdenes, decodificarlas, ejecutarlas, codificar la respuesta a las preguntas efectuadas por el MC1 y transmitirlas por el Bus USART, al nodo 1 CAN. Este nodo maneja toda la iluminacin, medicin de nivel de combustible, cierre centralizado, sensores de alarma, desempaador de cristal trasero, sensores de estacionamiento, que dispone un vehculo en la parte trasera.
Figura 4.2, Diagrama de pines
4.21 ASIGNACION FUNCIONAL DE CADA PIN NODO 2 CAN
La distribucin funcional elegida para cada pin del microcontrolador del nodo 2 CAN, fue elegida con el mismo criterio que para el nodo 1 CAN. Este nodo al funcionar como esclavo, solo se limita a responder a las preguntas del MC1. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 37 - Dispone de una entrada analgica que corresponde al sensor de nivel de combustible, que ser digitalizada y almacenada en la memoria de datos del PIC, para ser transmitida cuando el MC1 haga la peticin requiera. Una entrada digital que pertenece al sensor de estacionamiento, integrado por el sensor medidor de distancia infrarrojo GP2D12, que se detalla en el capitulo 5.23. Ocho salidas digitales para el accionamiento de los sensores y actuadores.
En la Tabla 4.21, se muestran las asignaciones a cada pin en el nodo 2 CAN:
PIN DESCRIPCION RA0/AN0 Input (Analgica) Sensores de nivel de Combustible RA1/AN1 Input Sensor de Estacionamiento RC6/TX/CK Output Transmisin de mensaje CAN asa nodo 1 (USART). RC7/RX/DT Input Recepcin de mensaje CAN desde nodo 1 (USART). RB0/INT Output Luz de estacionamiento / tablero. RB1 Output Luz de guio izquierdo. RB2 Output Luz de guio derecho. RB3/PGM Output Luz de Balizas. RB4 Output Luz de stop. RB5 Output Luz reversa/Sensores de estacionamientos. RB6/PGC Output Cierre centralizado. RB7/PGD Output Desempaador de cristal trasero.
El diseo del circuito de este trabajo final de grado, se desarroll con el software de simulacin de circuitos electrnicos, PROTEUS PROFECIONAL 7, en el cual se arm el diseo y se lo simul.
5.1 CIRCUITO DEL NODO 1 CAN
El diseo realizado se implement fsicamente como se muestra en la Figura 5.1 Como se observa en el diseo, el sistema es compuesto bsicamente por una etapa de entrada o ingresos de datos, una etapa de salida, que activa los actuadores o elementos de potencia y una etapa microcontrolada, que lee todas las entradas, codifica los mensajes CAN a enviar al nodo 2 CAN, activa las salidas, verifica que los datos enviados sean los correctos y continuaron la lectura de las entradas en forma cclica.
Figura 5.1, Diseo esquemtico del Nodo 1 CAN Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 39 - 1 2 J1 TBLOCK-I2 6 5 4 1 2 4N25 OPTOCOUPLER-4N25 R2 1k R3 100k VDD=5v R23 100k D2 DIODE-LED R25 390 VCC=12v Entada al micontrolador A continuacin se describe la composicin de las distintas etapas del sistema.
5.12 ETAPA DE ENTRADA
Este circuito, Figura 5.2, consta principalmente por un optoacoplador 4N24, que est diseado especialmente para el aislamiento de cualquier cortocircuito y sobretensin que puedan presentarse en el ingreso de las borneras y daar una de las compuertas del microcontrolador, de modo que solo trabajar con tensiones TTL al ingreso. Para este caso todas las seales de entradas sern de 12 voltios, ya que es la alimentacin principal de todo vehculo. Los valores de resistencias se eligieron segn las especificaciones del fabricante del CI 4N25 en su hoja de datos.
Figura 5.2, Etapa de entrada del MC1
En la bornera J1, se conectarn los comandos de las luces de guios, balizas, luces de estacionamientos, bocina, etc, segn sea la configuracin elctrica de cada vehculo en particular. El ingreso de la seal al microcontrolador se tomar sobre la patita n 4 del CI 4N25. Tambin estar provista de un diodo led para una inspeccin visual del ingreso de seal.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 40 - 1 2 J13 TBLOCK-I2 RL1 G5CLE-1-DC12 D1 1N4007 Q1 2N2222A 3 2 1 4 1 1 U10:A LM324 R10 5.6k R24 10K VCC= 12v SALIDA DEL MICROCONTROLADOR 5.13 ETAPA DE SALIDA
Es la encargada de activar y desactivar los actuadores y sensores (bobinas de contactores, motores pequeos, luces, relays, etc), Figura 5.3. La informacin leda por las entradas del microcontrolador, son procesadas y enviadas a la etapas de salidas para que estas sean activadas. Para este caso, las salidas del MC1 activaran una serie de relays de 12 voltios, que pueden manejar una corriente de 10 Amp en DC y 7 Amp en AC.
Figura 5.3, Etapa de salida del MC1
El accionamiento de los relays se realiza mediante un amplificador operacional LM 324, el cual esta configurado como seguidor de tensin. Las salidas de los amplificadores operacionales, generan la tensin y corriente suficientes para el accionamiento de los transistores NPN 2N2222A, que excitan las bobinas de los relays. El diodo 1N4007, se coloca por la inversin de tensin que se genera en la bobina del relay en el momento de su desactivacin, haciendo que descargue su energa por medio del diodo.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 41 - RA0/AN0 2 RA1/AN1 3 RA2/AN2/VREF- 4 RA4/T0CKI 6 RA5/AN4/SS 7 RE0/AN5/RD 8 RE1/AN6/WR 9 RE2/AN7/CS 10 OSC1/CLKIN 13 OSC2/CLKOUT 14 RC1/T1OSI/CCP2 16 RC2/CCP1 17 RC3/SCK/SCL 18 RD0/PSP0 19 RD1/PSP1 20 RB7/PGD 40 RB6/PGC 39 RB5 38 RB4 37 RB3/PGM 36 RB2 35 RB1 34 RB0/INT 33 RD7/PSP7 30 RD6/PSP6 29 RD5/PSP5 28 RD4/PSP4 27 RD3/PSP3 22 RD2/PSP2 21 RC7/RX/DT 26 RC6/TX/CK 25 RC5/SDO 24 RC4/SDI/SDA 23 RA3/AN3/VREF+ 5 RC0/T1OSO/T1CKI 15 MCLR/Vpp/THV 1 U20 PIC16F874 X1 CRYSTAL C1 22pF C2 22pF V D D R10210k A 2 6 V R E F ( + ) 1 4 V E E 3 G N D 2 A 1 5 I O U T 4 A 3 7 A 4 8 A 5 9 A 6 1 0 A 7 1 1 A 8 1 2 V C C 1 3 V R E F ( - ) 1 5 C O M P 1 6 U2 DAC0808 T1IN 11 R1OUT 12 T2IN 10 R2OUT 9 T1OUT 14 R1IN 13 T2OUT 7 R2IN 8 C2+ 4 C2- 5 C1+ 1 C1- 3 VS+ 2 VS- 6 U111 MAX232 C3 1F C4 1F VCC 1 2 3 J16 SIL-100-03 RA0/AN0 2 RA1/AN1 3 RA2/AN2/VREF-/CVREF 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 OSC1/CLKIN 9 OSC2/CLKOUT 10 RC1/T1OSI/CCP2 12 RC2/CCP1 13 RC3/SCK/SCL 14 RB7/PGD 28 RB6/PGC 27 RB5 26 RB4 25 RB3/PGM 24 RB2 23 RB1 22 RB0/INT 21 RC7/RX/DT 18 RC6/TX/CK 17 RC5/SDO 16 RC4/SDI/SDA 15 RA3/AN3/VREF+ 5 RC0/T1OSO/T1CKI 11 MCLR/Vpp/THV 1 U12 PIC16F873A X2 CRYSTAL C11 1nF C22 1nF V D D R103 10k VDD CAP+ 2 CAP- 4 GND 3 V+ 8 VOUT 5 LV 6 OSC 7 U16 ICL7660 CAP+ 2 CAP- 4 GND 3 V+ 8 VOUT 5 LV 6 OSC 7 U15 ICL7660 C9 10uF V I 1 V O 3 GND 2 U166 7809 C10 1nF R104 5k 3 2 6 7 4 1 5 U17 LF351 R105 2k C111 0.1uF VDD 1 2 J35 SIL-100-02 C12 10uF 5.14 ETAPA MICROCONTROLADA
Como se observa en la Figura 5.4, la etapa esta compuesta por dos microcontroladores, PIC 16F874 y PIC 16F873A, un mdulo de transmisin compuesto por un MAX 232 y un conversor digital analgico DAC 0808 de 8 bits.
Figura 5.4, Etapa Microcontrolada del MC1.
Los microcontroladores PIC 16F874 y 16F873A realizan las lecturas de las entradas de cada pin, modificando cada salida correspondiente con su entrada, y actualizando el registro del mensaje CAN en su memoria RAM de datos; dichas lecturas son enviadas al MC2 por medio del puerto USART a travs del bus de datos. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 42 - Una vez que el nodo 2 CAN recibe los datos, los reenva al nodo 1CAN para realizar un control sobre los datos enviados, asegurando tambin que se hayan recibido en forma correcta los mensajes. En el caso de que los datos enviados no coincidan con los recibidos, el Firmware detecta que ha ocurrido un error en la transmisin por lo que el MC1 retransmite el mensaje hasta, que la comparacin de los datos sean los correctamente transmitidos, de este modo se asegura una transmisin y recepcin sin errores. Esta operacin se ejecuta 3 veces. Al continuar con la lectura de las entradas en un segundo paso, el MC1 le pregunta al MC2 que le transmita la digitalizacin del nivel del combustible, una ves que el MC1 recibe la digitalizacin, es almacenada y enviada por los 8 bits de la puerta D en forma paralela al conversor digital/analgico, DAC 0808, que realiza la conversin y mediante un acondicionamiento de la seal de salida, produce la deflexin de la aguja indicadora de nivel de combustible, ubicada en tablero de instrumentos del vehculo. Para la transmisin de los mensajes CAN se utiliza un conversor MAX232, que es un circuito integrado que convierte los niveles de las lneas de un puerto serie TTL a niveles RS232 y viceversa. Lo interesante es que slo necesita una alimentacin de 5V, ya que genera internamente algunas tensiones que son necesarias para el estndar RS232. Otros integrados que manejan las lneas RS232 requieren dos voltajes, +12V y - 12V.
5.2 CIRCUITO DEL NODO 2 CAN
Como se puede observar en la Figura 5.5, las etapas de salidas son las mismas que las utilizan para el nodo 1 CAN, y deber accionar los relays, actuadores y sensores que disponga en la parte trasera del vehculo. La etapa microcontrolada la conforma un PIC 16F873A, en el cual se program para recibir las rdenes del nodo 1 CAN y ejecutarlas, activar y controlar los sensores de estacionamientos y digitalizar la posicin del sensor de nivel de combustible. Los sensores de estacionamiento estarn ubicados en el parachoques trasero del vehculo. Cabe aclarar que como se realizar el armado de una placa experimental de laboratorio solo se trabajara con un solo sensor medidor de distancia, debido a que es un componente de importacin, y el pedido debi realizarse al exterior de la Argentina. El Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 43 - 1 2 J1 TBLOCK-I2 RL1 G5CLE-1-DC12 D8 1N4007 Q8 2N2222A 12 13 14 4 1 1 U11:D LM324 R17 5.6k R16 390 1 2 J2 TBLOCK-I2 RL2 G5CLE-1-DC12 D7 1N4007 Q7 2N2222A 10 9 8 4 1 1 U11:C LM324 R15 5.6k R14 390 1 2 J3 TBLOCK-I2 RL3 G5CLE-1-DC12 D6 1N4007 Q6 2N2222A 5 6 7 4 1 1 U11:B LM324 R13 5.6k R12 390 1 2 J4 TBLOCK-I2 RL4 G5CLE-1-DC12 D5 1N4007 Q5 2N2222A 3 2 1 4 1 1 U11:A LM324 R11 5.6k R10 390 1 2 J5 TBLOCK-I2 RL5 G5CLE-1-DC12 D4 1N4007 Q4 2N2222A 12 13 14 4 1 1 U10:D LM324 R9 5.6k R8 390 RA0/AN0 2 RA1/AN1 3 RA2/AN2/VREF-/CVREF 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 OSC1/CLKIN 9 OSC2/CLKOUT 10 RC1/T1OSI/CCP2 12 RC2/CCP1 13 RC3/SCK/SCL 14 RB7/PGD 28 RB6/PGC 27 RB5 26 RB4 25 RB3/PGM 24 RB2 23 RB1 22 RB0/INT 21 RC7/RX/DT 18 RC6/TX/CK 17 RC5/SDO 16 RC4/SDI/SDA 15 RA3/AN3/VREF+ 5 RC0/T1OSO/T1CKI 11 MCLR/Vpp/THV 1 U1 PIC16F873A 1 2 J6 TBLOCK-I2 RL6 G5CLE-1-DC12 D3 1N4007 Q3 2N2222A 1 0 9 8 4 11 U10:C LM324 R7 5.6k R6 390 1 2 J7 TBLOCK-I2 RL7 G5CLE-1-DC12 D2 1N4007 Q2 2N2222A 5 6 7 4 11 U10:B LM324 R5 5.6k R4 390 1 2 J8 TBLOCK-I2 RL8 G5CLE-1-DC12 D1 1N4007 Q1 2N2222A 3 2 1 4 11 U10:A LM324 R3 5.6k R2 390 VCC X1 CRYSTAL C1 22pF C2 22pF VDD R1 10k T 1 I N 1 1 R 1 O U T 1 2 T 2 I N 1 0 R 2 O U T 9 T 1 O U T 1 4 R 1 I N 1 3 T 2 O U T 7 R 2 I N 8 C 2 + 4 C 2 - 5 C 1 + 1 C 1 - 3 V S + 2 V S - 6 C3 1F C4 1F 1 2 3 J16 SIL-100-03 1 2 J10 TBLOCK-I2 Sensor de combustible C5 1uF C6 1uF 3 2 1 4 1 1 U3:A LM324 R18 10k 1 2 3 J9 TBLOCK-I3 Sensor medidor de distancia RL9 OJ-SH-105HM Q9 2N2222A R19 5.6k D9 1N4007 VI 1 VO 3 G N D 2 U133 7805 VI 1 VO 3 G N D 2 U14 7812 C7 0.22uF C8 0.1uF C9 0.22uF C10 0.1uF VDD VCC 1 2 J177 TBLOCK-I2 Q18 BC548 R110 4.7k R399 100k D35 DIODE-LED R390 10k Q188 BC548 R111 4.7k R112 100k D255 DIODE-LED R113 390 diseo de este sistema est pensado para la colocacin de tres de estos sensores, dispuestos en forma lineal y equidistante uno de otro, para lograr cubrir todo el largo del parachoques. Al igual que en el nodo 1CAN, utiliza el puerto serie USART de comunicacin con el conversor de normas TTL a RS232, en su encapsulado MAX 232. Para la medicin del nivel de combustible se dar una breve explicacin del funcionamiento del sistema de medicin de nivel de combustible que utilizan la gran mayora de los automviles.
Figura 5.5, Diseo esquemtico del MC 2
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 44 - 5.21 INDICADOR DEL NIVEL DE COMBUSTIBLE
Para indicar en todo momento la cantidad de combustible disponible en el depsito, la mayora de los automviles tienen en el tablero de instrumentos un indicador de aguja o digital que indican la lectura; Figura 5.6.
Figura 5.6, Indicador de tablero
Aunque hay casos donde el indicador est directamente calibrado en unidades de volumen, litros o galones, lo ms comn es que ste indicador muestre la cantidad relativa de combustible que queda en el tanque, en relacin con el depsito lleno. Est demostrado que es mas fcil hacerse una idea de las reservas actuales con solo dar un vistazo a la aguja. La mayora de los sistemas indicadores de nivel de combustible en los vehculos estn formados por los siguientes elementos: 1. Un sensor de nivel que da una salida proporcional al nivel del depsito. 2. Un elemento indicador en el tablero que muestra la magnitud de la salida del sensor y tiene su escala calibrada en valores de nivel. Todos los combustibles utilizados en los vehculos son lquidos, aunque existen equipos de gas natural comprimido, los combustibles lquidos forman olas dentro del depsito durante la circulacin del coche debido a las aceleraciones, as como al empuje lateral en las curvas. Estas olas hacen que sea difcil determinar el nivel del combustible real en un instante de tiempo cuando el coche circula, si no se dispone de un sistema adecuado, la aguja del indicador estara constantemente movindose en la escala, y la determinacin del nivel verdadero por el conductor sera muy imprecisa. Para minimizar Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 45 - este efecto los sistemas de medicin de combustible usan ciertos artificios que casi eliminan el problema del cambio de nivel debido a las olas. Entre ellos se pueden mencionar: 1. Utilizacin de tabiques divisorios "rompe olas" dentro del depsito. 2. Colocacin del sensor en la zona central del depsito donde el efecto de incremento del nivel por las olas es menor. 3. Utilizacin de sensores de nivel con movimiento amortiguado o demorado para que no reaccionen con rapidez y no copien el perfil de las olas. 4. Utilizacin de indicadores en el tablero de lenta respuesta. 5.22 SENSOR DE NIVEL DE COMBUSTIBLE
En este trabajo final de grado se utiliz el sensor de un Fiat Regatta, el cual se desarm y se realizaron las medidas de resistencia; Imagen 5.7.
Imagen 5.7, Sensor de nivel de combustible Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 46 - La Figura 5.8 muestra un esquema de como est construido el sensor de nivel que se coloca en el tanque de los vehculos. El cuerpo metlico del sensor est montado en la superficie del depsito y tiene un flotador en el extremo de una palanca giratoria cuya posicin depender del nivel del lquido. El otro extremo de la palanca del flotador tiene un contacto deslizante sobre una resistencia elctrica que se mueve en sincronizacin con l, de manera que la posicin del contacto sobre la resistencia tambin depender del nivel del lquido en el depsito. Esta resistencia se conecta en serie con el indicador del tablero, de forma tal que el circuito se cierra a tierra por la va resistencia => palanca de flotador => cuerpo del sensor => cuerpo del depsito. De todo esto se desprende que para cada valor del nivel en el depsito, corresponder un valor de resistencia en serie con el indicador del tablero y por tanto una indicacin de la aguja en la escala.
Figura 5.8, Sensor de nivel de combustible
En la Imagen 5.9, se pueden observar las caractersticas de este sensor de nivel de combustible que est instalado en el Fiat Regatta, anteriormente mencionado, pero el fin de esta imagen es para mostrar que dispone de un amortiguador mecnico, para evitar que el indicador del tablero de instrumentos, copie las formas de las olas que se forman en el interior del tanque de combustible, por los movimientos del vehculo. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 47 - Este amortiguador est formado por un pequeo pistn, que va sujeto al brazo del flotador, dentro de un cilindro, que al estar sumergido en el combustible el cilindro se llena y el trabajo del pistn se ve frenado por el fluido evitando el copiado de las olas dentro del tanque. La resistencia elctrica mxima que se midi es de aproximadamente R = 390 .
Imagen 5.9, Sensor de nivel de Fiat Regatta
Amortiguador Mecnico
A continuacin se explicar el funcionamiento de este sistema integrado al nodo 2 CAN.
Cuando el nodo 1CAN le pregunta al nodo 2CAN por el estado del nivel de combustible, en primer lugar realiza la comprobacin del mensaje CAN. Una vez que reconoce el mismo, procede a realizar la digitalizacin de la lectura del sensor de nivel de combustible a travs del conversor A/D de 10 bits integrado en microcontrolador, que luego la almacena en la memoria de datos, actualiza el registro de mensaje CAN y lo enva al nodo 1CAN, encargndose este de mostrarlo en el indicador del tablero de instrumento del vehculo. Debido al alto costo de este sensor, en el armado de circuito experimental de prueba se realiza la simulacin del sensor con el circuito mostrado en la Figura 5.10. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 48 - RV 500 PRESET VDD= 5v Asia el RA0 del PIC nodo 2CAN
Figura 5.10, Representacin de sensor de combustible
Por lo tanto la variacin de tensin ser de 0 a 5 voltios, que en la prctica esto se calibrar para cada sensor de combustible usado en el vehculo.
5.23 SENSOR DE ESTACIONAMIENTO
Con respecto al ingreso de seal del sensor de estacionamiento, se utilizo el GP2D12, de SHARP, Figura 5.11. El Sharp GP2D12 es un sensor medidor de distancias por infrarrojos que indica mediante una salida analgica la distancia medida. La tensin de salida vara de forma no lineal cuando se detecta un objeto en una distancia entre 10 y 80 cm. La salida esta disponible de forma contina y su valor es actualizado cada 32 mseg. El sensor utiliza solo una lnea de salida para comunicarse con el microcontrolador. La tensin de funcionamiento es de 5 voltios, Temperatura funcionamiento:-10 a 60C y consumo medio de 35 mA.
Figura 5.11, Sensor medidor de distancia Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 49 - Cuando el conductor coloca la reversa, el MC1 lee la entrada correspondiente, actualiza el registro mensaje CAN lo enva al nodo 2CAN, para que encienda las luces de reversa y active el sensor medidor de distancia. El nodo 2CAN le responde al nodo 1CAN cuando ha encontrado algn obstculo cercano, el cual es el encargado de activar una seal sonora y luminosa, indicando la proximidad de una colisin. En el momento en que se retira la reversa, el MC1 le enva un mensaje CAN ordenando que apague las luces de reversa y desactive el sensor medidor de distancia. Cabe aclarar que como es un sensor con salida de tensin analgica, se debi acondicionarla y calibrarla para una distancia de aproximadamente 60 cm, segn la curva del fabricante, Figura 5.12.
Figura 5.12, Curva de respuesta del sensor.
El circuito calibrador de la Figura 5.13 utilizado consta de un amplificador operacional LM741, configurado como comparador de tensin, alimentado con 5 voltios. El divisor resistivo se dise para una tensin comparacin de 1voltio, que representa una distancia aproximada de 60 cm.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 50 - 2 1 2 R R R Vin Vout + = 2 1 2 5 1 R R R + =
2 2 . 0 1 2 . 0 2 R R R + = 1 2 . 0 2 8 . 0 R R =
O = K R 5 . 2 2
Figura 5.13, Circuito calibrador de distancia.
Elijo R1 = 10K Vin = 5 v Vout = 1 v
Por lo tanto para su calibracin se utiliz un preset de 2.7K, que es lo normalizado.
3 2 1 4 1 1 U1:A LM324 R2 10K R1 22k VCC=5v Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 51 -
6.0 DISEO DEL FIRMWARE Como ya se mencion anteriormente, el desarrollo del Firmware CAN se realiz con el software, MPLAB IDE en su versin 8.0. Para este diseo se realizo el siguiente diseo de diagrama de flujo perteneciente al PIC 16F874 del nodo 1 CAN:
6.1 DIAGRAM DE FLUJO DEL PIC 16F874 DEL NODO 1 CAN El siguiente diagrama de flujo, Figura 6.1, representa al Firmware programado en el PIC 16F874:
Figura 6.1, Diagrama de flujo del firmware del PIC 16F874 Inicializacin Inicio Configuracin de perifricos y registros Configuracin del registro de mensajes CAN Lectura de comando de luces de guios y balizas Actualizacin del registro mensaje CAN y Activacin/desactivacin de actuadores locales Lectura de comandos de cierre central y luces de estacionamiento/Tablero Lectura de comando de encendido del vehculo
Actualizacin del registro mensaje CAN y Activacin/desactivacin de actuadores locales Envo del mensaje CAN al nodo 2 CAN y control de errores 1 2 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 52 -
Figura 6.1, Diagrama de flujo del firmware del PIC 16F874 (Continuacin)
1 Lectura de comando de luces de estacionamiento/Tablero, luz de stop, desempaador de cristal trasero y cierre centralizado de puertas. Actualizacin del registro mensaje CAN y Activacin/desactivacin de actuadores locales Envo del mensaje CAN al nodo 2 CAN y control de errores Lectura de comandos de luz de reversa y sensor de combustible Actualizacin del registro mensaje1 CAN y Activacin/desactivacin Envo del mensaje1 CAN al nodo 2 CAN y control de errores Activacin de actuadores de sensor medicin de distancia / Muestra de digitalizacin del sensor de combustible Fin 2 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 53 - 6.2 FUNCIONAMIENTO DEL FIRMWARE DEL PIC 16F874 DEL NODDO 1 CAN A continuacin se explicar el funcionamiento del Firmware que se program en el microcontrolador PIC 16F874, del nodo 1 CAN.
El funcionamiento del Firmware, se basa en la lectura de cada una de los pines del microcontrolador, programadas como entradas de seal digital. En cada lectura, muestra la salida correspondiente en la parte delantera del vehculo, que es la activacin local de los actuadores y sensores, si esta corresponde a una entrada cuya accin se ejecuta en el nodo 1CAN, luego modifica cada bit de un registro que se encuentra almacenado en la memoria de programa con un tamao de 1 byte y ocupa la posicin fsica 0x21hex., llamado MSJ CAN, el cual corresponde a una primera parte de las entradas ledas. Cabe aclarar que todas las posiciones de la memoria de programa y memoria de datos son de un tamao de 8 bits = 1 byte. La programacin del puerto de comunicacin serie USART se ha configurado como sistema asncrono (Full Duplex), esto significa que la transmisin de datos es bidireccional. La velocidad de transmisin se la configur en 9600 Baudios. En la Figura 6.2 se muestra la organizacin de cada bit del MSJ CAN:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 -- X X X X X X
X: puede tomar valores de 0 o 1 lgicos
Figura 6.2, Organizacin del MSJ CAN
Bit 7: Corresponde al mensaje (MSJ CAN), de las siete primeras lecturas, siempre tiene el valor lgico 0.
Bit 6: No se usa.
Bit 5: Corresponde al cierre centralizado. El ingreso de la seal se hace en bit 0 del puerto C y su salida en la parte delantero por el bit 4 del puerto B y el bit 6 del puerto B en el nodo 2. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 54 -
Bit 4: Corresponde al desempaador de cristal trasero (Luneta), en este caso la ejecucin de la salida ser llevada a cabo por el nodo 2.
Bit 3: Corresponde a la luz de stop, al igual que en el caso anterior, la ejecucin de la salida ser realizada por el nodo 2.
Bit 2: Corresponde a la luz de estacionamiento/tablero, El ingreso de la seal se hace en el bit 1 del puerto A y su salida por el bit 0 del puerto B del nodo 1 y el bit 0 del puerto B en el nodo 2.
Bit 1 y Bit 0: Corresponden a las luces de guio y balizas. El ingreso de la seal se hace en bit 1 y 3 del puerto A y sus salidas en la parte delantera por el bit 1 del puerto B (luz de guio derecho), bit 2 del puerto B (luz de guio izquierdo), bit 3 del puerto B(luz de balizas) y el bit 1 (luz de guio izquierdo), bit 2 (luz de guio derecho), bit 3(luz de balizas), del puerto B en el nodo 2. La interpretacin del programa a estas dos entradas, bit 1y 3 del puerto A, se resuelve con la siguiente Tabla 6.21:
Puerta A, bit 1 Puerta A, bit 2 Interpretacin 0 0 Apago luz de guios y balizas 0 1 Activo Luz de Guio Izquierdo 1 0 Activo Luz de Guio Derecho 1 1 Activo Luz de Balizas
Tabla 6.21, Interpretacin Bit 1 y 3 Puerta A
Cuando se completa todo el byte del MSJ CAN, se lo enva al nodo 2 CAN para su ejecucin.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 55 - Con respecto a la segunda parte de lectura de los pines y al igual que en el MSJ CAN, aqu se modifica otro registro llamado MSJ1 CAN, que se encuentra en la memoria de programa, cuya posicin fsica esta en la 0x21hex. En la Figura 6.22 se muestra la organizacin de cada bit del MSJ1 CAN:
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 1 -- -- -- -- -- X X
X: puede tomar valores de 0 o 1 lgicos
Figura 6.22, Organizacin del MSJ1 CAN
Bit 7: Corresponde al segundo mensaje (MSJ1 CAN), siempre tiene el valor lgico 1.
Bit 6, Bit 5, Bit 4, Bit 3, Bit 2: No se usan, se dejan libres para alguna otra aplicacin.
Bit 1: Corresponde a luz de reversa/sensores de estacionamiento, El ingreso de la seal de luz de reversa se hace en bit 0 del puerto C y su salida por el bit 5 del puerto B en el nodo 2 CAN, esta salida adems de encender la luz de reversa, activa los sensores de estacionamiento cuya entrada de seal lo hace por el bit 1 del puerto A.
Bit 0: Corresponde al sensor de nivel de combustible, El ingreso de la seal se hace en bit 0 del puerto A en el nodo 2 CAN que fue programado para que funcione como entrada de seal analgica, y su salida por los 8 bits del puerto D en el nodo 1 CAN.
La Tabla 6.23 muestra los valores lgicos que pueden tomar los bits 1 y 0 de del registro MSJ1 CAN y su interpretacin por parte del nodo 2 CAN:
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 56 -
Tabla 6.23, Interpretacin de los bits 1 y 0 del MSJ1 CAN
En el segundo mensaje (MSJ1 CAN) la lectura del bit 0 del puerto C, que corresponde a luz de reversa/sensores de estacionamiento, es la que decide sobre cual pregunta debe hacer el nodo 1 y esperar la repuesta correspondiente por parte del nodo 2 CAN. En funcionamiento normal el nodo 1CAN le pregunta por el estado del sensor de nivel de combustible, en cada envo del mensaje MSJ1 CAN, devolviendo el nodo 2 la digitalizacin del mismo y lo almacena en un registro llamado Sencom, que se encuentra en la posicin fsica 0x24hex., para ser convertida en una seal analgica por el DAC 0808, colocado en la puerta D. En el caso que el vehculo est realizando maniobras de estacionamiento en reversa, el nodo 1 deja de preguntar por el nivel de combustible, ya que la lectura del bit 0 del puerto C se encuentra en nivel lgico 1 y comienza a preguntar por el estado de los sensores de estacionamiento, el cual al detectar un obstculo cercano, se pone un nivel lgico 1 en el bit 1 de la puerta A del nodo 2 CAN, enviando el mensaje de aviso al nodo 1. Cuando este lo recibe es almacenado en un registro llamado Sensor que ocupa la posicin fsica 0x23hex., de la memoria de programa, y luego lo muestra encendiendo una seal luminosa y sonora por los bits 6 y 5 del puerto B respectivamente. Al retirar la reversa del vehculo, el nodo 1 apaga las seales sonoras y luminosas, y contina preguntando en el MSJ1 CAN, por el estado del nivel de combustible. Cabe aclarar que mientras se realizan estas operaciones el nodo 1 sigue leyendo, enviando y recibiendo el primer mensaje (MSJ CAN).
MSJ1, bit 1 MSJ1, bit 0 Interpretacin 0 0 No hace nada 0 1 Pregunta nivel de combustible 1 0 Pregunta si encontr obstculo cercano 1 1 No hace nada Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 57 - 6.3 DIAGRAM DE FLUJO DEL PIC 16F873A DEL NODDO 1 CAN
En la Figura 6.3 se muestra el diagrama de flujo representa al Firmware programado en el PIC 16F873A:
Apagado
Encendido
Figura 6.3, Diagrama de flujo del firmware del PIC 16F873A
INICIO Inicializacion Lectura de comando de luz de interior, pulsadores de puertas y bocina Lectura de comando de luz baja. Activacin/Desactivacin de actuadores locales. Lectura de comando de encendido del vehculo
Activacin/Desactivacin de actuadores locales. Lectura de comando de luz alta. Activacin/Desactivacin de actuadores locales. Lectura de comando de luz Interior. Activacin/Desactivacin de actuadores locales. Lectura de comando de Aire acondicionado. Activacin/Desactivacin de actuadores locales. 1 2 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 58 -
Figura 6.3, Diagrama de flujo del Firmware del PIC16F873A (Continuacin)
FIN Lectura de comando de ventilacin 1. Activacin/Desactivacin de actuadores locales. 1 Lectura de comando de ventilacin 2. Activacin/Desactivacin de actuadores locales. Lectura de pulsador de puertas. Activacin/Desactivacin de actuadores locales. Lectura de comando de limpia parabrisa 1. Activacin/Desactivacin de actuadores locales. Lectura de comando de limpia parabrisa 2. Activacin/Desactivacin de actuadores locales. Lectura de comando de Bocina.. Activacin/Desactivacin de actuador local. 2 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 59 - 6.4 FUNCIONAMIENTO DEL FIRMWARE DEL PIC 16F873A DEL NODDO 1 CAN
Este Firmware realiza las operaciones de lectura y ejecucin de los pines del microcontrolador PIC 16F873A, el cual ha sido programada como entradas/salidas digitales, controlando los comandos que solo tienen accin en la parte delantera del vehculo. En primer lugar la lectura comienza por el bit 6 de la Puerta B, para comprobar si el vehculo esta con llave en posicin de contacto o apagado. Cabe aclarar que si el motor esta en marcha, la lectura del bit 6 de la Puerta B ser interpretada como si estuviera con la llave en posicin de contacto, ya que cumple la misma funcin. Si el vehculo esta apagado solo se limita a la inspeccin y activacin/desactivacin, de los comandos de luces de interior, pulsadores de apertura de puertas y bocina. Si esta encendido, el Firmware trabaja con todas las lecturas programadas para cada pin. Estas lecturas se repiten de igual manera en forma cclica, tal como lo indica la cantidad de entradas a manejar por este microcontrolador. La organizacin de cada entrada y salida se la detall en el captulo 4.21, asignacin funcional de cada pin del PIC 16F873A en el nodo 1CAN.
6.5 DIAGRAM DE FLUJO DEL FIRMWARE DEL NODDO 2CAN
El siguiente diagrama de flujo, Figura 6.5, representa al Firmware programado en el PIC 16F873A:
NO SI
MSJ CAN MSJ 1 CAN
Figura 6.5, Diagrama de flujo del Firmware del nodo 2CAN INICIO Inicializacion Almacena mensaje CAN recibido. Ingreso mensaje CAN?
3 Decodifica dato y clasifica si es MSj CAN o MSJ 1CAN?
1 2 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 60 -
Combustible Sensores de estacionamiento
Figura 6.5, Diagrama de flujo del Firmware del nodo 2CAN (continuacin)
1 Devolucin de mensaje CAN, para comprobacin de errores en nodo 1CAN Decodificacin del MSJ CAN y Activacin/desactivacin de sensores y actuadores 3 2 Decodificacin del MSJ 1 CAN Peticin de combustible o peticin de sensor de estacionamiento?
Digitalizacin del sensor de nivel de combustible y almacenamiento. Envi mensaje CAN con digitalizacin del nivel de combustible al nodo 1 CAN. Activacin de actuador, activacin del sensor medidor de distancia. Deteccin de obstculo cercano, envi de mensaje CAN con localizacin encontrada. 3 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 61 - 6.6 FUNCIONAMIENTO DEL FIRMWARE DEL NODDO 2 CAN
El programa principal de este Firmware, consiste en la recepcin de los mensajes CAN enviados por el nodo 1 CAN. Una vez que se recibe el mensaje, se activa la seal de bandera de sealizacin del bit RCIF, del registro PIR1, el dato se almacena en un registro llamado mensaje , que ocupa la posicin fsica de la memoria de programa 0x20 hex., luego comienza con la lectura del bit 7 del byte recibido para identificar cual de los mensajes, MSJ CAN o MSJ1 CAN, deben ser ejecutados en este nodo. Los dos posibles mensajes enviados por el nodo 1 CAN se especificaron en el captulo 6.2. En el caso de que el byte recibido corresponda al MSJ CAN, esto significa que el bit 7 contiene un cero (0) lgico. La primera instruccin es la retransmisin del mensaje CAN recibido, para que el nodo 1 CAN realice la comparacin y as asegurar que el dato fue recibido y transmitido sin errores por el nodo 2 CAN. En caso de que la comparacin de errnea, el nodo 1 CAN transmite nuevamente el byte. Esta operacin llevada a cabo por el nodo 1 CAN lo puede repetir tres veces antes de continuar con la lectura de las dems entradas. Cabe aclarar que el sistema de muestreo del puerto de comunicacin USART de los microcontroladores, realiza tres veces la captura de cada bit recibido por medio de un circuito detector de mayora que determina el valor alto o bajo del dato recibido, antes de ser almacenado. Luego contina con la lectura de los bits 1 y 0, del registro mensaje, que en este caso corresponden a la luz de guio y balizas y realiza las decisiones segn la siguiente Tabla 6.6:
Mensaje, bit 1 Mensaje, bit 0 Decisin 0 0 Apaga luz de guios y balizas 0 1 Enciende luz de guio Izquierdo 1 0 Enciende luz de guio derecho 1 1 Enciende luz de balizas
Tabla 6.6, respuesta a lectura de los bit 1 y 0 de mensaje Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 62 - La salida se activa poniendo un 1 lgico en los bits de la puerta B, con la siguiente posicin: bit 1 para la luz de guio derecho, luz de guio izquierdo bit 2 y las balizas por el bit 3. La lectura del bit 2 del registro mensaje le corresponde a la luz de estacionamiento, la cual si se encuentra en 1 lgico, activa la salida por el bit 0 de la puerta B, en caso contrario se desactiva el bit. El bit 3, del mensaje, es de la luz de stop y su salida se activa en el bit 4 de la puerta B, encendindolo en caso de un 1 lgico y apagndolo en caso de un 0. Continuando con la decodificacin del registro mensaje, el bit 5 le corresponde al cierre centralizado, activando el bit 6 del puerto B en caso de un 1 lgico y desactivando en caso contrario, 0 lgico. Por ltimo el bit 4 corresponde al desempaador de cristal trasero, cuya salida activa el bit 7 del puerto B, con un 1 lgico y la desactiva con un 0 lgico.
Para el caso en que el byte recibido corresponda al MSJ1 CAN, el bit 7 del registro mensaje debe ser igual a uno. La primera lectura que efecta, es sobre los bits 1 y 0, del mensaje, decidiendo segn lo muestra la Tabla 6.61
Mensaje1, bit 1 Mensaje1, bit 0 Respuesta 0 0 No responde nada(Mensaje CAN libre) 0 1 Digitalizacin de nivel de combustible 1 0 Estado de sensores de estacionamiento 1 1 No responde nada(Mensaje CAN libre)
Tabla 6.61, Respuesta del nodo 2 CAN.
Primero se considera el caso en el que el nodo 1 CAN le pregunte por el nivel de combustible en el tanque. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 63 - Seg MHz F T OSC OSC 25 . 0 4 1 1 = = = La rutina comienza con el llamado a la subrutina de medicin de combustible, en la cual se realiza la digitalizacin de la tensin sobre la resistencia del sensor medidor de combustible, en el cual se utilizo el circuito mostrado en la Figura 5.91, del capitulo 5.22, que es la representacin del sensor instalado en el vehculo. Luego se realiza la configuracin de los registros ADCON 1 y ADCON 0, que son los registro de configuracin de las lneas de la puerta A y control de operacin del conversor A/D, respectivamente. Se designa como TAD el tiempo que dura la conversin de cada bit y en el caso de usar los 10 bit, se requiere un tiempo mnimo de 12TAD. Para el caso de este trabajo final de grado se van a utilizar 8 bits para lo cual se necesita un mnimo de 10TAD. El valor de TAD se selecciona por software mediante los bits ADCS1 y ADCS0, del registro ADCON0, que en el caso del PIC 16F873A nunca debe ser menor a 1,6 Seg. Para este caso se realizan los siguientes clculos:
El TOSC utilizado es de
Tabla 6.62, Valores de TAD
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 64 - Seg x x xT T OSC AD 2 10 25 . 0 8 8 6 = = =
Segn la configuracin de los bits ADCS1, ADCS0, Tabla 6.62, y el cristal de cuarzo que se utiliza para este proyecto final de grado (FOSC = 4Mhz), se elige el siguiente TAD:
Una vez terminada la conversin, el valor de la conversin se la almacena en un registro llamado conbust, cuya posicin en la memoria de programa es la 0x21 hex. Luego se enva el dato al nodo 1CAN para mostrarse en el tablero de instrumentos.
La segunda consideracin es cuando el usuario coloca la reversa y el nodo 1CAN le ordena la activacin de las luces de reversa y activa los sensores de estacionamiento, al nodo 2 CAN. La rutina comienza con la activacin de las luces de reversa y los sensores de estacionamiento, por el bit 5 del puerto B. Contina preguntando, si se encontr algn obstculo cercano por medio del bit 1 de la puerta A, programada como entrada digital. En el caso de encontrar obstculo cercano se actualiza el registro sensor y se configura el mensaje CAN para ser enviado al nodo 1 CAN, en caso contrario se coloca se actualiza el registro sensor , seguido de la actualizacin del mensaje CAN y se enva al nodo1 CAN, culminando con la decodificacin y ejecucin de las ordenes recibidas del nodo1 CAN y volviendo al programa principal a la espera de una nueva orden.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 65 - 7.0 INTEGRACION HARDWARE - SOFTWARE
En este captulo se explicar como se implementan los diseos de los nodos 1 CAN y nodo 2 CAN, en un montaje experimental de prueba. En la siguiente Figura 7.0 se muestra el montaje experimental del nodo 1 CAN.
1 10 2 3 11 4 5 6 12 9 7 13
8
Figura 7.0, Fotografa del Nodo 1 CAN
Donde: 1. Microcontrolador PIC 16F874 2. Microcontrolador PIC 16F873A 3. Max 232, Interfase TTL a RS232. 4. Dip Swich 8, simulacin de entradas locales. 5. Pulsadores de simulacin de entradas locales (delanteras) y traseras. 6. DAC 0808, conversor Analgico/Digital de 8 bits paralelo, para descodificacin de nivel de combustible. 7. LF 351, Amplificador Operacional. 8. Vumetro para simulacin de indicador de combustible en tablero de instrumentos. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 66 - 9. Simulacin de salidas locales. 10. Simulacin de salidas locales y del sensor de estacionamiento. 11. Bus de comunicacin de datos CAN (transmisin/recepcin), con nodo 2 CAN. 12. Alimentacin de tensin negativa para el DAC 0808. 13. Experimentor.
El circuito de la Figura 7.0, diseado en Proteus 7 Professional, fue armado y simulado creando el PCB y la imagen en tres dimensiones (3D) del nodo 1 CAN. A continuacin se muestra en la Figura 7.1 el circuito impreso ( PCB) del nodo 1 CAN:
Figura 7.1, Circuito impreso del Nodo 1 CAN
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 67 - En las siguientes Figuras 7.2 y 7.3, se muestran las simulaciones en tres dimensiones (3D) :
Figura 7.2, Placa final del nodo 1 CAN en 3D, vista superior.
Figura 7.2, Placa final del nodo 1 CAN en 3D, vista inferior.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 68 - En la siguiente Figura 7.3 se muestra el montaje experimental del nodo 2 CAN.
1 2
3 4 5
6
7
8
Figura 7.3, Fotografa nodo 2 CAN.
Donde:
1. Microcontrolador PIC 16F873A. 2. Simulacin de salidas traseras. 3. Max 232, Interfase TTL a RS232. 4. Bus de comunicacin de datos CAN (transmisin/recepcin), con nodo 1 CAN. 5. Preset mutivueltas, simulacin del sensor medidor de nivel de combustible. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 69 - 6. Amplificador Operacional LM 324. 7. Preset multivueltas para calibracin del sensor de estacionamiento. 8. Sensor medidor de distancias GP2D12.
Al igual que en el nodo 1 CAN, el nodo 2 CAN tambin se ha diseado en Proteus 7 Professional, fue armado y simulado creando el PCB y la imagen en tres dimensiones (3D). A continuacin se muestra en la Figura 7.4 el circuito impreso ( PCB) del nodo 2 CAN:
Figura 7.4, Circuito impreso del nodo 2 CAN
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 70 - En las siguientes Figuras 7.5 y 7.6, se muestran las simulaciones en tres dimensiones (3D) del nodo 2 CAN:
Figura 7.5, Placa del nodo 2 CAN en 3D, vista superior.
Figura 7.6, Placa del nodo 2 CAN en 3D, vista inferior.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 71 - 7.1 PUREBA DEL SISTEMA EXPERIMENTAL
Cabe aclarar que para esta prueba no se incluyen los circuitos de las etapas de entradas y salidas, debido a que es una prueba experimental del funcionamiento del hardware y el firmware programados en los microcontroladores del nodo 1 CAN y nodo 2 CAN. En la Figura 7.7 se muestra el sistema experimental completo.
Figura 7.7, Fotografa del sistema experimental.
Despus de realizar la programacin y el depurado del Firmware, se grabaron los tres microcontroladores PIC, con el programador UPP-628, anteriormente expuesto en el captulo 3.10. Se procede al armado y conexionado del los nodo 1CAN y nodo 2 CAN, se lo pone en marcha y se comprueba el buen funcionamiento de las entradas / salidas locales y traseras. Luego se realiz el calibrado del sensor medidor de distancia para una distancia aproximada de 50 cm, comprobando su buen funcionamiento. Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 72 - En las Figuras 7.8 y 7.9 se muestran las imgenes del sensor de estacionamiento detectando un obstculo y activando en el nodo 1CAN las salidas correspondientes.
Figura 7.8, Fotografa del sensor de estacionamiento en funcionamiento.
Figura 7.9, Fotografa del sensor de estacionamiento en funcionamiento.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 73 - Luego se realiz el calibrado del sensor de nivel de combustible mediante un preset multivueltas de 5 K conectado en serie con el vumetro, que representara al indicador de nivel de combustible en el tablero de instrumental del vehculo. Cabe aclarar que este vumetro tiene una resistencia interna de 4.7 K. Posteriormente se tomaron las siguientes lecturas de tensin a la salida del amplificador operacional LF 351 conectado a la salida del conversor analgica / digital DAC 0808, en el cual se realiz la configuracin propuesta por el fabricante en su hoja de datos. Comenzando con la variacin del preset multivueltas que simula al sensor de combustible en el nodo 2 CAN, se tomaron las siguientes lecturas mostradas en la siguiente Tabla 7.9:
Tabla 7.9, Lectura tomadas de la digitalizacin del nivel del combustible
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 74 - Con estas lecturas tomadas de la digitalizacin se procedi a la calibracin del instrumento indicador de nivel de combustible en el cual para una tensin de 4.20 voltios, a la salida del LF351, el indicador debe marcar tanque lleno, y para 0 voltios tanque vaco, esto se logr con el ajuste del preset conectado en serie con el vmetro, marcando una resistencia de 4.22 . En la siguiente Figura 7.91 se muestra la digitalizacin del sensor de nivel de combustible en el indicador:
Figura 7.91, Fotografa de la lectura del indicador de nivel de combustible.
A continuacin se mostraran las imgenes del funcionamiento del sistema experimental de prueba en funcionamiento con las etapas de salidas y entradas, tal como se mostraron en las figuras 5.2 (entrada) y figura 5.3 (salida), Figuras 7.92, 7.93 y 7.94.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 75 -
Figura 7.92, Etapa de entrada Figura 7.93, Etapa de salida
Figura 7.94, sistema con etapas de salida y entrada funcionando
Luego de comprobar el funcionamiento de todo el montaje experimental del sistema completo se enviaron los PCBs, del nodo 1 CAN y el nodo 2 CAN a realizar la construccin de los circuitos impresos para el montaje final y definitivo el cual se arm con todos sus componentes y se comprobando su buen funcionamiento. Las placas terminadas se muestran en las siguientes imgenes, Figuras 7.95, 7.96, 7.97 y 7.98.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 76 -
Figura 7.95, Circuito Impreso del nodo 1 CAN
Figura 7.96, Circuito Impreso del nodo 2 CAN
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 77 -
Figura 7.97, Placa final del nodo 1 CAN
Figura 7.98, Placa final del nodo 2 CAN
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 78 - 8 CONCLUSIONES
En este trabajo final de grado se ha realizado el anlisis y la implementacin de un sistema capaz de mejorar el antiguo sistema elctrico-electrnico de un automvil.
El sistema terminado ha cumplido con los objetivos propuestos en este proyecto demostrando la gran capacidad de adaptacin, confiabilidad y eficiencia que los microcontroladores PIC poseen para el desarrollo de estos sistemas.
En la actualidad existen microcontroladores PIC que traen integrado el protocolo CAN, esto significa que se podra utilizar el firmware desarrollado en este proyecto y volcarlo sobre estos nuevos microcontroladores.
El funcionamiento de este sistema no se ha podido instalar y probar en un automvil real debido a los altos costos de compra de un vehculo.
Como futuro trabajo, se puede plantear la posibilidad de realizar una comunicacin inalmbrica entre el nodo1 CAN y nodo2 CAN, eliminando as la conexin de cableados y fallas en conectores de comunicacin que puedan ocurrir en los vehculos. Este sistema no tan solo servir para la implementacin en el rea automotriz, si no que tambin se podr adaptar para aplicaciones domiciliarias y en el rea de la industria en la que se requiera un control de sistemas de estas caractersticas.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 79 - 9 REFERENCIAS
1- Microcontroladores PIC La solucin en un CHIP . Eugenio Martn Cuenca, Jos M Angulo Usategui, Ignacio Angulo Martnez. 2- Microcontroladores PIC Diseo practico de aplicaciones 2 Parte PIC 16F87x y PIC 18Fxxx. Jos M Angulo Usategui, Ignacio Angulo Martnez, Susana Romero Yesa. 3- Microcontroladores avanzados dsPIC Controladores digitales de seal. Arquitectura, programacin y aplicaciones . Jos M Angulo Usategui, Ignacio Angulo Martnez, Begoa Garca Zapirain, Javier Vicente Sez. 4- Sistemas Digitales Principios y aplicaciones . Ronald J. Tocci. 5- WWW.microchip.com. 6- WWW.Bosch.com. 7- WWW.Autocity.com 8- WWW.Autoxuga.com 9- www.siliconbyte.com.ar , Soluciones Microcontroladas . 10- www.msebilbao.com , Ingeniera de Microsistemas Controlados . 11- www.sabelotodo.org, 12- PIC 16F87x, Data Sheet. 13- DAC 0808, Data Sheet. 14- Max 232n, Data Sheet. 15- 4N25, Data Sheet. 16- LM324, Data Sheet. 17- ICL 7660, Data Sheet. 18- PROTEUS 7 PROFESSIONAL, TUTORIAL.
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 80 -
ANEXOS
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 81 - ANEXO 1: DIAGRAMAS DE FLUJOS DE NODO 1 CAN Y NODO 2 CAN.
El siguiente diagrama de flujo, Figura A6.1, representa al Firmware CAN programado en el PIC 16F874:
Figura A6.1, Diagrama de flujo del Firmware del PIC16F874, Nodo 1CAN
INICIO Declaracin de variables Inicializacin Apago guios y balizas, puerta B, bit1=0, bit2=0, bit3=0 Bit 2 de Puerta A =1 ? Bit 2 de Puerta A =1 ? Modifico registro MSJ, bit0 = 0, bit0 = 0 Activo guio Izquierdo delantero, puerta B, bit2= 1 Apago guio derecho y balizas, bit1= 0, bit3= 0 Bit 3 de Puerta A = 1? Activo guio derecho, puerta B, bit1= 1 Apago guios Izquierdo y balizas, puerta B, bit2= 0, bit3= 0 Modifico registro MSJ, bit0 = 0, bit0 = 1 Sigo Activo balizas puerta B, bit3= 1 Apago guios derecho e izquierdo, puerta B, bit1= 0, bit2= 0 Modifico registro MSJ, bit0 =1, bit0 = 1 Principal Prin Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 82 -
Figura A6.1, Diagrama de flujo del Firmware del PIC16F874, Nodo 1CAN (Continuacin) Sigo Bit 1de puerta A=1? Apago luz estacionamiento/Tabler o, puerta B, bit0= 0 Modifico registro de MSJ, bit2= 0 Activo luz estacionamiento/Tabler o, puerta B, bit0= 1 Modifico registro de MSJ, bit2= 1 Bit 4 de puerta A=1? Modifico registro de MSJ, bit3= 0, Luz de stop Modifico registro de MSJ, bit3= 1, Luz de stop Bit 5 de puerta A=1? Modifico registro de MSJ, bit4= 0, Desempaador cristal trasero Bit 0 de puerta C=1? Apago cierre centralizado, puerta B, bit4= 0 Modifico registro de MSJ, bit5= 0 Activo cierre centralizado, puerta B, bit4= 1
Modifico registro de MSJ, bit5= 1 Modifico registro de MSJ, bit4= 0, Desempaador cristal trasero 1 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 83 -
Figura A6.1, Diagrama de flujo del Firmware del PIC16F874, Nodo 1CAN (Continuacin) 1 Modifico registro de MSJ, bit0= 0 Envi a MC2 el registro MSJ Dato fue enviado a MC2? Llego repuesta del MC2 ? Dato recibido de MC2 = MSJ ? Bit 1 de puerta C = 1? Modifico registro de MSJ 1, bit0= 1, bit1= 0 Modifico registro de MSJ 1, bit0= 0, bit1= 1 Modifico registro de MSJ 1, bit7= 1 Envi MSJ 1 a MC2 2 Modifico registro de MSJ 1, bit7= 1 Envi MSJ 1 a MC2 3 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 84 -
Figura A6.1, Diagrama de flujo del Firmware del PIC16F874, Nodo 1CAN (Fin)
Dato fue enviado a MC2? Llego repuesta del MC2 ? 2 Guardo dato recibido de MC2 en el registro semcom (sensor combustible) Saco la digitalizacin del combustible por la puerta D, al DAC 0808 Borro registro RCREG FIN Prin Dato fue enviado a MC2? Llego repuesta del MC2 ? 3 Guardo dato recibido de MC2 en el registro sensor (sensor de estacionamiento) Bit 1 de sensor = 1? Apago indicacin sonora y luminosa, bit5 = 0, bit6 = 0 Enciendo indicacin sonora y luminosa, bit5 = 1, bit6 = 1 FIN Prin Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 85 - DIAGRAM DE FLUJO DEL PIC 16F873A DEL NODDO 1 CAN
En la siguiente Figura A6.2 se muestra el diagrama de flujo representa al Firmware programado en el PIC 16F873A:
Figura A6.2, Diagrama de flujo del Firmware del PIC16F873A, Nodo 1CAN (Continuacin) INICIO Declaracin de variables Inicializacin 1 Principal Bit 0 de puerta A=1? Apago luz baja de iluminacin, puerta C, bit4 = 0 Enciendo luz baja de iluminacin, puerta C, bit4 = 1 1 Bit 1 de puerta A=1? Apago luz alta de iluminacin, puerta C, bit5 = 0 Enciendo luz alta de iluminacin, puerta C, bit5 = 1 1 Bit 2 de puerta A=1? Apago luz interior de habitculo, puerta C, bit6 = 0 Enciendo luz interior de habitculo, puerta C, bit6 = 1 1 Principal Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 86 -
Figura A6.2, Diagrama de flujo del Firmware del PIC16F873A, Nodo 1CAN (Continuacin)
1 Bit 3 de puerta A=1? Apago Aire Acondicionado, puerta C, bit7 = 0 Enciendo Aire Acondicionado, puerta C, bit7 = 1 1 Bit 4 de puerta A=1? Apago Ventilacin de Aire 1, puerta B, bit0 = 0 Enciendo Ventilacin de Aire 1, puerta B, bit0 = 1 1 2 Bit 5 de puerta A=1? Apago Ventilacin de Aire 2, puerta B, bit1 = 0 Enciendo Ventilacin de Aire 2, puerta B, bit0 = 1 1 Bit 0 de puerta C =1? Apago Pulsadores de apertura de puertas, puerto B, bit 2 = 0 Enciendo Pulsadores de apertura de puertas, puerto B, bit 2 = 1
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 87 -
Figura A6.2, Diagrama de flujo del Firmware del PIC16F873A, Nodo 1CAN (Fin)
2 Bit 1 de puerta C=1? Apago Limpia parabrisas 1, puerta B, bit 3 = 0 Enciendo Limpia parabrisas 1, puerta B, bit 3 = 1 Bit 2 de puerta C =1? Apago Limpia parabrisas 2, puerta B, bit 4 = 0 Enciendo Limpia parabrisas 2, puerta B, bit 4 = 1
Bit 3 de puerta C=1? Apago Bocina, puerta B, bit 5 = 0 Enciendo Bocina, puerta B, bit 5 = 1 FIN Principal Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 88 - DIAGRAM DE FLUJO DEL NODDO 2 CAN En la siguiente Figura A6.3 se muestra el diagrama de flujo representa al Firmware programado en el PIC 16F873A del nodo 2 CAN:
Figura A6.3, diagrama de flujo del Firmware del nodo 2 CAN
4 INICIO Declaracin de variables Inicializacin PIR1, bit RCIF = 1? Principal Principa l 1 Guardo el dato recibido en mensaje borro el registro RCREG
mensaje bit 7 = 1? Envi dato recibido al nodo 1
2 mensaje bit 0 = 1? Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 89 -
Figura A6.3, diagrama de flujo del Firmware del nodo 2 CAN (Continuacin) 1 Dato, fue enviado? Bit0 de mensaje =1? Bit1 de mensaje =1? Apago guios y balizas
Bit1 de mensaje =1? Enciendo guio derecho
Enciendo guio Izquierdo
Enciendo guio Balizas
Bit2 de mensaje =1? Apago luz de estacionamiento / tablero
Enciendo luz de estacionamiento / tablero
Bit3 de mensaje =1? Apago luz de Stop
Enciendo luz de Stop
3 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 90 -
Figura A6.3, diagrama de flujo del Firmware del nodo 2 CAN (Continuacin) 3 Bit5 de mensaje =1? Apago Cierre centralizado
Apago Cierre centralizado
Bit5 de mensaje =1? Apago desempaador trasero
Enciendo desempaador trasero
FIN Principa l 2 Bit1 de mensaje =1? Vuelvo al programa principal
FIN Enciendo luz de reversa y activo sensor de estacionamiento
Bit1 de Puerto A=1? 5 6 Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 91 -
Figura A6.3, diagrama de flujo del Firmware del nodo 2 CAN (Continuacin) 5 Borro bit 1del registro sensor
Envi estado del sensor al nodo 1
Dato fue envido? Principal 6 Activo bit 1del registro sensor
Envi estado del sensor al nodo 1
Dato fue envido? Principal 4 Bit1 de mensaje =1? Apago luz de reversa
Llamo a subrutina de medicin de combustible
Envi digitalizacin del combustible
Dato fue envido? Principal Principal Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 92 -
Figura A6.3, diagrama de flujo del Firmware del nodo 2 CAN
Medicin Configuracin del ADCON1, configura Puerto A
Configuracin del ADCON0, configura operaciones del A/D
Activo la conversin A/D
Fin de conversin? Guardo digitalizacin en registro combust
Retorno Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 93 - ANEXO 2: HOJAS DE DATOS
Instituto Universitario Aeronutico Facultad de Ingeniera TRABAJO FINAL DE GRADO - 94 -