Ingeniero
Enviado por • 12 de Noviembre de 2012 • 2.321 Palabras (10 Páginas) • 259 Visitas
Práctica Nº 1: Diseño de un sistema de control para una torre de enfriamiento
Abstract-In this practice was carried out control of a cooling tower, using a PIC
Resumen— En esta práctica se realizo el control de una torre de enfriamiento, mediante un PIC 16F877A el cual se tuvo que programar en código ensamblador, el PIC controla cuatro válvulas las cuales deben ser apagadas a la presencia de un cambio en los sensores, cada válvula posee su propio sensor que la apagara en tiempos distintos o retardos diferentes.
Palabras Claves— PIC, código ensamblador, retardos.
I. INTRODUCCIÓN
La utilización de dispositivos electrónicos en los sistemas de control no es nada nuevo, para realizar el control de un proceso son utilizados microcontroladores como PIC y DSPIC, también son muy utilizados los PLC o cualquier otro dispositivo que tenga la facilidad de ser programado, los PIC por su parte son micro controladores muy utilizados y hoy en día se encuentran en la gran mayoría de nuestros aparatos electrónicos, un PIC es capaz de controlar, manejar sensores, señales análogas y digitales y pueden ser programados una y otra vez, en diferentes lenguajes ya sea lenguaje ensamblador o lenguaje C.
Referente Teórico
Microcontroladores
Es un circuito integrado programable que contiene todos los componentes de un computador.
Se emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido tamaño, suele ir incorporado en el propio dispositivo al que gobierna. Esta última característica es la que le confiere la denominación de «controlador incrustado» (embedded controller).
El microcontrolador es un computador dedicado. En su memoria sólo reside un programa destinado a gobernar una aplicación determinada; sus líneas de entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a controlar, y todos los recursos complementarios disponibles tienen como única finalidad atender sus requerimientos. Una vez programado y configurado el microcontrolador solamente sirve para gobernar la tarea asignada.
“Un microcontrolador es un computador completo, aunque de limitadas prestaciones, que está contenido en el chip de un circuito integrado y se destina a gobernar una sola tarea” [1].
PIC <16F877A>
[2]
Características CPU
• Procesador de Arquitectura RISC (Solo 35 instrucciones).
• Instrucciones de un ciclo simple de duración (4 ciclos cristal) excepto los saltos que requieren dos ciclos simples.
• Velocidad de operación: 20 MHz.
• Memorias FLASH, RAM y EEPROM.
• Soporte para hasta 14 fuentes de interrupción.
• Watchdog timer (WDT) para lograr modo de operación más seguro.
• Protección de código programado (Encriptado).
Características periféricos
• Timer o contador de 8 bits con preescalas de 8 bits.
• Timer de 16 bits.
• Puertos Comparadores/PWM (Multiplexados) [16 bits resolución].
• Convertidor A/D de 10 bits.
II. OBJETIVOS
Objetivo General
• Programar un PIC 16F877A con assembler, con el programa diseñado para que cumpla las funciones encargadas; para poder realizar el control de una torre de enfriamiento.
Objetivos Específicos
• Diseñar el sistema de control de una torre de enfriamiento.
• Diseñar en lenguaje assembler un programa que permita el control por medio del PIC 16F877.
• Quemar un PIC 16F877A con el programa que se realizara en código en asembler.
III. PROCEDIMIENTO
1. De primera mano se realizó el diseño de la programación en diagramas de estado, el resultado fue el siguiente
Diagrama de estado
2. Se procedió a realizar la programación en MPLAB en lenguaje assembler del programa anteriormente hecho en diagramas de estado, el programa se encuentra adjunto en los anexos
3. Se compilo el programa hecho en busca de errores, estos se solucionaron y se procedió a simular el circuito en el software proteus.
4. Se cargó el programa al PIC correspondiente (16F877) por medio de un quemador.
5. Se montó el circuito con el pic y los demás implementos electrónicos.
Diseño
Figura: simulación en software Proteus® y su herramienta ISIS
IV. ANÁLISIS DE RESULTADOS.
Se planteó el problema, el cual consistía en diseñar el sistema de control de una torre de enfriamiento, el cual básicamente contaba con cuatro sensores de presión, enumerados del 1 al 4 y cuatro válvulas asociadas cada una a un sensor. Al activarse el primer sensor la válvula número uno deberá apagarse 3 segundos después, al activarse el segundo sensor deberá suceder lo mismo que en el primer caso es decir apagarse la válvula dos pero con la diferencia que esta lo hará a los 4 segundos después, y así sucesivamente hasta completar los 4 sensores junto con sus cuatro válvulas.
El diseño consiste como primer ítem en los retardos, para este diseño se establecieron dos retardos uno de dos segundos aproximados de duración y el otro de aproximadamente tres segundos, fueron diseñados de tal manera que para cada duración de activación de cada válvula sean útiles es decir para la duración de tres segundos se usa el de tres, para el de cuatro dos de dos segundos, para el de cinco uno de dos y uno de tres segundos, y para el de seis dos retardos de tres segundos. El programa principal llamado ciclo se encarga de realizar la comprobación del estado de cada bit es decir existen dos comandos un BTFSS y un BTFSC los cuales comprueban el estado de cierto bit del puerto de entrada, en el caso de que sea cero llamara una subrutina que se encarga de mandar al mismo relacionado en el puerto de salida un cero, si en cambio el bit de la entrada es uno llamara una subrutina que se encarga de primero que todo verificar si es primera vez que entra a dicha subrutina o si ya ha entrado antes, esto lo hace verificando el valor de ese bit en la salida, si es uno se sale de la subrutina en cambio si es primera vez llamara el o los retardos correspondientes y después de que realice dichos retardos encenderá el bit del puerto de salida correspondiente a la válvula en cuestión y posteriormente regresara al programa principal a seguir verificando los demás bits de entrada y se repetirá lo anterior para cada bit de la entrada.
Se envía un alto a la salida al contrario de lo que requiere la práctica que es apagar la válvula ya que se asume que la válvula esta acoplada a algún sistema de relés en sus pines de normalmente abierto cosa de que cuando el relé reciba el alto mandado por el PIC este lo desconecte y se apague la válvula. Todo esto con el objetivo de no gastar energía innecesaria y disminuya la duración de vida del dispositivo y se haga más práctico a la hora de su montaje final para su presentación en el laboratorio con leds en vez de válvulas.
V. CONCLUSIONES
Se puede concluir de primera mano sobre la anterior práctica que al momento de utilizar retardos estos retardos no son exactamente del valor requerido, pero que en casos como estos su diferencia con el valor real requerido puede ser despreciable, esto debido al lenguaje utilizado para la programación en este caso assembler. Además se pudo realizar el diseño del sistema de control y se realizo su posterior simulación para encontrar errores que durante la etapa de diseño fueron solucionados, también su simulación en proteus di un resultado favorable lo que dio la pauta para proceder a cargar el dispositivo con el programa diseñado y realizado y después de su montaje circuital su final puesta en marcha que culminó con el cumplimiento de los objetivos y funcionamiento adecuado tal cual se pidió.
APÉNDICE
LIST P=16F877A
RADIX HEX
INCLUDE P16F877A.INC
CONTA EQU 20H
CONTA1 EQU 21H
CONTA2 EQU 22H
CONTAR EQU 23H
CONTAR1 EQU 24H
CONTAR2 EQU 25H
ORG 0
GOTO INICIO
ORG 0X05
RETRES MOVLW
MOVWF CONTA
PASO1 MOVLW D'255'
MOVWF CONTA1
PASO2 MOVLW D'255'
MOVWF CONTA2
PASO3 DECFSZ CONTA2
GOTO PASO3
DECFSZ CONTA1
GOTO PASO2
DECFSZ CONTA
GOTO PASO1
RETLW 0
REDOS MOVLW D'10'
MOVWF CONTAR
PASOS1 MOVLW D'255'
MOVWF CONTAR1
PASOS2 MOVLW D'255'
MOVWF CONTAR2
PASOS3 DECFSZ CONTAR2
GOTO PASOS3
DECFSZ CONTAR1
GOTO PASOS2
DECFSZ CONTAR
GOTO PASOS1
RETLW 0
TRES1 BTFSC PORTB,0
RETURN
CALL RETRES
BSF PORTB,0
RETLW 0
TRES2 BCF PORTB,0
RETLW 0
CUATRO1 BTFSC PORTB,1
RETURN
CALL REDOS
CALL REDOS
BSF PORTB,1
RETLW 0
CUATRO2 BCF PORTB,1
RETLW 0
CINCO1 BTFSC PORTB,2
RETURN
CALL REDOS
CALL RETRES
BSF PORTB,2
RETLW 0
CINCO2 BCF PORTB,2
RETLW 0
SEIS1 BTFSC PORTB,3
RETURN
CALL RETRES
CALL RETRES
BSF PORTB,3
RETLW 0
SEIS2 BCF PORTB,3
RETLW 0
INICIO BSF STATUS,5
BCF STATUS,6
MOVLW B'00000000'
MOVWF TRISB
MOVLW B'00000111'
MOVWF ADCON1
MOVLW B'11111111'
MOVWF TRISA
BCF STATUS,5
CICLO BTFSC PORTA,0
CALL TRES1
BTFSS PORTA, 0
CALL TRES2
BTFSC PORTA,1
CALL CUATRO1
BTFSS PORTA,1
CALL CUATRO2
BTFSC PORTA, 2
CALL CINCO1
BTFSS PORTA,2
CALL CINCO2
BTFSC PORTA,3
CALL SEIS1
BTFSS PORTA,3
CALL SEIS2
GOTO CICLO
END
REFERENCIAS
[1] Angulo José Manuel y Angulo Ignacio. "Microcontroladores «Pic»". Cap 1. Ed. Mcgraw-Hill. 3ª edición, 2003.
[2] Vallejo Horacio Daniel.”Microcontroladores PIC”. Cap 1. Ed. Editorial Quark. 1a edición, 2002.
...