Documentos de Académico
Documentos de Profesional
Documentos de Cultura
36624
36624
1
DISEÑO E IMPLEMENTACIÓN DE UN CONTROLADOR DE
TEMPERATURA Y MONITOREO DE SEÑALES PARA LA
AUTOMATIZACIÓN DE EQUIPOS DE REFRIGERACIÓN
2
Nota de aceptación
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
__________________________________
______________________________________
_________________________________
3
A mi mamá y mis primos por su dedicación y credibilidad durante todo mi
crecimiento como profesional.
4
A mi mamá, por ser el pilar y apoyo incondicional en el desarrollo de
todos mis proyectos.
5
A mi madre, Flor Hermilda Moya G., en reconocimiento por todo su
esfuerzo y sacrificio sin el cual no hubiera podido llegar tan lejos.
6
AGRADECIMIENTOS
7
CONTENIDO
INTRODUCCIÓN pág
1.1 ANTECEDENTES 2
1.1.3 UNITRONICS 5
1.3 JUSTIFICACIÓN 9
1.4 OBJETIVOS 10
1.5.1 Alcances 11
1.5.2 Limitaciones 11
2. MARCO DE REFERENCIA 13
3. METODOLOGÍA 31
8
3.1 ENFOQUE DE LA INVESTIGACIÓN 31
3.5 HIPÓTESIS 33
3.6 VARIABLES 33
4. CRONOGRAMA DE ACTIVIDADES 34
5. RECURSOS Y PRESUPUESTO 35
6. DISEÑO INGENIERIL 36
6.5. SENSORES 44
6.5.1. Temperatura. 45
6.5.2. Presión. 48
6.5.3. Infrarrojo. 51
6.5.4. Microswitch 53
6.6. PERISFÉRICOS 56
6.6.1 Teclado 57
9
6.6.2 Pantalla de Cristal Líquido (LCD 20 x 4) 60
6.8.2 DS1307 69
7. COSTOS 96
8. RECOMENDACIONES Y CONCLUSIONES. 98
8.1. CONCLUSIONES. 98
8.2. RECOMENDACIONES 99
BIBLIOGRAFÍA 101
WEBBIBLIOGRAFÍA 102
ANEXOS 103
10
LISTA DE TABLAS
pág.
11
LISTA DE FIGURAS
pág
Figura 5. Microcontrolador 14
12
Figura 21. Diagrama entradas y salidas 37
13
Figura 43. Diagrama de Flujo Microswitch 56
14
LISTA DE FOTOS
pág.
15
ANEXOS
Pág.
16
RESUMEN
17
características comerciales atractivas a los usuarios de equipos de
refrigeración.
18
GLOSARIO
CFC: Clorofluorocarbonos.
19
I2C: Bus serial estándar.
20
INTRODUCCIÓN
.
El propósito del proyecto es el diseño de un controlador de temperatura y
monitoreo de variables para la automatización de estos equipos de
refrigeración con el fin de mejorar y facilitar su uso; y proporcionar información
de sus procesos y actividades propias, de tal forma que el usuario conozca y
tenga contacto y conocimiento directo del equipo.
21
1. PLANTEAMIENTO DEL PROBLEMA
1.1 ANTECEDENTES
Existen empresas como:
http://www.emersonclimate.com/espanol/images/cpc_pic.jpg
1
http://www.emersonclimate.com/espanol/emerson_climate_emerson.htm (octubre 2005)
22
El control de la pérdida de refrigerante se ha convertido en una importante
prioridad para gerentes de la industria de la refrigeración. Los altos costos de
recambio, en conjunto con las multas gubernamentales impuestas a equipos
emisores de CFC2 a la atmósfera, obligan a invertir en equipos de detección
de pérdidas de alta calidad. CPC (controladores electrónicos) fabrica una línea
de productos que detecta pérdidas con precisión e inmediatamente avisa al
personal correspondiente. Los sistemas han probado su eficacia en
supermercados, depósitos refrigerados, platas industriales y otras instalaciones
donde las pérdidas de refrigerante resultan de importancia. Estos sistemas
pueden funcionar individualmente o estar conectados a los otros controladores
de monitoreo remoto y de alarma.
http://www.embedded-web.com
2
Siglas de clorofluorocarbonos, que son productos utilizados en los equipos de refrigeración de
los automóviles. Se les atribuye parte del deterioro de la capa de ozono
3
http://www.embedded-web.com
23
Snijder Micro Systems lanzó al público en el 2005 su nueva línea de productos
SmartControl®, una familia de controladores ruge rizados "todo-en-uno" con
panel LCD en color y pantalla táctil integrados que incluyen un amplio rango de
interfaces de expansión y E/S, además de soporte completo para el lenguaje
de programación Java™.4
4
Java es una plataforma de software desarrollada por Sun Microsystems, de tal manera que
los programas creados en ella puedan ejecutarse sin cambios en diferentes tipos de
arquitecturas y dispositivos computacionales.
5
Empresa líder en servidores web y estaciones de trabajo, también desarrolladora de software.
Gran contribuidor en la introducción de sistemas basados en Unix al mercado. Java ha sido su
mayor éxito de creación, siguiendo el lema de Scott McNealey, uno de sus fundadores, "La red
es el ordenador". La empresa se inició en 1982
24
herramientas especiales de desarrollo. También es posible la programación en
ensamblador y C/C++.
1.1.3 UNITRONICS6
http://proytek.com/unitronic.htm
6
http://proytek.com/unitronic.htm (febrero 2006)
25
La serie Visión es una innovadora serie de PLCs (Controladores Lógicos
Programables) con un panel de operación integrado, módulo snap-in I/O
opcional y características de redes poderosa. Un PLC Visión está conformado
por una pantalla LCD gráfica y un teclado numérico para fácil comunicación
entre operador y máquina.
7
http://www.thestellargroup.com (octubre 2005)
26
Esto reduce los altos costos que suponen la fabricación, prueba e inspección
en el sitio y el riesgo de usar mano de obra local no calificada.
27
especificados en los sistemas mencionados. Siendo una opción con
posibilidades comerciales e innovación en el mercado.
28
1.3 JUSTIFICACIÓN
Dentro de los beneficios existen progresos frente a los costos del equipo, el
mantenimiento y el consumo de potencia. Estos no sólo son de carácter
técnico si no también económico y social, de esta manera el proyecto es una
opción en el control de equipos de refrigeración, como también en prestar un
servicio a usuarios que requieren estas mejoras pero financieramente no es
fácilmente posible.
29
1.4 OBJETIVOS
30
1.5 ALCANCES Y LIMITACIONES DEL PROYECTO
.
1.5.1 Alcances
1.5.2 Limitaciones
Por otra parte los elevados costos en los sensores de presión u otros
mecanismos podrían presentar restricciones de las cuales surja la necesidad
de importarlos, generando inconvenientes, los cuales pueden ser
tecnológicos y cronológicos en la implementación del proyecto.
31
Otra de las limitantes que se presentan en el desarrollo del controlador está
dada por el tipo de equipos de refrigeración, ésto debido a las especificaciones
del sistema ya que entre las características del sistema está el estado de las
puertas, y el monitoreo de la silica en las puertas razones por las cuales, el
programa y el controlador varía de un equipo a otro. Si el equipo es de tipo
panel o plancha no será posible realizar el monitoreo de las puertas ni de la
silica, por lo tanto el desarrollo de este proyecto estará directamente enfocado
a los equipos de refrigeración cerrados, no obstante con variaciones en la
programación se llegaría a abarcar todo tipo de dispositivos.
32
2. MARCO DE REFERENCIA
Estos controladores pueden ser genéricos (válidos para más de un modelo del
mismo periférico) o específicos para cada modelo. También se distribuyen
actualizaciones a nuevas versiones, que pueden dar un funcionamiento mejor.
http://usuarios.uninet.com.br/~alcoan/images/controlador.jpg
33
Un microcontrolador es un microprocesador optimizado para ser utilizado
para controlar equipos electrónicos. Los microcontroladores representan la
inmensa mayoría de los chips de ordenadores vendidos, sobre un 50% son
controladores "simples" y el restante corresponde a DSPs más especializados.
Mientras se pueden tener uno o dos microprocesadores de propósito general
en casa (vd. está usando uno para leer esto), usted tiene probablemente
distribuido entre los electrodomésticos de su hogar una o dos docenas de
microcontroladores. Pueden encontrarse en casi cualquier dispositivo eléctrico
como automóviles, lavadoras, hornos microondas, teléfonos,
http://www.electronicweb2001.com/tienda/catalog/catalog/images/16f876.jpg
34
por instrucciones de procesadores especializados. Los modernos
microcontroladores frecuentemente incluyen un lenguaje de programación
integrado, como el BASIC que se utiliza bastante con este propósito.
Monitoreo:
35
forzada para eliminar el calor. Las aplicaciones de la refrigeración son muchas:
conservación de alimentos, climatización, producción de hielo o nieve, en
medicina se utiliza para la mejor conservación de órganos, tejidos o incluso
microbios.
http://www.scielo.org.ve/img/fbpe/acv/v53n2/art08figura1.gif
• Compresores
• Enfriadores
• Condensadores
• Torres de Enfriamiento
• Túnel de Enfriamiento
• Túnel de Congelación
36
Muchos los sensores son eléctricos o electrónicos, aunque existen otros tipos.
Un sensor es un tipo de transductor que transforma la magnitud que se quiere
medir, en otra, que facilita su medida. Pueden ser de indicación directa (e.g. un
termómetro de mercurio) o pueden estar conectados a un indicador
(posiblemente a través de un convertidor analógico a digital, un computador y
un display) de modo que los valores sensados puedan ser leídos por un
humano.
http://www.gypco.com.ar/images/sensor_humedad.jpg
37
Resistivos: son los que transforman la variación de la magnitud a medir
en una variación de su resistencia eléctrica. Un ejemplo puede ser un termistor,
que sirve para medir temperaturas.
Activos: los que son capaces de generar su propia energía. A veces también
se les llama sensores generadores. Un ejemplo puede ser un transistor en el
que la puerta se sustituye por una membrana permeable sólo a algunas
sustancias (IsFET), que puede servir para medir concentraciones.
http://es.wikipedia.org/wiki/Imagen:Control.jpg
38
Hay varias clasificaciones dentro de los sistemas de control. Atendiendo a su
naturaleza son analógicos, digitales o mixtos; atendiendo a su estructura
(número de entradas y salidas) puede ser control clásico o control moderno;
atendiendo a su diseño pueden ser por lógica difusa, redes neuronales...
Proporcional integral (PI). Este sistema es similar al anterior, sólo que la señal
se integra en vez de derivarse.
Proporcional integral derivativo (PID). Este sistema combina los dos anteriores
tipos.
39
2.2 MARCO LEGAL O NORMATIVO
• Manejo ambiental9
• Patentes11
8
www.minambiente.gov.co/admin/contenido/documentos/normas_competencia_lab_frio.pdf
9
www.minambiente.gov.co/prensa/gacetas/2005/junio/res0702_070605.pdf
10
www.icontec.org.co
11
www.bancopatentes.gov.co
12
www.minminas.gov.co/minminas/prensa.nsf/0/6aad1040aad1824f05256ff50067de23?OpenDo
cument&Click=
40
2.3 MARCO TEÓRICO
http://www.danfoss.com/Spain/BusinessAreas/Refrigeration+and+Air+Conditioning/Refrigeratio
n+Basic/Basic+Refrigeration_proceso.htm
A la entrada del evaporador hay una mezcla de vapor y líquido mientras que en
la salida del evaporador punto C, el vapor es saturado. La presión y la
41
temperatura son las mismas que las del punto B pero como el evaporador ha
absorbido el calor de sus alrededores, la entalpía ha cambiado a h1.
Compresor
42
Figura 11. Funcionamiento del compresor
http://www.danfoss.com/Spain/BusinessAreas/Refrigeration+and+Air+Conditioning/Refrigeratio
n+Basic/Basic+Refrigeration_componentes.htm
http://www.danfoss.com/Spain/BusinessAreas/Refrigeration+and+Air+Conditioning/Refrigerati
on+Basic/Basic+Refrigeration_componentes.htm
43
Figura 13. Compresor semi-hermético
http://www.danfoss.com/Spain/BusinessAreas/Refrigeration+and+Air+Conditioning/Refrigerati
on+Basic/Basic+Refrigeration_componentes.htm
http://www.danfoss.com/Spain/BusinessAreas/Refrigeration+and+Air+Conditioning/Refrigerati
on+Basic/Basic+Refrigeration_componentes.htm
Condensador
El propósito del condensador es sacar del gas el calor, que es igual a la suma
del calor absorbido en el evaporador más el calor producido por la
compresión. Hay muchas clases diferentes de condensadores.
44
Condensador multitubular (Shell and tube condenser). Este tipo de
condensador se utiliza en plantas donde se dispone de suficiente agua.
Consiste en un cilindro horizontal con dos placas de tubo soldadas en sus
extremos, las cuales soportan los tubos de enfriamiento. Los extremos se
cubren por dos tapas normalmente atornilladas.
http://www.danfoss.com/Spain/BusinessAreas/Refrigeration+and+Air+Conditioning/Refrigerati
on+Basic/Basic+Refrigeration_componentes.htm
Los tubos de distribución de agua con sus toberas se montan sobre la batería
de condensación de tal manera que el agua pulverizada caiga de arriba a
abajo de la batería.
45
Los ventiladores dan una fuerte circulación de aire a través de la batería de
condensación.
Cuando las gotas de agua que caen encuentran el aire que circula en contra,
parte de esta agua se evaporará. Esta cooperación absorbe el calor de
vaporización del vapor refrigerante y causa que este se condense:
1. Ventilador
2. Placa deflectora
3. Envolvente exterior
4. Eliminador del
recalentamiento
5. Tubo del condensador
6. Entrada de aire
7. Bandeja colectora
8. Tubo de sobradero
46
cual absorbe el calor y de como parte de la evaporación hay un incremento
de la humedad del aire de salida. Por este procedimiento el agua de
enfriamiento pierde calor, las pérdidas de agua se compensan con una
aportación de agua exterior:
http://www.danfoss.com/Spain/BusinessAreas/Refrigeration+and+Air+Conditioning/Refrigerati
on+Basic/Basic+Refrigeration_componentes.htm
Válvula de expansión
47
El camino más sencillo de hacer esto es colocar un tubo capilar entre el
condensador y el evaporador.
Para este proceso necesariamente hay que utilizar una válvula de regulación
la más corriente es una válvula de expansión termostática que consta de un
cuerpo de válvula con tubo capilar y un bulbo, el cuerpo de la válvula se
monta en la línea de líquido y el bulbo se coloca en la salida del evaporador.
http://www.danfoss.com/Spain/BusinessAreas/Refrigeration+and+Air+Conditioning/Refrigeratio
n+Basic/Basic+Refrigeration_componentes.htm
48
Figura 19. Evaporado por válvula termostática.
http://www.danfoss.com/Spain/BusinessAreas/Refrigeration+and+Air+Conditioning/Refrigeratio
n+Basic/Basic+Refrigeration_componentes.htm
• La presión producida por la temperatura del bulbo que actúa por la cara
superior del diafragma.
• La presión por debajo del diafragma que es igual a la presión de
evaporación.
• La presión del muelle que actúa por la parte baja del diafragma.
49
Las válvulas de expansión termostática se fabrican en distintas versiones y de
diferentes tipos, pero una larga explicación podría traer complicaciones
innecesarias.
Sistemas de evaporación
Los evaporadores para circulación natural de aire cada vez se utilizan menos
debido a la pobre transferencia de calor del aire a los tubos de enfriamiento. En
los primeros modelos se montaron con tubo liso pero ahora es muy común el
uso de tubos con aletas, planas o helicoidales.
http://www.danfoss.com/Spain/BusinessAreas/Refrigeration+and+Air+Conditioning/Refrigeratio
n+Basic/Basic+Refrigeration_componentes.htm
50
3. METODOLOGÍA
51
3.2 LÍNEA DE INVESTIGACIÓN DE USB / SUB-LÍNEA DE FACULTAD /
CAMPO TEMÁTICO DEL PROGRAMA
SUB-LÍNEA DE FACULTAD
Control (I II III)
CAMPO TEMÁTICO:
52
Estas personas o entidades deben requerir facilidad en el manejo, aumento de
la vida útil y el control de sus equipos.
3.5 HIPÓTESIS
Para la presión se tiene en cuenta que es necesario usar dos sensores que se
buscará tengan la misma característica técnica del sensor de temperatura, (la
salida en voltaje) y así facilitar la implementación de los diferentes dispositivos
3.6 VARIABLES
53
4. CRONOGRAMA DE ACTIVIDADES
Cronograma de actividades
Actividad Responsible Mes
Octubre Noviembre Diciembre Enero Febrero Marzo Abril Mayo
Desarrollo Grupo de trabajo
Marco teórico
Adquisición del equipo de refrigeración Empresa RAY
Desarrollo del programa de temperatura Grupo de trabajo
Circuito eléctrico del equipo Grupo de trabajo
Asesorías y Correcciones del libro Grupo de trabajo
Programación visualización del display. Grupo de trabajo
Programación del monitoreo de las puertas Grupo de trabajo
Programación de encendido de luces Grupo de trabajo
Programa para la visualización de la presión. Grupo de trabajo
Circuito y programación de Hora y fecha del equipo Grupo de trabajo
54
5. RECURSOS Y PRESUPUESTO
55
6. DISEÑO INGENIERIL
equipo de refrigeración.
• Mensaje de Bienvenida
• Temperatura.
• Hora
• Variación de temperatura.
56
• Encendido y apagado del equipo de refrigeración.
• Mensaje de bienvenida
TEMPERATURA (LM35)
LCD (20X4)
PRESIÓN (160 psi)
MICROPROCESADOR ALARA
TECLADO 16F877A
BOTÓN LUCES
ON/OFF
INFRARROJO
COMPRESOR
57
6.3 DIAGRAMA DE BLOQUES DEL SISTEMA
Los relevos se utilizaron primero por la corriente que pueden manejar y segundo
por la facilidad para conexión. Estos presentan la facilidad de conectarse y
58
desconectarse con clavijas por lo tanto si se daña alguno sólo se separa y se
cambia, no se necesita de soldadura.
http://www.partsexpress.com/resources/relays.html
Modelo GD A-3225
Características Bosch 12V 40A
Bosch 24V 20A
4RD 007 794-03
5Pin
12spst
59
Este puerto tiene 12 conexiones de las cuales 8 se utilizaron para la conexión en
pares a los relevos, cada par maneja un relevo. Así:
Par 1 Compresor
Par 2 Motor 1
Par 3 Motor 2
Par 4 Luces
http://www.sagitron.es/notas_prensa/dve/dve0500.htm
13
Dee Van Enterprise, Fuentes de alimentación lineal y conmutada en caja o abierta.
60
Figura 25. Contactor TAISHI (lc1 d0910)
http://www.made-in-china.com/showroom/bettyxu0/product-detaildztJQTxUWmGs/LC1-D-Series-
AC-Contactor-LC1-D0910-.html
http://www.centelsa.com.co/userfiles/boletines/bolpotencia.pdf
61
Figura 27. Cable oxigenado
http://www.mercadolibre.com.co/jm/img?s=MCO&f=2632702_3841.jpg&v=P
El cable que se utilizó para la caja fue un cable vehículo calibre 14, este se
seleccionó por que es más resistente, tanto a temperatura, como humedad.
62
Figura 28. Circuito eléctrico del controlador
63
Foto 4. Nevera más instalación eléctrica.
6.5 SENSORES
64
Existen muchas ventajas al utilizar sensores digitales además de las ya
mencionadas se encuentra que ante la pérdida de información la señal digital
puede ser reconstruida gracias a los sistema de regeneración de señales
(usados también para amplificarla, sin introducir distorsión).
6.5.1 Temperatura.
65
Figura 29. Circuito integrado LM 35D (sensor de temperatura)
http://articulo.mercadolibre.com.ve/MLV-3945502-Sensor-de-temperatura-LM35-ideal-para-
proyectos-con-PIC-_JM
66
continuación muestra gráficamente este ciclo, y posteriormente, se puede
observar el diagrama de flujo del proceso de controlar la temperatura en el
equipo.
VISUALIZA
TECLADO PIC LCD 20 X 4
Tº 16F877A
USUARIO
LM 35
67
6.5.2 Presión.
68
Para la presión alta se utilizó un transmisor de presión de gran exactitud MBS
4500 de DANDFOSS. El cual está diseñado para utilizarse en casi cualquier
aplicación industrial y ofrece una medición de la presión fiable incluso en
condiciones de trabajo adversas. Este transmisor de presión proporciona una
señal de salida de 4-20 mA, versiones absolutas y manométricas (relativas),
rangos de medición de 0-1 a 0-600 bar, ajuste de cero y de span. Un enchufe
de conexión giratorio y una amplia gama de conexiones de presión y eléctricas.
http://es.ic.danfoss.com/TechnicalInfo/Literature/Tech_Lit_Res.asp?Division=04&HierID=131&A
ppID=%7BDE5C085D%2D4B7E%2D4371%2D873D%2D4D2A68988E52%7D&StatNo=04060
69
El material de la cubierta y de las partes en contacto con el medio son de acero
inoxidable y resistente a los ácidos (AISI 316L)14 además de una compensación
de temperatura y linealidad calibrada por técnica láser.
continuación.
INICIO
LEE PRESIÓN L
LEE PRESIÓN H
VISUALIZA
PRESIÓN L Y H
14
AISI 316L, Material estándar acero inoxidable con bajo contenido en carbón.
70
6.5.3 Infrarrojo.
http://personal.telefonica.terra.es/web/x-robotics/downloads/datasheets/cny70.pdf
Tiene una construcción compacta con distancia de del centro-a-centro de 0.1 '
(pulgadas), no necesita ningún ambiente especial por lo tanto se puede aplicar
a bajas temperaturas. (Coeficiente de temperatura bajo)
71
El infrarrojo y su respectivo sensor (fototransistor) serán los encargados de
sensar el nivel de congelamiento o enfriamiento en el evaporador y mediante
este se realizará la etapa de control para el manejo del compresor, encendido y
apagado de los motores, por esto tiene una de las principales funciones ya que
es el control de apagado general del equipo.
72
Figura 38. Diagrama flujo infrarrojo.
INICIO
LEE SI
NO
SI = 1 SI = 0 MC = 1
SI
MC = 0
6.5.4 Microswitch
73
Figura 39. Microswitch KW3A Series
http://www.switch-china.com/
Este sensor mantendrá una lectura constante del estado de las puertas, si
estas permanecen abiertas por más de 1 minuto se activarán dos tipos de
alarmas, comunicando al usuario su estado, tanto visualmente como
sonoramente, ya que se activará una alarma sonora, que sólo se detendrá
hasta que las puertas sean cerradas.
74
Figura 40. Sensado del estado de las puertas con microswitch
75
La siguiente figura es el diagrama de flujo para la rutina de sensado del estado
de las puertas.
6.6 PERISFÉRICOS
76
6.6.1 Teclado
A: Temperatura y Presión => esta tecla despliega dos opciones por lo tanto
tiene implícito un sub. Menú.
77
D: Luces => El usuario podrá determinar el encendido de las luces (on/off).
*: Borrar => Esta opción permite al usuario cambiar los datos ingresados.
El siguiente es el diagrama de flujo del teclado con el que podemos ver las
diferentes respuestas al accionar el periférico.
78
Figura 46. Diagrama de flujo del teclado.
79
6.6.2 Pantalla de Cristal Líquido (LCD 20 x 4)
Los LCD de texto son los más baratos y simples de utilizar. Solamente
permiten visualizar mensajes cortos de texto. Existen algunos modelos
estandarizados en la industria, en función de su tamaño medido en número de
líneas y columnas de texto. Existen modelos de una, dos y cuatro filas
únicamente. El número de columnas típico es de ocho, dieciséis, veinte y
cuarenta caracteres.
http://images.google.com.ar/imgres?imgurl=http://www.acroname.com/robotics/parts/R
272-LCD03.jpg&imgrefurl=http://www.acroname.com/robotics
80
El LCD estará conectado al microcontrolador, la distribución de pines para la
conexión se muestra en la figura 48, el display puede ser controlado con 5v a
15 v, en este caso será controlado por 5 v al igual que el controlador y el
teclado los cuales provendrán de la fuente de computador.
http://pdf1.alldatasheet.net/datasheet-pdf/view/97781/OPTREX/DMC20481NY-LY-AGE.html
81
en esta pantalla se verá el mensaje de bienvenida, día hora y fecha,
temperatura, tiempo de vida de la silica, el estado de las luces y el estado de
las puertas.
82
Foto 9. Sub menú A 2
Para salir de cualquier sub-menú al igual que para cancelar alguna opción se
utilizará la tecla del asterisco y así se puede acceder al menú principal. Al
seleccionar la tecla B, se obtendrá nueva mente un sub – menú que en esta
oportunidad será para opciones como fecha y hora y el estado de la silica, las
siguientes son las imágenes que se obtendrán:
Foto10. Menu B.
83
Cada opción seleccionada generará una nueva pantalla que tendrá la opción
para modificar, aceptar y borrar.
Para finalizar con las opciones en pantalla se tiene el menú al que se accede
mediante presión la tecla D, con la cual se mostrara un sub menú del estado de
las luces seleccionando entre prendidas y apagadas esto se puede ver
gráficamente en la siguiente pantalla.
• Flip-Flop RS15
Tiene tres entradas, S (de inicio), R (reinicio o borrado) y C (para reloj), Tiene
una salida Q, y a veces también una salida complementada, Hay un pequeño
triángulo enfrente de la letra C, para designar una entrada dinámica. El símbolo
indicador dinámico denota el hecho de que el flip-flop responde a una transición
positiva (de 0 a 1) de la señal de reloj.
Q = S + q R*
RS=0
15
http://www.monografias.com/trabajos14/flipflop/flipflop.shtml (Mayo 22)
84
Figura 49. Flip Flor RS
Operación del flip-flop: Si no hay una señal en la entrada del reloj C, la salida
del circuito no puede cambiar independientemente de cuáles sean los valores
de entrada de S y R. Sólo cuando la señal de reloj cambia de 0 a 1 puede la
salida afectarse de acuerdo con los valores de la entrada S y R. Si S = 1 y R =
0 cuando C cambia de 0 a 1, la salida Q se inicia en 1. Si S = 0 y R = 1 cuando
C cambia de 0 a 1 la salida Q se reinicia o borra en 0. Si tanto S como R son 0
durante la transición de reloj, la salida no cambia. Cuando tanto S como R son
iguales a 1, la salida es impredecible y puede ser 0 o 1 dependiendo de los
retrasos internos de tiempo que ocurran dentro del circuito.
85
6.8 MICROCONTROLADOR Y DS1307
otro de los integrados que tiene gran relevancia es el DS1307, con el cual se
86
Figura 51. PIC 16f877A
http://derbytimer.com/diy/images/PIC16F877A_sm.gif
87
Figura 52. Diagrama de bloques del microcontrolador 16f877A
http://webelektronik.com/tr/images/stories/pic/877a_blockdiagram.gif
88
Figura 53. Microcontrolador PIC 16f877A
Ver ANEXOS E
6.8.2 DS1307
89
http://www.paytvcards.com/poze/ds1307.gif
http://www.futurlec.com/Dallas/DS1307.gif
90
.Tabla 3. Registros de programación del RTC DS1307
Este integrado permitirá que el panel de control tenga un calendario propio que
el usuario podrá acceder mediante opciones de teclado y también tendrá un
ámbito visual para conocimiento del público.
VER ANEXO G
91
Fig 56. Circuito impreso controlador
92
6.10 DIAGRAMA DE FLUJO
6.10.1PROGRAMAPRINCIPAL
INICIO
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
93
1
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
94
2
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
95
3
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
96
4
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
97
5
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
98
6
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
99
7
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
100
8
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
101
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
102
Teclado principal
10
10
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
103
Teclado principal
11
11
Rota
Recupera
Se demora 200ms
Demora
Teclado principal
Rota
Recupera
Se demora 200ms
Demora
104
Teclado principal
Retorna
6. 10.2 Rutinas.
Rota
Salto de pag
Leer dato 1: 19
Dato=posicion-1
No
Subrutina=1
si
rutina
105
106
ROTA
Control
Lee registro
.Reg=20
Dato
Reg - 1
Control
Dato - 1
107
DEMORA
W Æ Tiempo 1
Nop = 1us
;nop, 7 veces antes de continuar
Tiem1 -1 = res1
Res1 Æ timp1
Tiemp1 = 0
NO
SI
Tiemp2 -1 = res2
Res2 Æ tiemp2
Tiemp 2= 0
NO
SI
Tiemp2 -1 = res2
Rutina
108
109
2
Renglon 2
Control
Reloj
Renglon 3.
Lee registro
Limpia
control
Demora
Visualiza mensaje
Temperatura y Presión
110
111
Limite
Limpia registros
Dec – Cen -- Uni
0xa5 Æ W
Control
Visualiza Dec
Dato
Visualiza Cen
Dato
Visualiza Uni
Dato
112
Conversor A/D
Lee Temperatura
Configura Puerto A
A1 Æ Entrada
Lee A1
NO
Comv = 0
Si
A1 Æ W
Guarda en
Temporal
113
114
Dec --- Cent --- Uni
Uni Æ W
Limpia Registro
100 Æ W
No
Carry = 1
Si
Cent + 1
Cien Æ Uni
10 Æ W
W Æ Uni
Carry = 1
12
115
12
Cien + 1
Uni
Registro + 30 h
Guarda Registro
Return
Control
RS = 0
Enviar
Return
116
Dato
RS = 1
Dato Æ Portc
Demora
Unable = 1
Demora
Unable = 0
Demora
Return
117
118
Teclado
Limpia Puerto
Lee Teclado
A=1
Tecla_a
A=1 No
Si
Tecla_a
No
B=1
Si
Tecla_b
No
D=1
Si
Tecla d
13
119
13
255 Æ W
W-1
No
W=0
Si
Go to Principal
120
7. COSTOS
121
70 Terminales Aislados H-M $ 250 $ 17.500
1 Metro riel Omega $ 3.500 $ 3.500
1 Taco 20A MC $ 5.000 $ 5.000
2 Baquelas Universal $ 2.400 $ 4.800
1 Lcd 2*20 Azul $ 33.000 $ 33.000
1 Teclado $ 10.000 $ 10.000
1 Pic 16 F 877 $ 12.000 $ 12.000
1 Base 4 pines $ 500 $ 500
1 regulador de fuente 7812 $ 10.000 $ 10.000
1 regulador de fuente 7805 $ 10.000 $ 10.000
2 Bases Heaver $ 5.000 $ 10.000
Transmisor de presión
1 Danfoss $ 403.448 $ 403.448
Terminales de cobre $ 4.000 $ 4.000
20 Tornillos 8*3/4 $ 50 $ 1.000
40 Tornillos T 5/32 $ 50 $ 2.000
20 Tornillos T 5/32 $ 100 $ 2.000
1 Sensor de presión 100 psi $ 360.000 360000
1 Sensor de presión 100 psi $ 468000 468000
TOTAL $ 1.607.878
122
8. RECOMENDACIONES Y CONCLUSIONES.
8.1 Conclusiones.
cuenta, las que son fundamentales para el desempeño del equipo y sus
variedad de puertos, entre los cuales tenemos I2C, el cual nos permitió
controlador del mismo tipo , un poco más pequeño, este, nos otorgó la
teclado y display.
123
• Durante el proceso de implementación de los sensores se presentaron
8.2 Recomendaciones.
a cada equipo.
124
• Se recomienda no manipular el circuito eléctrico del controlador, sin
vida útil.
diversos dispositivos.
125
BIBLIOGRAFIA
126
WEBBIBLIOGRAFÍA
www.minambiente.gov.co/prensa/gacetas/2005/junio/res0702_070605.p
df
127
ANEXOS ACERCA DE ESTE MANUAL
PRECAUCIÓN CARACTERISTICAS
• No permita que esta unidad este en contacto con 1. Temperatura: se puede observar y controlar la
líquidos, ya que ello puede producir un descarga temperatura de su equipo, según sus deseos y
eléctrica. Además el contacto con líquidos puede necesidades.
causar daño total de la unidad. Humo y Nota: se recomienda utilizar un rango de 0º a 15º
recalentamiento.
• Conserve este manual a mano para que pueda 2. Luces: Esta unidad le permite tomar la decisión sobre
consultar los procedimientos de operación y las el encendido y tiempo de uso de las luces de su
precauciones cuando sea necesario. equipo.
• Nunca presione ni sujete el display y los botones con 3. Hora y Fecha: este dispositivo le permite tener
fuerza excesiva al extraer o colocar visualización de la hora y fecha como también
• Si esta unidad no funciona correctamente, configurarla en año, mes, día, día de la semana, hora
comuníquese con su asesor o vendedor para recibir y minutos.
asistencia técnica
128
4. Apagado: ahora esta a su alcance apagar su equipo Aquí podrá observar continuamente, las características y
cuando lo desee, sin tener que desconectar su variables de su equipo y las funciones que podrá ir
equipo. manejando a través del menú.
5. Silica en las puertas: estas perdiendo humedades tu
equipo y tus puertas tiendes a empañarse, ahora ** Lea “FUNCIONES BÁSICAS”. Para conocer las
podrás conocer el tiempo de vida de la silica de las diferentes visuales.
puertas y sabrás cuando debes cambiarlas antes de
volver a tener este inconveniente.
6. Presión: se puede ver continuamente la presión
existente en su refrigerador, y de esta tanto alta
como baja. Teniendo conocimiento visual de su
desempeño.
7. Estado de las puertas: si aquí tendrá una alarma
sonora y visual del estado de su equipo, avisándole
de descuidos y también impidiendo futuras
complicaciones como el descongelamiento de sus TECLADO.
productos que produce un daño en las funciones de
su equipo y en su desempeño. Esta alarma será
sonora y visual.
8. Panel de Control: este panel le permitirá un menú
completo para el control de su equipo según sus
necesidades, dando le conocimiento visual del
estado.
129
Botón B Botones 0 -9
Este botón hace parte del menú con el cual podrá Utilice estos botones para ajustar los valores deseados
establecer fecha y hora. para cada variable como la temperatura o según
indicaciones del menú.
Botón C
FUNCIONES BASICAS
Esta opción es solo de uso del ingeniero para funciones
de programación. Las siguientes serán las funciones básicas del
controlador, como acceder a ellas y su despliegue
Botón D visual.
Este botón hace parte del menú con el cual podrá PANTALLA PRINCIPAL: La siguiente imagen es la
controlar el encendido y apagado de las luces. imagen de la pantalla principal donde podrá observar las
diferentes variables del equipo.
Botón #
Botón +
130
• Mensaje de bienvenida que se desplaza
continuamente
• Fecha y hora
• Temperatura TEMPERATURA ACTUAL
• Tiempo de vida de la silica 04
• Estado de las luces TEMPERATURA DESEADA
• Estado de las puertas. ██ # -- *
PRESIONES
ALTA: 000 PSI
1. TEMPERATURA
BAJA: 000 PSI
2. PRESIONES
PRESIONE * PARA SALIR
131
EQUIPO DE REFRIGERACIÓN CONF. DIA DE SEMANA
FECHA Y HORA LUNES: 1 MART: 2 MIERC:3
JUEVES: 4 VIERNES: 5
PRESIONE # CAMBIAR SABADO: 6 DOMINGO: 7
MES
CONF. FECHA Y HORA
00
ANO: 1 MES: 2 DIA SEM: 3
SELECCIONE MES
DIA: 4 HORA: 5 MINUTOS: 6
SILICA: 7 SELECCIONAR: *
132
LUCES
1. APAGAR
2. PRENDER
SELECCIONE UNA OPCION Y #
133
ANEXO B. Líneas de código del controlador. (MPLAB)
LIST P=16F877A mayor
contador_teclado2
#INCLUDE<P16F877A.INC>
año
mes
dia
hora
min
trisa equ 0x85 seg
trisb equ 0x86
trisc equ 0x87 rel
diasem
trisd equ 0x88 Año ; Guarda el
trise equ 0x89 año.
porta equ 0x05 Mes ; Guarda el
portb equ 0x06 mes.
portc equ 0x07 Dia ; Guarda el
portd equ 0x08 día.
porte equ 0x09 DiaSemana ; Guarda el
estado equ 0x03 día de la semana: lunes, etc.
pcl equ 0x02 Hora ; Guarda las
adcon0 equ 0x1F horas.
adcon1 equ 0x9F Minuto ; Guarda los
adresh equ 0x1E minutos.
adresl equ 0x9E Segundo ; Guarda los
DS1307_DireccionEscritura EQU 0xD0 ; segundos.
Dirección del DS1307. I2C_ContadorBits ; Cuenta los bits a
DS1307_DireccionLectura EQU 0xD1 transmitir o a recibir.
cblock 0x20 I2C_Dato ; Dato a transmitir o
cont recibido.
temporal_menu_b I2C_Flags ; Guarda la
caracteres_por_linea información del estado del bus I2C.
d1 endc
d2
d3
d4
d5
d6 #DEFINE I2C_UltimoByteLeer
d7 I2C_Flags,0
d8 ; - (I2C_UltimoByteLeer)=0, NO es el último byte a
d9 leer por el maestro.
d10 ; - (I2C_UltimoByteLeer)=1, SÍ es el último byte a
d11 leer por el maestro.
d12
d13 ; La definición de las líneas SCL y SDA del bus I2C se
d14 puede cambiar según las
d15 ; necesidades del hardware.
d16
d17 #DEFINE SCL PORTD,3 ;
d18 Línea SCL del bus I2C.
d19 #DEFINE SDA PORTD,2 ;
d20 Línea SDA del bus I2C.
cuenta_temp
cuenta_salir_standby
letra
temporal #define lcd portc
temporal1 #define teclado portb
temporal_pres_hi #define rs
temporal_pres_lo portd,1
uni #define e
dec portd,0
cen #define cero estado,2
auxiliar #define carry estado,0
tiempo1 #define adgo adcon0,2
tiempo2 #define rele portd,5
contador_teclado ;cambiar
limite
134
movwf d12
org 00 movwf d13
movwf d14
movwf d15
movwf d16
movwf d17
bsf estado,5 movwf d18
clrf trise movwf d19
clrf trisd movwf d20
clrf trisc
movlw b'11111111' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; pantalla
movwf trisa
movlw b'11110000'
movwf trisb aqui
bcf estado,5
movlw d'5' call renglon3
movwf limite call lee_temp
call renglon4
movlw b'00000001' ;Limpia la call muestra_limite
pantalla y pone cursor en posición inicial ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
call control
movlw d'2'
call demora ;linea1 en movimiento
movlw b'00111000'
;Comunicación con el LCD a ocho bits -
call control inicio
movlw d'2'
call demora ;Demora 2ms
movlw b'00000110' ;Mensaje pagesel led1
estático, se desplaza el cursor hacia la derecha call led1
call control
movlw d'2' call rota
call demora ;Demora 2ms movlw "*"
movlw b'00001100' ;Enciende el call recuperar
display - Oculta el cursor - Caracter fijo movlw d'200'
call control call demora
movlw d'2' call leereloj
call demora ;Demora 2ms
call teclado_principal
clrf temporal
call rota
call reloj movlw "*"
movwf d2
lineain call recuperar
movlw d'200'
call demora
movlw b'00000001' ;Limpia la
pantalla y pone cursor en posición inicial call teclado_principal
call control
movlw d'2' call rota
call demora ;Demora 2ms movlw ""
movwf d20
call recuperar
movlw d'200'
call demora
movlw ""
movwf d1 call teclado_principal
movwf d2
movwf d3 call rota
movwf d4 movlw "E"
movwf d5 movwf d20
movwf d6 call recuperar
movwf d7 movlw d'200'
movwf d8 call demora
movwf d9
movwf d10 call teclado_principal
movwf d11
135
call rota
movlw "Q" call teclado_principal
movwf d20
call recuperar call rota
movlw d'200' movlw "N"
call demora movwf d20
call recuperar
call teclado_principal movlw d'200'
call demora
call rota
movlw "U" call teclado_principal
movwf d20
call recuperar call rota
movlw d'200' movlw "D"
call demora movwf d20
call recuperar
call teclado_principal movlw d'200'
call demora
call rota
movlw "I" call teclado_principal
movwf d20
call recuperar call rota
movlw d'200' movlw "U"
call demora movwf d20
call recuperar
call teclado_principal movlw d'200'
call demora
call rota
movlw "P" call teclado_principal
movwf d20
call recuperar call rota
movlw d'200' movlw "S"
call demora movwf d20
call recuperar
call teclado_principal movlw d'200'
call demora
call rota
movlw "O" call teclado_principal
movwf d20
call recuperar call rota
movlw d'200' movlw "T"
call demora movwf d20
call recuperar
call teclado_principal movlw d'200'
call demora
call rota
movlw "S" call teclado_principal
movwf d20
call recuperar call rota
movlw d'200' movlw "R"
call demora movwf d20
call recuperar
call teclado_principal movlw d'200'
call demora
call rota
movlw "" call teclado_principal
movwf d20
call recuperar call rota
movlw d'200' movlw "I"
call demora movwf d20
call recuperar
call teclado_principal movlw d'200'
call demora
call rota
movlw "I" call teclado_principal
movwf d20
call recuperar call rota
movlw d'200' movlw "A"
call demora movwf d20
136
call recuperar
movlw d'200' call rota
call demora movlw ""
movwf d20
call teclado_principal call recuperar
movlw d'200'
call rota call demora
movlw "L"
movwf d20 call teclado_principal
call recuperar
movlw d'200' call lee_temp ;lee
call demora temperatura y muestra
call leereloj
call teclado_principal
goto inicio
call rota
movlw "E"
movwf d20 rota
call recuperar ;pagesel led1
movlw d'200' ;call led1
call demora
movf d2,0
call teclado_principal movwf d1
call rota
movlw "S" movf d3,0
movwf d20 movwf d2
call recuperar
movlw d'200' movf d4,0
call demora movwf d3
137
movf d12,0
movf d18,0 call dato
movwf d17
movlw 0x8a
movf d19,0 call control
movwf d18
movf d11,0
movf d20,0 call dato
movwf d19
movlw 0x89
call control
return
movf d10,0
call dato
recuperar
movlw 0x88
call control
138
call dato
movlw ""
return call dato
movlw ""
call dato
;**************************************** movlw ""
call dato
movlw "L"
;tiempo call dato
movlw "I"
demora call dato
movwf tiempo2 ;Demora movlw "M"
tantos milisegundos como valor en w call dato
TOP2 movlw "I"
movlw d'110' call dato
movwf tiempo1 movlw "T"
TOP1 nop call dato
nop movlw "E"
nop call dato
nop movlw ":"
nop call dato
nop movlw ""
decfsz tiempo1, 1 call dato
goto TOP1 movlw ""
decfsz tiempo2, 1 call dato
goto TOP2 movlw ""
return call dato
return
;*************************************************************
*********
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; renglon4
139
call dato ;************************************************
movlw ""
call dato aislando_numero_binario
movlw ""
call dato bit7
movlw ""
call dato bsf estado,5
return btfss adresl,7
goto correr0
goto correr1
muestra_limite
bit6
clrf dec
clrf cen bsf estado,5
clrf uni btfss adresl,6
goto correr00
movf limite,0 goto correr11
call decimal
;********************************************************
;A/D CONVERSOR correr00
sigue
bsf adgo ;Inicia la
conversión A/D movlw d'24'
btfsc adgo ;Espera que subwf temporal,1
termine de convertir
goto $ -1
movf limite, 0 ;Punto de
desactivación -> W
movf adresh,0 ;Resultado de subwf temporal,0 ;W = Temp.
conversión -> W Actual - (Mayor)
btfsc carry
bsf rele ;Si
dio positivo (si carry = 1) desactiva el relé
movwf temporal ;Guarda el
dato obtenido de ADRESL en el buffer temporal movf limite, 0 ;Punto de desactivación
-> W
subwf temporal, 0 ;W = Temp.
Actual - (Mayor)
140
btfss carry ;Si dio dato
negativo es porque aún no alcanzó la temp. de bsf rs ;pone en alto
desactivación la línea de modo del lcd (dato)
bcf rele enviar
movwf portc ;coloca el
movf temporal, 0 ;Dato dato o control a enviar en el bus del lcd
digitalizado -> W movlw d'1'
call decimal call demora ;demora 1ms
bsf e ;habilita el lcd
movlw d'1'
movlw 0x99 ;Coloca el call demora ;demora 1ms
cursor en la posición 99h de la pantalla. bcf e ;deshabilita el
call control lcd
movlw d'1'
movf cen, 0 ;Coloca en el call demora ;demora 1ms
LCD las centenas return
call dato
movf dec, 0 ;Coloca las
decenas ;*************************************************************
call dato ****
movf uni, 0 ;Coloca las ;teclado
unidades
call dato teclado_principal
;********************************************
;comienza secuencia comandos letra A
control
bcf rs ;pone en bajo
la línea de modo del lcd (control) tecla_a
goto enviar ;se saltea la
sig. línea
141
movlw b'00000001' ;Limpia la movlw "P"
pantalla y pone cursor en posición inicial call dato
call control movlw "R"
movlw d'2' call dato
call demora ;Demora 2ms movlw "E"
call dato
movlw 0xc0 movlw "S"
call control call dato
movlw "I"
call dato
movlw "" movlw "O"
call dato call dato
movlw "" movlw "N"
call dato call dato
movlw "" movlw ""
call dato call dato
movlw "1" movlw ""
call dato call dato
movlw ":" movlw ""
call dato call dato
movlw "T" movlw ""
call dato call dato
movlw "E" movlw ""
call dato call dato
movlw "M" movlw ""
call dato call dato
movlw "P" movlw ""
call dato call dato
movlw "E" movlw ""
call dato call dato
movlw "R"
call dato goto teclado_numeros_menu_A
movlw "A"
call dato
movlw "T"
call dato
movlw "U" ;************************************************************
call dato ;si presiona A1 utiliza estas subrutinas para el teclado
movlw "R"
call dato
movlw "A" teclado_numeros_menu_A
call dato
movlw "" movlw d'250'
call dato movwf cuenta_salir_standby
movlw ""
call dato teclado_1_menu_A
movlw ""
call dato
movlw "" call demora
call dato decfsz cuenta_salir_standby,1
;si pasa un tiempo determinado y no se
; return presiona nada vuelve a stand by
goto tec
goto lineain
movlw 0x94
call control tec
bsf portb,3
movlw "" bcf portb,2
call dato bsf portb,1
movlw "" bsf portb,0
call dato
movlw "" btfss portb,4
call dato goto teclado_numeros_menu_A
movlw "2"
call dato btfss portb,5
movlw ":" goto teclado_numeros_menu_A
call dato
142
btfss portb,6 call dato
goto teclado_numeros_menu_A movlw "P"
call dato
btfss portb,7 movlw "E"
goto teclado_numeros_menu_A call dato
; movlw "R"
bsf portb,3 call dato
bsf portb,2 movlw "A"
bcf portb,1 call dato
bsf portb,0 movlw "T"
call dato
btfss portb,4 movlw "U"
goto dos_menu_A call dato
movlw "R"
btfss portb,5 call dato
goto teclado_numeros_menu_A movlw "A"
call dato
btfss portb,6 movlw ""
goto teclado_numeros_menu_A call dato
movlw "A"
btfss portb,7 call dato
goto teclado_numeros_menu_A movlw "C"
; call dato
bsf portb,3 movlw "T"
bsf portb,2 call dato
bsf portb,1 movlw "U"
bcf portb,0 call dato
movlw "A"
btfss portb,4 call dato
goto uno_menu_A movlw "L"
call dato
btfss portb,5 movlw ""
goto teclado_numeros_menu_A call dato
btfss portb,6
goto teclado_numeros_menu_A
movlw 0x94
btfss portb,7 call control
goto lineain ;para
cancelar
movlw ""
goto teclado_1_menu_A call dato
movlw ""
call dato
;***************************************************** movlw ""
call dato
movlw "T"
uno_menu_A call dato
movlw "E"
btfss portb,4 call dato
goto $-1 movlw "M"
call dato
movlw b'00000001' ;Limpia la movlw "P"
pantalla y pone cursor en posición inicial call dato
call control movlw ""
movlw d'2' call dato
call demora ;Demora 2ms movlw "R"
call dato
movlw 0x80 movlw "E"
call control call dato
movlw "Q"
call dato
movlw "" movlw "U"
call dato call dato
movlw "T" movlw "E"
call dato call dato
movlw "E" movlw "R"
call dato call dato
movlw "M" movlw "I"
143
call dato rlf temporal,1
movlw "D"
call dato goto bit61
movlw "A"
call dato correr12
movlw ""
call dato bcf estado,5
movlw "" bsf carry
call dato rlf temporal,1
movlw ""
call dato goto bit61
;call convertir
correr001
call teclado_numeros_temp_requerida
bcf estado,5
bcf carry
rlf temporal,1
convertir ;solo para mostrar
goto continua
bsf estado,5
movlw b'01000000' correr111
movwf adcon1
bcf estado,5 bcf estado,5
bsf carry
movlw b'00000001' ;Configura los rlf temporal,1
pines del Puerto A
movwf adcon0
continua
movlw d'24'
bsf adgo ;Inicia la subwf temporal,1
conversión A/D
btfsc adgo ;Espera que
termine de convertir movf temporal, 0 ;Dato
goto $ -1 digitalizado -> W
call decimal
correr01 por_borrar
144
movlw 0xdc goto uno
call control
btfss portb,5
movlw d'3' goto cuatro
movwf contador_teclado
btfss portb,6
clrf contador_teclado2 goto siete
teclado_temp_requerida
decfsz cuenta_salir_standby,1
;si pasa un tiempo determinado y no se ;*******************************************************
presiona nada vuelve a stand by ;numeros temp requerida
goto tec2
goto lineain Cero
btfss portb,7
goto $-1
tec2
suma1
bsf portb,3
bsf portb,2 decfsz contador_teclado2,0
bsf portb,1 goto suma11
bcf portb,0
movlw d'9'
btfss portb,4 addwf limite
145
suma11
movlw b'00000001' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
addwf limite
addlw 0x30 cuatro
call dato
goto sin_contar btfss portb,5
goto $-1
movlw d'1'
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; addwf contador_teclado2
suma44
suma2 movlw b'00000100'
addwf limite
decfsz contador_teclado2,0 addlw 0x30
goto suma22 call dato
goto sin_contar
goto error1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
suma22 cinco
movlw b'00000010'
addwf limite btfss portb,5
addlw 0x30 goto $-1
call dato
goto sin_contar movlw d'1'
addwf contador_teclado2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
decfsz contador_teclado
goto suma5
tres goto aceptar
146
addwf contador_teclado2 decfsz contador_teclado
goto suma8
decfsz contador_teclado goto aceptar
goto suma6
goto aceptar
suma8
suma88
goto error1 movlw b'00001000'
addwf limite
suma66 addlw 0x30
movlw b'00000110' call dato
addwf limite goto sin_contar
addlw 0x30
call dato ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
goto sin_contar
nueve
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
btfss portb,6
goto $-1
siete
movlw d'1'
btfss portb,6 addwf contador_teclado2
goto $-1
decfsz contador_teclado
goto suma9
goto aceptar
movlw d'1'
addwf contador_teclado2
goto error1
suma7
suma99
decfsz contador_teclado2,0 movlw b'00001001'
goto suma77 addwf limite
addlw 0x30
goto error1 call dato
goto sin_contar
suma77
movlw b'00000111' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
addwf limite
addlw 0x30 enter
call dato
goto sin_contar goto lineain
borrar
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
btfss portb,7
ocho goto $-1
147
movlw "" movlw "#"
call dato call dato
movlw 0xde movlw ""
call control call dato
movlw "" movlw "P"
call dato call dato
movlw "A"
goto por_borrar call dato
movlw "R"
call dato
;******************************************************* movlw "A"
aceptar call dato
movlw ""
movlw 0x80 call dato
call control movlw "A"
call dato
movlw "C"
movlw "" call dato
call dato movlw "E"
movlw "" call dato
call dato movlw "P"
movlw "" call dato
call dato movlw "T"
movlw "" call dato
call dato movlw "A"
movlw "" call dato
call dato movlw "R"
movlw "" call dato
call dato movlw ""
movlw "P" call dato
call dato movlw ""
movlw "R" call dato
call dato movlw ""
movlw "E" call dato
call dato
movlw "S"
call dato movlw 0x94
movlw "I" call control
call dato
movlw "O"
call dato movlw ""
movlw "N" call dato
call dato movlw ""
movlw "E" call dato
call dato movlw ""
movlw "" call dato
call dato movlw "*"
movlw "" call dato
call dato movlw ""
movlw "" call dato
call dato movlw "P"
movlw "" call dato
call dato movlw "A"
movlw "" call dato
call dato movlw "R"
movlw "" call dato
call dato movlw "A"
call dato
movlw ""
movlw 0xc0 call dato
call control movlw "C"
call dato
movlw "A"
movlw "" call dato
call dato movlw "N"
movlw "" call dato
call dato movlw "C"
movlw "" call dato
call dato movlw "E"
148
call dato btfss portb,4
movlw "L" goto teclado_aceptar
call dato
movlw "A" btfss portb,5
call dato goto teclado_aceptar
movlw "R"
call dato btfss portb,6
movlw "" goto teclado_aceptar
call dato
movlw "" btfss portb,7
call dato goto uno_menu_A
;borrar
movlw d'100'
movwf cuenta_salir_standby error1
titulo_error
teclado_aceptar1
movlw d'20'
call demora movwf cuenta_salir_standby
decfsz cuenta_salir_standby
;si pasa un tiempo determinado y no se
presiona nada vuelve a stand by titulo_error1
goto tec3
goto lineain
decfsz cuenta_salir_standby
tec3 ;si pasa un tiempo determinado y no se
presiona nada vuelve a stand by
bsf portb,3 goto err
bcf portb,2 goto uno_menu_A
bsf portb,1
bsf portb,0
149
movlw "" call dato
call dato movlw "O"
movlw "" call dato
call dato movlw "R"
movlw "" call dato
call dato movlw ""
movlw "" call dato
call dato movlw "D"
movlw "" call dato
call dato movlw "E"
movlw "" call dato
call dato movlw ""
call dato
movlw 0xC0 movlw "1"
call control call dato
movlw "9"
call dato
movlw "T" movlw ""
call dato call dato
movlw "E" movlw "G"
call dato call dato
movlw "M" movlw "R"
call dato call dato
movlw "P" movlw "A"
call dato call dato
movlw "E" movlw "D"
call dato call dato
movlw "R" movlw "O"
call dato call dato
movlw "A" movlw "S"
call dato call dato
movlw "T" movlw ""
call dato call dato
movlw "U"
call dato goto titulo_error1
movlw "R"
call dato ;termina rutinas para A1
movlw "A" ;*******************************************
call dato
movlw "" dos_menu_A ;condicionado a salir
call dato mediante el teclado
movlw "D"
call dato
movlw "E" movlw 0x80
call dato call control
movlw "B"
call dato movlw ""
movlw "E" call dato
call dato movlw ""
movlw "" call dato
call dato movlw ""
movlw "S" call dato
call dato movlw ""
movlw "E" call dato
call dato movlw ""
movlw "R" call dato
call dato movlw ""
call dato
movlw "P"
movlw 0x94 call dato
call control movlw "R"
call dato
movlw "" movlw "E"
call dato call dato
movlw "M" movlw "S"
call dato call dato
movlw "E" movlw "I"
call dato call dato
movlw "N" movlw "O"
150
call dato movlw ""
movlw "N" call dato
call dato movlw ""
movlw "E" call dato
call dato movlw ""
movlw "S" call dato
call dato movlw ""
movlw "" call dato
call dato movlw ""
movlw "" call dato
call dato movlw "B"
movlw "" call dato
call dato movlw "A"
movlw "" call dato
call dato movlw "J"
movlw "" call dato
call dato movlw "A"
call dato
movlw ":"
movlw 0xC0 call dato
call control movlw ""
call dato
movlw "" movlw ""
call dato call dato
movlw "" movlw ""
call dato call dato
movlw "" movlw ""
call dato call dato
movlw "" movlw ""
call dato call dato
movlw "" movlw ""
call dato call dato
movlw "" movlw ""
call dato call dato
movlw "A" movlw ""
call dato call dato
movlw "L" movlw ""
call dato call dato
movlw "T"
call dato
movlw "A" movlw 0xd4
call dato call control
movlw ":"
call dato movlw ""
movlw "" call dato
call dato movlw ""
movlw "" call dato
call dato movlw "P"
movlw "" call dato
call dato movlw "R"
movlw "" call dato
call dato movlw "E"
movlw "" call dato
call dato movlw "S"
movlw "" call dato
call dato movlw "I"
movlw "" call dato
call dato movlw "O"
movlw "" call dato
call dato movlw "N"
movlw "" call dato
call dato movlw "E"
call dato
movlw ""
movlw 0x94 call dato
call control movlw "*"
call dato
movlw "" movlw ""
call dato call dato
151
movlw "S" movwf temporal_pres_hi
call dato ;Guarda el dato obtenido de ADRESL en el
movlw "A" buffer temporal
call dato bcf carry
movlw "L" ;Limpia el CARRY
call dato btfsc adresh, 0 ;Mira el bit
movlw "I" menos significativo de ADRESH (Bit 8)
call dato bsf carry ;Si
movlw "R" está en 1 pone en uno el carry
call dato rrf temporal_pres_hi, 1 ;Hace
movlw "" desaparecer el bit 0 de ADRESL, mete el bit 0 de
call dato ADRESH por el 7 de ADRESL
movlw ""
call dato movf temporal_pres_hi, 0 ;Dato
digitalizado -> W
tec_pres call decimal
bsf portb,3
bsf portb,2 movlw 0xCC ;Coloca el
bsf portb,1 cursor en la posición 0Dh de la pantalla.
bcf portb,0 call control
152
movf temporal_pres_lo, 0 ;Dato call control
digitalizado -> W
call decimal btfss Hora,7
bcf hora,3
bsf hora,3
movlw 0xA0 ;Coloca el bcf Hora,7
cursor en la posición 0Dh de la pantalla. btfss Hora,6
call control bcf hora,2
bsf hora,2
movf cen, 0 ;Coloca en el bcf Hora,6
LCD las centenas btfss Hora,5
call dato bcf hora,1
movf dec, 0 ;Coloca las bsf hora,1
decenas bcf Hora,5
call dato btfss Hora,4
movf uni, 0 ;Coloca las bcf hora,0
unidades bsf hora,0
call dato bcf Hora,4
return
movf hora,W
;**************************************** call bcd
reloj addlw 0x30
call DS1307_Inicializa ; call dato
Configura la señal cuadrada que genera el DS1307 en
su pin SQW/OUT a 1 Hz. movf Hora,W
call DS1307_CargaInicial addlw 0x30
return call dato
leereloj
CALL DS1307_Lee movlw ":"
call dato
clrf min
;para poner en pantalla
;btfss Minuto,7
;bcf min,3
;bsf min,3
movlw 0xc1 bcf Minuto,7
call control bcf min,7
153
bcd movlw "M"
movwf auxiliar ; call dato
Guarda el valor del número a convertir.
andlw b'00001111' ; Se movlw "A"
queda con su parte baja. call dato
sublw .9 ;
Comprueba si pasa de nueve. movlw "R"
btfsc STATUS,C call dato
goto no_nueve
movlw .6 ; Sí goto dia1
lo ha superado, por tanto le suma 6.
addwf auxiliar,F Mie
no_nueve
movf auxiliar,W ; Retorna el movlw "M"
resultado en el registro (W). call dato
return
movlw "I"
ver call dato
movf dec,W
call dato movlw "E"
movf uni,W call dato
call dato
return goto dia1
;******************************************* Jue
;tablas del reloj
movlw "J"
call dato
DiasSemana
movlw "U"
decf diasem,F call dato
btfsc STATUS,Z
GOTO Lun movlw "E"
DECF diasem,F call dato
btfsc STATUS,Z
GOTO Mar goto dia1
DECF diasem,F
btfsc STATUS,Z Vie
GOTO Mie
DECF diasem,F movlw "V"
btfsc STATUS,Z call dato
GOTO Jue
DECF diasem,F movlw "I"
btfsc STATUS,Z call dato
GOTO Vie
DECF diasem,F movlw "E"
btfsc STATUS,Z call dato
GOTO Sab
DECF diasem,F goto dia1
btfsc STATUS,Z
GOTO Dom Sab
GOTO dia
movlw "S"
call dato
Lun
movlw "A"
movlw "L" call dato
call dato
movlw "B"
movlw "U" call dato
call dato
goto dia1
movlw "N"
call dato Dom
154
call dato pagesel dato
CALL dato
movlw "M"
call dato movlw "N"
pagesel dato
goto dia1 CALL dato
movlw "F"
pagesel dato
CALL dato
include <SUB.INC>
movlw "I"
pagesel dato
CALL dato
155
CALL dato pagesel dato
CALL dato
movlw "A"
pagesel dato movlw "A"
CALL dato pagesel dato
CALL dato
reng2
movlw ":"
movlw 0xc0 pagesel dato
pagesel control CALL dato
call control
movlw "3"
movlw "" pagesel dato
pagesel dato CALL dato
CALL dato
movlw ""
movlw "A" pagesel dato
pagesel dato CALL dato
CALL dato
movlw ""
movlw "Ñ" pagesel dato
pagesel dato CALL dato
CALL dato
156
movlw ""
movlw "" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "S"
movlw "H" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "I"
movlw "O" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "L"
movlw "R" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "I"
movlw "A" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "C"
movlw ":" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "A"
movlw "5" pagesel dato
pagesel dato CALL dato
CALL dato
movlw ":"
movlw "" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "7"
movlw "" pagesel dato
pagesel dato CALL dato
CALL dato
movlw ""
movlw "" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "E"
pagesel dato
CALL dato
reng4
movlw "s"
movlw 0xD4 pagesel dato
pagesel control CALL dato
call control
movlw "c"
movlw "M" pagesel dato
pagesel dato CALL dato
CALL dato
movlw ":"
movlw "I" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "*"
movlw "N" pagesel dato
pagesel dato CALL dato
CALL dato
movlw d'250'
movlw ":" pagesel demora
pagesel dato call demora
CALL dato
movlw "6"
pagesel dato tec_b_numeros
CALL dato
movlw d'250'
157
movwf cuenta_salir_standby lin
pagesel lineain
tec_b_1 goto lineain
pagesel demora
call demora
mod_año
decfsz cuenta_salir_standby,F
;si pasa un tiempo determinado y no se movlw 0x80
presiona nada vuelve a stand by pagesel control
goto tec_b call control
;goto lin
movlw "1"
tec_b pagesel dato
CALL dato
bsf portb,3
bcf portb,2 movlw "="
bsf portb,1 pagesel dato
bsf portb,0 CALL dato
btfss portb,7
goto tec_b_numeros movlw "2"
; pagesel dato
bsf portb,3 CALL dato
bsf portb,2
bcf portb,1 movlw "="
bsf portb,0 pagesel dato
CALL dato
btfss portb,4
goto mod_mes movlw "-"
pagesel dato
btfss portb,5 CALL dato
goto mod_hora
158
pagesel dato bcf portb,2
CALL dato bsf portb,1
bsf portb,0
movlw "r"
pagesel dato btfss portb,4
CALL dato goto tec_b_año
btfss portb,5
movlw 0xd4 goto tec_b_año
pagesel control
call control btfss portb,6
goto tec_b_año
btfss portb,7
goto lineain ;para
tec_b_año cancelar
tec_b_2
enter_guardar_año
pagesel demora
call demora movf temporal_menu_b,W
decfsz cuenta_salir_standby,1 movwf Año
;si pasa un tiempo determinado y no se goto tecla_b
presiona nada vuelve a stand by
goto tec_b_num menos_año
pagesel lineain
goto lineain decf temporal_menu_b,F
pagesel decimal
call decimal
tec_b_num
movlw 0xcb
bsf portb,3 pagesel control
159
call control
movlw "#"
movf dec,W pagesel dato
call dato CALL dato
movf uni,W
call dato movlw "="
goto tec_b_año pagesel dato
CALL dato
mas_año
movlw "E"
incf temporal_menu_b,W pagesel dato
pagesel decimal CALL dato
call decimal
movlw "n"
movlw 0xcb pagesel dato
pagesel control CALL dato
call control
movlw "t"
movf dec,W pagesel dato
call dato CALL dato
movf uni,W
call dato movlw "e"
goto tec_b_año pagesel dato
CALL dato
movlw "1"
pagesel dato movlw "*"
CALL dato pagesel dato
CALL dato
movlw "="
pagesel dato movlw "="
CALL dato pagesel dato
CALL dato
movlw "+"
pagesel dato movlw "E"
CALL dato pagesel dato
CALL dato
movlw "c"
movlw "2" pagesel dato
pagesel dato CALL dato
CALL dato
160
goto lineain ;para
tec_b_mes cancelar
161
mod_dia
movlw "1"
pagesel dato movlw "*"
CALL dato pagesel dato
CALL dato
movlw "="
pagesel dato movlw "="
CALL dato pagesel dato
CALL dato
movlw "+"
pagesel dato movlw "E"
CALL dato pagesel dato
CALL dato
movlw "c"
movlw "2" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "#"
pagesel dato tec_b_dia
CALL dato
movlw d'250'
movlw "=" movwf cuenta_salir_standby
pagesel dato
CALL dato tec_b_4
162
pagesel decimal
btfss portb,5 call decimal
goto tec_b_dia
movlw 0xcb
btfss portb,6 pagesel control
goto tec_b_dia call control
movf temporal_menu_b,W
163
movlw "2" pagesel dato
pagesel dato CALL dato
CALL dato
movlw "#"
pagesel dato tec_b_hora
CALL dato
movlw d'250'
movlw "=" movwf cuenta_salir_standby
pagesel dato
CALL dato tec_b_5
btfss portb,5
movlw 0xd4 goto tec_b_hora
pagesel control
call control btfss portb,6
goto tec_b_hora
164
btfss portb,7 sublw d'13'
goto tec_b_hora btfsc STATUS,Z
; call ah12
bsf portb,3
bsf portb,2 movf temporal_menu_b,W
bsf portb,1 pagesel decimal
bcf portb,0 call decimal
goto tec_b_5
mod_min
movlw 0x80
enter_guardar_hora pagesel control
call control
movf temporal_menu_b,W
movwf Hora movlw "1"
goto tecla_b pagesel dato
CALL dato
ahor
movlw d'12' movlw "="
movwf temporal_menu_b pagesel dato
CALL dato
menos_hora
movlw "+"
decf temporal_menu_b,F pagesel dato
movf temporal_menu_b,W CALL dato
sublw d'0'
btfsc STATUS,Z movlw 0xc0
call ahor pagesel control
call control
165
pagesel dato
CALL dato tec_b_6
btfss portb,5
movlw 0xd4 goto tec_b_min
pagesel control
call control btfss portb,6
goto tec_b_min
btfss portb,7
goto lineain ;para
tec_b_min cancelar
166
movlw "1"
a59 pagesel dato
movlw d'59' CALL dato
movwf temporal_menu_b
return movlw "="
pagesel dato
enter_guardar_min CALL dato
menos_min
movlw 0xc0
decf temporal_menu_b,F pagesel control
movf temporal_menu_b,W call control
sublw d'0'
btfsc STATUS,Z movlw "2"
call a59 pagesel dato
CALL dato
movf temporal_menu_b,W
pagesel decimal movlw "="
call decimal pagesel dato
CALL dato
movlw 0xcb
pagesel control movlw "-"
call control pagesel dato
CALL dato
movf dec,W
call dato
movf uni,W movlw 0x94
call dato pagesel control
goto tec_b_min call control
mas_min
movlw "#"
incf temporal_menu_b,F pagesel dato
movf temporal_menu_b,W CALL dato
167
movlw "*" btfss portb,7
pagesel dato goto enter_guardar_diasem
CALL dato ;
bsf portb,3
movlw "=" bsf portb,2
pagesel dato bcf portb,1
CALL dato bsf portb,0
btfss portb,7
goto lineain ;para
tec_b_diasem cancelar
tec_b_7
enter_guardar_diasem
pagesel demora
call demora movf temporal_menu_b,W
decfsz cuenta_salir_standby,1 movwf DiaSemana
;si pasa un tiempo determinado y no se goto tecla_b
presiona nada vuelve a stand by
goto tec_b_num_diasem seven
pagesel lineain movlw d'7'
goto lineain movwf temporal_menu_b
return
tec_b_num_diasem menos_diasem
168
pagesel control movlw d'50'
call control pagesel demora
call demora ; Durante este
movf dec,W tiempo.
call dato BCF porte,1
movf uni,W movlw d'50'
call dato pagesel demora
goto tec_b_diasem call demora ; Durante este
tiempo.
siet RETURN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
led
;INCLUDE <SUB1.INC>
BSF porte,2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
movlw d'50'
pagesel demora
call demora ; Durante este ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
tiempo.
BCF porte,2
movlw d'50'
pagesel demora
call demora ; Durante este
tiempo.
RETURN ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
end
led1
BSF porte,1
169
ANEXO C. Sensor de Alta
• Precisión: 0,5 % FS
• Ajuste de punto cero y de
sensibilidad
térmica (span)
• Marcado CE: con protección
CEM, de
acuerdo con las normas
establecidas en la
directiva de la UE relativa a
la
compatibilidad
electromagnética
• El material de la cubierta y
de las partes en
contacto con el medio son
de acero
inoxidable y resistente a los
ácidos (AISI
316L)
• Compensación de
temperatura y linealidad
calibradas por técnica láser
• Muchas diferentes
conexiones de presión
170
171
ANEXO E. 16F877A
PIC16F87XA
28/40-pin 8-Bit CMOS FLASH Microcontrollers
Microcontroller Core
Features:
• High-performance RISC CPU
• Only 35 single word
instructions to learn
• All single cycle instructions
except for program branches
which are two cycle
• Operating speed: DC - 20 MHz
clock input DC - 200 ns
instruction cycle
• Up to 8K x 14 words of FLASH
Program Memory, Up to 368 x 8
bytes of Data Memory (RAM)
Up to 256 x 8 bytes of EEPROM
data memory
• Pinout compatible to the
PIC16C73B/74B/76/
Interrupt capability (up to 14 Peripheral Features:
sources) • Timer0: 8-bit timer/counter with 8-bit
• Eight level deep hardware prescaler
stack • Timer1: 16-bit timer/counter with prescaler,
• Direct, indirect and relative can be incremented during sleep via external
addressing modes crystal/clock
• Power-on Reset (POR) • Timer2: 8-bit timer/counter with 8-bit period
• Power-up Timer (PWRT) and register, prescaler and postscaler
Oscillator Start-up Timer (OST) • Two Capture, Compare, PWM modules
• Watchdog Timer (WDT) with its - Capture is 16-bit, max. resolution is 12.5 ns
own on-chip RC oscillator for - Compare is 16-bit, max. resolution is 200 ns
reliable operation - PWM max. resolution is 10-bit
• Programmable code-protection • 10-bit multi-channel Analog-to-Digital
• Power saving SLEEP mode converter
• Selectable oscillator options • Synchronous Serial Port (SSP) with
• Low-power, high-speed CMOS SPI (Master
FLASH/EEPROM technology Mode) and I2C (Master/Slave)
• Fully static design • Universal Synchronous Asynchronous
• In-Circuit Serial Receiver
Programming (ICSP)via two Transmitter (USART/SCI) with 9-bit address
pins detection
• Single 5V In-Circuit Serial • Parallel Slave Port (PSP) 8-bits wide, with
P i bilit
172
Programming capability external RD, WR and CS controls (40/44-pin
• In-Circuit Debugging via two only)
pins • Brown-out detection circuitry for Brown-out
• Processor read/write access to Reset (BOR)
program memory
• Wide operating voltage range:
2.0V to 5.5V
• High Sink/Source Current: 25
mA
• Commercial and Industrial
temperature ranges
• Low-power consumption:
- < 2 mA typical @ 5V, 4 MHz
- 20 A typical @ 3V, 32 kHz
- < 1 A typical standby current
173
ANEXO F. Sensor de temperatura. LM35
• +1500mV = 150ºC
• +250mV = 25ºC
• -550mV = -55ºC
174
ANEXO G. DS1307
FEATURES
_ Real time clock counts seconds,
minutes,
hours, date of the month, month,
day of the
week, and year with leap year
compensation
valid up to 2100
_ 56 byte nonvolatile RAM for data
storage
_ 2-wire serial interface
_ Programmable squarewave
output signal
_ Automatic power-fail detect and
switch
circuitry
_ Consumes less than 500 nA in
battery backup PIN DESCRIPTION
mode with oscillator running VCC - Primary Power Supply
_ Optional industrial temperature X1, X2 - 32.768 kHz Crystal Connection
range VBAT - +3V Battery Input
-40°C to +85°C GND - Ground
_ Available in 8-pin DIP or SOIC SDA - Serial Data
_ Recognized by Underwriters SCL - Serial Clock
Laboratory SQW/OUT - Square wave/Output Driver
175
ANEXO H. CABLES
176
Los alambres y cables THHN/THWN 90 º C CENTELSA, cumplen y exceden los
exigentes requisitos de las normas UL 83, NTC-ICONTEC 1332, el Código
Eléctrico Colombiano NTC 2050 y el NEC (National Electrical Code).
Los cables y alambres con recubrimiento de PVC/Nylon 90 C son utilizados en
muchos países industrializados como Estados Unidos y Canadá, entre otros, por
sus múltiples ventajas de diseño e instalación
Los conductores eléctricos THHN/THWN 90 º C, con sus propiedades eléctricas,
mecánicas y físicas mejoradas y con la disminución de costos de instalación,
representan una nueva alternativa para todos los usuarios, sean ellos
instaladores independientes, empresas de ingeniería, compañías generadoras y
distribuidoras de energía, la industria petrolera y todas aquellas empresas que
requieran para su desarrollo un uso adecuado y eficiente de la energía eléctrica
177
Capacidad de Corriente
178
Se observa que para cualquier corriente, el menor calibre requerido siempre se
da en alambres THHN/THWN 90ºC, así mismo tiene menor costo
179
ANEXO I. Flip Flop
180
Diagrama functional:
181