Diagrama de bloques del sistema

Documentos relacionados
CONTROL DE HELADERA. Ing. Tec. Camilo Monetta camilomonetta@gamil.com Salto- Uruguay

Alarma 3G por teléfono móvil

Placa de control MCC03

CAPÍTULO VI PROTOTIPO DE LA APLICACIÓN

Secuenciador de Luces

Pines de entrada/salida (I/O) de propósito general. Mediante ellos, el micro PIC puede monitorizar y controlar otros dispositivos.

MANDO DE LA PLAY STATION POR RADIO FRECUENCIA. Miguel Colomina Benedet

SECUENCIADOR PROGRAMABLE DE 8 CANALES

Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE

PIC 18F45XX CARACTERÍSTICAS GENERALES

1. ÍNDICE. Índice de contenido 2. INTRODUCCIÓN 3. CONTENIDO 1. OBJETIVOS DEL PROYECTO

PIC MICRO ESTUDIO Temporizador con el 16F872 Guía de Uso

Sensor de Temperatura y Sistema de Monitoreo para Incubadora Neonatal

Automatización de micro red eléctrica con fuentes renovables y almacenamiento de Hidrógeno

Programa del PIC 16F877A

Contenido Unidad de Robótica

PIC MICRO ESTUDIO Reloj Digital con alarma y termómetro digital

CAPÍTULO 3. Las principales funciones del microcontrolador son: adquirir por medio del A/D y también, mostrar mensajes de pesos y voltaje en el LCD.

Registros SFR vistos hasta ahora: Microcontroladores PIC

DESCRIPCION DEL SITEMA MASTER.

Conexionado del módulo LCD para ser controlado por conexión serie: Instrucciones para el control del LCD(comandos de control):

Tablero Transferencia Automático

Programación de dispositivos Arduino Asignatura Sistemas Digitales!

MICROPROCESADORES II LENGUAJE C EN LOS MICROCONTROLADORES PIC

Práctica PLC1: Introducción a la programación del PLC Siemens 314IFM en el entorno Step-7

Desarrollo y Construcción de Prototipos Electrónicos

Tablero de Transferencia SEL-E-804 Contactores

Capítulo 2 El equipo comprobador de cables WWG

METODOLOGÍA DESARROLLADA PARA PRÁCTICAS DE PROGRAMACIÓN DE MICROCONTROLADORES PIC

AUTOMATIZACIÓN INDUSTRIAL

PROYECTO DE UN SISTEMA DE ADQUISICION DE DATOS CON MICROCONTROLADOR PIC

PIC MICRO ESTUDIO Timer Monoestable/Biestable ajustable hasta 99H 59M 59S Timer 2T Clave:

Comparadores UNIDAD V

Práctica 1. Introducción al laboratorio y al ensamblador del PIC. 1. Objetivos. 2. Introducción. 2.1 Ensamblar y simular

Control por Computador. Manual de arduino. Jorge Pomares Baeza. Grupo de Innovación Educativa en Automática 2009 GITE IEA

Octavo Electrónica Universidad Técnica de Ambato. Facultad de Ingeniería en. Sistemas Electrónica e Industrial F I S E I

Especificaciones técnicas de los prototipos:

El módulo LCD Ejemplos de funcionamiento

Fotografía Grabación de Video Grabación de Audio

GUÍA RÁPIDA MÓDULOS ANALÓGICOS CJ1W-AD041-V1/AD081(-V1) CJ1W-DA021/DA041

La forma de manejar esta controladora es mediante un ordenador utilizando algún lenguaje de programación (Por ejemplo.: C, Visual Basic, Logo,...).

Programación en C para plataforma CADmega128, basada en microcontrolador Atmel megaavr

Objetivo. Desarrollo. Práctica 6 Multiplexado. Sección 1 Estudio del comportamiento de un circuito sample and hold

Microcontrolador PIC 16F84

ACTUALIZACION AUTOMATICA: MODO ONLINE (Ejemplo: WINDOWS 7-32 bits):

Qué es un Microcontrolador?

Tema: Utilización del módulo ADC en los microcontroladores PIC.

La familia PIC18 USB posee 4 timers: Timer0, Timer1, Timer2 y Timer3, cada uno de los cuales tiene sus características únicas.

Práctica 2: Operaciones Binarias

Capítulo VIII: PROGRAMACIÓN DEL PIC 16F876A

Manual de Software. EA80 Registrador medidor de calidad del aire interior. Model EA80 Software User Guide Version 1.1 October 2006

AUTOMATIZACIÓN - CURSO: Práctica 4: Sistema de Monitorización de tiempo mediante Arduino

PIC MICRO ESTUDIO Reloj en tiempo real RTCU2 Clave: 719

MANUAL DE USUARIOS EXTRUSORA DE CABLES WORKSTATION v1.1. A continuación, se mostrarán las diferentes pantallas del programa Work Station.

Tema: Comunicación serie entre PIC y PC.

Transmisi n de Datos a Trav s de un PIC

b) Las teclas pueden generar varios impulsos tanto al pulsar como al soltar (rebotes durante t < 100 ms, p. ej.). El usuario pulsa la tecla así

Formato para prácticas de laboratorio

MÓDULO DE EXPANSIÓN DW-GSM. Manual de usuario

Práctica 3. Control de un PLC mediante tramas Host-Link generadas por un PC

TRABAJO FINAL TECNICAS DIGITALES II

ITT-327-T Microprocesadores

Boletín audiológico de adaptación número 51

Tema 9 Periféricos de Entrada

EJERCICIO Nº 12: COMUNICACIÓN DE SEÑALES DIGITALES ENTRE EL INSTABUS EIB Y EL LOGO

MANUAL PANTALLAS LED atreef ILU+ V2.5

Control Industrial. Guía del Estudiante. Versión 1.1 en Castellano

INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA. PRÁCTICAS CON LOS PANELES DE AUTOMATISMOS. (Sesión I)

PROGRAMA LESOFT 5.0. Descripción de las ventanas.

AUTOMATIZACIÓN - CURSO: Práctica 3: Automatización de una Puerta de Garaje mediante Arduino

Práctica 1: Creación de un VI LabVIEW sencillo.

El objeto de este proyecto es el de construir un robot araña controlado por un PIC16F84A.

6 entradas y 2 salidas analógicas modbus:

Características. Especificaciones técnicas

COMPACT Manual de instalación marcador de gasolinera compacto + reloj

Caudalimetros Ultrasónicos y de Efecto Doppler CO3 Ingenieros S.A. de C.V.

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

Software EasyKool. Manual de instrucciones

MÓDULO RECOLECTOR PARA LOS RELOJES BIOMÉTRICOS HAND PUNCH

FIRMA ELECTRÓNICA INSTALACIÓN Y USO DE CERTIFICADOS EN ARCHIVO PKCS#12 MANUAL DE USUARIO V1.1 14/07/2015

Usando los Codificadores Cuadráticos

SOFTWARE COMUNICACIÓN - CONEXIÓN DEL DISPOSITIVO...

Programación en PIC Los primeros pasos

Preguntas frecuentes T605

QUAD. Sensor Analógico/Digital MANUAL DE PRODUCTO ZN1IO 4IAD. Edición 1 Versión 2.1

Centralita de 4 zonas

TUTORIAL PRIMERA PARTE: GENERACIÓN DE UN RETARDO CON TIMER.

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

Conceptos de Arquitectura de Computadoras Curso 2015

Realizado: Versión: Páginas: Grupo SUPPRESS. Laboratorio Remoto de Automática (LRA-ULE) Universidad de León

Para comenzar realizaremos el ejercicio-ejemplo de poner a titilar un led.

8. Instrumentación y sistema de adquisición de datos

Sistema de Monitoreo de Temperaturas. Marca BITLINK

EDU_NA005 Mouse PS/2 Emulado por el EDUKIT08...

SECCION 0: DESCRIPCIÓN DEL PRODUCTO

Canariascci.com Ref CanariasCCI.com CanariasCCI.com

Manual de instalación AutoFirma 1.4.3

MANUAL DE USO DE SMART DFD

Introducción a BMP085 Versión 1.0

Puertos Seriales Conexión PC Microcontroladores

Transcripción:

Software de control: Diagrama de bloques del sistema Para controlar todos los parámetros de funcionamiento de la pila de combustible, se ha creado un software específico, este funciona como se muestra en el diagrama siguiente.

En un primer lugar se configura el chip del MCC03 (PIC 16F874A), para que funcione como se muestra en el esquema, de tal manera que se dispone de 5 sensores de presión, 3 termómetros, 3 interruptores de control y salidas de control útiles para la activación de las electro válvulas. Además dispone de una medida de tensión de salida, un led de control de funcionamiento y un puerto de comunicaciones RS232. Nota: El esquema de la placa va interconectado con la placa de interface de potencia y la placa interface PC. Tras configurar el chip y definir las variables del sistema, se muestra en pantalla, (la pantalla de la consola del PC), el menú del gráfico. Menú principal software de control

Desde este momento se puede pulsar P1 para arrancar el software y por tanto la pila, P2 si en caso de que esté funcionando se quiere parar el sistema y P3 si se desea enviar la lectura de todos los sensores a pantalla. Circuito MCC03 procesador del sistema Una vez puesto en marcha el sistema, éste se puede parar por 4 motivos, por que se pulse el botón de paro, por que el software tras analizar los datos considere que tiene que parar, por que se active cualquier elemento de la cadena de seguridad o por que se haga una parada manual desde la cadena de seguridad. El software mostrado a continuación no incluye los parámetros de lógica de control del sistema ya que para ello se ha de experimentar con un sistema de pila de combustible real, los sensores se han de calibrar a tal efecto. Una vez montado el sistema, es posible incluir los parámetros de control dentro de la subrutina "analisislecturas:", en el software presentado se han incluido algunos parámetros de control a modo de ejemplo. Nota: El software de control incluye líneas de programa inhabilitadas útiles para la experimentación y el control del sistema.

'**************************************************************** ' Name : Menu.BAS ' Author : Ignacio Lucas Alos ' Notice : ' ' Date : 31/08/2011 ' Version : 1.0 ' Notes : ' '**************************************************************** inicio: clear Define ONINT_USED 1 include "modedefs.bas" 'Configuración inicial de puertos trisa=%00000000 'Puerto A configurado como salida trisb = %11111111 'Puerto B configurado como entrada trisc=%00000000 'Puerto C configurado como salida portb=0 'Puerto B todos los pines a 0 trisd=%00000000 'Puerto D configurado como salida portd=0 'Puserto D todos los pines a 0 option_reg.7=0 'Habilita resistencias PullUp del puerto B 'Definicion de variables globales: Define ONINT_USED 1 ' Definicion de los parametros del registro ADCIN Define ADC_BITS 8 ' Configura el numero de bits en el resultado '(Para 10 bits ha de ser un 10 en lugar de un 8) Define ADC_CLOCK 3 ' Seleccion de fuente de reoj (3=rc interno) Define ADC_SAMPLEUS 50 ' Configuracion del tiempo de lectura 50 us 'Definicion de variables lectura analogica 'adval0 var word ' Guarda el resultado de la medida en una variable '(para 10 bits) puertoanalogico var byte adval0 var byte ' Guarda el resultado de la medida en una variable '(para 8 bits) anal0 var word 'Definicion de variable para la lectura del puerto analogico 0 anal1 var word 'Definicion de variable para la lectura del puerto analogico 1 anal2 var word 'Definicion de variable para la lectura del puerto analogico 2

anal3 var word 'Definicion de variable para la lectura del puerto analogico 3 anal4 var word 'Definicion de variable para la lectura del puerto analogico 4 anal5 var word 'Definicion de variable para la lectura del puerto analogico 5 anal6 var word 'Definicion de variable para la lectura del puerto analogico 6 anal7 var word 'Definicion de variable para la lectura del puerto analogico 7 RST var PORTC.0 ' pin de reset DQ var PORTC.1 ' pin de datos CLK var PORTC.5 ' pin de reloj temp var word ' Variable donde se guarda la temperatura temp1 var word ' Variable lectrua de temperatura final entera tempt var word ' Variable lectura temeratura final decimal temperaturatermometro1 var word temperaturatermometro2 var word temperaturatermometro3 var word alarmageneral var bit alarmah2_1 var bit alarmah2_2 var bit 'Variable alarma general 'Variable sensor de hidrogeno1 'Variable sensor de hidrogeno2 'CONFIGURACION INICIAL DE VARIABLES: 'Espacio reservado para insertar los limites de presion y temperatura Menu: serout PORTC.6,2,[13," ",13] serout PORTC.6,2,[13,"www.coopservi.es",13] serout PORTC.6,2,[13,"Control de pila de combustible V1.0",13] serout PORTC.6,2,[13,"P1 Arranca",13] serout PORTC.6,2,[13,"P2 Paro",13] serout PORTC.6,2,[13,"P3 Lectura",13] trisc.6=1 portc.6=0 PORTA.4=1 pause 300 Botones: If PORTB.0=0 THEN gosub arranca If PORTB.1=0 THEN Gosub paro If PORTB.2=0 THEN GOTO lectura 'Apaga led TEST 'P1 'P2 'P3 GOTO BOTONES '===================================================================== arranca:

PORTA.4=0 'Enciende led TEST serout PORTC.6,2,[13,"Arranca",13] portd=0 Gosub funcionamiento paro: serout PORTC.6,2,[13,"Paro",13] goto menu analisislecturas: 'analiza las lecturas, pero esto hay que pulirlo, ha de haber subrutinas 'para cada accion. 'serout PORTC.6,2,[13,"Analisis",13] if temp1>90 and temp1< 100 then serout PORTC.6,2,[13,"Temperatura superior a 90 grados",13] if temp1>90 and temp1<100 then portd.0=1 if temp1>100 then serout PORTC.6,2,[13,"Temperatura superior a 100 grados",13] if temp1>100 then portd.1=1 if temp1>115 then serout PORTC.6,2,[13,"Temperatura superior a 115 grados",13] if temp1>115 then serout PORTC.6,2,[13,"Apagando el sistema",13] if temp1>115 then portd.2=1 if temp1>115 then goto menu return funcionamiento: 'Control de cada una de las lecturas, esto se tiene que hacer asi porque 'dependiendo de cual va a ser la lectura, se ha de aplicar una operacion 'u otra. PORTA.4=0 'Enciende led TEST lecturaanalogica0: puertoanalogico=0 'Configuracion delectura de puerto gosub leopuertoanalogico 'Salto a rutina de lectura swap adval0, anal0 'Intercambio de datos entre variables anal0=(((anal0*10)-130)/23)+15 'Conversion de datos lecturaanalogica1: puertoanalogico=1 gosub leopuertoanalogico swap adval0, anal1 'Configuracion delectura de puerto 'Salto a rutina de lectura 'Intercambio de datos entre variables

anal1=(((anal1*10)-130)/23)+15 'Conversion de datos lecturaanalogica2: puertoanalogico=2 'Configuracion delectura de puerto gosub leopuertoanalogico 'Salto a rutina de lectura swap adval0, anal2 'Intercambio de datos entre variables anal2=(((anal2*10)-130)/23)+15 'Conversion de datos lecturaanalogica3: puertoanalogico=3 'Configuracion delectura de puerto gosub leopuertoanalogico 'Salto a rutina de lectura swap adval0, anal3 'Intercambio de datos entre variables anal3=(((anal3*10)-130)/23)+15 'Conversion de datos lecturaanalogica4: puertoanalogico=4 'Configuracion delectura de puerto gosub leopuertoanalogico 'Salto a rutina de lectura swap adval0, anal4 'Intercambio de datos entre variables anal4=(((anal4*100)-1500)/94)+2 'Conversion de datos lecturaanalogica5: puertoanalogico=5 gosub leopuertoanalogico swap adval0, anal5 anal5=(anal5*60)/253 'Configuracion delectura de puerto 'Salto a rutina de lectura 'Intercambio de datos entre variables 'Conversion de datos lecturaanalogica6: puertoanalogico=6 gosub leopuertoanalogico swap adval0, anal6 lecturaanalogica7: puertoanalogico=7 gosub leopuertoanalogico swap adval0, anal7 'Configuracion delectura de puerto 'Salto a rutina de lectura 'Intercambio de datos entre variables 'Configuracion delectura de puerto 'Salto a rutina de lectura 'Intercambio de datos entre variables 'gosub temperatura goto temperatura 'Fin de control de cada una de las lecturas. leopuertoanalogico: porta=0 TRISA = %11101111 ' Configura el puerto A como entrada

' ADCON1 = %10000000 ' Configura la lectura de Byte con justificacion a 'la derecha (para 10 bits) ADCON1 = %00000000 ' Configura la lectura de Byte con justificacion a 'la izquierda 'Pause 500 ' Espera 0.5 Segundos a que se realice la lectura ADCIN puertoanalogico, adval0 ' Lectura del canal de entrada segun toque ' serout PORTC.6,2,[13,"Lectura puerto ",#puertoanalogico," ",#adval0,", Escalado 0=0 5=255",13] ' if puertoanalogico=7 then goto lecturatermometros 'Permite continuar a la rutina de temperatura 'Pause 100 ' Espera 0.1 Segundos return temperatura: lecturatermometros: PORTA.4=0 'Enciende led TEST termometro1: ' lectura sensor de temperatura Low RST ' Reinicio del chip RST = 1 ' Habilita chip Shiftout DQ, CLK, LSBFIRST, [$ee] ' Comienza la conversion Pause 50 ' Espera 50ms hasta que se ha hecho la conversion RST = 1 Shiftout portc.1, CLK, LSBFIRST, [$aa] ' Envioo de comando de lectura Shiftin portc.1, CLK, LSBPRE, [temp\9] ' Lectura de los 9 bit de temperatura 'Muestra la temperatura en formato decimal temp1=temp >>1 tempt=temp1.0*5 swap temp1, temperaturatermometro1 'serout PORTC.6,2,[13,"Temperatura1: ",#temperaturatermometro1," grados C",13] termometro2:

' lectura sensor de temperatura Low RST ' Reinicio del chip RST = 1 ' Habilita chip Shiftout DQ, CLK, LSBFIRST, [$ee] ' Comienza la conversion Pause 50 ' Espera 50ms hasta que se ha hecho la conversion RST = 1 Shiftout portc.2, CLK, LSBFIRST, [$aa] ' Envioo de comando de lectura Shiftin portc.2, CLK, LSBPRE, [temp\9] ' Lectura de los 9 bit de temperatura 'Muestra la temperatura en formato decimal temp1=temp >>1 tempt=temp1.0*5 swap temp1, temperaturatermometro2 'serout PORTC.6,2,[13,"Temperatura2: ",#temperaturatermometro2," grados C",13] termometro3: ' lectura sensor de temperatura Low RST ' Reinicio del chip RST = 1 ' Habilita chip Shiftout DQ, CLK, LSBFIRST, [$ee] ' Comienza la conversion Pause 50 ' Espera 50ms hasta que se ha hecho la conversion RST = 1 Shiftout portc.3, CLK, LSBFIRST, [$aa] ' Envioo de comando de lectura Shiftin portc.3, CLK, LSBPRE, [temp\9] ' Lectura de los 9 bit de temperatura 'Muestra la temperatura en formato decimal temp1=temp >>1 tempt=temp1.0*5 swap temp1, temperaturatermometro3 'serout PORTC.6,2,[13,"Temperatura3: ",#temperaturatermometro3," grados C",13] pause 50 PORTA.4=1 'Apaga led TEST 'pause 50 gosub analisislecturas

'Puertos digitales 1/0 alarmageneral = portb.3 alarmah2_1 = portb.4 alarmah2_2 = portb.5 'Lectura de menus If PORTB.0=0 THEN gosub arranca If PORTB.1=0 THEN Gosub paro If PORTB.2=0 THEN GOTO lectura 'P1 'P2 'P3 lectura: ' serout PORTC.6,2,[13,"Lectura",13] 'Espacio reservado para introducir rutinas de lectura de datos. 'serout PORTC.6,2,[12,"Lectura",13] 'serout PORTC.6,2,[13,"Temperatura1: ",#temperaturatermometro1," grados C",13] 'serout PORTC.6,2,[13,"Temperatura2: ",#temperaturatermometro2," grados C",13] 'serout PORTC.6,2,[13,"Temperatura3: ",#temperaturatermometro3," grados C",13] 'serout PORTC.6,2,[13,"Lectura0 ",#anal0,13] 'Muestra datos 'serout PORTC.6,2,[13,"Lectura1 ",#anal1,13] 'Muestra datos 'serout PORTC.6,2,[13,"Lectura2 ",#anal2,13] 'Muestra datos 'serout PORTC.6,2,[13,"Lectura3 ",#anal3,13] 'Muestra datos 'serout PORTC.6,2,[13,"Lectura4 ",#anal4,13] 'Muestra datos 'serout PORTC.6,2,[13,"Lectura5 ",#anal5,13] 'Muestra datos 'serout PORTC.6,2,[13,"Lectura6 ",#anal6,13] 'Muestra datos 'serout PORTC.6,2,[13,"Lectura7 ",#anal7,13] 'Muestra datos 'serout PORTC.6,2,[13,"P1 Alarma general: ",#alarmageneral,13] 'Muestra datos digital 'serout PORTC.6,2,[13,"P1 Sensor H2-1: ",#alarmah2_1,13] 'Muestra datos digital 'serout PORTC.6,2,[13,"P1 Sensor H2-2: ",#alarmah2_2,13] 'Muestra datos digital 'Informacion de envio de datos para conformar grafica serout PORTC.6,2, ["*",#TEMPERATURATERMOMETRO1,",",#TEMPERATURATERMOMETRO2,","_,#TEMPERATURATERMOMETRO3,",",#anal0,",",#anal1,",",#anal2,",",#anal3,","_,#anal4,",",#anal5,",",#anal6,",",#anal7,",",#alarmageneral,","_,#alarmah2_1,",",#alarmah2_2,"/",13] 'Fin de informacion para grafica pause 250 goto funcionamiento