Upload
adriana-savedra
View
53
Download
5
Embed Size (px)
Citation preview
Fundamento Teórico
8
CAPITULO II
FUNDAMENTO TEÓRICO
2.1 CONTROLADOR LÓGICO PROGRAMABLE (PLC)
PLC son las iniciales de Programmable Logic Controller, que traducido resulta
Controlador Lógico Programable . También se usa para nombrar a estos dispositivos
el término: Autómatas Programables .
Cualquier modificación en los procesos en una planta, significa recablear, agregar relés,
temporizadores, etc. en los tableros de mando y control. Esto implica largas paradas de
máquinas y a menudo los tableros quedan chicos para absorber los cambios. A fines de
la década del 60, consciente de estos problemas, la General Motor le encarga a sus
proveedores de controladores el diseño de equipos que cumplieran las siguientes
especificaciones:
• Flexibles: Los aparatos debían ser capaces de adaptarse a una gran variedad de
situaciones, incluso reutilizarse para otras máquinas. Esta flexibilidad pretendía ser
lograda mediante la programación.
• Estado Sólido: Los nuevos equipos debían estar realizados usando componentes
electrónicos.
• Ambiente: Debían poder soportar los ambientes industriales.
• Sencillos: Tanto la programación, como el mantenimiento y la instalación debían
estar a cargo del propio personal de la industria, ingenieros y técnicos, normalmente en
esa época sin conocimientos informáticos.
• Lógicos: Las funciones que debían gobernar eran del tipo on/off (todo/nada).
Fundamento Teórico
2.1.1 HISTORIA DEL PLC
El primer PLC apareció en 1968 y cumplía con los requerimientos mínimos de General
Motor, pero rápidamente aparecieron ventajas adicionales tales como: menor consumo
de energía, reducción de espacio en los tableros, rápido mantenimiento, etc.
En 1972 aparecieron equipos que ya se programaban usando esquemas de contactos
(Relay Ladder Logic), figura 2.1
diseñar los antiguos equipos cableados, por lo que resultaba fácil pasarse a la nueva
tecnología y ello popularizó más su uso.
En 1974 aparece el microprocesador,
el desarrollo de los PLC. Permitiéndo
mejorando su confiabilidad.
PLC apareció en 1968 y cumplía con los requerimientos mínimos de General
Motor, pero rápidamente aparecieron ventajas adicionales tales como: menor consumo
de energía, reducción de espacio en los tableros, rápido mantenimiento, etc.
Figura 2.1 Panel de Relés para control lógico
1972 aparecieron equipos que ya se programaban usando esquemas de contactos
, figura 2.1. Estos esquemas usaban los ingenieros y técnicos para
os antiguos equipos cableados, por lo que resultaba fácil pasarse a la nueva
tecnología y ello popularizó más su uso.
En 1974 aparece el microprocesador, figura 2.2, lo que provoca importantes avances en
arrollo de los PLC. Permitiéndo realizar tareas cada vez más complejas,
mejorando su confiabilidad.
Figura 2.2 PLC para control lógico
9
PLC apareció en 1968 y cumplía con los requerimientos mínimos de General
Motor, pero rápidamente aparecieron ventajas adicionales tales como: menor consumo
de energía, reducción de espacio en los tableros, rápido mantenimiento, etc.
1972 aparecieron equipos que ya se programaban usando esquemas de contactos
. Estos esquemas usaban los ingenieros y técnicos para
os antiguos equipos cableados, por lo que resultaba fácil pasarse a la nueva
lo que provoca importantes avances en
as cada vez más complejas,
Fundamento Teórico
10
En estos últimos años el crecimiento no se detuvo y entre los avances y características
más importantes de los PLC actuales, se destacan:
• Posibilidad de entradas y salidas analógicas.
• Memorias más potentes y más reducidas. Lo que permite programas más
extensos.
• Capacidad de realizar operaciones aritméticas más complejas.
• Posibilidad de comunicación entre PLCs y entre PLC y computadoras.
• Mayor velocidad en el procesamiento de los datos.
• Entradas y salidas remotas. Sensores y actuadores a gran distancia del
controlador.
• Nuevos lenguajes de programación.
• Aplicación de computadoras para su programación.
2.1.2 VENTAJAS DE LOS PLCs RESPECTO A LA LÓGICA CONVENCIONAL
Son muchas las ventajas que resaltan a simple vista el empleo de los PLCs para
automatizar sistemas, desde aplicaciones básicas hasta sistemas muy complejos.
Actualmente, su uso es tan difundido que ya no se requiere mucho análisis para decidir
que técnica emplear, si la lógica cableada en base a relés o la lógica programada en
base al PLC. Sin embargo, a continuación se fundamenta cada una de estas ventajas:
- Menor costo
Las razones que justifican una mayor economía a la alternativa del uso del PLC,
especialmente en aplicaciones complejas se da porque prescinde del uso de
dispositivos electromecánicos y electrónicos tales como: relés auxiliares,
Fundamento Teórico
11
temporizadores, algunos controladores, contadores, etc. Ya que estos
dispositivos simplemente deben ser programados en el PLC sin realizar una
inversión adicional. El costo que implica invertir en los equipos anteriormente
señalados, es muy superior al costo del PLC.
- Menor espacio
Un tablero de control que gobierna un sistema automático mediante un PLC, es
mucho más compacto que si se controlará con dispositivos convencionales
(relés, temporizadores, contadores, controladores, etc.) esto se debe a que el
PLC está en capacidad de asumir todas las funciones de control. La diferencia de
espacio se hace muy notable, cuando por medios convencionales se cuenta con
varios tableros de control.
- Confiabilidad
La probabilidad de que un PLC pueda fallar por razones de hardware es
insignificante, exceptuando errores humanos que puedan surgir en algunas
partes vulnerables (módulos de salida). Esto se debe como consecuencia que el
fabricante realiza un riguroso control de calidad, llegando al cliente un equipo en
las mejores condiciones; además dado que sus componentes son de estado
sólido con pocas partes mecánicas móviles, hacen que el equipo tenga una
elevada confiabilidad.
- Versatilidad
La versatilidad de estos equipos radica, en que es posible realizar grandes
modificaciones en el funcionamiento de un sistema automático, con sólo realizar
un nuevo programa y mínimos cambios de cableado. Además es importante
resaltar, que el tiempo empleado en realizar modificaciones comparado con la
técnica por la lógica cableada es significante.
- Poco mantenimiento
Estos equipos por su constitución de ser bastante compactos respecto a la
cantidad de trabajo que pueden realizar, y además, porque cuenta con muy
pocos componentes electromecánicos, no requiere un mantenimiento periódico,
Fundamento Teórico
12
sino lo necesario para mantener limpio y con sus terminales ajustados a los
bornes y puesta a tierra.
- Instalación sencilla
Debido a que el cableado de los dispositivos tanto de entrada como de salida se
realiza de la misma forma y de la manera más simple, además que no es
necesario mucho cableado, su instalación resulta sumamente sencilla en
comparación a la lógica convencional que requiere de conocimientos técnicos
avanzados.
- Compatibilidad con dispositivos sensores y actuad ores
Actualmente las normas establecen que los sistemas y equipos sean diseñados
bajo un modelo abierto, de tal manera que para el caso de los PLCs estos
puedan fácilmente conectarse con cualquier equipo sin importar la marca o
procedencia. Hoy en día, casi todas las marcas de PLCs están diseñadas bajo
este modelo.
- Integración en redes industriales
El avance acelerado de las comunicaciones ha conllevado a que estos equipos
tengan capacidad de comunicarse vía una red LAN entre ellos y otros equipos, y
de este modo trabajar en sistemas jerarquizados o distribuidos, permitiendo un
mejor trabajo en los niveles técnicos y administrativos de la planta.
- Detección de fallas
La detección de una falla resulta sencilla porque dispone de leds, indicadores de
diagnóstico tales como: estado de la CPU, batería, terminales de E/S, etc.,
Además, mediante el módulo de programación se puede acceder al modo
dinámico del programa en representación gráfica, o también recurrir a la memoria
de errores ubicada en la CPU
- Programación sencilla
Programar los PLCs resulta fácil por la sencilla razón que no es necesario
conocimientos avanzados en el manejo de PCs, solamente es suficiente
Fundamento Teórico
13
conceptos básicos. Por otro lado, existen diversas representaciones de
programación donde fácilmente el usuario se adopta a la representación que
mejor se familiariza. Sus instrucciones y comandos son transparentes y
entendibles, requiriendo poco tiempo para lograr ser un experto.
- Menor consumo de energía
Como es de conocimiento cualquier equipo electromecánico y electrónico
requiere un consumo de energía para su funcionamiento, siendo dicho consumo
representativo cuando se tiene una gran cantidad de ellos; sin embargo el
consumo del PLC es muy inferior, que en el tiempo se traduce en un ahorro
sustancial.
- Lugar de instalación
Por las características técnicas que representa en cuanto a los requisitos que
debe cumplir para su instalación, tales como: nivel de temperatura, humedad,
ruido, variaciones de tensión, distancias permisibles, etc. fácilmente se encuentra
un lugar en la planta donde instalarlo, aún en ambientes hostiles.
2.1.3 ARQUITECTURA DE UN PLC
2.1.3.1 ESTRUCTURA BÁSICA
Un controlador lógico programable está constituido por un conjunto de tarjetas o
circuitos impresos, sobre los cuales están ubicados componentes electrónicos
integrados. Cuando el controlador es del tipo modular, las diferentes tarjetas que tienen
funciones específicas, quedan alojadas en racks agrupadas convenientemente para un
funcionamiento en conjunto. Asimismo, todas las tarjetas están conectadas a través de
elementos de bus, que son circuitos por donde fluye la información y generalmente se
encuentran en la parte posterior. El controlador programable tiene la estructura típica de
muchos sistemas programables, como por ejemplo una microcomputadora. La
estructura básica del hardware de un controlador programable está constituido por:
Fundamento Teórico
14
- Fuente de alimentación
- Unidad de procesamiento central (CPU)
- Módulos o interfases de entrada/salida (E/S)
- Módulos de memoria
- Unidad de programación
En algunos casos el trabajo que debe realizar el controlador es más exigente, en estos
casos se incluyen:
Módulos inteligentes
La Figura 2.3. muestra un diagrama de bloques de la estructura básica de un
automatismo gobernado por un PLC, y a continuación se describen con mayor detalle
cada una de las partes de un PLC.
Sensores
PROCESO
Actuadores
Interfase de
entrada CPU Interfase
de salida
Unidad de programación
Dia
logo
H
ombr
e/M
áqui
PLC
Figura 2.3. Diagrama de bloques de un PLC gobernando un proceso
Dia
logo
H
ombr
e/M
áqui
na
Fundamento Teórico
15
2.1.3.2 FUENTE DE ALIMENTACIÓN
La función de la fuente de alimentación en un controlador,
figura 2.4, es suministrar la energía eléctrica a la CPU y
demás tarjetas según la configuración del PLC.
La fuente en una configuración modular por lo general ocupa
el primer lugar de izquierda a derecha en el bastidor central
de un PLC modular, y está diseñado a base de un conjunto de
componentes eléctricos y electrónicos; su principio de
funcionamiento es transformar la tensión alterna de la red en
continua, a niveles compatibles que garanticen el
funcionamiento del hardware del controlador programable.
Como valores de referencia se indican algunos niveles de
tensión suministrada por una fuente de alimentación de una
marca determinada.
+ 5V para alimentar a todas las tarjetas
+ 5.2 V para alimentar al programador
+ 24 V para los canales de lazo cerrado de corriente 20mA
Todas las fuentes están protegidas contra sobrecargas mediante fusibles, que muy
fácilmente pueden ser reemplazados en caso de una avería.
Los fabricantes de estos equipos, generalmente diseñan al PLC con diferentes
características en cuanto al nivel de tensión, y capacidad de corriente que puedan
suministrar. Cuando se elige la fuente apropiada dependerá básicamente de la
complejidad y magnitud del controlador para manejar un determinado número de
tarjetas de E/S, tarjetas de comunicación, etc. Por consiguiente, es importante antes de
seleccionar la potencia de la fuente, conocer la potencia de todas las tarjetas
involucradas y prever expansiones futuras, con este valor finalmente se seleccionará la
fuente para el controlador.
Figura 2.4 . Fuente de alimentación para un PLC
modular Simatic
Fundamento Teórico
16
2.1.3.3 UNIDAD DE PROCESAMIENTO CENTRAL (C.P.U.)
Es la parte más compleja e imprescindible del controlador programable, que en otros
términos podría considerarse el cerebro del controlador, figura 2.5.
La unidad central está diseñada a base de microprocesadores y memorias; contiene
una unidad de control, la memoria interna del programa RAM, temporizadores,
contadores, memorias internas del tipo relé, imágenes del proceso de E/S, etc. Su
misión es leer los estados de las señales de las entradas, ejecutar el programa de
control y gobernar las salidas, el procesamiento es permanente y a gran velocidad.
Otra de las funciones es, antes de la elaboración
del programa, depositar los estados de señal de
todas las entradas en una memoria denominada
imagen del proceso de entradas, y durante la
ejecución del programa, guardar los resultados
de las combinaciones en otra memoria
denominada imagen del proceso de salidas.
La CPU al igual que para las computadoras, se
pueden clasificar de acuerdo a la capacidad de
su memoria y las funciones que pueden realizar,
además de su velocidad de procesamiento. El
tiempo de lectura del programa está en función
del número y tipo de instrucciones, y por lo
general es del orden de los milisegundos, este
tiempo tan pequeño significa, que cualquier
modificación de estado en una entrada, genera
casi instantáneamente una señal de salida.
La mayoría de los fabricantes en sus
especificaciones técnicas, dan a conocer al
S5-95U
S5-115U
Figura 2.5. Unidad de Procesamiento Central familia Simatic
Fundamento Teórico
17
cliente la velocidad de procesamiento en unidades de milisegundos por Kbyte (ms/kb)
denominándolo el Scan time del procesador; lógicamente este parámetro dependerá del
tipo de instrucciones que contiene el programa, esto significa que es muy diferente
escanear operaciones del tipo binarias u operaciones del tipo palabras, en algunos
casos consideran porcentaje de cada uno de ellos para indicar el scan time.
Memoria
del usuario
Unidad lógica y aritmétic
a ALU
CPU
Memorias internas
Imágenes
del proceso IPE/IPS
Base
de datos
Memoria RAM
Memoria ROM sist. operativo
Módulos de memoria Bus periférico Canal serie
Unidad de Control
Figura 2.6. Diagrama de boques de las unidades funcionales de la CPU
2.1.3.4 MÓDULOS O INTERFASES DE ENTRADA Y SALIDA (E/S)
Los módulos de entrada o salida son los que proporcionan el vínculo entre la CPU del
controlador programable y los dispositivos de campo del sistema. A través de ellos se
origina el intercambio de información ya sea con la finalidad de la adquisición de datos o
la del mando para le control de máquinas del proceso.
Los módulos entrada, transforman las señales de entrada de procedencia y naturaleza
diversa que se transmiten hacia el controlador, a niveles permitidos por la CPU.
Mediante el uso de un acoplador óptico los módulos de entrada aíslan eléctricamente
de la sección lógica, protegiéndolo contra tensiones peligrosamente altos, ruidos
Fundamento Teórico
18
eléctricos y señales parásitas. Finalmente proporcionan el filtrado de las señales
procedentes de los diferentes captadores ubicados en las máquinas.
Los módulos de salida, permiten que la tensión llegue a los dispositivos de salida. Con
el uso del acoplador óptico y con un relé de impulso, se asegura el aislamiento de los
circuitos electrónicos del controlador, y se transmiten las órdenes hacia los captadores
de mando.
Debido a que existen una gran variedad de dispositivos exteriores (captadores y
actuadores), se encuentan diferentes tipos de módulos de entrada y salida, cada uno de
los cuales sirve para manejar cierto tipo de señal (discreto o análogo) a determinado
valor de tensión o corriente en DC o AC.
2.1.3.4.1 MÓDULOS DE ENTRADA DIGITAL
Se usan como interfase entre los dispositivos externos
denominados también captador y la CPU del PLC, figura 2.7.
Estos captadores son los encargados de la adquisición de
datos del sistema, que para este caso sólo son de tipo
discreto, además tiene la característica de comunicar dos
estados lógicos, activado o desactivado, o lo que es lo
mismo permitir el paso o no de la señal digital (1 ó 0). Los
captadores pueden ser del tipo manual (botones pulsadores,
conmutadores, selectores, etc.) o del tipo automático (finales
de carrera, detectores de proximidad inductivos o
capacitivos, interruptores de nivel, etc.).
Estos módulos están diseñados mediante una estructura de cuatro funciones
operacionales para el sistema del controlador, ellos son:
- Adquisición: Consiste en el cableado de los captadores desde la máquina o
proceso hacia el módulo de entrada.
S5, 8 entradas 24 V DC Figura 2.7. Módulo de
entrada Discreta, Simatic
Fundamento Teórico
19
- Acondicionamiento de la señal: Establece los niveles de tensión de entrada
de la máquina, a niveles lógicos convenientes, mediante resistencias limitadoras o,
puentes rectificadores para el caso en que la adquisición es en alterna.
- Señalización: Se disponen de lámparas indicadores (leds), que permiten la
función de diagnóstico más rápido. La tensión para el indicador puede provenir del
sistema o del mismo controlador.
- Aislamiento: Las señales son aisladas eléctricamente como físicamente
mediante dispositivos electrónicos opto-acopladores.
Todos los módulos tienen también circuitos de filtrado, que suprimen las señales
parásitas perjudiciales al funcionamiento del controlador. En la Figura 2.8, se presenta
los circuitos eléctricos equivalentes y elementales de los módulos de entrada digital
para DC y AC respectivamente. Ambos tipos de interfase tienen el mismo principio, a
diferencia de los de alterna que incluye una etapa previa de rectificación, allí se puede
visualizar las cuatro etapas operaciones empezando por la adquisición de la señal,
luego es acondicionada por un rectificador o resistencia limitadora, seguidamente es
señalizada mediante un led y acoplada ópticamente: observe también que cuenta con
una impedancia para el filtrado.
Es importante señalar, que la mayoría de fabricantes de controladores diseñan estos
módulos en varias alternativas, principalmente en: la cantidad de canales o terminales
de conexión que suponen, el nivel de tensión y la corriente que manejan, con el objetivo
de adaptar al controlador, las diferentes magnitudes de señales de los procesos
industriales, y de este modo más flexibles.
Fundamento Teórico
20
Sensor
Discreto
Resistencia
Limitadora
Opto
acoplador
Diodo de
señalización
Fuente
Externa
Filtro RC
Interfase DC
Al procesador
del PLC
Figura 2.8. a) Interfase para entrada digital en DC
Figura 2.8. b) Interfase para entrada digital en AC
2.1.3.4.2 MÓDULOS DE SALIDA DIGITAL
Al igual que los módulos de entrada digital, estos módulos se usan como interfases
entre la CPU del controlador programable y los dispositivos externos denominados
actuadores, en la que solo es necesario transmitirle dos estados lógicos, activado o
desactivado. Los actuadores que se conectan a estas interfases puedan ser:
contadores, relés, lámparas indicadoras, electroválvulas, displays, anunciadores, etc. La
estructura de estos módulos contempla también las cuatro funciones operacionales que
son:
Fundamento Teórico
21
- Terminación: Alambrado desde el módulo hacia los actuadores que se
encuentran cerca de la máquina o proceso.
- Acondicionamiento de la señal: Convierte las
señales provenientes de la CPU, de un nivel lógico a un
control de conexión y desconexión.
- Aislamiento: Las señales son aisladas mediante
dispositivos optoacopladores.
Existen de acuerdo a sus diseño, diversos tipos de
módulos de salida, donde cada uno de ellos se destaca
según el tipo de corriente que maneja. Así, los del tipo
transistor para corriente continua, mientras que los del
tipo triac y relé para corriente alterna.
2.1.3.4.2.1 MÓDULOS DE SALIDA DIGITAL TIPO TRANSISTOR
Su principio de funcionamiento es en base a transistores, lo que significa una
constitución íntegramente en estado sólido con características para trabajar en corriente
continua (DC) de larga vida útil y con bajo nivel de corriente, figura 2.10.
Receptor Discreto
Opto acoplador
Diodo de señalización
Fuente Externa
Interfase
Al procesador del PLC
Figura 2.10. Circuito equivalente de una interfase de salida digital en DC (tipo transistor)
S5, 8 entradas 24 V DC Figura 2.9. Módulo de entrada Digital, Simatic
Fundamento Teórico
22
2.1.3.4.2.2 MÓDULOS DE SALIDA DIGITAL TIPO TRIAC
Estas interfases funcionan mediante la conmutación de un Triac, figura 2.11, son
igualmente en estado sólido y se usan para manejar señales en corriente alterna.
Figura 2.11. Circuito equivalente de una interfase de salida digital en tipo TRIAC
2.1.3.4.2.3 MÓDULOS DE SALIDA DIGITAL TIPO RELÉ
Estos módulos a diferencia de los anteriores, están compuestos por dispositivos
electrónicos y un micro relé electromagnético de conmutación. Su campo de acción le
permite trabajar en AC y DC y con diferentes niveles de tensión, con la ventaja de
manejar corrientes más elevadas y con el inconveniente de una corta vida útil debido al
desgaste de la parte móvil de los contactos, figura 2.12.
Figura 2.12. Circuito equivalente de una interfase de salida digital en AC (Tipo Relé)
Fundamento Teórico
23
Durante su funcionamiento estos módulos se caracterizan respeto a los de estado
sólido, por el reconocible sonido de los contactos de conmutación que emiten los
microrelés.
2.1.3.4.3 MÓDULOS DE ENTRADA ANALÓGICA
Los módulos de entrada analógica son tarjetas electrónicas que tienen como función,
digitalizar las señales analógicas para que puedan ser procesadas por la CPU, figura
2.13. Estas señales analógicas que varían continuamente pueden ser magnitudes de
temperatura, presiones, tensiones, corrientes, etc.
Los módulos generalmente están constituidos por un convertidor análogo digital (ADC)
y un multiplexor. Además, a cada módulo según su diseño, pueden conectársele un
número determinado de sensores analógicos; a estos
terminales de conexión se los conoce como canales.
Existen tarjetas de 4, 8, 16 y 32 canales de entrada
analógica.
Por otro lado, el principio de funcionamiento consiste,
primero en la adquisición de la información analógica del
proceso vía los sensores de entrada, teniendo presente el
tipo de señal física que se desea procesar, así por ejemplo
una termocupla, que estaría conectada en cualquier canal
del módulo analógico.
El multiplexor hace las veces de conmutador para seleccionar un canal al cual está
conectado la señal analógica que se desea procesar, para luego transmitirlo al
convertidor análogo-digital (ADC). Este convertidor, a su vez se encargará de digitalizar
la señal que estará en función del nivel de la señal analógica que recibe; finalmente,
esta información es transmitida al controlador para ser depositada en una memoria
denominada imagen del proceso de entrada, para que pueda ser ingresada por el
programa del usuario.
Figura 2.13. Módulo de entrada Analógica, Simatic
Fundamento Teórico
24
Es importante señalar que cualquier magnitud analógica que se desea procesar vía los
módulos de entradas analógicas, tiene que estar representada por una señal de
tensión, corriente o resistencia, este trabajo es realizado por el mismo sensor o a través
de un transductor
Estos módulos se distinguen por el tipo de señal que reciben pudiendo ser de tensión
(V) o de corriente (mA), que se encuentran dentro de ciertos rangos estandarizados,
donde los más difundidos son:
- Señal de corriente: 0-20 mA, 4-20 mA, ±10 mA
- Señal de tensión: 0-10 V, 0-5 V, 0-2 V, ±10 V
La ventaja de trabajar con señales de corriente respecto a la de tensión, radica en que
no presenta los problemas del ruido eléctrico y la caída de tensión.
Por último, en lo que respecta a la calidad de la lectura de la información estos módulos
se caracterizan por dos parámetros importantes:
- La resolución, Se refiere a la cantidad de bits que utiliza el convertidor A/D,
para representar el valor analógico, lo que significa que a mayor número de bits
existirá mayor precisión. Las resoluciones típicas son de 8 y 16 bits.
- El tiempo de escrutinio, resulta obvio que si se realiza un mayor número de
muestreos en un mismo intervalo de tiempo, se reproduce la forma de onda de
un modo más preciso, Por lo tanto, es conveniente un menor tiempo de
escrutinio.
2.1.3.4.4 MÓDULOS DE SALIDA ANALÓGICA
Estos módulos son usados cuando se desea transmitir hacia los captadores análogos
señales de tensión o de corriente que varían continuamente, y están constituidos
básicamente por dispositivos multiplexores, convertidores digital-análogo (DAC), opto-
acopladores, etc.
Fundamento Teórico
25
Su principio de funcionamiento puede considerarse como
un proceso inverso al de los módulos de entrada analógica,
esto quiere decir que la información digital proveniente del
procesador ya elaborado por un programa del usuario, es
optoacoplado por estas interfases para asegurar una
separación galvánica; a continuación un multiplexor se
encarga de enviar los datos al convertidor digital analógico
(DAC) para su conversión a señal analógica, figura 2.14.
Estos módulos pueden tener uno o más, dependiendo de
la cantidad de canales de salida que tenga. Debe tenerse
presente también, que la uniformidad o regularidad de la señal analógica está
supeditada a la resolución del DAC, lo que significa que es importante en estos módulos
el nivel de resolución y el tiempo de respuesta.
Las señales analógicas de salida son de dos tipos, señales de corriente y señales de
tensión. Dentro de las estandarizadas se tienen:
- Señal de corriente: 0-20 mA, 4-20 mA, ±20 mA
- Señal de tensión: 0-10 V, ±10 V
2.1.3.5 MÓDULOS DE MEMORIA
Son dispositivos electrónicos enchufables en la CPU, destinados a guardar información
de manera provisional o permanente. Se cuenta con dos tipos de memorias, volátil
(RAM) y no volátil (EPROM y EEPROM), según requieran o no de energía eléctrica
para su conservación de la información.
La capacidad de memoria de estos módulos se diseña en diferentes tamaños. Las más
típicas son: 2, 4, 8, 16, 32, 64, 128, 256 Kb, y más, excepcionalmente.
Figura 2.14. Módulo de salida Analógica, Simatic
Fundamento Teórico
2.1.3.5.1 MEMORIA RAM (Random Access Memory)
RAM 64Kb
Figura 2.15.
Este tipo de memoria sirve para almacenar el programa del usuario durante su
elaboración y prueba, donde es posible modificarlo constantemente. El contenido de la
memoria RAM, ya sea la del módulo enchufable o la que posee la CPU, es
decir, su contenido se pierde si el suministro de energía proporcionado por la fuente de
alimentación se desconecta. Por consiguiente, para evitar perder la información ante
fallas de suministro, es necesario salvaguardarlo mediante una batería de larga
duración enchufable en la CPU, estas fuentes son disponibles por todos los tipos de
controladores y tienen una duración que varía entre 2 a 5 años, dependiendo del tipo de
CPU, figura 2.15. Es importante por consiguiente, que esta batería se mantenga en
perfectas condiciones durante todo el tiempo de funcionamiento del PLC.
2.1.3.5.2 MEMORIA EPROM (Enable Programmable Read Only Memory)
Es un Módulo de memoria enchufable del tipo
contenida se conserva aún cuando se pierde el suministro de energía. Se utiliza
normalmente para guardar programas definitivos ya probados y debidamente
depurados, además pueden ser transportados y utilizados en cualquier controla
su marca y tipo.
2.1.3.5.1 MEMORIA RAM (Random Access Memory)
RAM 64Kb RAM 32Kb
Figura 2.15. Módulo de memoria RAM, Simatic
Este tipo de memoria sirve para almacenar el programa del usuario durante su
elaboración y prueba, donde es posible modificarlo constantemente. El contenido de la
memoria RAM, ya sea la del módulo enchufable o la que posee la CPU, es
contenido se pierde si el suministro de energía proporcionado por la fuente de
se desconecta. Por consiguiente, para evitar perder la información ante
fallas de suministro, es necesario salvaguardarlo mediante una batería de larga
hufable en la CPU, estas fuentes son disponibles por todos los tipos de
controladores y tienen una duración que varía entre 2 a 5 años, dependiendo del tipo de
. Es importante por consiguiente, que esta batería se mantenga en
iciones durante todo el tiempo de funcionamiento del PLC.
2.1.3.5.2 MEMORIA EPROM (Enable Programmable Read Only Memory)
de memoria enchufable del tipo no volátil, es decir, la información
contenida se conserva aún cuando se pierde el suministro de energía. Se utiliza
normalmente para guardar programas definitivos ya probados y debidamente
depurados, además pueden ser transportados y utilizados en cualquier controla
26
RAM 32Kb
Este tipo de memoria sirve para almacenar el programa del usuario durante su
elaboración y prueba, donde es posible modificarlo constantemente. El contenido de la
memoria RAM, ya sea la del módulo enchufable o la que posee la CPU, es volátil , es
contenido se pierde si el suministro de energía proporcionado por la fuente de
se desconecta. Por consiguiente, para evitar perder la información ante
fallas de suministro, es necesario salvaguardarlo mediante una batería de larga
hufable en la CPU, estas fuentes son disponibles por todos los tipos de
controladores y tienen una duración que varía entre 2 a 5 años, dependiendo del tipo de
. Es importante por consiguiente, que esta batería se mantenga en
iciones durante todo el tiempo de funcionamiento del PLC.
2.1.3.5.2 MEMORIA EPROM (Enable Programmable Read Only Memory)
es decir, la información
contenida se conserva aún cuando se pierde el suministro de energía. Se utiliza
normalmente para guardar programas definitivos ya probados y debidamente
depurados, además pueden ser transportados y utilizados en cualquier controlador de
Fundamento Teórico
EPROM 64Kb
Figura 2.16.
Para grabar este módulo es necesario utilizar aparatos
también para este propósito, mientras que para borrarlos deben ser sometidos a rayos
ultravioletas durante 15 a 45 minutos. Por lo tanto, se requiere de una unidad para la
escritura y otra para el borrado
2.1.3.5.3 MEMORIA EEPROM (Electrically Erasable Programmable Read Only
Memory)
Este módulo tiene las mismas características que el módulo EPROM, con la única
diferencia que el borrado se realiza eléctricamente, es por ello que se denomina
memoria de sólo lectura, eléctricamente programable y borrable
Para estos tipos de módulos, los aparatos de programación realizan las dos funciones
tanto de programación como de borrado.
EPROM 64Kb EPROM 32Kb
Figura 2.16. Módulo de memoria EPROM, Simatic
Para grabar este módulo es necesario utilizar aparatos de program
también para este propósito, mientras que para borrarlos deben ser sometidos a rayos
ultravioletas durante 15 a 45 minutos. Por lo tanto, se requiere de una unidad para la
escritura y otra para el borrado, figura 2.16.
MEMORIA EEPROM (Electrically Erasable Programmable Read Only
Este módulo tiene las mismas características que el módulo EPROM, con la única
diferencia que el borrado se realiza eléctricamente, es por ello que se denomina
tura, eléctricamente programable y borrable, figura 2.17
Para estos tipos de módulos, los aparatos de programación realizan las dos funciones
tanto de programación como de borrado.
27
EPROM 32Kb
de memoria EPROM, Simatic
de programación destinados
también para este propósito, mientras que para borrarlos deben ser sometidos a rayos
ultravioletas durante 15 a 45 minutos. Por lo tanto, se requiere de una unidad para la
MEMORIA EEPROM (Electrically Erasable Programmable Read Only
Este módulo tiene las mismas características que el módulo EPROM, con la única
diferencia que el borrado se realiza eléctricamente, es por ello que se denomina
, figura 2.17.
Para estos tipos de módulos, los aparatos de programación realizan las dos funciones
Fundamento Teórico
Figura 2.17.
2.1.3.6 UNIDAD DE PROGRAMACIÓN
Los aparatos de programación denominados también terminales de programación son
el medio de comunicación entre el hombre y la máquina, a través de la escritura,
lectura, modificación, monitoreo, forzado, diagnóstico y la puesta a punto de los
programas. Estos aparatos están constituidos por un teclado y un dispositivo de
visualización, donde el teclado muestra todos los símbolos (números, letras,
instrucciones, etc.) necesarios para la escritura del programa y otras acciones
anteriormente señaladas.
El visualizador o pantalla pone a la vista todas las instrucciones programadas o
registradas en memoria. Existen tres tipos de programadores: los manuales:
held, tipo calculadora, los video: tipo
manuales se caracterizan por su fácil programación (lista de instrucciones), portátiles y
económicos; generalmente son usados en los PLCs pequeños en los que no se
requiere mayor complejidad en la programación.
El método de programación más completo incluyendo la detección
programadores de video y las computadoras personales, en ella se puede emplear
todos los lenguajes para la programación: lista de instrucciones (literal) y método
gráfico. Cuando se usa la computadora, que por lo general es común, es necesari
software de programación.
Figura 2.17. Módulo de memoria EEPROM, Simatic
2.1.3.6 UNIDAD DE PROGRAMACIÓN
Los aparatos de programación denominados también terminales de programación son
el medio de comunicación entre el hombre y la máquina, a través de la escritura,
lectura, modificación, monitoreo, forzado, diagnóstico y la puesta a punto de los
stos aparatos están constituidos por un teclado y un dispositivo de
visualización, donde el teclado muestra todos los símbolos (números, letras,
instrucciones, etc.) necesarios para la escritura del programa y otras acciones
anteriormente señaladas.
isualizador o pantalla pone a la vista todas las instrucciones programadas o
registradas en memoria. Existen tres tipos de programadores: los manuales:
tipo calculadora, los video: tipo PC y la Computadora
izan por su fácil programación (lista de instrucciones), portátiles y
económicos; generalmente son usados en los PLCs pequeños en los que no se
requiere mayor complejidad en la programación.
El método de programación más completo incluyendo la detección
programadores de video y las computadoras personales, en ella se puede emplear
todos los lenguajes para la programación: lista de instrucciones (literal) y método
gráfico. Cuando se usa la computadora, que por lo general es común, es necesari
software de programación.
28
de memoria EEPROM, Simatic
Los aparatos de programación denominados también terminales de programación son
el medio de comunicación entre el hombre y la máquina, a través de la escritura,
lectura, modificación, monitoreo, forzado, diagnóstico y la puesta a punto de los
stos aparatos están constituidos por un teclado y un dispositivo de
visualización, donde el teclado muestra todos los símbolos (números, letras,
instrucciones, etc.) necesarios para la escritura del programa y otras acciones
isualizador o pantalla pone a la vista todas las instrucciones programadas o
registradas en memoria. Existen tres tipos de programadores: los manuales: Hand
Computadora . Los programadores
izan por su fácil programación (lista de instrucciones), portátiles y
económicos; generalmente son usados en los PLCs pequeños en los que no se
El método de programación más completo incluyendo la detección de fallas son
programadores de video y las computadoras personales, en ella se puede emplear
todos los lenguajes para la programación: lista de instrucciones (literal) y método
gráfico. Cuando se usa la computadora, que por lo general es común, es necesario el
Fundamento Teórico
29
Los aparatos de programación son una herramienta importante, necesaria para el
diálogo con el PLC, pero físicamente independiente los cuales permiten:
- Escribir a través de lista de instrucciones o mediante el método gráfico los
programas, así como modificarlos o borrarlos de manera total o parcial.
- Leer o borrar los programas contenidos en la memoria RAM por la CPU, o
también de las memorias EPROM o EEPROM
- Simular la ejecución de las instrucciones del programa a través del forzado de
las entradas o salidas.
- Detectar y visualizar las fallas del programa o fallas originales en los
dispositivos de campo de entrada o salida.
- Visualizar en todo momento el estado lógico de los captadores y
accionadores en tiempo real.
- Permite ingresar a instrucciones tales como: copiar, borrar, insertar, guardar,
etc., que sirven de ayuda para un mejor análisis de la programación.
2.1.4 ESPECIFICACIONES TÉCNICAS
Por lo general todos los fabricantes o representantes de PLCs distribuyen a sus clientes
catálogos o manuales, los cuales contienen las especificaciones técnicas de sus
equipos. El detalle con que se presenta esta información, dependerá del tipo de
catálogo y también del fabricante; no todos lo presentan con la misma estructura. Sin
embargo, lo más importante para comprender estos datos es saber el significado que
representa cada una de ellas, pues, los fabricantes respetan las normas técnicas en la
especificación de los equipos.
A continuación se describe la mayoría de las especificaciones técnicas más difundidas
con algunos ejemplos:
Fundamento Teórico
30
Marca
Nombre que da el fabricante a sus productos para diferenciarlos de los demás.
Simatic/Siemens
Telemecanique
Allen-Bradley
General Electric
AEG Modicon
Procedencia
Lugar de origen de su fabricación
Alemania
Francia
USA
Japón
Suecia
Serie
Se refiere a la especificación de los equipos fabricados bajo ciertas
características, y por lo general se diferencian en el rango o tamaño del PLC. Se
representa mediante números, letras o una combinación de ellos.
S5-135U/Simatic
TSX 17-20/Telemecanique
SLC 500/Allen-Bradley
90-30 General Electric
A 500/AEG Modicon
Tipo
Se refiere a la configuración del PLC
Compacto (COM)
Modular (MOD)
Fundamento Teórico
31
CPU
Especificaciones dadas para distinguirlos de sus características de operación,
tales como: velocidad de procesamiento, memoria disponible, cantidad de E/S,
etc. Se representa mediante números, letras o una combinación de ambos.
928, 922, 921, 920 /Simatic S5 135 U
TSX 47-10/Telemecanique
5/03 Allen-Bradley
341, 331, 323, 321, 313, 311/General Electric
984/AEG Modicon
Capacidad de memoria
Dado en Kilo-bytes o Kiloword o pueden especificarse las siguientes:
TOTAL
RAM
EPROM
EEPROM
Scan time
Denominado así al tiempo de ciclo. Es el tiempo que demora en procesar todas
las instrucciones de un programa, depende de la cantidad y complejidad de las
instrucciones. Por lo general se expresa en milisegundos o microsegundos por
1K de instrucciones del tipo:
Binaria o
65% del tipo binarias y 35% del tipo palabra
Un PLC Simatic S5-135U con CPU 921 tiene un Scan Time de: 1.3 ms/1K para
instrucciones binarias y 17 ms/1K para los del tipo combinadas.
Cantidad total de instrucciones
Se refiere al número máximo de instrucciones que se puede cargar en el
programa del usuario, y está dado en (Kb)
32 Kb / Simatic S5-135U
Fundamento Teórico
32
Cantidad de entradas discretas
Total
Por módulos
Tensión de entrada en DC/AC
Intensidad de corriente de entrada nominal
Frecuencia en AC
Cantidad de salidas discretas
Total
Por módulos
Tensión de entrada en DC/AC
Intensidad de corriente nominal
Frecuencia de conmutación
Tipo de salida: Transistor/Triac/Relé
Cantidad de E/S analógicas
Total
Tipo: pudiendo ser de tensión, corriente o resistencia
Márgenes de entrada
Resistencia de entrada: para las entradas analógicas
Resistencia de salida : para las salidas analógicas
Resolución
Tiempo de escrutinio
Memorias internas
Denominado también Bits internos, banderas o marcas. Son memorias que
tienen la misma función que los relés electromagnéticos y se usan en la lógica
del programa. Se especifica de la siguiente manera:
Total, sumatoria de las memorias internas remanentes y no
remanentes.
No Remanentes, Son aquellos que no retienen la información ante una
pérdida de energía.
Fundamento Teórico
33
Remanentes, Son aquellos que retienen la información ante una
pérdida de energía.
Funciones de programación
Son todas aquellas funciones de tiempo, conteo, memorias, registros operación,
etc. Que se usa en la programación. En algunos casos importantes conocer su
tipo y cantidad, las más conocidas son:
Temporizadores: on delay, off-delay, etc.
Contadores: ascendentes y descendentes
Memorias intermedias
Registros de datos
Shift register
Secuenciador
Operaciones aritméticas: +, -, x, /
Comparadores: >, <, ><, >=, <=, =
Carga y transferencia
Salto y conversión, etc.
Reloj calendario
Usado para programar la hora y fecha en los programas del usuario.
Hr / min / seg
Año / mes / día
Algoritmo de regulación PID
Es una función que dispone algunas CPUs para efectuar regulación de acción.
Se usa en sistemas regulados como los que se encuentra en la ingeniería de
procesos, por ejemplo: en la regulación de presión, temperatura a caudal.
Software de programación
Cada fabricante tiene su propio software para la programación de sus equipos,
algunos con mayores ventajas que otros:
STEP 7 / Simatic
Micrologix500 / Alllen Bradley
Fundamento Teórico
34
Password de protección
Es una clave de acceso del usuario para autorizar la programación.
Visualización de procesos
Software de monitoreo y control de procesos industriales vía PLCs. La
visualización dinámica del proceso se da en forma gráfica haciendo simple la
supervisión, así mismo, la adquisición de datos es en tiempo real.
Aparatos de programación
Son equipos destinados a la programación de los PLCs y se disponen en los
siguientes tipos:
Hand held, programadores manuales para programar en lista de
instrucciones.
Programadores del tipo PC, programadores de video para programar
en modo literal o gráfico.
PC compatibles, Computadores personal para programar en modo
literal o gráfico; es necesario tener el software para su instalación.
Duración de la batería de respaldo
Es el tiempo dado en años durante la cual se garantiza que la batería ubicada en
la CPU está operativa (2 ó 5) años.
Indicadores de diagnóstico
Son leds ubicados en las diferentes partes del PLC, que tienen como función
indicar el modo de operación, diagnóstico de fallas, etc. De estos equipos, así
como también, el estado de la batería. Entre los Leds indicadores más
importantes se tienen:
CPU
RUN
STOP
RESET
Fallas E/S
Forzamiento
Fundamento Teórico
35
Memoria de diagnóstico
Batería baja
QVZ / ZYK / B, etc.
Potencia consumida
Es la potencia consumida de la red por la fuente de alimentación y está
expresado en:
Vatios / DC
VA / AC
Canales de comunicación
Son pórticos de entrada y salida cuya función es la comunicación con:
Programadores
Módulos inteligentes
Redes administrativa y/o industrial, etc.
Estos pueden ser del tipo:
RS-232
RS-232C
RS-422
RS-485
Lazo de corriente
Posibilidad de comunicación en red
Se refiere a la posibilidad de trabajar en red, pudiendo conectarse ya sea en una
red administrativa y/o industrial. Para el caso de redes industriales, el PLC puede
desempeñar la función de:
Maestro
Esclavo
Condiciones ambientales
Son aquellas condiciones límites para la temperatura y humedad a las que
pueden estar sometidos en casos extremos sin alterar sus características de
Fundamento Teórico
36
funcionamiento. Para ambas condiciones se especifican los valores según el
modo de trabajo del PLC y son:
- Temperatura, Dado en (ºC) para las condiciones de:
Operación y
Almacenamiento
- Régimen de humedad, Dado en (%) para las condiciones de:
Operación y
Almacenamiento
Otras características
Estas dependen de la norma y por consiguiente de las unidades estas son:
Inmunidad al ruido
Shock
Vibración, etc.
Dimensiones de montaje
Se refiere a las dimensiones físicas del equipo tales como: módulos, cables, etc.
Estos datos son importantes para efectos de montaje.
Peso
Esta magnitud dado en (Kgs) puede ser importante para efectos montaje.
Certificación
Es una información que depende de la procedencia del equipo y se refiere a la(s)
técnica(s) utilizadas para su diseña y control de calidad, así por ejemplo existen:
UL
VDE
SA, etc.
Fundamento Teórico
37
2.1.5 PROGRAMA, PROGRAMACIÓN Y LENGUAJES DE PROGRAMACIÓN
Desde el punto de vista del Procesador, un programa es un conjunto de instrucciones o
proposiciones bien definidas que le dicen lo que tiene que hacer. Cada instrucción le
indica:
Que operación realizará a continuación.
De donde obtendrá los datos que necesita para realizarla
Dónde guardará los resultados de la operación.
Desde el punto de vista del usuario, un programa son las especificaciones de un
conjunto de operaciones que debe llevar a cabo el computador para lograr resolver una
determinada tarea.
Un programa se escribe en un lenguaje de programación, estos lenguajes permiten
simplificar la creación de programas debido a su fácil descripción de las instrucciones
que ha de ejecutar el procesador; en algunos casos, agrupando varias instrucciones y
dando un solo nombre al conjunto, de tal forma que la lista de operaciones se reduce
considerablemente resultando fácil la compresión y resolución de programas. También
varios cientos de instrucciones simples se pueden expresar con una lista de unas
cuantas líneas.
Finalmente a la acción de realizar un programa se lo conoce como programación.
En conclusión, reuniendo estos tres conceptos se puede decir: Un programa se escribe
en un lenguaje de programación y a la actividad de expresar un algoritmo en forma de
programa se le denomina programación.
A menudo, el lenguaje de programación se denomina software programación cuando se
emplea un término genérico, a fin de distinguirse el hardware.
Fundamento Teórico
38
2.1.5.1 CLASIFICACIÓN DE LOS PROGRAMAS
Parte del programa lo escriben los usuarios para ejecutar tareas que desean
automatizar, pero además existen otros programas ya escritos que permiten procesar
los programas del usuario. A continuación, se definirán estos dos tipos de programas.
2.1.5.1.1 PROGRAMAS DE SISTEMA
Existen cierto número de otros programas que proporcionan servicios vitales a los
programas del usuario, esto es, realizan función operativas internas del controlador;
estos programas, incluyendo los traductores de lenguaje reciben la denominación
colectiva de programación del sistema o software del sistema. Un elemento notable
de éste es su sistema operativo, cuyos servicios incluyen el manejo de los dispositivos
de entrada y salida del PLC, el almacenamiento de la información durante largos
periodos, organizar el procesamiento de los programas del usuario o aplicación, etc.
Estos programas están almacenados en la memoria EPROM dentro de la CPU, por lo
tanto no se pierden ni alteran en caso de pérdida de alimentación al equipo. El usuario
no tiene acceso a ellos.
2.1.5.1.2 PROGRAMAS DE APLICACIÓN O DEL USUARIO
Es el conjunto de instrucciones o proposiciones que programa el usuario, con el fin de
resolver tareas de automatización específica. Para ello, el usuario escribe el programa
de acuerdo a la representación de lenguaje de programación que mejor se adapte a su
trabajo, o en todo caso, tenga un mejor dominio. Es importante señalar, que algunos
fabricantes no emplean todos los tipos de representaciones de los lenguajes de
programación, no obstante, el usuario tendrá que adaptarse a la representación que se
disponga.
Este detalle se puede observar en la figura 2.18.
Fundamento Teórico
39
Figura 2.18. Tipos de programas utilizados por el PLC
2.1.5.2 REPRESENTACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN Y LA NORMA IEC
1131-3
En la actualidad cada fabricante diseña su propio lenguaje de programación, lo que
significa, que existe una gran variedad comparable con cantidad de PLCs que hay en el
mercado. Las formas que adopta el lenguaje de programación usado para realizar se
denomina representación del lenguaje de programación.
Hasta el momento existen tres tipos representaciones como más difundidas a nivel
mundial, las cuales, cada fabricante, las emplean para su programación, estas son:
Lista de instrucciones
Plano de funciones
Diagrama contactos o diagrama en escalera
PROGRAMAS
Programas del sistema Programas de Aplicación
Operación Interna de Control
Tareas de Automatización
Memoria ROM
Memoria RAM
Unidad de Control
CPU
Lenguaje de Máquina Lenguaje de Aplicación
E1 E2 S1
S1
Fundamento Teórico
40
Es obvio, que la gran diversidad de lenguajes de programación da lugar a que cada
fabricante tenga su propia representación, originando cierta incomodidad al usuario
cuando programa más de un PLC.
Con el objetivo de uniformizar estas representaciones, se estableció una norma
internacional IEC 1131-3 que se encarga de estandarizar los lenguajes de
programación.
Esta norma contempla dos tipos de lenguajes de programación.
Lenguajes Gráficos
Lenguajes Textuales
2.1.5.2.1 LENGUAJES GRÁFICOS
Se denomina lenguaje gráfico a la representación basada en símbolos gráficos, de tal
manera que según la disposición en que se encuentran cada uno de estos símbolos y
en conformidad a su sintaxis que lo gobierna, expresa una lógica de mando y control.
2.1.5.2.1.1 BLOQUE DE DE FUNCIONES SECUENCIALES (SFC) O GRAFCET
El grafcet es una representación de análisis gráfico donde establecen las funciones de
un sistema secuencial, figura 2.19.
Este lenguaje consiste en una secuencia de etapas y transiciones asociadas
respectivamente con acciones y condiciones.
Las etapas representan las acciones a realizar y las transiciones las condiciones que
deben cumplirse para ir desarrollando acciones. Donde Etapa-Transición es un conjunto
indisociable.
Fundamento Teórico
41
5
6
7
10
MOTOR 1
Transición
Etapa
Figura 2.19. Representación de un programa en GRAFCET
2.1.5.2.1.2 DIAGRAMA DE BLOQUES DE FUNCIONES
Es una representación gráfica orientada a las puertas lógicas AND, OR, NOT y sus
combinaciones. Las funciones individuales se representan con un símbolo, donde en su
lado izquierdo se ubican las entradas y en el derecho las salidas. Los símbolos usados
son iguales o semejantes a los que se utilizan en los esquemas de bloques en
electrónica digital, figura 2.20.
Figura2.20. Representación de un diagrama de bloques de funciones
Fundamento Teórico
42
2.1.5.2.1.3 DIAGRAMA DE CONTACTOS O DIAGRAMA EN ESCALERA (LADDER)
Es la representación gráfica que tiene cierta analogía a esquemas de contactos según
la norma Nema (USA).
Su estructura obedece a la semejanza que existe con los circuitos de control con lógica
cableada, es decir, utiliza la misma representación de los contactos normalmente
abiertos y normalmente cerrados, con diferencia que su interpretación es totalmente
diferente, figura 2.21.
Además de los simples contactos que dispone, existen otros elementos que permiten
realizar cálculos aritméticos, operaciones de comparación, implementar algoritmos de
regulación, etc. Su gran difusión se debe para facilitar el trabajo a los usuarios.
E.1 E.2
E.3
E.4 E.5
S.1
Figura2.21. Representación de un programa en diagrama de contactos.
2.1.5.2.2 LENGUAJES TEXTUALES
Este tipo de lenguaje se refiere básicamente al conjunto de instrucciones compuesto de
letras, códigos y números de acuerdo a una sintaxis establecida.
Se considera un lenguaje de menor nivel que los gráficos y por lo general se utilizan
para programar pequeños PLCs cuyos programas no son muy complejos, o para
programar instrucción no programable en modo gráfico.
Fundamento Teórico
43
Existen dos lenguajes en nivel y tipo de aplicación, ellos son:
2.1.5.2.2.1 LISTA DE INSTRUCCIONES
Son instrucciones del tipo booleanas, se utilizan para su representación letras y
números. Dado que se usan abreviaturas nemotécnicos, no se requiere gran memoria
para su programación, especialmente si el programa consta de unos cientos de
instrucciones.
Tabla 2.1. Representación de un programa en lista de instrucciones para diferentes marcas de PLCs
Siemens (Simatic) Telemecanique General Electric
U E0.1
U E0.2
O E0.3
= A3.1
L I0.01
A I0.02
O I0.03
= O3.01
LD %I0001
AND %I0002
OR %I0003
OUT %Q0031
2.1.5.2.2.2 TEXTO ESTRUCTURADO
Es un lenguaje del tipo booleano de mayor nivel y estructurado, incluye las típicas
sentencias de selección (IF-THEN-ELSE) y de interacción (FOR, WHILE y REPEAT),
además de otras funciones específicas para aplicaciones de control. Su uso es ideal
para aplicaciones en las que se requiere realizar cálculos matemáticos, comparaciones,
emular protocolos, etc.
Tabla2.2. Programa en texto estructurado para un PLC marca Telemecanique TSX-07
LD
ST
LD
AND
ST
LD
OR
ST
[%MW10>100]
%Q0.3
%M0
[%MW20<%MW35]
%Q0.2
%I0.2
[%MW30 > = %MW40]
%Q0.4
Fundamento Teórico
2.2 MICROCONTROLADORES
Figura2.22. Diferentes tipos de microcontroladores
En las aplicaciones sencillas resultan preferibles las soluciones no programables que no
requieren desarrollo de software. Es
resulta más costoso y en aplicaciones sencillas y/o de poca tirada a menudo es más
razonable efectuar tareas en hardware. Sin embargo, conforme aumenta la complejidad
del sistema, aumentan las ventajas del us
Una de las principales ventajas de los sistemas programables es su flexibilidad, lo que
permite actualizar el funcionamiento de un sistema tan sólo mediante el cambio del
programa sin tener que volver a diseñar el hardware. Es
importante, al permitir que los productos se actualicen con facilidad y economía.
2.2 MICROCONTROLADORES
Diferentes tipos de microcontroladores de la familia de Microhip y Dallas
En las aplicaciones sencillas resultan preferibles las soluciones no programables que no
requieren desarrollo de software. Escribir software consume mucho tiempo por lo que
resulta más costoso y en aplicaciones sencillas y/o de poca tirada a menudo es más
razonable efectuar tareas en hardware. Sin embargo, conforme aumenta la complejidad
del sistema, aumentan las ventajas del uso de sistemas programables.
Una de las principales ventajas de los sistemas programables es su flexibilidad, lo que
permite actualizar el funcionamiento de un sistema tan sólo mediante el cambio del
programa sin tener que volver a diseñar el hardware. Esta flexibilidad es muy
importante, al permitir que los productos se actualicen con facilidad y economía.
44
de la familia de Microhip y Dallas
En las aplicaciones sencillas resultan preferibles las soluciones no programables que no
cribir software consume mucho tiempo por lo que
resulta más costoso y en aplicaciones sencillas y/o de poca tirada a menudo es más
razonable efectuar tareas en hardware. Sin embargo, conforme aumenta la complejidad
o de sistemas programables.
Una de las principales ventajas de los sistemas programables es su flexibilidad, lo que
permite actualizar el funcionamiento de un sistema tan sólo mediante el cambio del
ta flexibilidad es muy
importante, al permitir que los productos se actualicen con facilidad y economía.
Fundamento Teórico
45
2.2.1 HISTORIA DE LOS MICROCONTROLADORES
En el año 1971 la compañía de semiconductores Intel lanzó al mercado el primer
microprocesador , lo que supuso un cambio decisivo en las técnicas de diseño de los
equipos de instrumentación y control. Este circuito integrado contenía todos los
componentes de la unidad central de procesos (CPU) de una computadora dentro de un
solo dispositivo. Los fabricantes, conscientes de la importancia de este mercado,
crearon una amplia gama de estos circuitos integrados, constituyendo familias de
microprocesadores.
En el año 1976, gracias al aumento de la densidad de integración de componentes en
un circuito integrado, salió a la luz el primer ordenador en un chip, es decir se integraron
junto con el microprocesador otros subsistemas que anteriormente formaban unidades
independientes (memoria, entradas/salidas, etc.). A este nuevo integrado se le
denominó microcomputadora monopastilla .
Cuando los sistemas basados en microprocesadores se especializan en aplicaciones
industriales, aparece la versión industrial de la microcomputadora monopastilla, el
microcontrolador (mC). Estos dispositivos producen un obvio beneficio en
aplicaciones pequeñas. Su característica más sobresaliente es que son sistemas
integrados.
2.2.2 DEFINICIÓN DE MICROCONTROLADOR
Es un circuito integrado 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). Se dice que es “la solución en un chip” porque su reducido
tamaño minimiza el número de componentes y el coste.
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
Fundamento Teórico
46
entrada/salida soportan el conexionado de los sensores y actuadores del dispositivo a
controlar. 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 designa a gobernar una sola
tarea”.
El número de productos que funcionan en base a uno o varios microcontroladores
aumenta de forma exponencial. Casi todos los periféricos del computador (ratón,
teclado, impresora, etc.) son regulados por el programa de un microcontrolador. Los
electrodomésticos de línea blanca (lavadoras, hornos, etc.) y de línea marrón
(televisores, videos, aparatos de música, etc.) incorporan numerosos
microcontroladores. Igualmente, los sistemas de supervisión, vigilancia y alarma en los
edificios utilizan estos chips para optimizar el rendimiento de ascensores, calefacción,
alarmas de incendio, robo, etc. Ofrecen la única solución práctica a muchos problemas
de diversos campos:
1. Periféricos y dispositivos auxiliares de los computadores.
2. Electrodomésticos.
3. Aparatos portátiles y de bolsillo (tarjetas, monederos, teléfonos, etc.)
4. Máquinas expendedoras y juguetería.
5. Instrumentación.
6. Industria de automoción (Figura 6-1).
7. Control industrial y robótica.
8. Electromedicina.
9. Sistema de navegación espacial.
10. Sistemas de seguridad y alarma, domótica en general.
Fundamento Teórico
Figura 2.2
2.2.3 DIFERENCIA ENTRE
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso
(CPU), también llamada procesador de un computador. Al microprocesador se le
conecta la Memoria y Módulos de E/S para configurar un co
varios circuitos integrados.
Un microprocesador es un sistema
construirse un computador con las características que se desee, acoplándole los
módulos necesarios. Un microcontrolad
computador completo y de prestaciones limitadas que no se puede modificar.
Sistema antirrobo
Figura 2.2 3. Aplicaciones de microcontroladores en un automóvil.
2.2.3 DIFERENCIA ENTRE MICROCONTROLADOR Y MICROPROCESADOR
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso
(CPU), también llamada procesador de un computador. Al microprocesador se le
conecta la Memoria y Módulos de E/S para configurar un computador implementado por
varios circuitos integrados.
Un microprocesador es un sistema abierto (configuración variable) con el que puede
construirse un computador con las características que se desee, acoplándole los
módulos necesarios. Un microcontrolador es un sistema cerrado
computador completo y de prestaciones limitadas que no se puede modificar.
47
Aplicaciones de microcontroladores en un automóvil.
MICROCONTROLADOR Y MICROPROCESADOR
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso
(CPU), también llamada procesador de un computador. Al microprocesador se le
mputador implementado por
(configuración variable) con el que puede
construirse un computador con las características que se desee, acoplándole los
cerrado que contiene un
computador completo y de prestaciones limitadas que no se puede modificar.
Panel de instrumentos Control de velocidad Sistema de navegación Control climatización
Control del motor
Antideslizamiento
Fundamento Teórico
48
Figura 2.24 (a) Estructura de un sistema abierto basado en un microprocesador. (b) Microcontrolador.
Decidirse por construir el sistema con el microprocesador, o utilizar directamente el
microcontrolador dependerá de la economía. Si el µC está limitado por su propia CPU,
es necesario elegir un µP potente y añadir los buffers, drivers, decodificadores,
memorias, etc. pertinentes. Generalmente, salvo que la aplicación exija grandes
prestaciones, el µC será una solución válida, con la ventaja de que reduce el espacio y
el hardware.
µP
Memoria Controlador 2 Controlador 1
Bus de datos
Bus de control
Periférico Periférico
(a)
µC Periféricos Periféricos
(b)
Bus de direcciones
Fundamento Teórico
49
2.2.4 FABRICANTES
Gran parte de los fabricantes de circuitos integrados disponen de su propia línea de
microcontroladores. En la Tabla 2.3. se relacionan los fabricantes más destacados.
Tabla 2.3. Algunos fabricantes de µC.
FABRICANTE
Motorola
Microchip
Nec
Hitachi
St-Microelectronics
Infineon
Mitshubishi
Philips
Toshiba
Atmel
Zilog
Fujitsu
Matsushita
Dallas
Samsung
National Semiconductor
Intel
Sgs-thomson (st)
Texas instruments
Cada fabricante de microcontroladores oferta un elevado número de modelos
diferentes, desde los más sencillos hasta los más poderosos, de forma que es posible
Fundamento Teórico
50
seleccionar la capacidad de la memoria, el número de líneas de E/S, la cantidad y
potencia de elementos auxiliares, la velocidad de funcionamiento, etc.
Se considera a Intel como el padre de los microcontroladores y al 8048 como el primer
microcontrolador de 8 bits (fabricado por Intel en la década de los 70). Otra de las
principales empresas del mundo de dispositivos programables es Motorola , que
dispone del potente microcontrolador 68HC11. Los microcontroladores PIC de la
empresa americana Microchip se emplean en la actualidad cada vez más debido a su
reducido consumo, bajo coste, pequeño tamaño, facilidad de uso y la abundancia de
información y herramientas de apoyo.
2.2.5 ARQUITECTURA INTERNA DE UN MICROCONTROLADOR
Un microcontrolador posee todos los componentes de un computador, pero con
características fijas que no se pueden alterar.
Las partes principales son:
Procesador o Unidad Central de Proceso (CPU).
Memoria no volátil para contener el programa.
Memoria de lectura y escritura para guardar los datos.
Líneas de E/S para los periféricos (comunicación serie, paralela, etc.).
Recursos auxiliares:
Circuito de reloj.
Temporizadores.
Perro guardián (Watchdog).
Convertidores A/D y D/A.
Comparadores analógicos.
Protección ante fallos de alimentación.
Estado de reposo en bajo consumo.
La comunicación entre las principales secciones de un sistema computador (basado en
microcontrolador o en microprocesador) tiene lugar sobre un cierto número de buses .
Fundamento Teórico
51
Un bus está compuesto de líneas paralelas de datos que permiten flujo de información
en uno o ambos sentidos (se pueden considerar un conjunto de conductores paralelos).
La Figura 2.25. muestra la estructura de buses de un sistema típico. Se usan tres
buses:
Bus de datos. Se emplea para transferir datos. El número de líneas de este bus
igual a la longitud de palabra del dispositivo.
Bus de direcciones. Permite transferir información de direcciones. El número de
líneas en el bus de direcciones determina el número de posiciones de memoria
que el procesador puede especificar. Un bus de direcciones de 8 líneas sería
capaz de posicionar sólo 28 (256) direcciones.
Bus de control. El procesador utiliza las líneas del bus de control para
sincronizar operaciones con componentes externos.
Memoria
Unidad central de procesos
(CPU)
Entrada/Salida
Bus de datos
Bus de direcciones
Bus de control
Figura 2.25. Sistema de buses.
Por ejemplo, si el procesador o microcontrolador deseara almacenar una palabra de
datos en una ubicación de memoria particular, colocaría los datos en el bus de datos, la
dirección en la que se van a almacenar los datos en el bus de direcciones y diversas
señales de control para sincronizar la operación de almacenamiento en el bus de
control.
Fundamento Teórico
52
2.2.5.1 PROCESADOR
Es el elemento más importante del microcontrolador tanto a nivel hardware como
software. Se encarga de direccionar la memoria de instrucciones, recibir el código OP
(opcode) de la instrucción en curso, su decodificación y la ejecución de la operación
aritmética o lógica que implica la instrucción, así como la búsqueda de los operandos y
el almacenamiento del resultado.
La necesidad de conseguir rendimientos elevados en el procesamiento de las
instrucciones ha desembocado en el empleo generalizado de procesadores de
arquitectura Hardvard , frente a los tradicionales que seguían la arquitectura de Von
Neuman . Esta última se caracteriza porque la CPU se conectaba a una memoria única
donde coexistían datos e instrucciones a través de un sistema de buses. En la
arquitectura Harvard son independientes la memoria de instrucciones y la memoria de
datos y cada una dispone de su propio sistema de buses para el acceso. Esto propicia
el paralelismo, Figura 2.26. .
Memoria
datos
Procesador
Memoria
Programa
Bus de datos
Bus de direcciones
Bus de control
Bus de datos de memoria de programa
Bus de direcciones de memoria de programa
Figura 2.26. Arquitectura Hardvard.
Fundamento Teórico
53
2.2.5.2 ALMACENAMIENTO Y EJECUCIÓN DEL PROGRAMA
Un programa es una lista de instrucciones al procesador. Todos los mP y mC tiene un
conjunto de instrucciones que pueden ejecutar. Cada tipo de procesador y controlador
tiene su propio conjunto de instrucciones, y por lo general los programas escritos para
una máquina no funcionarán en otra.
Un mC típico tendrá instrucciones para: transferir información entre registros y memoria;
realizar operaciones aritméticas y lógicas; efectuar comparaciones y pruebas sobre el
contenido de sus registros de memoria; controlar la secuencia de ejecución de
programas.
Por lo general la operación que una instrucción ha de ejecutar está definida por un
código de operación, (en mC sencillos generalmente de un solo byte) conocido
también como opcode . Algunas instrucciones requieren además del opcode
información extra (operandos ). Por ejemplo, una instrucción para almacenar el
contenido de un registro en una posición de memoria, necesitará incluir la dirección de
memoria de destino.
La unidad de control y decodificación de instrucciones es el corazón del procesador. Es
la encargada de extraer de forma secuencial las instrucciones de la memoria y luego
ejecutarlas. Unido a la unidad de control se encuentra un generador de reloj , que
utiliza un oscilador para producir una señal de reloj muy precisa. El tiempo se divide en
un cierto número de ciclos de reloj.
El funcionamiento de la unidad de control y decodificación de instrucciones se puede
dividir en dos partes (ambas duran varios ciclos de reloj):
Ciclo de búsqueda de instrucciones . En él se transfiere la dirección de la
siguiente instrucción al bus de direcciones, se envía una orden de lectura a los
dispositivos de memoria a través del bus de control, se lee la información del bus
de datos, y si se trata del primer byte de una instrucción, se transfiere este byte
al registro de instrucciones.
Fundamento Teórico
54
Ciclo de ejecución de instrucciones. En él se ejecuta la instrucción. El registro
de instrucciones está conectado a un decodificador, que determina cuántos bytes
de información adicionales se requieren. Éstos se cargan mediante ciclos de
búsqueda, como se indicó con anterioridad.
Cuando la ejecución está completa, la máquina comienza automáticamente el ciclo de
búsqueda de la siguiente instrucción del programa. La ejecución es por tanto, una
secuencia continua de ciclos de búsqueda y ejecución.
El procesador de los modernos microcontroladores responde a la arquitectura RISC
(Computadores de Juego de Instrucciones Reducido), que se identifica por tener un
repertorio de instrucciones máquina pequeño y simple, de forma que la mayor parte de
las instrucciones se ejecutan en un ciclo de instrucción.
2.2.5.3 MEMORIA DE PROGRAMA
El microcontrolador está diseñado para que en su memoria de programa se almacenen
todas las instrucciones del programa de control. Como el programa a ejecutar siempre
es el mismo, debe estar grabado de forma permanente. Son posibles cinco tipos de
memoria:
ROM de máscara . Esta memoria se graba en el chip durante el proceso de
fabricación. Los altos costes de diseño sólo aconsejan usarla cuando se precisan
series grandes.
EPROM. En la superficie de la cápsula del microcontrolador existe una ventana
de cristal por la que se puede someter al chip a rayos ultravioletas para producir
el borrado de la memoria y emplearla nuevamente. Su coste unitario es elevado.
OTP (One Time Programmable) . Este modelo de memoria sólo se puede grabar
una vez por parte del usuario. Su bajo precio y la sencillez de la grabación
aconsejan este tipo de memoria para prototipos finales y series de producción
cortas.
Fundamento Teórico
55
EEPROM. La grabación es similar a la EPROM y OTP, pero el borrado es mucho
más sencillo al poderse ejecutar eléctricamente las veces que se quiera.
FLASH . Se trata de una memoria no volátil de bajo consumo que se puede
escribir y borrar en circuito al igual que la EEPROM, pero suele disponer de
mayor capacidad que estas últimas. El borrado sólo es posible de bloques
completos y no se puede realizar de posiciones concretas. Por sus mejores
prestaciones está sustituyendo a la memoria EPROM para contener
instrucciones.
2.2.5.4 MEMORIA DE DATOS
Los datos que manejan los programas varía continuamente y eso exige que la memoria
que los contiene deba ser de lectura y escritura. La memoria RAM estática (SRAM) es
la más apropiada aunque sea no volátil. Hay microcontroladores que poseen como
memoria de datos una memoria de escritura y lectura no volátil del tipo EEPROM. De
esta forma, un corte en el suministro de la alimentación no ocasiona la pérdida de la
información.
2.2.5.5 LÍNEAS DE E/S PARA LOS CONTROLADORES DE PERIFÉRICOS
A excepción de las patillas destinadas a recibir la alimentación, el cristal que regula la
frecuencia de trabajo y el reset, las restantes patillas de un microcontrolador sirven para
la comunicación con los periféricos externos.
2.2.5.6 RECURSOS AUXILIARES
Según las aplicaciones cada modelo de microcontrolador incorpora una diversidad de
complementos que refuerzan la potencia del dispositivo. Entre los más comunes se
encuentran:
Circuito de reloj, encargado de generar los impulsos que sincronizan el
funcionamiento de todo el sistema.
Fundamento Teórico
Temporizadores, orientados a controlar tiempos.
Perro guardián (watchdog
programa se queda bloqueado.
Conversores A/D y D/A para poder recibir y enviar señales analógicas.
Estado de reposo, en el que el consumo de energía se reduce al mínimo.
2.3 EL MICROCONTROLADOR
Figura 2.27.
Para la selección de la tarjeta se decidió trabajar con el microcontrolador PIC16F877
figura 2.27, por las siguientes características:
Su gran cantidad de puertos de entrada y sali
hasta el puerto E, aunque no todos estos puertos son de 8 pines. En total, el PIC
cuenta con 33 pines de entrada/salida.
Su fácil adquisición en el mercado y su bajo costo.
Temporizadores, orientados a controlar tiempos.
watchdog), destinado a provocar una reinicialización cuando el
programa se queda bloqueado.
Conversores A/D y D/A para poder recibir y enviar señales analógicas.
Estado de reposo, en el que el consumo de energía se reduce al mínimo.
CONTROLADOR 16F877A
Figura 2.27. Aspecto físico del microcontrolador 16F877A
Para la selección de la tarjeta se decidió trabajar con el microcontrolador PIC16F877
las siguientes características:
Su gran cantidad de puertos de entrada y salida identificados desde el puerto
hasta el puerto E, aunque no todos estos puertos son de 8 pines. En total, el PIC
cuenta con 33 pines de entrada/salida.
adquisición en el mercado y su bajo costo.
56
), destinado a provocar una reinicialización cuando el
Conversores A/D y D/A para poder recibir y enviar señales analógicas.
Estado de reposo, en el que el consumo de energía se reduce al mínimo.
Aspecto físico del microcontrolador 16F877A
Para la selección de la tarjeta se decidió trabajar con el microcontrolador PIC16F877A,
da identificados desde el puerto A
hasta el puerto E, aunque no todos estos puertos son de 8 pines. En total, el PIC
Fundamento Teórico
57
Código de programación protegido.
Utiliza un conjunto de instrucciones resumido, en total 35 palabras.
Gran capacidad de memoria, 8K en total, lo que permite una gran capacidad de
código en su programación. A su vez cuenta con 386 bytes de memoria RAM y
256 bytes de memoria EEPROM, que lo hacen muy versátil en grandes tareas.
Por ser un dispositivo de memoria FLASH es muy fácil de programar puesto que
no necesita borrarse por medio de pantallas ultravioletas, sino que reprograma
encima del código presente en el dispositivo.
Cuenta con 2 temporizadores/contadores y un temporizador adicional utilizado
para el módulo de ancho de pulsos PWM
Tiene un módulo de comunicaciones serial USART, transmisión/recepción
universal sincrónica no sincrónica, el cual se utiliza en comunicaciones RS232.
Cuenta con 8 canales de conversión análogo/digital, los cuales hacen la
conversión de voltaje entre 0 y 5 voltios.
Gran velocidad de trabajo y bajo consumo de potencia.
Lo anterior hace de este microcontrolador un dispositivo adecuado para cumplir con
todas las funciones que requiere un PLC
2.3.1 LOS PUERTOS PARALELOS DE ENTRADA / SALIDA
El microcontrolador PIC16F877A posee 5 puertos de entrada/salida denominados
PORTA, PORTB, PORTC, PORTD y PORTE
Estos puertos son totalmente programables, es decir, sus líneas pueden ser
configuradas para trabajar como entradas o como salidas a selección del programador.
Fundamento Teórico
58
2.3.1.1 EL PUERTO A (PORTA).
El puerto A posee 6 líneas bidireccionales. Los 3 registros asociados a este puerto son:
Registro PORTA (05H)
Registro de estado del Puerto A. Cada uno de los 6 bits menos significativos
(RA5,...,RA0) de este registro están asociados a la línea física correspondiente del
puerto. Al hacer una lectura este registro lee el estado de todas los pines del puerto.
Todas las escrituras al registro son operaciones del tipo “lee modifica-escribe”, es
decir, toda escritura al puerto implica que el estado de las pins es leído, luego es
modificado y posteriormente se escribe al latch de datos del puerto.
POR,BOR - - 0 x 0 0 0 0
otros Reset - - 0 u 0 0 0 0
05h - - RA5 RA4 RA3 RA2 RA1 RA0 Bit 7 6 5 4 3 2 1 0
Tabla2.4. Registro (05h), PORTA
Registro TRISA (85H)
Cada bit de este registro configura la dirección en que fluye la información del pin
correspondiente del puerto A, así, para k=0,1,...,5: Bit k de TRISA = 1 configura el pin
RAk del puerto A como Entrada Bit k de TRISA = 0 configura el pin RAk del puerto A
como Salida
POR,BOR - - 1 1 1 1 1 1
otros Reset - - 1 1 1 1 1 1
85h - - Registros de direcciones de datos del puerto A Bit 7 6 5 4 3 2 1 0
Tabla 2.5. Registro (85h), TRISA
Todas los pines del puerto A poseen diodos de protección conectados a Vdd (contra
altos voltajes de entrada) y a Vss (contra voltajes negativos) además, manejan niveles
de entrada tipo TTL y como salidas se comportan como drivers tipo CMOS. Excepto la
Fundamento Teórico
59
pin RA4, la cual como entrada posee un Disparador Schmitt y como salida es de
Drenaje abierto, además RA4 sólo posee un diodo de protección conectado a Vss.
El Registro ADCON1 (9FH)
Los pines RA0, RA1, RA2, RA3 y RA5 están multiplexados con las entradas analógicas
AN0, AN1, AN2, AN3, AN4, de manera que antes de utilizarlas debemos configurar si
serán usadas como entradas analógicas o como entradas/salidas digitales.
En la Figura 2.28. y Figura 2.29. se muestra el detalle de implementación interna de
los pines del puerto A, mostrando la diferencia entre el pin RA4 y los demás pines del
puerto A
Figura 2.28. Pines RA0, RA1, RA2, RA3 y RA5
Fundamento Teórico
60
Figura 2.29. Pin RA4
2.3.1.2 EL PUERTO B (PORTB)
El puerto B es un puerto digital de 8 bits, todos sus pines son bidireccionales y trabaja
en forma similar al puerto A. Tiene tres registros asociados: El registro de datos
PORTB, el registro de dirección de los datos TRISB y el registro OPTION_REG.
Registro PORTB (06H, 106H)
Los ocho bits que contiene reflejan directamente el estado de las ocho pines del puerto
B RB0,...,RB7.
POR,BOR - - x x x x x X
otros Reset - - u u u u u u
06h, 106h RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 Bit 7 6 5 4 3 2 1 0
Tabla2.6. Registro (06h), PORTB
Fundamento Teórico
61
Registro TRISB (86H, 186H)
En forma similar a TRISA, al poner un 0 en un bit de TRISB se configura el pin RB
correspondiente como salida y al poner un 1 en un bit de TRISB se configura el pin RB
correspondiente como entrada.
POR,BOR - - 1 1 1 1 1 1
otros Reset - - 1 1 1 1 1 1
86h, 186h Registros de direcciones de datos del puerto B Bit 7 6 5 4 3 2 1 0
Tabla2.7. Registro (86h), TRISB
Registro OPTION_REG (81H, 181H)
El bit 7 de este registro, denominado RBPU es usado para conectar/desconectar una
resistencia “pull-up” conectada a cada pin RB.
Poniendo un 0 en este bit todas las resistencias se conectan. Para desconectar las
resistencias “pull-up” se debe poner este bit en 1, también se desconectan
automáticamente cuando el pin correspondiente es configurado como salida. Un reset
desconecta todas las resistencias.
Pines RB4,...,RB7
Estos cuatro pines del puerto B tienen la capacidad de generar una solicitud de
interrupción a la CPU cuando están configuradas como entradas. El estado de estos
pines es comparado con el último estado que tenían durante la última lectura de
PORTB, guardado en un latch. Los bits que indican que hay una diferencia entre estos
valores por cada pin están conectados a una puerta OR cuya salida activa el bit RBIF
del registro INTCON solicitando con esto una interrupción. Esta interrupción es
especialmente útil para despertar al dispositivo de su estado de SLEEP cuando alguna
de las cuatro líneas es activada, por ejemplo, en respuesta a la presión de una tecla.
Esta característica de solicitud de interrupción cuando se detecta un cambio junto con
las resistencias “pull-up” configurables para estos cuatro pines, las hacen ideales para
el manejo de teclados en dispositivos portátiles que requieren “dormirse” durante largos
Fundamento Teórico
62
ratos para economizar baterías y “despertarse” cuando una tecla es presionada. En la
Figura 2.30. y Figura 2.31. se muestra la conexión interna de los pines del puerto B.
D Q
CK Q
D Q
CK Q
Data Bus
WR Port
WR TRIS
Data Latch
TRIS Latch
RD TRIS
VDD
P
I/O pin (1)
TTL
Input
Buffer
RD PORT
RBO/INT
RB3/PGM
DQ
EN
RBPO (2)
RD PORT
Schmitt Trigger
Buffer
weak pull-up
Note 1: I/O pins have diode protection to VDD and VSS.
2: To enable weak pull-ups, set the appropriate TRIS bit(s) and clear the RBPU bit (OPTION_REG<7>).
Figura 2.30 . Pines RB0, RB1, RB2, RB3
Figura 2.31. Pines RB4, RB5, RB6, RB7
Fundamento Teórico
63
2.3.1.3 EL PUERTO C (PORTC)
El puerto C consta de 8 líneas bidireccionales. Trabaja en forma similar a los dos
puertos anteriores y tiene asociados los registros:
Registro PORTC (07H)
Es el registro de datos cuyos 8 bits RC7,RC6,...,RC0 reflejan directamente el valor
lógico de las líneas físicas del puerto C.
POR,BOR - - x x x x x X
otros Reset - - u u u u u u
07h RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0 Bit 7 6 5 4 3 2 1 0
Tabla 2.8. Registro (07h), PORTC
Registro TRISC(87H)
Registro de control de dirección de las líneas del puerto C. Poniendo un 1 en un bit del
registro TRISC se configura la línea correspondiente como entrada y poniendo un 0 se
configura la línea correspondiente como salida.
POR,BOR - - 1 1 1 1 1 1
otros Reset - - 1 1 1 1 1 1
87h Registros de direcciones de datos del puerto C Bit 7 6 5 4 3 2 1 0
Tabla2.9. Registro (87h), TRISC
Las líneas del puerto C se encuentran multiplexadas con varias líneas controladas por
otros periféricos, cuando se habilita la línea del periférico respectivo puede ser ignorada
la configuración de TRISC, de hecho, algunos periféricos configuran la línea como
salida mientras que otros la configuran como entrada.
Cada entrada del puerto C posee un buffer con disparador Schmitt. Además, cuando se
selecciona la función I2C, las pins PORTC<4,3> pueden ser configuradas con niveles
I2C o con niveles SMBus mediante el bit CKE del registro SSPSTAT<6>, como se
muestra en la Figura 2.32. y Figura 2.33. :
Fundamento Teórico
64
Figura 2.32. Pines RC7, RC6, RC5, RC2, RC1 y RC0 del puerto C
Figura 2.33. Pines RC4 y RC3 del puerto C
Fundamento Teórico
65
2.3.1.4 LOS PUERTOS D Y E (PORTD, PORTE)
Puerto D
Es un puerto de 8 líneas configurables como entradas o salidas mediante el registro
TRISD (88H) y cuyas líneas pueden ser ingresadas mediante el registro PORTD (08H).
Cuando se configuran como entradas éstas poseen un disparador Schmitt
. POR,BOR - - x x x x x X
otros Reset - - u u u u u u
08h RD7 RD6 RD5 RD4 RD3 RD2 RD1 RD0 Bit 7 6 5 4 3 2 1 0
Tabla 2.10. Registro (08h), PORTD
POR,BOR - - 1 1 1 1 1 1
otros Reset - - 1 1 1 1 1 1
88h Registros de direcciones de datos del puerto D Bit 7 6 5 4 3 2 1 0
Tabla2.11. Registro (88h), TRISD
El Puerto D puede configurarse para trabajar simultáneamente con sus 8 bits como un
puerto esclavo (Parallel Slave Port) de comunicación paralela bidireccional con líneas
de protocolo proporcionadas por las tres líneas del Puerto E, para ello se deberá activar
el bit PSPMODE (TRISE<4>).
Puerto E
Sólo posee 3 líneas configurables como entradas o salidas mediante los 3 bits menos
significativos del registro TRISE (89H). Sus líneas pueden ser ingresadas mediante los
3 bits menos significativos del registro PORTE (09H). Las líneas del puerto E están
compartidas con el convertidor analógico / digital, por ello, antes de usarlas deberán ser
configuradas como entradas / salidas digitales o analógicas, según se desee en forma
similar a como se hizo con el puerto A, usando el registro de configuración ADCON1
(9FH).
Fundamento Teórico
66
POR,BOR - - - - - x x X
otros Reset - - - - - u u u
09h - - - - - RE2 RE1 RE0 Bit 7 6 5 4 3 2 1 0
Tabla2.12. Registro (09h), PORTE
POR,BOR - - 1 1 1 1 1 1
otros Reset - - 1 1 1 1 1 1
89h IBF OBF IBOV PSPMODE - Registros de direcciones de datos del
puerto D
Bit 7 6 5 4 3 2 1 0
Tabla 2.13. Registro (89h), TRISE
Figura2.34. Pines del puerto D y E
2.3.2 USART
La USART del PIC puede ser configurada para operar en tres modos:
Modo Asíncrono (full duplex (transmisión y recepción simultáneas)),
Modo Síncrono – Maestro (half duplex)
Modo Síncrono – Esclavo (half duplex)
Fundamento Teórico
67
Modo Asíncrono
En este modo la USART usa un formato estándar NRZ asíncrono, el cual para la
sincronización usa: 1 bit de inicio (I), 8 o 9 bits de datos y 1 bit de paro (P). Mientras no
se están transmitiendo datos la USART envía continuamente un bit de marca. El modo
asíncrono se selecciona limpiando el bit SYNC del registro TXSTA (98H). El modo
asíncrono es deshabilitado durante el modo SLEEP.
Cada dato es transmitido y recibido comenzando por el LSB. El hardware no maneja bit
de Paridad, pero el noveno bit puede ser usado para este fin y manejado por software.
Figura 2.35. Modo Asíncrono, transmisión de datos en serie
El módulo Asíncrono de la USART consta de 3 módulos fundamentales:
• El circuito de muestreo
• El generador de frecuencia de transmisión (Baud Rate)
• El transmisor asíncrono
• El receptor asíncrono.
El circuito de muestreo, El dato en el pin de recepción (RC7/RX/DT) es muestreado tres
veces para poder decidir mediante un circuito de mayoría, si se trata de un nivel alto o
un nivel bajo.
2.3.2.1 EL GENERADOR DE BAUD RATE (BRG)
Este generador sirve tanto para el modo síncrono como el asíncrono y consiste de un
contador/divisor de frecuencia de 8 bits controlado por el registro SPBRG (99H).
De tal manera que la frecuencia de transmisión se calcula de acuerdo a la siguiente
tabla:
Fundamento Teórico
68
Tabla 2.14. Formula del Baud Rate
SYNC BRGH=0 (baja velocidad) BRGH=1 (Alta velocidad)
0 (modo asíncrono) Baud rate=Fosc/(64(X+1)) Baud rate=Fosc/(16(X+1))
1 (modo síncrono) Baud rate=Fosc/(4(X+1)) -
X=valor de SPBRG (0 a 255)
Tabla 2.15. Baud Rates para modo asíncrono (BRGH = 0)
BAUD
RATE
(K)
FOSC = 20 MHz FOSC = 16 MHz FOSC = 10 MHz
KBAUD
%
ERROR
SPBRG
value
(decimal)
KBAUD
%
ERROR
SPBRG
value
(decimal)
KBAUD
%
ERROR
SPBRG
value
(decimal)
0.3
1.2
2.4
9.6
19.2
28.8
33.6
57.6
HIGH
LOW
-
1.221
2.404
9.766
19.531
31.250
34.722
62.500
1.221
321.500
-
1.75
0.17
1.73
1.72
8.51
3.34
8.51
-
-
-
255
129
31
15
9
8
4
255
0
-
1.202
2.404
9.615
19.231
27.778
35.714
62.500
0.977
250.000
-
0.17
0.17
0.16
0.16
3.55
6.29
8.51
-
-
-
207
103
25
12
8
6
3
255
0
-
1.202
2.404
9.766
19.531
31.250
31.250
52.083
0.610
156.250
-
0.17
0.17
1.73
1.72
8.51
6.99
9.58
-
-
-
129
64
15
7
4
4
2
255
0
BAUD
RATE
(K)
FOSC = 4 MHz FOSC = 3.6864 MHz
KBAUD
%
ERROR
SPBRG
value
(decimal)
KBAUD
%
ERROR
SPBRG
value
(decimal)
0.3
1.2
2.4
9.6
19.2
28.8
33.6
57.6
HIGH
LOW
0.300
1.202
2.404
8.929
20.833
31.250
-
62.500
0.244
62.500
0
0.17
0.17
6.99
8.51
8.51
-
8.51
-
-
207
51
25
6
2
1
-
0
255
0
0.301
1.216
2.432
9.322
18.643
-
-
55.930
0.218
55.930
0.33
1.33
1.33
2.90
2.90
-
-
2.90
-
-
185
46
22
5
2
-
-
0
255
0
Fundamento Teórico
69
Tabla 2.16. Baud Rates para modo síncrono (BRGH = 1)
BAUD
RATE
(K)
FOSC = 20 MHz FOSC = 16 MHz FOSC = 10 MHz
KBAUD
%
ERROR
SPBRG
value
(decimal)
KBAUD
%
ERROR
SPBRG
value
(decimal)
KBAUD
%
ERROR
SPBRG
value
(decimal)
0.3
1.2
2.4
9.6
19.2
28.8
33.6
57.6
HIGH
LOW
-
-
-
9.615
19.231
29.070
33.784
59.524
4.883
1250.000
-
-
-
0.16
0.16
0.94
0.55
3.34
-
-
-
-
-
129
64
42
36
20
255
0
-
-
-
9.615
19.231
29.412
33.333
58.824
3.906
1000.000
-
-
-
0.16
0.16
2.13
0.79
2.13
-
-
-
-
103
51
33
9
16
255
0
-
-
2.441
9.615
19.531
28.409
32.895
56.818
2.441
625.000
-
-
1.71
0.16
1.72
1.36
2.10
1.36
-
-
-
-
255
64
31
21
18
10
255
0
BAUD
RATE
(K)
FOSC = 4 MHz FOSC = 3.6864 MHz
KBAUD
%
ERROR
SPBRG
value
(decimal)
KBAUD
%
ERROR
SPBRG
value
(decimal)
0.3
1.2
2.4
9.6
19.2
28.8
33.6
57.6
HIGH
LOW
-
1.202
2.404
9.615
19.231
27.798
35.714
62.500
0.977
250.000
-
0.17
0.17
0.16
0.16
3.55
6.29
8.51
-
-
-
207
103
25
12
8
6
3
255
0
-
1.203
2.406
9.727
18.643
27.965
31.960
55.930
0.874
273.722
-
0.25
0.25
1.32
2.90
2.90
4.88
2.90
-
-
-
185
92
22
11
7
6
3
255
0
Debido a que el divisor es de 8 bits, no se puede tener cualquier velocidad de
transmisión deseada, ya que X se deberá redondear al entero más cercano. En las dos
tablas anteriores se muestran algunos valores baud estándares, el divisor necesario
(X=SPBRG) bajo diferentes frecuencias Fosc y el error producido en porcentaje
2.3.2.2 EL TRANSMISOR ASÍNCRONO
En la Figura 2.36. se muestra el diagrama de bloques del transmisor de la USART. El
corazón de este módulo es el registro de desplazamiiento (transmit shift register, TSR).
La única manera de acceder al registro TSR es a través del registro TXREG (19H).
Fundamento Teórico
70
Para transmitir un dato, el programa deberá ponerlo primero en el registro TXREG. En
cuanto el TSR termina de enviar el dato que tenía (en cuanto transmite el bit de stop)
lee el dato contenido en TXREG (si hay alguno) esto ocurre en un ciclo TCY. En cuanto
el dato de TXREG es transferido al TSR el TXREG queda vacío esta condición es
indicada mediante el bit bandera TXIF (que es el bit 4 del registro PIR1 (0Ch)), el cual
se pone en alto. Este bit no puede ser limpiado por software, sólo dura un instante en
bajo cuando se escribe un nuevo dato a TXREG. Si se escribe un dato seguido de otro
(back to back) a TXREG el primero se transfiere inmediatamente a TSR y el otro tiene
que esperar hasta que el TSR termine de enviar el bit de Stop del primero. Durante esta
espera TXIF permanece en bajo.
Figura 2.36. Diagrama de bloques del transmisor de la USART
Para habilitar el módulo de transmisión es necesario poner en alto el bit TXEN
(TXSTA<5>), mientras no se habilite el módulo, el pin de transmisión (RC6/TX/CK) se
mantiene en alta impedancia. Si TXEN es deshabilitado a la mitad de una transmisión,
está será abortada y el transmisor será reseteado.
Si se está usando un noveno bit TX9 (TXSTA<6>), éste deberá ser escrito antes de
escribir los 8 bits restantes a TXREG, ya que en cuanto se escribe un dato a este
registro inmediatamente es transferido a TSR (si éste está vacío).
Fundamento Teórico
71
De acuerdo a lo anterior, la inicialización del módulo de transmisión consiste en los
siguientes pasos:
1. Inicializar baud rate escribiendo al registro SPBRG el divisor adecuado y
opcionalmente al bit BRGH.
2. Habilitar comunicación asíncrona limpiando el bit SYNC y poniendo el bit
SPEN.
3. Si se van a usar interrupciones, poner el bit TXIE (PIE<4>).
4. Poner el bit TX9 si se desea transmitir datos de 9 bits
5. Habilitar transmisión poniendo el bit TXEN, lo cual pondrá el bit TXIF.
6. Colocar el noveno bit del dato en TX9D si se están usando datos de 9 bits.
7. Cargar el dato al registro TXREG (inicia la transmisión).
2.3.2.3 EL RECEPTOR ASÍNCRONO
El módulo de recepción es similar al de transmisión, en la Figura 2.37. se muestran los
bloques que lo constituyen. Una vez que se ha seleccionado el modo asíncrono, la
recepción se habilita poniendo en alto el bit CREN (RCSTA<4>)
El dato es recibido mediante la línea RC7/RX/DT, la cual maneja un registro de
desplazamiento de alta velocidad (16 veces el Baud rate).
El corazón del receptor es el registro de corrimiento RSR. Este registro no es accesible
por software, pero, cuando el dato recibido se ha completado (se ha recibido el bit de
Stop) el dato de RSR es transferido automáticamente al registro RCREG (1Ah) si éste
está vacío y al mismo tiempo es puesto en alto la bandera de recepción RCIF
(PIR1<5>). La única manera de limpiar la bandera RCIF es leyendo el los datos del
registro RCREG. El registro RCREG puede contener hasta dos datos, ya que es un
buffer doble que funciona como una cola de dos posiciones.
Si las dos posiciones del registro RCREG están llenas (no han sido leídas) y se detecta
el bit de Stop de un tercer dato de recepción, lo cual ocasiona un transferencia
automática del dato recibido a RCREG, esto destruirá el primer dato recibido y activará
Fundamento Teórico
72
el indicador de sobreescritura OERR (RCSTA<1>). Para evitar esto, se deberán leer los
dos datos en RSREG haciendo dos lecturas consecutivas.
La única manera de limpiar el bit OERR una vez que ha sido activado es reseteando el
módulo de recepción (limpiando CREN y volviéndolo a poner), si no se limpia OERR se
bloquea la transferencia de datos de RSR a RCREG y no puede haber más recepción
de datos.
Figura 2.37. Diagrama de bloques del receptor de la USART
Si se detecta un bit nivel bajo en la posición del bit de stop se pone el indicador de error
de encuadre (frame error) FERR RCSTA<2>. Tanto este indicador como el noveno bit
RX9D de los datos están en una cola de dos posiciones al igual que los datos recibidos,
de manera que al leer RCREG se actualizan FERR y RX9D con nuevos valores, por lo
cual estos bits deberán ser leídos antes de leer RCREG para no perder su información.
De acuerdo a lo anterior, la inicialización del módulo de recepción es como sigue:
Fundamento Teórico
73
1. Inicializar el baud rate escribiendo al registro SPBRG el divisor adecuado y
opcionalmente al bit BRGH.
2. Habilitar el puerto serie asíncrono limpiando el bit SYNC y poniendo el bit
SPEN.
3. Si se van a usar interrupciones, poner el bit RCIE (PIE<5>).
4. Si se desea recepción de datos de 9 bits se deberá poner el bit RX9
(RCSTA<0>).
5. Habilitar la recepción poniendo el bit CREN (RCSTA<4>)
6. El bit RCIF se pondrá cuando la recepción de un dato se complete y se
generará una interrupción si RCIE está puesto.
7. Leer el registro RCSTA para obtener el noveno bit (si se están recibiendo
datos de 9 bits) o para determinar si ha ocurrido un error de recepción.
8. Leer los 8 bits del dato recibido leyendo el registro RCREG.
9. Si ocurrió algún error este se limpia al limpiar el bit CREN, el cual deberá
volver a ponerse si se desea continuar la recepción.
2.3.3 EL MÓDULO TEMPORIZADOR
El PIC 16F877A posee un módulo para el manejo preciso y eficiente de operaciones
que involucran tiempo o conteo. Este módulo consta de:
Tres contadores/temporizadores denominados TMR0, TMR1 y TMR2
Dos módulos CCP (Captura, Comparación y PWM (Modulación de ancho de
pulso) denominados CCP1 y CCP2
En la Tabla 2.17. se resumen las principales características de los módulos
mencionados:
Tabla 2.17. Características de los timers del pic 16F877A
Módulo Características
TMR0
- TMR0 es un Contador/Temporizador de 8 bits
- Leíble y escribible
- Reloj interno o externo
- Selección de flanco activo en el reloj externo
- Preescalador de 8 bits programable
Fundamento Teórico
74
- Solicitud de interrupción opcional en el desbordamiento (de FFh a
00h)
TMR1
- TMR1 es un Contador/Temporizador de 16 bits
- Leíble y escribible
- Reloj interno o externo
- Solicitud de interrupción opcional en el desbordamiento (de FFFFh
a 0000h)
- Reinicialización opcional desde los módulos CCP
TMR2
- TMR2 es un Contador/Temporizador de 8 bits
- Dispone de un registro de periodo de 8 bits (PR2)
- Leíble y escribible
- Preescalador programable
- Postescalador programable
- Solicitud de interrupción opcional al coincidir TMR2 y PR2
- Posibilidad de generar impulsos al módulo SSP (puerto serie
síncrono)
CCP1 y
CCP2
- Modo de captura
- Modo de comparación
- Modo PWM (modulación de ancho de pulso)
2.3.3.1 EL MÓDULO DEL TIMER 0
El Timer 0 es un contador / temporizador de 8 bits. El registro principal de este módulo
es TMR0 (01h, 101h) . Este registro se incrementa continuamente a una frecuencia
seleccionable manejada por un preescalador y el reloj interno Fosc/4 (modo
temporizador ) o bien, por un preescalador y una señal externa (modo contador ).
En la Figura 2.37. se muestra un diagrama de bloques de este módulo, en donde se
indican los bits que afectan su operación y la manera en que lo hacen.
Fundamento Teórico
75
Figura 2.38 Diagrama d bloques del TIMER0/WDT preescalador
2.3.3.1.1 EL MODO TEMPORIZADOR
En el modo temporizador la señal de reloj que controla el incremento del registro TMR0
es la frecuencia Fcy = Fosc/4, la cual puede ser dividida opcionalmente por el
preescalador si así se desea. Como se puede ver en la Figura 2.38. , este modo es
seleccionado al limpiar el bit T0CS (OPTION_REG<5>). En este modo, el contenido del
registro TMR0 se incrementará a la frecuencia Fcy dividida de acuerdo al preescalador,
sin embargo, si se realiza una escritura al registro TMR0, su incremento es inhibido por
los siguientes dos ciclos de instrucción (Tcy).
2.3.3.1.2 EL MODO CONTADOR
En el modo contador, la señal que controla los incrementos del registro TMR0 es una
señal externa que proviene del pin T0CKI. En la Figura 2.38. se puede ver que este
modo se selecciona poniendo el bit T0CS en alto. Se puede seleccionar la transición
que provoca los incrementos mediante el bit “Timer0 Source Edge Select“ T0SE
(OPTION_REG<4>), limpiando este bit se selecciona la transición de subida, mientras
que al ponerlo en alto se selecciona la de bajada.
Fundamento Teórico
76
2.3.3.1.3 EL PREESCALADOR
El preescalador es un divisor de frecuencia de módulo seleccionable. Como se puede
ver en la Figura 2.38. , el preescalador está compartido entre el timer0 y el módulo
watchdog, sin embargo sólo puede conectarse a uno de los dos y esto se establece
mediante el bit PSA (OPTION_REG<3>), así, con este bit en alto el preescalador es
asignado al reloj del watchdog, mientras que con un nivel bajo en PSA el preescalador
dividirá la frecuencia que maneja al timer 0.
La selección del módulo (valor de división de frecuencia) del preescalador se puede
realizar mediante los bits PS2,PS1,PS0 (OPTION_REG<2:0>) de acuerdo a la siguiente
tabla:
Tabla 2.18 . Selección de bits del preescalador
PS2 PS1 PS0
Divisor
(timer 0)
Divisor
(Watchdog)
000 1/2 1/1
001 1/4 1/2
010 1/8 1/4
011 1/16 1/8
100 1/3 1/16
101 1/64 1/32
110 1/128 1/64
111 1/256 1/128
2.3.4 MANEJO DE INTERRUPCIONES
Se le llama interrupción a un salto especial a una subrutina que no está contemplado en
un punto específico del programa principal, sino que puede ocurrir en cualquier punto
de éste y no es provocado por una instrucción en el programa, sino por un evento
interno o externo al sistema del microcontrolador.
Fundamento Teórico
77
Los dispositivos que manejan eventos capaces de provocar una solicitud de interrupción
se denominan fuentes de interrupción. El microcontrolador PIC16F877A cuenta con
hasta 14 fuentes de interrupción.
Cada fuente de interrupción posee dos bits asociados a ella:
Una Bandera (terminada en F) de Interrupción, la cual es activada (en alto)
por el evento para solicitar una interrupción.
Una Máscara (terminada en E) Local de Interrupción, la cual si está
desactivada (en bajo) bloqueará la solicitud de interrupción correspondiente,
pero si está activada (en alto) permitirá la solicitud de Interrupción.
Además existe una máscara de interrupción global GIE (INTCON<7>), la cual
bloqueará todas las solicitudes de interrupción si está desactivada (GIE=0).
Algunas fuentes de interrupción también poseen una segunda máscara de
interrupción global denominada PEIE (INTCON<6>). De hecho, actúa sobre
todas las fuentes de interrupción, excepto las interrupciones debidas a la pin
INT, el sobreflujo del Timer 0 y las interrupciones del puerto B (INTF, T0IF y
RBIF).
De acuerdo a lo anterior, la única manera en que una solicitud de interrupción provoca
en efecto una interrupción en el programa es cuando:
La máscara global está activada (GIE=1).
(En su caso) la máscara global de periféricos está activada (PEIE=1)
La máscara local está activada
Ocurre un evento que activa la bandera correspondiente.
La lógica de activación de máscaras y banderas descrita arriba puede entenderse en
términos del diagrama lógico mostrado en la Figura 2.39. En este diagrama se
muestran las 14 fuentes de interrupción del PIC16F877A y se usan los nombres
específicos de cada fuente de interrupción para sus respectivas banderas y máscaras
de interrupción.
Fundamento Teórico
78
Figura 2.39. Diagrama de interrupción lógica
Proceso de reconocimiento de una interrupción
Cuando se cumplen las siguientes tres condiciones simultáneamente:
El bit GIE está activado (en alto)
Se produce un evento que solicita interrupción (se activa alguna de las
banderas de interrupción)
Está activada la máscara correspondiente a la bandera activada.
Entonces la CPU es interrumpida inmediatamente y ejecuta lo siguiente:
Termina la ejecución de la instrucción actual.
Desactiva el bit GIE (GIE=0) para bloquear cualquier otra solicitud de
interrupción.
La dirección de programa de la siguiente instrucción a ejecutar es guardada
en el stack.
Fundamento Teórico
79
Ejecuta un salto a la localidad de programa 0004h denominada vector de
interrupción, en donde el usuario deberá haber colocado el inicio de la rutina
de atención a la interrupción.
Ejecuta la rutina de atención a la interrupción escrita por el usuario, en la cual
éste podrá constatar la fuente de interrupción consultando por poleo las
banderas de interrupción.
La rutina de atención a la interrupción deberá limpiar los bits de la bandera
que solicitó la interrupción antes de rehabilitar interrupciones, para evitar
interrupciones recursivas.
La rutina de atención deberá terminar con una instrucción RETFIE, la cual
activa nuevamente el bit GIE (GIE=1) y lee el stack para continuar la
ejecución del programa que fue interrumpido en la siguiente instrucción.
Salvando el contexto durante una interrupción
Dado que el programa principal no puede prever en qué punto será interrumpido, la
rutina de atención a la interrupción debe ser tal que no altere ninguno de los registros
que requiere paso a paso el programa principal para su operación normal. Estos
registros son los que van guardando el contexto del programa (tal como en qué banco
está, el resultado de la última operación, etc.) y son:
Registro STATUS
Registro W
Registro PCLATH (si se están usando las páginas 1, 2 ó 3).
Fundamento Teórico
80
2.4 BOOTLOADER
Bootloader es una aplicación que desarrolló microchip para poder grabar programas
rápidamente en el PIC, en unos cuantos segundos, sin necesidad de tener un grabador.
Es un programa pequeño (2160 bytes en este caso) que permite descargar programas
al PIC usando únicamente el puerto serie, sin ningún hardware adicional.
Solo es necesario utilizar un grabador de PIC una vez, para grabar el programa
Bootloader. Se puede hacerlo con un grabador prestado. Una vez cargado el
Bootloader en el PIC ya se puede descargar en él los programas vía serie, sin
necesidad de grabador, todas las veces que se quiera. Si el hardware incorpora puerto
serie no es necesario quitar el PIC de su zócalo: usando el puerto serie del proyecto se
hace la correspondiente descarga.
El Bootloader se carga en el final de la memoria flash del programa del PIC y coloca el
vector de interrupción de arranque apuntándolo. Arranca cuando se alimenta el
procesador y espera un comando por el puerto serie. Si no lo recibe continua con la
ejecución normal del programa. Si lo recibe comienza a recibir un programa por el
puerto serie y a grabarlo en la flash de programa del PIC.
Es necesario tener el Bootloader configurado para el hardware y cargado en el PIC, una
conexión serie con el PC y el programa descargador.
El único inconveniente es modificar los programas para que puedan trabajar con el
Bootloader. Según el entorno de desarrollo Mplab, CCS, Hitech-C etc., las
modificaciones suelen incluir unas pocas líneas de código.
Además no se pueden usar los últimos 2160 bytes de memoria (en un PIC16F877A de
8K de memoria es el 27 % inutilizable)
Fundamento Teórico
81
2.5 PROTOCOLO RS232
El puerto serie RS-232C, presente en todos los ordenadores actuales, es la forma más
común usada para realizar transmisiones de datos entre ordenadores. El RS-232C es
un estándar que constituye la tercera revisión de la antigua norma RS-232, propuesta
por la EIA (Asociación de Industrias Electrónicas), realizándose posteriormente un
versión internacional por el CCITT, conocida como V.24. Las diferencias entre ambas
son mínimas, por lo que a veces se habla indistintamente de V.24 y de RS-232C
(incluso sin el sufijo "C"), refiriéndose siempre al mismo estándar.
El RS-232C consiste en un conector tipo DB-25 de 25 pines, aunque es normal
encontrar la versión de 9 pines DB-9, mas barato e incluso más extendido para cierto
tipo de periféricos (como el ratón serie del PC). En cualquier caso, los PCs no suelen
emplear más de 9 pines en el conector DB-25. Las señales con las que trabaja este
puerto serie son digitales, de +12V (0 lógico) y -12V (1 lógico), para la entrada y salida
de datos, y a la inversa en las señales de control. El estado de reposo en la entrada y
salida de datos es -12V. Dependiendo de la velocidad de transmisión empleada, es
posible tener cables de hasta 15 metros.
Cada pin puede ser de entrada o de salida, teniendo una función específica cada uno
de ellos. Las más importantes son:
Tabla 2.19. Descripción de los pines de entrada y salida del protocolo RS-232C
Pin Función TXD (Transmitir Datos)
RXD (Recibir Datos)
DTR (Terminal de Datos Listo)
DSR (Equipo de Datos Listo)
RTS (Solicitud de Envío)
CTS (Libre para Envío)
DCD (Detección de Portadora)
Las señales TXD, DTR y RTS son de salida, mientras que RXD, DSR, CTS y DCD son
de entrada. La masa de referencia para todas las señales es SG (Tierra de Señal).
Fundamento Teórico
Tabla 2.20 . Comparación de los números de pines de DB
NúmeroEn DB-25
1 2 3 4 5 6 7 8
15 17 20 22 24
(*) = Normalmente no conectados en el DB
Figura 2.40. Aspecto físico de los conectores DB9 y conteo de pines, izquierda macho, derecha hembra
Comparación de los números de pines de DB-25 y DB-9, respecto al pr
mero de Pin Señal Descripción 25 En DB-9
1 - Masa chasis 3 TxD Transmit Data 2 RxD Receive Data 7 RTS Request To Send 8 ºCTS Clear To Send 6 DSR Data Set Ready 5 SG Signal Ground 1 CD/DCD (Data) Carrier Detect- TxC(*) Transmit Clock - RxC(*) Receive Clock 4 DTR Data Terminal Ready9 RI Ring Indicator - RTxC(*) Transmit/Receive Clock
(*) = Normalmente no conectados en el DB-25
Aspecto físico de los conectores DB9 y conteo de pines, izquierda macho, derecha hembra
82
9, respecto al protocolo RS232C
E/S
- S E
S E
E -
(Data) Carrier Detect E S E
Data Terminal Ready S E
Transmit/Receive Clock S
Aspecto físico de los conectores DB9 y conteo de pines, izquierda macho, derecha hembra
Fundamento Teórico
2.6 MAX232
Este circuito soluciona los problemas de niveles de
unas señales digitales sobre una línea RS
aplicaciones donde no se disp
necesita solamente una fuente de +5V para su operación, inte
elevador de voltaje que convierte el
-12V. Cabe mencionar que existen una gran variedad de CI que cumplen con la norma
RS-232 como lo son: MAX220, DS14C232, MAX233, LT1180A.
El MAX232 dispone internamente de 4 conversores de niveles TTL al bus standard
RS232 y viceversa, para comunicación serie como los usados en los ordenadores.
El circuito integrado lleva internamente 2 conversores de nivel de TTL a RS232 y otros
2 de RS232 a TTL con lo que en total podremos manejar 4 señales del puerto ser
PC, por lo general las má
usadas para el protocolo handshaking pero no es imprescindible su uso. Para que el
MAX232 funcione correctamente deberemos de poner unos con
todo esto se puede ver
líneas TX y RX que son las má
Figura 2.41. Aspecto Físico de MAX232
Este circuito soluciona los problemas de niveles de voltaje cuando se requiere enviar
unas señales digitales sobre una línea RS-232. Este chip se utiliza en aquellas
aplicaciones donde no se dispone de fuentes dobles de +12 y
necesita solamente una fuente de +5V para su operación, inte
elevador de voltaje que convierte el voltaje de +5V al de doble
12V. Cabe mencionar que existen una gran variedad de CI que cumplen con la norma
232 como lo son: MAX220, DS14C232, MAX233, LT1180A.
dispone internamente de 4 conversores de niveles TTL al bus standard
RS232 y viceversa, para comunicación serie como los usados en los ordenadores.
o integrado lleva internamente 2 conversores de nivel de TTL a RS232 y otros
2 de RS232 a TTL con lo que en total podremos manejar 4 señales del puerto ser
PC, por lo general las más usadas son; TX, RX, RTS, CTS, estas dos
el protocolo handshaking pero no es imprescindible su uso. Para que el
MAX232 funcione correctamente deberemos de poner unos con
en la siguiente figura 2.42, en la que solo se han cableado l
son las más usualmente usadas para casi cualquier aplicación:
83
voltaje cuando se requiere enviar
232. Este chip se utiliza en aquellas
one de fuentes dobles de +12 y -12 Volts. El MAX 232
necesita solamente una fuente de +5V para su operación, internamente tiene un
doble polaridad de +12V y
12V. Cabe mencionar que existen una gran variedad de CI que cumplen con la norma
dispone internamente de 4 conversores de niveles TTL al bus standard
RS232 y viceversa, para comunicación serie como los usados en los ordenadores.
o integrado lleva internamente 2 conversores de nivel de TTL a RS232 y otros
2 de RS232 a TTL con lo que en total podremos manejar 4 señales del puerto serie del
s usadas son; TX, RX, RTS, CTS, estas dos últimas son las
el protocolo handshaking pero no es imprescindible su uso. Para que el
MAX232 funcione correctamente deberemos de poner unos condensadores externos,
en la que solo se han cableado las
s usualmente usadas para casi cualquier aplicación:
Fundamento Teórico
C1
C2
C3
Figura 2.4
2.7 OPTOACOPLADORES PC
Figura 2.4
Un optoacoplador , también llamado
un dispositivo de emisión y recepción de luz que funciona como un interrupto
mediante la luz. La mencionada luz es emitida por un
componente optoelectrónico
C1+
T1IN
R1OUT
R1IN
T1OUT
GNDVCC
R2IN
T2OUT
V-C2-C2+C1-V+
R2OUT
T2IN
C4
VCC
MAX232
RXTXRXTX
Figura 2.4 2. Diagrama de conexiones del MAX232
OPTOACOPLADORES PC817
Figura 2.4 3. Imagen física del optoacoplador PC817
, también llamado optoaislador o aislador acoplado ópticamente, es
un dispositivo de emisión y recepción de luz que funciona como un interrupto
mediante la luz. La mencionada luz es emitida por un diodo LED
optoelectrónico, normalmente en forma de fototransistor
84
RXTXRXTX
RS232
TTL
Diagrama de conexiones del MAX232
Imagen física del optoacoplador PC817
o aislador acoplado ópticamente, es
un dispositivo de emisión y recepción de luz que funciona como un interruptor excitado
diodo LED que satura un
fototransistor. De este modo se
Fundamento Teórico
85
combinan en un solo dispositivo semiconductor, un fotoemisor y un fotorreceptor cuya
conexión entre ambos es óptica. Estos elementos se encuentran dentro de un
encapsulado que por lo general es del tipo DIP. Se suelen utilizar como medio de
protección para dispositivos muy sensibles.
Figura 2.44. Diagrama de conexiones del optoacoplador PC817
La figura 2.44, muestra un optoacoplador PC817 formado por un LED y un
fototransistor. La tensión de la fuente de la izquierda y la resistencia en serie establecen
una corriente en el LED emisor cuando se cierra el interruptor S1. Si dicha corriente
proporciona un nivel de luz adecuado, al incidir sobre el fototransistor lo saturará,
generando una corriente en R2. De este modo la tensión de salida será igual a cero con
S1 cerrado y a V2 con S1 abierto.
Si la tensión de entrada varía, la cantidad de luz también lo hará, lo que significa que la
tensión de salida cambia de acuerdo con la tensión de entrada. De este modo el
dispositivo puede acoplar una señal de entrada con el circuito de salida.
La ventaja fundamental de un optoacoplador es el aislamiento eléctrico entre los
circuitos de entrada y salida. Mediante el optoacoplador, el único contacto entre ambos
circuitos es un haz de luz. Esto se traduce en una resistencia de aislamiento entre los
dos circuitos del orden de miles de MΩ. Estos aislamientos son útiles en aplicaciones
de alta tensión en las que los potenciales de los dos circuitos pueden diferir en varios
miles de voltios.
Fundamento Teórico
2.8 REGULADORES DE TENSIÓN, LM
Figura 2.4
Los circuitos integrados de las familias 78XX y 79XX permiten realizar fuentes de
alimentaciones estabilizadas
y sin complicaciones.
Con la familia 78XX se pueden hacer fuentes de tensión de salida positiva respecto a la
masa del circuito, mientras que la 79XX sirve para hacer fuentes de tensión de salida
negativa respecto a la masa del circuito.
La tensión de salida proporcionada por el regulador se indica por el número que
sustituye a las “XX” en la serigrafía del circuito integrado, así un 7805 es un regulador
de 5 V, y el 7915 es un regulador de
dispone de los reguladores de tensión variados, algunos de ellos se indican en la tabla.
Se puede ver además la tensión mínima y máxima de entrada para el correcto
funcionamiento del circuito y la de salida.
REGULADORES DE TENSIÓN, LM7805 LM7812
Figura 2.4 5. Aspecto físico de los reguladores LM7805 y LM
Los circuitos integrados de las familias 78XX y 79XX permiten realizar fuentes de
alimentaciones estabilizadas fiables, ya sean fijas o regulables, de una manera sencilla
Con la familia 78XX se pueden hacer fuentes de tensión de salida positiva respecto a la
masa del circuito, mientras que la 79XX sirve para hacer fuentes de tensión de salida
negativa respecto a la masa del circuito.
La tensión de salida proporcionada por el regulador se indica por el número que
sustituye a las “XX” en la serigrafía del circuito integrado, así un 7805 es un regulador
de 5 V, y el 7915 es un regulador de salida negativa de –15 V. En el comercio se
dispone de los reguladores de tensión variados, algunos de ellos se indican en la tabla.
Se puede ver además la tensión mínima y máxima de entrada para el correcto
funcionamiento del circuito y la de salida.
86
LM7812
Los circuitos integrados de las familias 78XX y 79XX permiten realizar fuentes de
, ya sean fijas o regulables, de una manera sencilla
Con la familia 78XX se pueden hacer fuentes de tensión de salida positiva respecto a la
masa del circuito, mientras que la 79XX sirve para hacer fuentes de tensión de salida
La tensión de salida proporcionada por el regulador se indica por el número que
sustituye a las “XX” en la serigrafía del circuito integrado, así un 7805 es un regulador
15 V. En el comercio se
dispone de los reguladores de tensión variados, algunos de ellos se indican en la tabla.
Se puede ver además la tensión mínima y máxima de entrada para el correcto
Fundamento Teórico
87
Tabla 2.21 . Diferentes tipos de reguladores y tensión de salida
Como se ve, por norma general, la tensión del secundario del transformador, debe ser
como mínimo 3 V superior a la tensión nominal del regulador integrado.
Todos pueden proporcionar una corriente máxima de 0,5A y si están convenientemente
refrigerados, hasta 1A.
El símbolo de este componente se representa como un rectángulo del que salen las
conexiones de entrada, salida y masa.
Figura 2.46. Designación de pines y representación gráfica.
Tipo de
Regulador
Tensión en Voltios
Mínima Máxima Salida
7805-7905 7 25 ±5
7806-7906 8 25 ±6
7808-7908 11 25 ±8
7812-7912 15 30 ±12
7815-7915 18 30 ±15
7818-7918 21 33 ±18
7820-7920 23 35 ±22
7824-7924 27 38 ±24
Fundamento Teórico
2.9 MICRORELES
El relé o relevador , del francés
funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de
una bobina y un electroimán
permiten abrir o cerrar otros circuitos eléctricos independientes.
Figura 2.4
Dado que el relé es capaz de controlar un circuito de salida de mayor potencia que el de
entrada, puede considerarse, en un amplio sentido, como un amplificador eléctrico.
Como tal se emplearon en
una nueva señal con corriente procedente de pilas loca
recibida por la línea. Se les llamaba "relevadores". De ahí
Se denominan contactos de trabajo aquellos que se cierran cuando la bobina del relé es
alimentada y contactos de reposo a lo cerrados en ausenci
misma. De este modo, los contactos de un relé pueden ser normalmente abiertos, NA o
NO, Normally Open por sus siglas en inglés, normalmente cerrados, NC,
Closed, o de conmutación.
Los contactos normalmente abiertos conectan el circuito cuando el relé es
activado; el circuito se desconecta cuando el relé está inactivo. Este tipo de
, del francés relais, relevo, es un dispositivo electromecánico, que
funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de
electroimán, se acciona un juego de uno o varios contactos que
permiten abrir o cerrar otros circuitos eléctricos independientes.
Figura 2.4 7. Representación física del Microrelé de 12V
Dado que el relé es capaz de controlar un circuito de salida de mayor potencia que el de
entrada, puede considerarse, en un amplio sentido, como un amplificador eléctrico.
Como tal se emplearon en telegrafía, haciendo la función de repetidores
una nueva señal con corriente procedente de pilas locales a partir de la señal
recibida por la línea. Se les llamaba "relevadores". De ahí el nombre de
Se denominan contactos de trabajo aquellos que se cierran cuando la bobina del relé es
alimentada y contactos de reposo a lo cerrados en ausencia de alimentación de la
misma. De este modo, los contactos de un relé pueden ser normalmente abiertos, NA o
por sus siglas en inglés, normalmente cerrados, NC,
, o de conmutación.
Los contactos normalmente abiertos conectan el circuito cuando el relé es
activado; el circuito se desconecta cuando el relé está inactivo. Este tipo de
88
, relevo, es un dispositivo electromecánico, que
funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de
, se acciona un juego de uno o varios contactos que
Representación física del Microrelé de 12V
Dado que el relé es capaz de controlar un circuito de salida de mayor potencia que el de
entrada, puede considerarse, en un amplio sentido, como un amplificador eléctrico.
repetidores que generaban
les a partir de la señal débil
el nombre de "relé".
Se denominan contactos de trabajo aquellos que se cierran cuando la bobina del relé es
a de alimentación de la
misma. De este modo, los contactos de un relé pueden ser normalmente abiertos, NA o
por sus siglas en inglés, normalmente cerrados, NC, Normally
Los contactos normalmente abiertos conectan el circuito cuando el relé es
activado; el circuito se desconecta cuando el relé está inactivo. Este tipo de
Fundamento Teórico
89
contactos son ideales para aplicaciones en las que se requiere conmutar fuentes
de poder de alta intensidad para dispositivos remotos.
Los contactos normalmente cerrados desconectan el circuito cuando el relé es
activado; el circuito se conecta cuando el relé está inactivo. Estos contactos se
utilizan para aplicaciones en las que se requiere que el circuito permanezca
cerrado hasta que el relé sea activado.
Los contactos de conmutación controlan dos circuitos: un contacto NA y uno NC
con una terminal común.
Cuando se excita la bobina de un relé con corriente alterna, el flujo magnético en el
circuito magnético, también es alterno, produciendo una fuerza pulsante, con frecuencia
doble, sobre los contactos. En un relé de corriente alterna se modifica la resonancia de
los contactos para que no oscilen.
La gran ventaja de los relés es la completa separación eléctrica entre la corriente de
accionamiento, la que circula por la bobina del electroimán, y los circuitos controlados
por los contactos, lo que hace que se puedan manejar altos voltajes o elevadas
potencias con pequeñas tensiones de control. También ofrecen la posibilidad de control
de un dispositivo a distancia mediante el uso de pequeñas señales de control.