2.1 CONTROLADOR LGICO PROGRAMABLE (PLC) PLC son las iniciales de Programmable Logic Controller, que traducido resulta Controlador Lgico Programable. Tambin se usa para nombrar a estos dispositivos el trmino: Autmatas Programables.
Cualquier modificacin en los procesos en una planta, significa recablear, agregar rels, temporizadores, etc. en los tableros de mando y control. Esto implica largas paradas de mquinas y a menudo los tableros quedan chicos para absorber los cambios. A fines de la dcada del 60, consciente de estos problemas, la General Motor le encarga a sus proveedores de controladores el diseo de equipos que cumplieran las siguientes especificaciones:
Flexibles: Los aparatos deban ser capaces de adaptarse a una gran variedad de situaciones, incluso reutilizarse para otras mquinas. Esta flexibilidad pretenda ser lograda mediante la programacin.
Estado Slido: Los nuevos equipos deban estar realizados usando componentes electrnicos.
Sencillos: Tanto la programacin, como el mantenimiento y la instalacin deban estar a cargo del propio personal de la industria, ingenieros y tcnicos, normalmente en esa poca sin conocimientos informticos.
Lgicos: Las funciones que deban gobernar eran del tipo on/off (todo/nada).
Fundamento Terico
El primer PLC apareci en 1968 y cumpla con los requerimientos mnimos de General Motor, pero rpidamente aparecieron ventajas adicionales tales como: menor consumo de energa, reduccin de espacio en los tableros, rpido mantenimiento, etc.
En 1972 aparecieron equipos que ya se programaban usando esquemas de contactos (Relay Ladder Logic), , figura 2.1. 2.1. Estos esquemas usaban los ingenieros y tcnicos para disear los os antiguos equipos cableados, por lo que resultaba fcil pasarse a la nueva tecnologa y ello populariz ms su uso.
En 1974 aparece el microprocesador, figura 2.2, lo que provoca importantes avances en el desarrollo arrollo de los PLC. Permitindo realizar tareas as cada vez ms complejas, mejorando su confiabilidad.
Fundamento Terico
10
En estos ltimos aos el crecimiento no se detuvo y entre los avances y caractersticas ms importantes de los PLC actuales, se destacan:
Aplicacin de computadoras para su programacin. 2.1.2 VENTAJAS DE LOS PLCs RESPECTO A LA LGICA CONVENCIONAL
Son muchas las ventajas que resaltan a simple vista el empleo de los PLCs para automatizar sistemas, desde aplicaciones bsicas hasta sistemas muy complejos. Actualmente, su uso es tan difundido que ya no se requiere mucho anlisis para decidir que tcnica emplear, si la lgica cableada en base a rels o la lgica programada en base al PLC. Sin embargo, a continuacin se fundamenta cada una de estas ventajas:
- Menor costo Las razones que justifican una mayor economa a la alternativa del uso del PLC, especialmente en aplicaciones complejas se da porque prescinde del uso de dispositivos electromecnicos y electrnicos tales como: rels auxiliares,
Fundamento Terico
temporizadores,
dispositivos simplemente deben ser programados en el PLC sin realizar una inversin adicional. El costo que implica invertir en los equipos anteriormente sealados, es muy superior al costo del PLC.
- Menor espacio Un tablero de control que gobierna un sistema automtico mediante un PLC, es mucho ms compacto que si se controlar con dispositivos convencionales (rels, 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 (mdulos 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; adems dado que sus componentes son de estado slido con pocas partes mecnicas mviles, 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 automtico, con slo realizar un nuevo programa y mnimos cambios de cableado. Adems es importante resaltar, que el tiempo empleado en realizar modificaciones comparado con la tcnica por la lgica cableada es significante.
- Poco mantenimiento Estos equipos por su constitucin de ser bastante compactos respecto a la cantidad de trabajo que pueden realizar, y adems, porque cuenta con muy pocos componentes electromecnicos, no requiere un mantenimiento peridico,
Fundamento Terico
12
sino lo necesario para mantener limpio y con sus terminales ajustados a los bornes y puesta a tierra.
- Instalacin 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 ms simple, adems que no es necesario mucho cableado, su instalacin resulta sumamente sencilla en comparacin a la lgica convencional que requiere de conocimientos tcnicos avanzados.
- Compatibilidad con dispositivos sensores y actuadores Actualmente las normas establecen que los sistemas y equipos sean diseados bajo un modelo abierto, de tal manera que para el caso de los PLCs estos puedan fcilmente conectarse con cualquier equipo sin importar la marca o procedencia. Hoy en da, casi todas las marcas de PLCs estn diseadas bajo este modelo.
- Integracin en redes industriales El avance acelerado de las comunicaciones ha conllevado a que estos equipos tengan capacidad de comunicarse va 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 tcnicos y administrativos de la planta.
- Deteccin de fallas La deteccin de una falla resulta sencilla porque dispone de leds, indicadores de diagnstico tales como: estado de la CPU, batera, terminales de E/S, etc., Adems, mediante el mdulo de programacin se puede acceder al modo dinmico del programa en representacin grfica, o tambin recurrir a la memoria de errores ubicada en la CPU
- Programacin sencilla Programar los PLCs resulta fcil por la sencilla razn que no es necesario conocimientos avanzados en el manejo de PCs, solamente es suficiente
Fundamento Terico
13
conceptos bsicos. Por otro lado, existen diversas representaciones de programacin donde fcilmente el usuario se adopta a la representacin que mejor se familiariza. Sus instrucciones y comandos son transparentes y entendibles, requiriendo poco tiempo para lograr ser un experto.
- Menor consumo de energa Como es de conocimiento cualquier equipo electromecnico y electrnico requiere un consumo de energa 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 instalacin Por las caractersticas tcnicas que representa en cuanto a los requisitos que debe cumplir para su instalacin, tales como: nivel de temperatura, humedad, ruido, variaciones de tensin, distancias permisibles, etc. fcilmente se encuentra un lugar en la planta donde instalarlo, an en ambientes hostiles.
Un controlador lgico programable est constituido por un conjunto de tarjetas o circuitos impresos, sobre los cuales estn ubicados componentes electrnicos integrados. Cuando el controlador es del tipo modular, las diferentes tarjetas que tienen funciones especficas, quedan alojadas en racks agrupadas convenientemente para un funcionamiento en conjunto. Asimismo, todas las tarjetas estn conectadas a travs de elementos de bus, que son circuitos por donde fluye la informacin y generalmente se encuentran en la parte posterior. El controlador programable tiene la estructura tpica de muchos sistemas programables, como por ejemplo una microcomputadora. La estructura bsica del hardware de un controlador programable est constituido por:
Fundamento Terico
14 - Fuente de alimentacin - Unidad de procesamiento central (CPU) - Mdulos o interfases de entrada/salida (E/S) - Mdulos de memoria - Unidad de programacin
En algunos casos el trabajo que debe realizar el controlador es ms exigente, en estos casos se incluyen: Mdulos inteligentes
La Figura 2.3. muestra un diagrama de bloques de la estructura bsica de un automatismo gobernado por un PLC, y a continuacin se describen con mayor detalle cada una de las partes de un PLC.
Sensores
PROCESO
Actuadores
Interfase de entrada
CPU
Dialogo Dialogo Hombre/Mquina Hombre/Mqui
Interfase de salida
Unidad de programacin
PLC
Fundamento Terico
15
La funcin de la fuente de alimentacin en un controlador, figura 2.4, es suministrar la energa elctrica a la CPU y dems tarjetas segn la configuracin del PLC.
La fuente en una configuracin modular por lo general ocupa el primer lugar de izquierda a derecha en el bastidor central de un PLC modular, y est diseado a base de un conjunto de componentes elctricos y electrnicos; su principio de funcionamiento es transformar la tensin alterna de la red en continua,
Figura 2.4. Fuente de alimentacin para un PLC modular Simatic
niveles
compatibles
que
garanticen
el
funcionamiento del
Como valores de referencia se indican algunos niveles de tensin suministrada por una fuente de alimentacin de una
marca determinada.
+ 5V + 5.2 V + 24 V
para alimentar a todas las tarjetas para alimentar al programador para los canales de lazo cerrado de corriente 20mA
Todas las fuentes estn protegidas contra sobrecargas mediante fusibles, que muy fcilmente pueden ser reemplazados en caso de una avera.
Los fabricantes de estos equipos, generalmente disean al PLC con diferentes caractersticas en cuanto al nivel de tensin, y capacidad de corriente que puedan suministrar. Cuando se elige la fuente apropiada depender bsicamente de la complejidad y magnitud del controlador para manejar un determinado nmero de tarjetas de E/S, tarjetas de comunicacin, 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.
Fundamento Terico
16
Es la parte ms compleja e imprescindible del controlador programable, que en otros trminos podra considerarse el cerebro del controlador, figura 2.5.
La unidad central est diseada a base de microprocesadores y memorias; contiene una unidad de control, la memoria interna del programa RAM, temporizadores, contadores, memorias internas del tipo rel, imgenes del proceso de E/S, etc. Su misin es leer los estados de las seales 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 elaboracin del programa, depositar los estados de seal de todas las entradas en una memoria denominada imagen del proceso de entradas, y durante la ejecucin del programa, guardar los resultados de las combinaciones en otra memoria
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, adems de su velocidad de procesamiento. El tiempo de lectura del programa est en funcin del nmero y tipo de instrucciones, y por lo general es del orden de los milisegundos, este tiempo tan pequeo significa, que cualquier modificacin de estado en una entrada, genera casi instantneamente una seal de salida. S5-115U
Figura 2.5. Unidad de Procesamiento Central familia Simatic
S5-95U
La
mayora
de
los
fabricantes
en
sus
Fundamento Terico
17
cliente la velocidad de procesamiento en unidades de milisegundos por Kbyte (ms/kb) denominndolo el Scan time del procesador; lgicamente este parmetro 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.
Memorias internas
Base de datos
Memoria RAM
Memoria ROM sist. operativo
Unidad de Control
CPU
Mdulos de memoria
Bus perifrico
Canal serie
2.1.3.4 MDULOS O INTERFASES DE ENTRADA Y SALIDA (E/S) Los mdulos de entrada o salida son los que proporcionan el vnculo entre la CPU del controlador programable y los dispositivos de campo del sistema. A travs de ellos se origina el intercambio de informacin ya sea con la finalidad de la adquisicin de datos o la del mando para le control de mquinas del proceso.
Los mdulos entrada, transforman las seales 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 mdulos de entrada aslan elctricamente de la seccin lgica, protegindolo contra tensiones peligrosamente altos, ruidos
Fundamento Terico
18
elctricos y seales parsitas. Finalmente proporcionan el filtrado de las seales procedentes de los diferentes captadores ubicados en las mquinas.
Los mdulos de salida, permiten que la tensin 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 electrnicos 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 mdulos de entrada y salida, cada uno de los cuales sirve para manejar cierto tipo de seal (discreto o anlogo) a determinado valor de tensin o corriente en DC o AC. 2.1.3.4.1 MDULOS DE ENTRADA DIGITAL
Se usan como interfase entre los dispositivos externos denominados tambin captador y la CPU del PLC, figura 2.7. Estos captadores son los encargados de la adquisicin de datos del sistema, que para este caso slo son de tipo discreto, adems tiene la caracterstica de comunicar dos estados lgicos, activado o desactivado, o lo que es lo mismo permitir el paso o no de la seal digital (1 0). Los captadores pueden ser del tipo manual (botones pulsadores, conmutadores, selectores, etc.) o del tipo automtico (finales
S5, 8 entradas 24 V DC
Figura 2.7. Mdulo de entrada Discreta, Simatic
de
carrera,
detectores
de
proximidad
inductivos
Estos mdulos estn diseados mediante una estructura de cuatro funciones operacionales para el sistema del controlador, ellos son:
- Adquisicin: Consiste en el cableado de los captadores desde la mquina o proceso hacia el mdulo de entrada.
Fundamento Terico
19
- Acondicionamiento de la seal: Establece los niveles de tensin de entrada de la mquina, a niveles lgicos convenientes, mediante resistencias limitadoras o, puentes rectificadores para el caso en que la adquisicin es en alterna.
- Sealizacin: Se disponen de lmparas indicadores (leds), que permiten la funcin de diagnstico ms rpido. La tensin para el indicador puede provenir del sistema o del mismo controlador.
- Aislamiento: Las seales son aisladas elctricamente como fsicamente mediante dispositivos electrnicos opto-acopladores.
Todos los mdulos tienen tambin circuitos de filtrado, que suprimen las seales parsitas perjudiciales al funcionamiento del controlador. En la Figura 2.8, se presenta los circuitos elctricos equivalentes y elementales de los mdulos 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 rectificacin, all se puede visualizar las cuatro etapas operaciones empezando por la adquisicin de la seal, luego es acondicionada por un rectificador o resistencia limitadora, seguidamente es sealizada mediante un led y acoplada pticamente: observe tambin que cuenta con una impedancia para el filtrado.
Es importante sealar, que la mayora de fabricantes de controladores disean estos mdulos en varias alternativas, principalmente en: la cantidad de canales o terminales de conexin que suponen, el nivel de tensin y la corriente que manejan, con el objetivo de adaptar al controlador, las diferentes magnitudes de seales de los procesos industriales, y de este modo ms flexibles.
Fundamento Terico
Diodo de sealizacin Filtro RC Resistencia Limitadora Sensor Discreto
20
Opto acoplador
Fuente Externa
Interfase DC
2.1.3.4.2 MDULOS DE SALIDA DIGITAL Al igual que los mdulos de entrada digital, estos mdulos 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 lgicos, activado o desactivado. Los actuadores que se conectan a estas interfases puedan ser: contadores, rels, lmparas indicadoras, electrovlvulas, displays, anunciadores, etc. La estructura de estos mdulos contempla tambin las cuatro funciones operacionales que son:
Fundamento Terico
21
- Terminacin: Alambrado desde el mdulo hacia los actuadores que se encuentran cerca de la mquina o proceso.
- Acondicionamiento de la seal: Convierte las seales provenientes de la CPU, de un nivel lgico a un control de conexin y desconexin.
Existen de acuerdo a sus diseo, diversos tipos de mdulos de salida, donde cada uno de ellos se destaca segn 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 MDULOS DE SALIDA DIGITAL TIPO TRANSISTOR
S5, 8 entradas 24 V DC
Figura 2.9. Mdulo de entrada Digital, Simatic
Su principio de funcionamiento es en base a transistores, lo que significa una constitucin ntegramente en estado slido con caractersticas para trabajar en corriente continua (DC) de larga vida til y con bajo nivel de corriente, figura 2.10.
Interfase
Opto acoplador
Figura 2.10. Circuito equivalente de una interfase de salida digital en DC (tipo transistor)
Fundamento Terico
22
Estas interfases funcionan mediante la conmutacin de un Triac, figura 2.11, son igualmente en estado slido y se usan para manejar seales en corriente alterna.
Figura 2.11. Circuito equivalente de una interfase de salida digital en tipo TRIAC
Estos mdulos a diferencia de los anteriores, estn compuestos por dispositivos electrnicos y un micro rel electromagntico de conmutacin. Su campo de accin le permite trabajar en AC y DC y con diferentes niveles de tensin, con la ventaja de manejar corrientes ms elevadas y con el inconveniente de una corta vida til debido al desgaste de la parte mvil de los contactos, figura 2.12.
Figura 2.12. Circuito equivalente de una interfase de salida digital en AC (Tipo Rel)
Fundamento Terico
23
Durante su funcionamiento estos mdulos se caracterizan respeto a los de estado slido, por el reconocible sonido de los contactos de conmutacin que emiten los microrels. 2.1.3.4.3 MDULOS DE ENTRADA ANALGICA
Los mdulos de entrada analgica son tarjetas electrnicas que tienen como funcin, digitalizar las seales analgicas para que puedan ser procesadas por la CPU, figura 2.13. Estas seales analgicas que varan continuamente pueden ser magnitudes de temperatura, presiones, tensiones, corrientes, etc.
Los mdulos generalmente estn constituidos por un convertidor anlogo digital (ADC) y un multiplexor. Adems, a cada mdulo segn su diseo, pueden conectrsele un nmero determinado de sensores analgicos; a estos terminales de conexin se los conoce como canales. Existen tarjetas de 4, 8, 16 y 32 canales de entrada analgica.
Por otro lado, el principio de funcionamiento consiste, primero en la adquisicin de la informacin analgica del proceso va los sensores de entrada, teniendo presente el tipo de seal fsica que se desea procesar, as por ejemplo una termocupla, que estara conectada en cualquier canal
Figura 2.13. Mdulo de entrada Analgica, Simatic
El multiplexor hace las veces de conmutador para seleccionar un canal al cual est conectado la seal analgica que se desea procesar, para luego transmitirlo al convertidor anlogo-digital (ADC). Este convertidor, a su vez se encargar de digitalizar la seal que estar en funcin del nivel de la seal analgica que recibe; finalmente, esta informacin 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.
Fundamento Terico
24
Es importante sealar que cualquier magnitud analgica que se desea procesar va los mdulos de entradas analgicas, tiene que estar representada por una seal de tensin, corriente o resistencia, este trabajo es realizado por el mismo sensor o a travs de un transductor
Estos mdulos se distinguen por el tipo de seal que reciben pudiendo ser de tensin (V) o de corriente (mA), que se encuentran dentro de ciertos rangos estandarizados, donde los ms difundidos son:
10 mA 0-2 V, 10 V
La ventaja de trabajar con seales de corriente respecto a la de tensin, radica en que no presenta los problemas del ruido elctrico y la cada de tensin.
Por ltimo, en lo que respecta a la calidad de la lectura de la informacin estos mdulos se caracterizan por dos parmetros importantes:
- La resolucin, Se refiere a la cantidad de bits que utiliza el convertidor A/D, para representar el valor analgico, lo que significa que a mayor nmero de bits existir mayor precisin. Las resoluciones tpicas son de 8 y 16 bits.
- El tiempo de escrutinio, resulta obvio que si se realiza un mayor nmero de muestreos en un mismo intervalo de tiempo, se reproduce la forma de onda de un modo ms preciso, Por lo tanto, es conveniente un menor tiempo de escrutinio. 2.1.3.4.4 MDULOS DE SALIDA ANALGICA Estos mdulos son usados cuando se desea transmitir hacia los captadores anlogos seales de tensin o de corriente que varan continuamente, y estn constituidos bsicamente por dispositivos multiplexores, convertidores digital-anlogo (DAC), optoacopladores, etc.
Fundamento Terico
25
Su principio de funcionamiento puede considerarse como un proceso inverso al de los mdulos de entrada analgica, esto quiere decir que la informacin digital proveniente del procesador ya elaborado por un programa del usuario, es optoacoplado por estas interfases para asegurar una separacin galvnica; a continuacin un multiplexor se encarga de enviar los datos al convertidor digital analgico (DAC) para su conversin a seal analgica, figura 2.14.
Figura 2.14. Mdulo de salida Analgica, Simatic
Estos mdulos pueden tener uno o ms, dependiendo de la cantidad de canales de salida que tenga. Debe tenerse
presente tambin, que la uniformidad o regularidad de la seal analgica est supeditada a la resolucin del DAC, lo que significa que es importante en estos mdulos el nivel de resolucin y el tiempo de respuesta.
Las seales analgicas de salida son de dos tipos, seales de corriente y seales de tensin. Dentro de las estandarizadas se tienen:
4-20 mA, 10 V
20 mA
Son dispositivos electrnicos enchufables en la CPU, destinados a guardar informacin de manera provisional o permanente. Se cuenta con dos tipos de memorias, voltil (RAM) y no voltil (EPROM y EEPROM), segn requieran o no de energa elctrica para su conservacin de la informacin.
La capacidad de memoria de estos mdulos se disea en diferentes tamaos. Las ms tpicas son: 2, 4, 8, 16, 32, 64, 128, 256 Kb, y ms, excepcionalmente.
Fundamento Terico
26
RAM 64Kb
RAM 32Kb
Este tipo de memoria sirve para almacenar el programa del usuario durante su elaboracin y prueba, donde es posible modificarlo constantemente. El contenido de la memoria RAM, ya sea la del mdulo enchufable o la que posee la CPU, es voltil, es decir, su contenido se pierde si el suministro de energa proporcionado por la fuente de alimentacin se desconecta. Por consiguiente, para evitar perder la informacin ante fallas de suministro, es necesario salvaguardarlo mediante una batera de larga duracin enchufable hufable en la CPU, estas fuentes son disponibles por todos los tipos de controladores y tienen una duracin que vara entre 2 a 5 aos, dependiendo del tipo de CPU, figura 2.15. . Es importante por consiguiente, que esta batera se mantenga en perfectas condiciones iciones durante todo el tiempo de funcionamiento del PLC.
Fundamento Terico
27
EPROM 64Kb
EPROM 32Kb
Para grabar este mdulo es necesario utilizar aparatos de program programacin destinados tambin para este propsito, 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, borrado figura 2.16.
Este mdulo tiene las mismas caractersticas que el mdulo EPROM, con la nica diferencia que el borrado se realiza elctricamente, es por ello que se denomina memoria de slo lectura, tura, elctricamente programable y borrable, borrable, figura 2.17. 2.17
Para estos tipos de mdulos, los aparatos de programacin realizan las dos funciones tanto de programacin como de borrado.
Fundamento Terico
28
Los aparatos de programacin denominados tambin terminales de programacin son el medio de comunicacin entre el hombre y la mquina, a travs de la escritura, lectura, modificacin, monitoreo, forzado, diagnstico y la puesta a punto de los
programas. Estos stos aparatos estn constituidos por un teclado y un dispositivo de visualizacin, donde el teclado muestra todos los smbolos (nmeros, letras, instrucciones, etc.) necesarios para la escritura del programa y otras acciones anteriormente sealadas.
El visualizador isualizador o pantalla pone a la vista todas las instrucciones programadas o registradas en memoria. Existen tres tipos de programadores: los manuales: Hand
El mtodo de programacin ms completo incluyendo la deteccin de fallas son programadores de video y las computadoras personales, en ella se puede emplear todos los lenguajes para la programacin: lista de instrucciones (literal) y mtodo grfico. Cuando se usa la computadora, que por lo general es comn, es necesari necesario el software de programacin.
Fundamento Terico
29
Los aparatos de programacin son una herramienta importante, necesaria para el dilogo con el PLC, pero fsicamente independiente los cuales permiten:
Escribir a travs de lista de instrucciones o mediante el mtodo grfico 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 tambin de las memorias EPROM o EEPROM
Simular la ejecucin de las instrucciones del programa a travs 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 lgico 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 anlisis de la programacin.
Por lo general todos los fabricantes o representantes de PLCs distribuyen a sus clientes catlogos o manuales, los cuales contienen las especificaciones tcnicas de sus equipos. El detalle con que se presenta esta informacin, depender del tipo de catlogo y tambin del fabricante; no todos lo presentan con la misma estructura. Sin embargo, lo ms importante para comprender estos datos es saber el significado que representa cada una de ellas, pues, los fabricantes respetan las normas tcnicas en la especificacin de los equipos.
A continuacin se describe la mayora de las especificaciones tcnicas ms difundidas con algunos ejemplos:
Fundamento Terico
30
Marca Nombre que da el fabricante a sus productos para diferenciarlos de los dems. Simatic/Siemens Telemecanique Allen-Bradley General Electric AEG Modicon
Serie Se refiere a la especificacin de los equipos fabricados bajo ciertas caractersticas, y por lo general se diferencian en el rango o tamao del PLC. Se representa mediante nmeros, letras o una combinacin de ellos. S5-135U/Simatic TSX 17-20/Telemecanique SLC 500/Allen-Bradley 90-30 General Electric A 500/AEG Modicon
Fundamento Terico
31
CPU Especificaciones dadas para distinguirlos de sus caractersticas de operacin, tales como: velocidad de procesamiento, memoria disponible, cantidad de E/S, etc. Se representa mediante nmeros, letras o una combinacin 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 nmero mximo de instrucciones que se puede cargar en el programa del usuario, y est dado en (Kb) 32 Kb / Simatic S5-135U
Fundamento Terico
32
Cantidad de entradas discretas Total Por mdulos Tensin de entrada en DC/AC Intensidad de corriente de entrada nominal Frecuencia en AC
Cantidad de salidas discretas Total Por mdulos Tensin de entrada en DC/AC Intensidad de corriente nominal Frecuencia de conmutacin Tipo de salida: Transistor/Triac/Rel
Cantidad de E/S analgicas Total Tipo: pudiendo ser de tensin, corriente o resistencia Mrgenes de entrada Resistencia de entrada: para las entradas analgicas Resistencia de salida : para las salidas analgicas Resolucin Tiempo de escrutinio
Memorias internas Denominado tambin Bits internos, banderas o marcas. Son memorias que tienen la misma funcin que los rels electromagnticos y se usan en la lgica 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 informacin ante una prdida de energa.
Fundamento Terico
33
Remanentes, Son aquellos que retienen la informacin ante una prdida de energa.
Funciones de programacin Son todas aquellas funciones de tiempo, conteo, memorias, registros operacin, etc. Que se usa en la programacin. En algunos casos importantes conocer su tipo y cantidad, las ms conocidas son: Temporizadores: on delay, off-delay, etc. Contadores: ascendentes y descendentes Memorias intermedias Registros de datos Shift register Secuenciador Operaciones aritmticas: +, -, x, / Comparadores: >, <, ><, >=, <=, = Carga y transferencia Salto y conversin, etc.
Reloj calendario Usado para programar la hora y fecha en los programas del usuario. Hr / min / seg Ao / mes / da
Algoritmo de regulacin PID Es una funcin que dispone algunas CPUs para efectuar regulacin de accin. Se usa en sistemas regulados como los que se encuentra en la ingeniera de procesos, por ejemplo: en la regulacin de presin, temperatura a caudal.
Software de programacin Cada fabricante tiene su propio software para la programacin de sus equipos, algunos con mayores ventajas que otros: STEP 7 / Simatic Micrologix500 / Alllen Bradley
Fundamento Terico
34
Password de proteccin Es una clave de acceso del usuario para autorizar la programacin.
Visualizacin de procesos Software de monitoreo y control de procesos industriales va PLCs. La visualizacin dinmica del proceso se da en forma grfica haciendo simple la supervisin, as mismo, la adquisicin de datos es en tiempo real.
Aparatos de programacin Son equipos destinados a la programacin 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 grfico. PC compatibles, Computadores personal para programar en modo literal o grfico; es necesario tener el software para su instalacin.
Duracin de la batera de respaldo Es el tiempo dado en aos durante la cual se garantiza que la batera ubicada en la CPU est operativa (2 5) aos.
Indicadores de diagnstico Son leds ubicados en las diferentes partes del PLC, que tienen como funcin indicar el modo de operacin, diagnstico de fallas, etc. De estos equipos, as como tambin, el estado de la batera. Entre los Leds indicadores ms importantes se tienen: CPU RUN STOP RESET Fallas E/S Forzamiento
Fundamento Terico
35
Potencia consumida Es la potencia consumida de la red por la fuente de alimentacin y est expresado en: Vatios / DC VA / AC
Canales de comunicacin Son prticos de entrada y salida cuya funcin es la comunicacin con: Programadores Mdulos 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 comunicacin 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 desempear la funcin de: Maestro Esclavo
Condiciones ambientales Son aquellas condiciones lmites para la temperatura y humedad a las que pueden estar sometidos en casos extremos sin alterar sus caractersticas de
Fundamento Terico
36
funcionamiento. Para ambas condiciones se especifican los valores segn el modo de trabajo del PLC y son: Temperatura, Dado en (C) para las condiciones de: Operacin y Almacenamiento Rgimen de humedad, Dado en (%) para las condiciones de: Operacin y Almacenamiento
Otras caractersticas Estas dependen de la norma y por consiguiente de las unidades estas son: Inmunidad al ruido Shock Vibracin, etc.
Dimensiones de montaje Se refiere a las dimensiones fsicas del equipo tales como: mdulos, cables, etc. Estos datos son importantes para efectos de montaje.
Peso Esta magnitud dado en (Kgs) puede ser importante para efectos montaje.
Certificacin Es una informacin que depende de la procedencia del equipo y se refiere a la(s) tcnica(s) utilizadas para su disea y control de calidad, as por ejemplo existen: UL VDE SA, etc.
Fundamento Terico
37
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 instruccin le indica: Que operacin realizar a continuacin. De donde obtendr los datos que necesita para realizarla Dnde guardar los resultados de la operacin.
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 programacin, estos lenguajes permiten simplificar la creacin de programas debido a su fcil descripcin 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 fcil la compresin y resolucin de programas. Tambin varios cientos de instrucciones simples se pueden expresar con una lista de unas cuantas lneas.
En conclusin, reuniendo estos tres conceptos se puede decir: Un programa se escribe en un lenguaje de programacin y a la actividad de expresar un algoritmo en forma de programa se le denomina programacin.
A menudo, el lenguaje de programacin se denomina software programacin cuando se emplea un trmino genrico, a fin de distinguirse el hardware.
Fundamento Terico
38
Parte del programa lo escriben los usuarios para ejecutar tareas que desean automatizar, pero adems existen otros programas ya escritos que permiten procesar los programas del usuario. A continuacin, se definirn estos dos tipos de programas.
Existen cierto nmero de otros programas que proporcionan servicios vitales a los programas del usuario, esto es, realizan funcin operativas internas del controlador; estos programas, incluyendo los traductores de lenguaje reciben la denominacin colectiva de programacin 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 informacin durante largos periodos, organizar el procesamiento de los programas del usuario o aplicacin, etc.
Estos programas estn almacenados en la memoria EPROM dentro de la CPU, por lo tanto no se pierden ni alteran en caso de prdida de alimentacin al equipo. El usuario
Es el conjunto de instrucciones o proposiciones que programa el usuario, con el fin de resolver tareas de automatizacin especfica. Para ello, el usuario escribe el programa de acuerdo a la representacin de lenguaje de programacin que mejor se adapte a su trabajo, o en todo caso, tenga un mejor dominio. Es importante sealar, que algunos fabricantes no emplean todos los tipos de representaciones de los lenguajes de programacin, no obstante, el usuario tendr que adaptarse a la representacin que se disponga.
Fundamento Terico
39
Programas de Aplicacin
Lenguaje de Aplicacin
E1
E2
S1
S1
Tareas de Automatizacin
CPU
Memoria ROM Unidad de Control Memoria RAM
En la actualidad cada fabricante disea su propio lenguaje de programacin, 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 programacin usado para realizar se denomina representacin del lenguaje de programacin.
Hasta el momento existen tres tipos representaciones como ms difundidas a nivel mundial, las cuales, cada fabricante, las emplean para su programacin, estas son:
Fundamento Terico
40
Es obvio, que la gran diversidad de lenguajes de programacin da lugar a que cada fabricante tenga su propia representacin, originando cierta incomodidad al usuario cuando programa ms 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 programacin.
El grafcet es una representacin de anlisis grfico 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-Transicin es un conjunto indisociable.
Fundamento Terico
41
Etapa
6
Transicin
10
MOTOR 1
Es una representacin grfica orientada a las puertas lgicas AND, OR, NOT y sus combinaciones. Las funciones individuales se representan con un smbolo, donde en su lado izquierdo se ubican las entradas y en el derecho las salidas. Los smbolos usados son iguales o semejantes a los que se utilizan en los esquemas de bloques en electrnica digital, figura 2.20.
Fundamento Terico
42
Es la representacin grfica que tiene cierta analoga a esquemas de contactos segn la norma Nema (USA).
Su estructura obedece a la semejanza que existe con los circuitos de control con lgica cableada, es decir, utiliza la misma representacin de los contactos normalmente abiertos y normalmente cerrados, con diferencia que su interpretacin es totalmente diferente, figura 2.21.
Adems de los simples contactos que dispone, existen otros elementos que permiten realizar clculos aritmticos, operaciones de comparacin, implementar algoritmos de regulacin, etc. Su gran difusin se debe para facilitar el trabajo a los usuarios.
E.2
S.1
E.5
Este tipo de lenguaje se refiere bsicamente al conjunto de instrucciones compuesto de letras, cdigos y nmeros de acuerdo a una sintaxis establecida.
Se considera un lenguaje de menor nivel que los grficos y por lo general se utilizan para programar pequeos PLCs cuyos programas no son muy complejos, o para programar instruccin no programable en modo grfico.
Fundamento Terico
43
Son instrucciones del tipo booleanas, se utilizan para su representacin letras y nmeros. Dado que se usan abreviaturas nemotcnicos, no se requiere gran memoria para su programacin, especialmente si el programa consta de unos cientos de instrucciones.
Tabla 2.1. Representacin de un programa en lista de instrucciones para diferentes marcas de PLCs
Siemens (Simatic)
U E0.1 U E0.2 O E0.3 = A3.1
Telemecanique
L I0.01 A I0.02 O I0.03 = O3.01
General Electric
LD %I0001 AND %I0002 OR %I0003 OUT %Q0031
Es un lenguaje del tipo booleano de mayor nivel y estructurado, incluye las tpicas sentencias de seleccin (IF-THEN-ELSE) y de interaccin (FOR, WHILE y REPEAT), adems de otras funciones especficas para aplicaciones de control. Su uso es ideal para aplicaciones en las que se requiere realizar clculos matemticos, 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 Terico
44
2.2 MICROCONTROLADORES
En las aplicaciones sencillas resultan preferibles las soluciones no programables que no requieren desarrollo de software. Escribir Escribir software consume mucho tiempo por lo que resulta ms costoso y en aplicaciones sencillas y/o de poca tirada a menudo es ms razonable efectuar tareas en hardware. Sin embargo, conforme aumenta la complejidad del sistema, aumentan las ventajas del us uso 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 slo mediante el cambio del programa sin tener que volver a disear el hardware. Esta Esta flexibilidad es muy importante, al permitir que los productos se actualicen con facilidad y economa.
Fundamento Terico
45
En el ao 1976, gracias al aumento de la densidad de integracin 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 versin industrial de la microcomputadora monopastilla, el
microcontrolador (mC).
Estos
dispositivos
producen
un
obvio beneficio en
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 tamao, suele ir incorporado en el propio dispositivo al que gobierna. Esta ltima caracterstica es la que le confiere la denominacin de controlador incrustado (embedded controller). Se dice que es la solucin en un chip porque su reducido tamao minimiza el nmero de componentes y el coste.
El microcontrolador es un computador dedicado. En su memoria slo reside un programa destinado a gobernar una aplicacin determinada; sus lneas de
Fundamento Terico
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 nmero de productos que funcionan en base a uno o varios microcontroladores aumenta de forma exponencial. Casi todos los perifricos del computador (ratn, teclado, impresora, etc.) son regulados por el programa de un microcontrolador. Los electrodomsticos de lnea blanca (lavadoras, hornos, etc.) y de lnea marrn (televisores, videos, aparatos de msica, etc.) incorporan numerosos
microcontroladores. Igualmente, los sistemas de supervisin, vigilancia y alarma en los edificios utilizan estos chips para optimizar el rendimiento de ascensores, calefaccin, alarmas de incendio, robo, etc. Ofrecen la nica solucin prctica a muchos problemas de diversos campos:
1. Perifricos y dispositivos auxiliares de los computadores. 2. Electrodomsticos. 3. Aparatos porttiles y de bolsillo (tarjetas, monederos, telfonos, etc.) 4. Mquinas expendedoras y juguetera. 5. Instrumentacin. 6. Industria de automocin (Figura 6-1). 7. Control industrial y robtica. 8. Electromedicina. 9. Sistema de navegacin espacial. 10. Sistemas de seguridad y alarma, domtica en general.
Fundamento Terico
Panel de instrumentos Control de velocidad Sistema de navegacin Control climatizacin
47
Sistema antirrobo
Antideslizamiento
Un microprocesador es un sistema abierto (configuracin variable) con el que puede construirse un computador con las caractersticas que se desee, acoplndole los mdulos necesarios. Un microcontrolad microcontrolador es un sistema cerrado que contiene un computador completo y de prestaciones limitadas que no se puede modificar.
Fundamento Terico
Bus de control
Memoria
Controlador 1
Controlador 2
Perifrico (a)
Perifrico
Perifricos
C
(b)
Perifricos
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 economa. Si el C est limitado por su propia CPU, es necesario elegir un P potente y aadir los buffers, drivers, decodificadores, memorias, etc. pertinentes. Generalmente, salvo que la aplicacin exija grandes prestaciones, el C ser una solucin vlida, con la ventaja de que reduce el espacio y el hardware.
Fundamento Terico
49
2.2.4 FABRICANTES
Gran parte de los fabricantes de circuitos integrados disponen de su propia lnea de microcontroladores. En la Tabla 2.3. se relacionan los fabricantes ms 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 nmero de modelos diferentes, desde los ms sencillos hasta los ms poderosos, de forma que es posible
Fundamento Terico
50
seleccionar la capacidad de la memoria, el nmero de lneas 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 dcada 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 ms debido a su reducido consumo, bajo coste, pequeo tamao, facilidad de uso y la abundancia de informacin y herramientas de apoyo.
Un microcontrolador posee todos los componentes de un computador, pero con caractersticas fijas que no se pueden alterar.
Procesador o Unidad Central de Proceso (CPU). Memoria no voltil para contener el programa. Memoria de lectura y escritura para guardar los datos. Lneas de E/S para los perifricos (comunicacin serie, paralela, etc.). Recursos auxiliares: Circuito de reloj. Temporizadores. Perro guardin (Watchdog). Convertidores A/D y D/A. Comparadores analgicos. Proteccin ante fallos de alimentacin. Estado de reposo en bajo consumo.
La comunicacin entre las principales secciones de un sistema computador (basado en microcontrolador o en microprocesador) tiene lugar sobre un cierto nmero de buses.
Fundamento Terico
51
Un bus est compuesto de lneas paralelas de datos que permiten flujo de informacin 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 tpico. Se usan tres buses:
Bus de datos. Se emplea para transferir datos. El nmero de lneas de este bus igual a la longitud de palabra del dispositivo.
Bus de direcciones. Permite transferir informacin de direcciones. El nmero de lneas en el bus de direcciones determina el nmero de posiciones de memoria que el procesador puede especificar. Un bus de direcciones de 8 lneas sera capaz de posicionar slo 28 (256) direcciones.
Bus de control. El procesador utiliza las lneas del bus de control para sincronizar operaciones con componentes externos.
Memoria
Entrada/Salida
Bus de datos
Bus de direcciones
Bus de control
Por ejemplo, si el procesador o microcontrolador deseara almacenar una palabra de datos en una ubicacin de memoria particular, colocara los datos en el bus de datos, la direccin en la que se van a almacenar los datos en el bus de direcciones y diversas seales de control para sincronizar la operacin de almacenamiento en el bus de control.
Fundamento Terico
52
2.2.5.1 PROCESADOR
Es el elemento ms importante del microcontrolador tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el cdigo OP (opcode) de la instruccin en curso, su decodificacin y la ejecucin de la operacin aritmtica o lgica que implica la instruccin, as como la bsqueda 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 seguan la arquitectura de Von Neuman. Esta ltima se caracteriza porque la CPU se conectaba a una memoria nica donde coexistan datos e instrucciones a travs 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 Terico
53
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 mquina no funcionarn en otra.
Un mC tpico tendr instrucciones para: transferir informacin entre registros y memoria; realizar operaciones aritmticas y lgicas; efectuar comparaciones y pruebas sobre el contenido de sus registros de memoria; controlar la secuencia de ejecucin de programas.
Por lo general la operacin que una instruccin ha de ejecutar est definida por un cdigo de operacin, (en mC sencillos generalmente de un solo byte) conocido tambin como opcode. Algunas instrucciones requieren adems del opcode informacin extra (operandos). Por ejemplo, una instruccin para almacenar el contenido de un registro en una posicin de memoria, necesitar incluir la direccin de memoria de destino.
La unidad de control y decodificacin de instrucciones es el corazn 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 seal de reloj muy precisa. El tiempo se divide en un cierto nmero de ciclos de reloj.
El funcionamiento de la unidad de control y decodificacin de instrucciones se puede dividir en dos partes (ambas duran varios ciclos de reloj):
Ciclo de bsqueda de instrucciones. En l se transfiere la direccin de la siguiente instruccin al bus de direcciones, se enva una orden de lectura a los dispositivos de memoria a travs del bus de control, se lee la informacin del bus de datos, y si se trata del primer byte de una instruccin, se transfiere este byte al registro de instrucciones.
Fundamento Terico
54
Ciclo de ejecucin de instrucciones. En l se ejecuta la instruccin. El registro de instrucciones est conectado a un decodificador, que determina cuntos bytes de informacin adicionales se requieren. stos se cargan mediante ciclos de bsqueda, como se indic con anterioridad.
Cuando la ejecucin est completa, la mquina comienza automticamente el ciclo de bsqueda de la siguiente instruccin del programa. La ejecucin es por tanto, una secuencia continua de ciclos de bsqueda y ejecucin.
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 mquina pequeo y simple, de forma que la mayor parte de las instrucciones se ejecutan en un ciclo de instruccin.
ROM de mscara. Esta memoria se graba en el chip durante el proceso de fabricacin. Los altos costes de diseo slo aconsejan usarla cuando se precisan series grandes.
EPROM. En la superficie de la cpsula 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 slo se puede grabar una vez por parte del usuario. Su bajo precio y la sencillez de la grabacin aconsejan este tipo de memoria para prototipos finales y series de produccin cortas.
Fundamento Terico
55
EEPROM. La grabacin es similar a la EPROM y OTP, pero el borrado es mucho ms sencillo al poderse ejecutar elctricamente las veces que se quiera.
FLASH. Se trata de una memoria no voltil 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 slo es posible de bloques completos y no se puede realizar de posiciones concretas. Por sus mejores prestaciones instrucciones. est sustituyendo a la memoria EPROM para contener
Los datos que manejan los programas vara continuamente y eso exige que la memoria que los contiene deba ser de lectura y escritura. La memoria RAM esttica (SRAM) es la ms apropiada aunque sea no voltil. Hay microcontroladores que poseen como memoria de datos una memoria de escritura y lectura no voltil del tipo EEPROM. De esta forma, un corte en el suministro de la alimentacin no ocasiona la prdida de la informacin.
Segn las aplicaciones cada modelo de microcontrolador incorpora una diversidad de complementos que refuerzan la potencia del dispositivo. Entre los ms comunes se encuentran:
Circuito de reloj, encargado de generar los impulsos que sincronizan el funcionamiento de todo el sistema.
Fundamento Terico
56
Perro guardin (watchdog), destinado a provocar una reinicializacin cuando el programa se queda bloqueado.
Para la seleccin de la tarjeta se decidi trabajar con el microcontrolador PIC16F877A, PIC16F877 figura 2.27, por las siguientes caractersticas:
Su gran cantidad de puertos de entrada y sali salida da identificados desde el puerto A hasta el puerto E, aunque no todos estos puertos son de 8 pines. En total, el PIC cuenta con 33 pines de entrada/salida.
Fundamento Terico
57
Gran capacidad de memoria, 8K en total, lo que permite una gran capacidad de cdigo en su programacin. A su vez cuenta con 386 bytes de memoria RAM y 256 bytes de memoria EEPROM, que lo hacen muy verstil en grandes tareas.
Por ser un dispositivo de memoria FLASH es muy fcil de programar puesto que no necesita borrarse por medio de pantallas ultravioletas, sino que reprograma encima del cdigo presente en el dispositivo.
Cuenta con 2 temporizadores/contadores y un temporizador adicional utilizado para el mdulo de ancho de pulsos PWM
Tiene un mdulo de comunicaciones serial USART, transmisin/recepcin universal sincrnica no sincrnica, el cual se utiliza en comunicaciones RS232.
Cuenta con 8 canales de conversin anlogo/digital, los cuales hacen la conversin de voltaje entre 0 y 5 voltios.
Lo anterior hace de este microcontrolador un dispositivo adecuado para cumplir con todas las funciones que requiere un PLC
El microcontrolador PIC16F877A posee 5 puertos de entrada/salida denominados PORTA, PORTB, PORTC, PORTD y PORTE
Estos puertos son totalmente programables, es decir, sus lneas pueden ser configuradas para trabajar como entradas o como salidas a seleccin del programador.
Fundamento Terico
58
El puerto A posee 6 lneas 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 estn asociados a la lnea fsica 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 ledo, luego es modificado y posteriormente se escribe al latch de datos del puerto.
POR,BOR otros Reset 0 0 x u 0 0 0 0 0 0 0 0
05h
Bit
RA5
5
RA4
4
RA3
3
RA2
2
RA1
1
RA0
0
Registro TRISA (85H) Cada bit de este registro configura la direccin en que fluye la informacin 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 otros Reset 1 1 1 1 1 1 1 1 1 1 1 1
85h
Bit
Todas los pines del puerto A poseen diodos de proteccin conectados a Vdd (contra altos voltajes de entrada) y a Vss (contra voltajes negativos) adems, manejan niveles de entrada tipo TTL y como salidas se comportan como drivers tipo CMOS. Excepto la
Fundamento Terico
59
pin RA4, la cual como entrada posee un Disparador Schmitt y como salida es de Drenaje abierto, adems RA4 slo posee un diodo de proteccin conectado a Vss.
El Registro ADCON1 (9FH) Los pines RA0, RA1, RA2, RA3 y RA5 estn multiplexados con las entradas analgicas AN0, AN1, AN2, AN3, AN4, de manera que antes de utilizarlas debemos configurar si sern usadas como entradas analgicas o como entradas/salidas digitales.
En la Figura 2.28. y Figura 2.29. se muestra el detalle de implementacin interna de los pines del puerto A, mostrando la diferencia entre el pin RA4 y los dems pines del puerto A
Fundamento Terico
60
Registro PORTB (06H, 106H) Los ocho bits que contiene reflejan directamente el estado de las ocho pines del puerto B RB0,...,RB7.
POR,BOR otros Reset x u x u x u x u x u X u
06h, 106h
Bit
RB7
7
RB6
6
RB5
5
RB4
4
RB3
3
RB2
2
RB1
1
RB0
0
Fundamento Terico
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 otros Reset 1 1 1 1 1 1 1 1 1 1 1 1
86h, 186h
Bit 7
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, tambin se desconectan automticamente 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 interrupcin a la CPU cuando estn configuradas como entradas. El estado de estos pines es comparado con el ltimo estado que tenan durante la ltima lectura de PORTB, guardado en un latch. Los bits que indican que hay una diferencia entre estos valores por cada pin estn conectados a una puerta OR cuya salida activa el bit RBIF del registro INTCON solicitando con esto una interrupcin. Esta interrupcin es especialmente til para despertar al dispositivo de su estado de SLEEP cuando alguna de las cuatro lneas es activada, por ejemplo, en respuesta a la presin de una tecla.
Esta caracterstica de solicitud de interrupcin 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 porttiles que requieren dormirse durante largos
Fundamento Terico
62
ratos para economizar bateras y despertarse cuando una tecla es presionada. En la Figura 2.30. y Figura 2.31. se muestra la conexin interna de los pines del puerto B.
WR Port
TRIS Latch D Q
WR TRIS
CK
Q RD TRIS
RD PORT
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>).
Fundamento Terico
63
El puerto C consta de 8 lneas 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 lgico de las lneas fsicas del puerto C.
POR,BOR otros Reset x u x u x u x u x u X u
07h
Bit
RC7
7
RC6
6
RC5
5
RC4
4
RC3
3
RC2
2
RC1
1
RC0
0
Registro TRISC(87H) Registro de control de direccin de las lneas del puerto C. Poniendo un 1 en un bit del registro TRISC se configura la lnea correspondiente como entrada y poniendo un 0 se configura la lnea correspondiente como salida.
POR,BOR otros Reset 1 1 1 1 1 1 1 1 1 1 1 1
87h
Bit 7
Las lneas del puerto C se encuentran multiplexadas con varias lneas controladas por otros perifricos, cuando se habilita la lnea del perifrico respectivo puede ser ignorada la configuracin de TRISC, de hecho, algunos perifricos configuran la lnea como salida mientras que otros la configuran como entrada.
Cada entrada del puerto C posee un buffer con disparador Schmitt. Adems, cuando se selecciona la funcin 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 Terico
64
Figura 2.32. Pines RC7, RC6, RC5, RC2, RC1 y RC0 del puerto C
Fundamento Terico
65
08h
Bit
RD7
7
RD6
6
RD5
5
RD4
4
RD3
3
RD2
2
RD1
1
RD0
0
1 1
1 1
1 1
1 1
1 1
1 1
88h
Bit 7
El Puerto D puede configurarse para trabajar simultneamente con sus 8 bits como un puerto esclavo (Parallel Slave Port) de comunicacin paralela bidireccional con lneas de protocolo proporcionadas por las tres lneas del Puerto E, para ello se deber activar el bit PSPMODE (TRISE<4>).
Puerto E Slo posee 3 lneas configurables como entradas o salidas mediante los 3 bits menos significativos del registro TRISE (89H). Sus lneas pueden ser ingresadas mediante los 3 bits menos significativos del registro PORTE (09H). Las lneas del puerto E estn compartidas con el convertidor analgico / digital, por ello, antes de usarlas debern ser configuradas como entradas / salidas digitales o analgicas, segn se desee en forma similar a como se hizo con el puerto A, usando el registro de configuracin ADCON1 (9FH).
Fundamento Terico
POR,BOR otros Reset x u x u X u
66
09h
Bit
RE2
2
RE1
1
RE0
0
1 1
1 1
1 1
1 1
1 1
puerto D
1 1
89h
Bit
IBF
7
OBF
6
IBOV
5
PSPMODE
4
2.3.2 USART
La USART del PIC puede ser configurada para operar en tres modos:
Modo Asncrono (full duplex (transmisin y recepcin simultneas)), Modo Sncrono Maestro (half duplex) Modo Sncrono Esclavo (half duplex)
Fundamento Terico
67
Modo Asncrono En este modo la USART usa un formato estndar NRZ asncrono, el cual para la sincronizacin usa: 1 bit de inicio (I), 8 o 9 bits de datos y 1 bit de paro (P). Mientras no se estn transmitiendo datos la USART enva continuamente un bit de marca. El modo asncrono se selecciona limpiando el bit SYNC del registro TXSTA (98H). El modo asncrono 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.
El circuito de muestreo El generador de frecuencia de transmisin (Baud Rate) El transmisor asncrono El receptor asncrono.
Este generador sirve tanto para el modo sncrono como el asncrono y consiste de un contador/divisor de frecuencia de 8 bits controlado por el registro SPBRG (99H).
Fundamento Terico
Tabla 2.14. Formula del Baud Rate
68
BRGH=0 (baja velocidad) Baud rate=Fosc/(64(X+1)) Baud rate=Fosc/(4(X+1)) BRGH=1 (Alta velocidad) Baud rate=Fosc/(16(X+1)) -
Tabla 2.15. Baud Rates para modo asncrono (BRGH = 0) FOSC = 20 MHz
BAUD RATE (K) 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 KBAUD % ERROR 1.75 0.17 1.73 1.72 8.51 3.34 8.51 SPBRG value (decimal) 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 KBAUD % ERROR 0.17 0.17 0.16 0.16 3.55 6.29 8.51 -
FOSC = 16 MHz
SPBRG value (decimal) 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
FOSC = 10 MHz
SPBRG KBAUD % ERROR 0.17 0.17 1.73 1.72 8.51 6.99 9.58 value (decimal) 129 64 15 7 4 4 2 255 0
156.250
FOSC = 4 MHz
BAUD RATE (K) 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 KBAUD % ERROR 0 0.17 0.17 6.99 8.51 8.51 8.51 SPBRG value (decimal) 207 51 25 6 2 1 0 255 0
Fundamento Terico
Tabla 2.16. Baud Rates para modo sncrono (BRGH = 1) FOSC = 20 MHz
BAUD RATE (K) 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 KBAUD % ERROR 0.16 0.16 0.94 0.55 3.34 SPBRG value (decimal) 129 64 42 36 20 255 0 9.615 19.231 29.412 33.333 58.824 3.906 1000.000 KBAUD % ERROR 0.16 0.16 2.13 0.79 2.13 -
69
FOSC = 16 MHz
SPBRG value (decimal) 103 51 33 9 16 255 0 2.441 9.615 19.531 28.409 32.895 56.818 2.441 625.000 KBAUD % ERROR 1.71 0.16 1.72 1.36 2.10 1.36 -
FOSC = 10 MHz
SPBRG value (decimal) 255 64 31 21 18 10 255 0
FOSC = 4 MHz
BAUD RATE (K) 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 KBAUD % ERROR 0.17 0.17 0.16 0.16 3.55 6.29 8.51 SPBRG value (decimal) 207 103 25 12 8 6 3 255 0
Debido a que el divisor es de 8 bits, no se puede tener cualquier velocidad de transmisin deseada, ya que X se deber redondear al entero ms cercano. En las dos tablas anteriores se muestran algunos valores baud estndares, el divisor necesario (X=SPBRG) bajo diferentes frecuencias Fosc y el error producido en porcentaje
Fundamento Terico
70
Para transmitir un dato, el programa deber ponerlo primero en el registro TXREG. En cuanto el TSR termina de enviar el dato que tena (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 vaco esta condicin 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, slo 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.
Para habilitar el mdulo de transmisin es necesario poner en alto el bit TXEN (TXSTA<5>), mientras no se habilite el mdulo, el pin de transmisin (RC6/TX/CK) se mantiene en alta impedancia. Si TXEN es deshabilitado a la mitad de una transmisin, 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 vaco).
Fundamento Terico
71
De acuerdo a lo anterior, la inicializacin del mdulo de transmisin consiste en los siguientes pasos:
1. Inicializar baud rate escribiendo al registro SPBRG el divisor adecuado y opcionalmente al bit BRGH. 2. Habilitar comunicacin asncrona 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 transmisin poniendo el bit TXEN, lo cual pondr el bit TXIF. 6. Colocar el noveno bit del dato en TX9D si se estn usando datos de 9 bits. 7. Cargar el dato al registro TXREG (inicia la transmisin).
El dato es recibido mediante la lnea RC7/RX/DT, la cual maneja un registro de desplazamiento de alta velocidad (16 veces el Baud rate).
El corazn 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 automticamente al registro RCREG (1Ah) si ste est vaco y al mismo tiempo es puesto en alto la bandera de recepcin 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 estn llenas (no han sido ledas) y se detecta el bit de Stop de un tercer dato de recepcin, lo cual ocasiona un transferencia automtica del dato recibido a RCREG, esto destruir el primer dato recibido y activar
Fundamento Terico
72
el indicador de sobreescritura OERR (RCSTA<1>). Para evitar esto, se debern 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 mdulo de recepcin (limpiando CREN y volvindolo a poner), si no se limpia OERR se bloquea la transferencia de datos de RSR a RCREG y no puede haber ms recepcin de datos.
Si se detecta un bit nivel bajo en la posicin 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 estn 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 debern ser ledos antes de leer RCREG para no perder su informacin.
Fundamento Terico
73
1. Inicializar el baud rate escribiendo al registro SPBRG el divisor adecuado y opcionalmente al bit BRGH. 2. Habilitar el puerto serie asncrono 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 recepcin de datos de 9 bits se deber poner el bit RX9 (RCSTA<0>). 5. Habilitar la recepcin poniendo el bit CREN (RCSTA<4>) 6. El bit RCIF se pondr cuando la recepcin de un dato se complete y se generar una interrupcin si RCIE est puesto. 7. Leer el registro RCSTA para obtener el noveno bit (si se estn recibiendo datos de 9 bits) o para determinar si ha ocurrido un error de recepcin. 8. Leer los 8 bits del dato recibido leyendo el registro RCREG. 9. Si ocurri algn error este se limpia al limpiar el bit CREN, el cual deber volver a ponerse si se desea continuar la recepcin.
El PIC 16F877A posee un mdulo para el manejo preciso y eficiente de operaciones que involucran tiempo o conteo. Este mdulo consta de:
Tres contadores/temporizadores denominados TMR0, TMR1 y TMR2 Dos mdulos CCP (Captura, Comparacin y PWM (Modulacin de ancho de pulso) denominados CCP1 y CCP2
Mdulo
-
Caractersticas
TMR0 es un Contador/Temporizador de 8 bits Leble y escribible Reloj interno o externo Seleccin de flanco activo en el reloj externo Preescalador de 8 bits programable
TMR0
Fundamento Terico
Solicitud de interrupcin opcional en el desbordamiento (de FFh a 00h) TMR1 es un Contador/Temporizador de 16 bits Leble y escribible Reloj interno o externo Solicitud de interrupcin opcional en el desbordamiento (de FFFFh a 0000h) Reinicializacin opcional desde los mdulos CCP TMR2 es un Contador/Temporizador de 8 bits Dispone de un registro de periodo de 8 bits (PR2) Leble y escribible Preescalador programable Postescalador programable Solicitud de interrupcin opcional al coincidir TMR2 y PR2 Posibilidad de generar impulsos al mdulo SSP (puerto serie sncrono)
74
TMR1
TMR2
CCP1 y CCP2
El Timer 0 es un contador / temporizador de 8 bits. El registro principal de este mdulo 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 seal externa (modo contador).
En la Figura 2.37. se muestra un diagrama de bloques de este mdulo, en donde se indican los bits que afectan su operacin y la manera en que lo hacen.
Fundamento Terico
75
Fundamento Terico
76
2.3.3.1.3 EL PREESCALADOR
El preescalador es un divisor de frecuencia de mdulo seleccionable. Como se puede ver en la Figura 2.38., el preescalador est compartido entre el timer0 y el mdulo watchdog, sin embargo slo 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 seleccin del mdulo (valor de divisin 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. Seleccin de bits del preescalador
Divisor (timer 0)
Divisor (Watchdog) 1/1 1/2 1/4 1/8 1/16 1/32 1/64 1/128
Se le llama interrupcin a un salto especial a una subrutina que no est contemplado en un punto especfico del programa principal, sino que puede ocurrir en cualquier punto de ste y no es provocado por una instruccin en el programa, sino por un evento interno o externo al sistema del microcontrolador.
Fundamento Terico
77
Los dispositivos que manejan eventos capaces de provocar una solicitud de interrupcin se denominan fuentes de interrupcin. El microcontrolador PIC16F877A cuenta con hasta 14 fuentes de interrupcin.
Una Bandera (terminada en F) de Interrupcin, la cual es activada (en alto) por el evento para solicitar una interrupcin. Una Mscara (terminada en E) Local de Interrupcin, la cual si est desactivada (en bajo) bloquear la solicitud de interrupcin correspondiente, pero si est activada (en alto) permitir la solicitud de Interrupcin. Adems existe una mscara de interrupcin global GIE (INTCON<7>), la cual bloquear todas las solicitudes de interrupcin si est desactivada (GIE=0). Algunas fuentes de interrupcin tambin poseen una segunda mscara de interrupcin global denominada PEIE (INTCON<6>). De hecho, acta sobre todas las fuentes de interrupcin, 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 interrupcin provoca en efecto una interrupcin en el programa es cuando:
La mscara global est activada (GIE=1). (En su caso) la mscara global de perifricos est activada (PEIE=1) La mscara local est activada Ocurre un evento que activa la bandera correspondiente.
La lgica de activacin de mscaras y banderas descrita arriba puede entenderse en trminos del diagrama lgico mostrado en la Figura 2.39. En este diagrama se muestran las 14 fuentes de interrupcin del PIC16F877A y se usan los nombres especficos de cada fuente de interrupcin para sus respectivas banderas y mscaras de interrupcin.
Fundamento Terico
78
El bit GIE est activado (en alto) Se produce un evento que solicita interrupcin (se activa alguna de las banderas de interrupcin) Est activada la mscara correspondiente a la bandera activada.
Termina la ejecucin de la instruccin actual. Desactiva el bit GIE (GIE=0) para bloquear cualquier otra solicitud de interrupcin. La direccin de programa de la siguiente instruccin a ejecutar es guardada en el stack.
Fundamento Terico
79
interrupcin, en donde el usuario deber haber colocado el inicio de la rutina de atencin a la interrupcin.
Ejecuta la rutina de atencin a la interrupcin escrita por el usuario, en la cual ste podr constatar la fuente de interrupcin consultando por poleo las banderas de interrupcin. La rutina de atencin a la interrupcin deber limpiar los bits de la bandera que solicit la interrupcin antes de rehabilitar interrupciones, para evitar interrupciones recursivas. La rutina de atencin deber terminar con una instruccin RETFIE, la cual activa nuevamente el bit GIE (GIE=1) y lee el stack para continuar la ejecucin del programa que fue interrumpido en la siguiente instruccin.
Salvando el contexto durante una interrupcin Dado que el programa principal no puede prever en qu punto ser interrumpido, la rutina de atencin a la interrupcin debe ser tal que no altere ninguno de los registros que requiere paso a paso el programa principal para su operacin normal. Estos registros son los que van guardando el contexto del programa (tal como en qu banco est, el resultado de la ltima operacin, etc.) y son:
Registro STATUS Registro W Registro PCLATH (si se estn usando las pginas 1, 2 3).
Fundamento Terico
80
2.4 BOOTLOADER
Bootloader es una aplicacin que desarroll microchip para poder grabar programas rpidamente en el PIC, en unos cuantos segundos, sin necesidad de tener un grabador. Es un programa pequeo (2160 bytes en este caso) que permite descargar programas al PIC usando nicamente el puerto serie, sin ningn 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 va 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 zcalo: 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 interrupcin de arranque apuntndolo. Arranca cuando se alimenta el procesador y espera un comando por el puerto serie. Si no lo recibe continua con la ejecucin 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 conexin serie con el PC y el programa descargador. El nico inconveniente es modificar los programas para que puedan trabajar con el Bootloader. Segn el entorno de desarrollo Mplab, CCS, Hitech-C etc., las modificaciones suelen incluir unas pocas lneas de cdigo. Adems no se pueden usar los ltimos 2160 bytes de memoria (en un PIC16F877A de 8K de memoria es el 27 % inutilizable)
Fundamento Terico
81
El puerto serie RS-232C, presente en todos los ordenadores actuales, es la forma ms comn usada para realizar transmisiones de datos entre ordenadores. El RS-232C es un estndar que constituye la tercera revisin de la antigua norma RS-232, propuesta por la EIA (Asociacin de Industrias Electrnicas), realizndose posteriormente un versin internacional por el CCITT, conocida como V.24. Las diferencias entre ambas son mnimas, por lo que a veces se habla indistintamente de V.24 y de RS-232C (incluso sin el sufijo "C"), refirindose siempre al mismo estndar. El RS-232C consiste en un conector tipo DB-25 de 25 pines, aunque es normal encontrar la versin de 9 pines DB-9, mas barato e incluso ms extendido para cierto tipo de perifricos (como el ratn serie del PC). En cualquier caso, los PCs no suelen emplear ms de 9 pines en el conector DB-25. Las seales con las que trabaja este puerto serie son digitales, de +12V (0 lgico) y -12V (1 lgico), para la entrada y salida de datos, y a la inversa en las seales de control. El estado de reposo en la entrada y salida de datos es -12V. Dependiendo de la velocidad de transmisin empleada, es posible tener cables de hasta 15 metros. Cada pin puede ser de entrada o de salida, teniendo una funcin especfica cada uno de ellos. Las ms importantes son:
Tabla 2.19. Descripcin de los pines de entrada y salida del protocolo RS-232C
Pin
TXD RXD DTR DSR RTS CTS DCD
Funcin
(Transmitir Datos) (Recibir Datos) (Terminal de Datos Listo) (Equipo de Datos Listo) (Solicitud de Envo) (Libre para Envo) (Deteccin de Portadora)
Las seales TXD, DTR y RTS son de salida, mientras que RXD, DSR, CTS y DCD son de entrada. La masa de referencia para todas las seales es SG (Tierra de Seal).
Fundamento Terico
Tabla 2.20. Comparacin de los nmeros de pines de DB-25 DB y DB-9, 9, respecto al protocolo pr RS232C
82
Seal
TxD RxD RTS CTS DSR SG CD/DCD TxC(*) RxC(*) DTR RI RTxC(*)
Descripcin
Masa chasis Transmit Data Receive Data Request To Send Clear To Send Data Set Ready Signal Ground (Data) Carrier Detect Transmit Clock Receive Clock Data Terminal Ready Ring Indicator Transmit/Receive Clock
E/S
S E S E E E S E S E S
Figura 2.40. Aspecto fsico de los conectores DB9 y conteo de pines, izquierda macho, derecha hembra
Fundamento Terico
83
2.6 MAX232
Este circuito soluciona los problemas de niveles de voltaje cuando se requiere enviar unas seales digitales sobre una lnea RS-232. RS 232. Este chip se utiliza en aquellas aplicaciones donde no se disp dispone one de fuentes dobles de +12 y -12 Volts. El MAX 232 necesita solamente una fuente de +5V para su operacin, inte internamente tiene un elevador de voltaje que convierte el voltaje de +5V al de doble polaridad de +12V y -12V. 12V. Cabe mencionar que existen una gran variedad de CI que cumplen con la norma RS-232 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 comunicacin serie como los usados en los ordenadores. El circuito 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 seales del puerto serie ser del PC, por lo general las ms ms usadas son; TX, RX, RTS, CTS, estas dos ltimas son las usadas para el protocolo handshaking pero no es imprescindible su uso. Para que el MAX232 funcione correctamente deberemos de poner unos condensadores con externos, todo esto se puede ver en la siguiente figura 2.42, en la que solo se han cableado las l lneas TX y RX que son las ms ms usualmente usadas para casi cualquier aplicacin:
Fundamento Terico
84
VCC C4
C1 C2 C3
RX TX RX TX
RS232 TTL
Un optoacoplador, tambin llamado optoaislador o aislador acoplado pticamente, es un dispositivo de emisin y recepcin de luz que funciona como un interruptor interrupto excitado mediante la luz. La mencionada luz es emitida por un diodo LED que satura un componente optoelectrnico, optoelectrnico normalmente en forma de fototransistor. fototransistor De este modo se
Fundamento Terico
85
combinan en un solo dispositivo semiconductor, un fotoemisor y un fotorreceptor cuya conexin 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 proteccin para dispositivos muy sensibles.
La figura 2.44, muestra un optoacoplador PC817 formado por un LED y un fototransistor. La tensin 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 tensin de salida ser igual a cero con S1 cerrado y a V2 con S1 abierto. Si la tensin de entrada vara, la cantidad de luz tambin lo har, lo que significa que la tensin de salida cambia de acuerdo con la tensin de entrada. De este modo el dispositivo puede acoplar una seal de entrada con el circuito de salida. La ventaja fundamental de un optoacoplador es el aislamiento elctrico 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 tensin en las que los potenciales de los dos circuitos pueden diferir en varios miles de voltios.
Fundamento Terico
86
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 y sin complicaciones. Con la familia 78XX se pueden hacer fuentes de tensin de salida positiva respecto a la masa del circuito, mientras que la 79XX sirve para hacer fuentes de tensin de salida negativa respecto a la masa del circuito. La tensin de salida proporcionada por el regulador se indica por el nmero que sustituye a las XX en la serigrafa del circuito integrado, as un 7805 es un regulador de 5 V, y el 7915 es un regulador de salida negativa de 15 15 V. En el comercio se dispone de los reguladores de tensin variados, algunos de ellos se indican en la tabla. Se puede ver adems la tensin mnima y mxima de entrada para el correcto funcionamiento del circuito y la de salida.
Fundamento Terico
87
Tipo de Tensin en Voltios
Como se ve, por norma general, la tensin del secundario del transformador, debe ser como mnimo 3 V superior a la tensin nominal del regulador integrado. Todos pueden proporcionar una corriente mxima de 0,5A y si estn convenientemente refrigerados, hasta 1A. El smbolo de este componente se representa como un rectngulo del que salen las conexiones de entrada, salida y masa.
Fundamento Terico
88
2.9 MICRORELES
El rel o relevador, del francs relais, relevo, es un dispositivo electromecnico, que funciona como un interruptor controlado por un circuito elctrico en el que, por medio de una bobina y un electroimn, electroimn, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos elctricos independientes.
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 elctrico. Como tal se emplearon en telegrafa, haciendo la funcin de repetidores que generaban una nueva seal con corriente procedente de pilas loca locales les a partir de la seal dbil recibida por la lnea. Se les llamaba "relevadores". De ah el nombre de "rel". 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 ausencia de alimentacin de la misma. De este modo, los contactos de un rel pueden ser normalmente abiertos, NA o NO, Normally Open por sus siglas en ingls, normalmente cerrados, NC, Normally
Closed, o de conmutacin.
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 Terico
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 conmutacin controlan dos circuitos: un contacto NA y uno NC con una terminal comn. Cuando se excita la bobina de un rel con corriente alterna, el flujo magntico en el circuito magntico, tambin 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 rels es la completa separacin elctrica entre la corriente de accionamiento, la que circula por la bobina del electroimn, y los circuitos controlados por los contactos, lo que hace que se puedan manejar altos voltajes o elevadas potencias con pequeas tensiones de control. Tambin ofrecen la posibilidad de control de un dispositivo a distancia mediante el uso de pequeas seales de control.