Está en la página 1de 50

Control con Microprocesadores

CONTROL CON MICROPROCESADORES


Nelson Sotomayor O., MSc Departamento de Automatizacin y Control Industrial ESCUELA POLITECNICA NACIONAL Quito - Ecuador Septiembre 2009

OBJETIVOS: Disear sistemas de control basados en microcontroladores Construir sistemas de control basados en microcontroladores Integrar el conocimiento de Hardware y Software para resolver problemas prcticos

CONTENIDO: Sistemas basados en microcontroladores Microcontrolador en modo extendido Perifricos de entrada/salida Circuitos de barrido de displays, displays LCD Tcnica de barrido y decodificacin de teclados Interfaz de comunicacin serial RS-232, 485 Comunicacin Serial Sincrnica, USART, SPI, IIC Tratamiento de seales anlogas y digitales Tcnicas de conversin A/D y D/A Comparador Analgico Tcnicas de Control digital Modulacin senoidal de ancho de pulso Controlador PID Circuitos auxiliares, (fuentes, protecciones, tipos de resets, alimentacin y respaldo de memoria)

Nelson Sotomayor

Control con Microprocesadores

1.

INTRODUCCIN

Los microcontroladores constituyen la parte inteligente de gran cantidad de sistemas tales como: Control de procesos automticos, de mquinas, herramientas, aparatos de maniobra, de posicin, de velocidad, etc. Sistemas de alarmas de todo tipo: Indicadores y control de nivel, regulacin de caudal, apertura automtica de dispositivos, etc. Controladores de perifricos como impresoras, mdem, teclados, unidades de disco, etc. Equipos de sonido y televisores, donde son tratadas las seales de audio y video. Sistemas industriales para contar elementos, generacin de bases de tiempo, etc.

Como se puede apreciar hay un nmero infinito de aplicaciones en las que se puede incluir a un microcontrolador. Prcticamente lo que se pueda imaginar se puede implementar con un mayor o menor grado de dificultad.

Pero hay que tomar en cuenta que los microcontroladores son dispositivos muy sensibles por lo que al utilizarlos se debera colocar a la par circuitos auxiliares que mejoren su desempeo y lo hagan menos sensible a perturbaciones externas.

2. MICROCONTROLADOR EN MODO EXTENDIDO

Los microcontroladores para comunicarse con el mundo exterior tienen puertos de entrada/salida a los cuales se puede conectar distintos perifricos, en algunos casos directamente (PICS; ATMEGA) y en otros usando elementos adicionales como latchs o buffers que permiten hacer a esos perifricos

compatibles con microprocesador.


Nelson Sotomayor

Control con Microprocesadores

LATCH (74LS373)

Figura 2.1 Latch

BUFFER (74LS244)

Figura 2.2 Buffer

MUX (74LS138)

Figura 2.3 Decodificador de 3 a 8

Nelson Sotomayor

Control con Microprocesadores

En microcontroladores que tienen bus de datos y bus de direcciones es necesario el uso de latch, buffer y decodificador de direcciones para colocar perifricos al mismo.

Ejercicios de aplicacin (se realizan en el aula)

En microcontroladores que tienen salidas de corriente alta como los PICS o los ATMEGA los perifricos pueden ser conectados directamente

Figura 2.4 Perifricos conectados directamente a los puertos

Si se necesita manejar con un microcontrolador un nmero de perifricos mayor al nmero de entradas y salidas que tiene el microcontrolador se tiene dos caminos a seguir; Cambiar de microcontrolador por uno que tenga un nmero mayor de entradas/salidas o utilizar el mismo esquema que se utiliza en microcontroladores que tienen bus de datos y bus de direcciones.

Ejercicios de aplicacin (se realizan en el aula)

Nelson Sotomayor

Control con Microprocesadores

2. DISPLAYS DE 7 SEGMENTOS Si lo que se desea es mostrar nmeros una alternativa es utilizar displays de siete segmentos, donde cada dgito estar formado por el encendido adecuado de los leds que forman cada segmento o un cristal lquido en el caso de LCDs.

Esta constituido por siete leds, puede ser nodo comn o ctodo comn, algunos displays un punto a la derecha y/o a la izquierda o dos puntos.

Para usar el display de nodo comn se debe conectar este terminal al voltaje positivo garantizando la corriente adecuada y controlando el encendido de los segmentos por un estado lgico bajo en los terminales del ctodo de cada diodo. En los displays de ctodo comn, se pone este terminal a la referencia o tierra y se controla con niveles lgicos altos a los terminales del nodo de cada segmento, asegurndose siempre un flujo de corriente adecuado. Para limitar la corriente es necesario conectar una resistencia. Como interfaz para manejar estos displays, existen los decodificadores de BCD a siete segmentos, con los cuales se utiliza menos lneas de control para el encendido del display, por lo que con un bus de 8 bits se podra manejar dos display al mismo tiempo. Si se desea utilizar ms de dos displays, se puede utilizar la tcnica de barrido secuencial o usar chips especializados que manejan y controlan mltiples dgitos.

En este tipo de displays solo se puede mostrar nmeros y ciertos caracteres por lo que no son muy tiles si se quiere mostrar mucha informacin. Otra alternativa para mostrar nmeros es utilizar LCDs de siete segmentos que son fciles de manejar al igual que la de los leds. Tienen la ventaja de consumir menos corriente, pero la desventaja de tener un menor ngulo de visibilidad por lo que necesitan de luz externa o adicional para poder ver la informacin, lo que no sucede con los leds. Por lo tanto la seleccin depender de la aplicacin particular y las condiciones de trabajo.

Nelson Sotomayor

Control con Microprocesadores

Figura 3.1 Circuito para barrido de displays

3.1 Barrido Secuencial Se coloca todos los segmentos en paralelo, y una resistencia en serie con cada segmento comn Se habilita un ctodo a la vez a una velocidad lo suficientemente alta como para que el ojo humano no distinga el barrido, pero no tan alta como para que el display no responda. Normalmente se trabaja entre 300Hz y 2KHz.

Figura 3.2 Seal de barrido

Irms = I
6

Nelson Sotomayor

Control con Microprocesadores

Teniendo como dato la Irms, se calcula la corriente pico y con ese valor utilizando la ley de ohm se calcula el valor de la resistencia que se coloca en serie con cada segmento.

3.2 DRIVER ICM7211, ICM7212 Son dispositivos de 40 pines que permiten manejar 4 displays de 7 segmentos, con entrada BCD. Las salidas tienen retencin. Tiene dos presentaciones para ingreso de datos, una que utiliza un multiplexor BCD, y otro con interfaz para microcontrolador.

7211 maneja displays tipo LCD 7212 maneja displays tipo LED

En estos dispositivos un oscilador interno enciende uno a uno los dgitos en secuencia, de manera que cada display estar encendido 1/4 del tiempo. El chip tiene la ventaja de garantizar la corriente necesaria a cada display.

Para escribir un valor en el display se debe escoger el dgito con el data address, escribir un dato en ID0-ID7 y dar un pulso en bajo en WRITE, este pulso debe ser de por lo menos 200 nanosegundos de ancho y el dato debe mantenerse por lo menos 100 nseg despus de que WRITE regreso a un nivel alto. Una accin de escritura con el microcontrolador cumple satisfactoriamente con este requisito [1].

Nelson Sotomayor

Control con Microprocesadores

Figura 3.3 Configuracin de pines ICM7211/7212, tomado de [1]

4. DISPLAY DE CRISTAL LQUIDO

Este tipo de display tiene ciertas ventajas al compararlos con los de 7 segmentos, ya que en ellos se puede presentar mayor informacin ya que en estos displays, se pueden ver caracteres numricos, alfabticos y otros

caracteres. Se presentan en formatos de datos alfanumricos o completamente grficos.

Cada segmento del LCD tiene componentes orgnicos que actan de acuerdo con el voltaje aplicado. Los de imagen positiva, los ms comunes, opacan el segmento cuando tiene un voltaje aplicado y son transparentes cuando no existe el voltaje y los de imagen negativa, se opacan cuando no tiene aplicado el voltaje y son transparentes cuando existe voltaje en sus terminales

Nelson Sotomayor

Control con Microprocesadores

De acuerdo a la aplicacin se debe escoger el display ms adecuado.

4.1 DISPLAY ALFANUMRICO

Es un display LCD que puede mostrar caracteres alfanumricos formados con una matriz de puntos. Se los conoce por el nmero de caracteres por fila y el nmero de filas. (ejemplo: LCD 16x2). Este tipo de displays puede trabajar con un bus de datos de 8 bits o de 4 bits

Figura 4.1 Matriz de puntos, tomado de [2]

Figura 4.2 Mapa de memoria, tomado de [2]

Figura 4.3 Distribucin de pnes

Nelson Sotomayor

Control con Microprocesadores

Tabla 4.1 Distribucin de pines

Pin Smbolo Nivel 1 2 3 4 5 VSS VDD VEE RS R/W ------------H/L H/L GND

Funcin

Fuente de polarizacin Contraste Seal seleccin de registro Seleccin lectura / escritura. Escritura R: Lectura, W:

6 7 8 9 10 11 12 13 14 15 16

E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 nodo Ctodo

H/L H/L H/L H/L H/L H/L H/L H/L H/L ---------

Seal de habilitacin Lnea bus de datos a 4 bits Lnea bus de datos a 4 bits Lnea bus de datos a 4 bits Lnea bus de datos a 4 bits Lnea bus de datos Lnea bus de datos Lnea bus de datos Lnea bus de datos Terminal nodo del led Terminal ctodo del led / Sin conexin para operacin / Sin conexin para operacin / Sin conexin para operacin / Sin conexin para operacin

Para ajustar el contraste se utiliza el potencimetro P de 10 K , por recomendacin del fabricante [3] (Figura 4.3).

10

Nelson Sotomayor

Control con Microprocesadores

Para que la luz de fondo se encienda debe circular una corriente de aproximadamente 33mA a travs del led, por lo que se recomienda usar una resistencia R de 150 .

Para poder utilizar el LCD, este debe ser inicializado. Normalmente este proceso se debe hacer como parte de la inicializacin del microcontrolador que se utilice.
Tabla 4.2 Secuencia de inicializacin, tomado de [2]

*Ms informacin pdf Instrucciones LCD del material didctico

11

Nelson Sotomayor

Control con Microprocesadores

5. TCNICAS DE BARRIDO Y DECODIFICACIN DE TECLADOS El teclado ms bsico puede ser implementado usando pulsadores, la ventaja de este tipo de teclado radica en su fcil implementacin, pero se necesita un pin del microcontrolador por cada tecla, por lo que se lo debera usar nicamente en sistemas microproceados que necesiten un nmero reducido de teclas

Figura 5.1 Conexin de un pulsador al uC

Los pulsadores inevitablemente generan rebotes cuando son utilizados, la cantidad de estos depende del tamao del mismo. Por esta razn junto a un pulsador se debe utilizar un circuito eliminador de rebotes.

5.1 ELIMINACIN DE REBOTES

Figura 5.2 Rebotes en un pulsador

12

Nelson Sotomayor

Control con Microprocesadores

Para contrarrestar los efectos indeseables de los rebotes se tiene 2 tcnicas, la eliminacin por hardware y la eliminacin por software. Para eliminar rebotes por hardware se aade al circuito un retardo de tiempo usando una red RC, o una red RC y un inversor con histresis como se aprecia en la Figura 5.3.

Figura 5.3

Eliminacin de rebotes por hardware

Para eliminar rebotes por software se aade retardos justo en el momento de detectar el primer flanco de bajada. Al terminar el retardo se lee el estado del pin.

Si se desea un nmero mayor de teclas usando pulsadores es necesario utilizar una tcnica de decodificacin en hardware.

5.2 DECODIFICACIN EN HARDWARE

Para

usar

un

nmero

mayor

de

pulsadores

con

pocas

lneas

del

microcontrolador se utiliza el circuito de la Figura 5.4, como se puede apreciar al presionar una tecla se tiene en la entrada del microcontrolador (pines A, B, C) un nmero correspondiente a la posicin de la tecla presionada. El nmero de teclas que se puede colocar viene dado por la siguiente expresin:

13

Nelson Sotomayor

Control con Microprocesadores

Nmero de teclas = 2 n 1
Donde: n = nmero de lneas del microcontrolador

Todas las lneas en alto indicara el estado de reposo del teclado

Figura 5.4 Teclado de 7 teclas con interrupcin

5.3 DECODIFICADOR DE TECLADO (74C922) Existe en el mercado decodificadores que sirven de interfaz entre el teclado y el microprocesador, un ejemplo es el CI 74C922 para 16 teclas y 74C923 para 20 teclas.

Estos integrados tienen su propio circuito de bsqueda a la frecuencia determinada por capacitores externos o seal de reloj que se le coloque, tiene resistencias de pull-up internas y permite identificar la tecla presionada. En este caso cada tecla no necesita una lnea dedicada y se puede detectar 16 teclas con 4 lneas

14

Nelson Sotomayor

Control con Microprocesadores

74C22 tiene las siguientes caractersticas [4]:

Transforma automticamente el cdigo de la tecla presionada en un nmero de 4 bits (0000 - 1111). El chip tiene 4 entradas para X1.X4 y 4 salidas Y1..Y4 que se conectan a las X1..X4 y Y1..Y4 del teclado matricial y 4 salidas de datos A,B,C,D que identifican la tecla presionada.

Tiene su propio circuito de deteccin, incluyendo resistencias de pull up para las filas. Pero necesita aadir un capacitor externo a la entrada OSC para la frecuencia de bsqueda o utilizar un reloj externo con este propsito.

Se sabe que existe una tecla presionada por que la salida DA (data available) se pone en alto cuando esto ocurre y puede ser utilizada como seal de interrupcin. Se debe poner adems un capacitor para eliminacin de rebotes en KBM, dimensionado de acuerdo al periodo de rebote, por ejemplo un capacitor de 1 microfaradio, ignora los rebotes de hasta 10 milisegundos

La tecla presionada debe ser almacenada en el momento que DA se pone en alto.

15

Nelson Sotomayor

Control con Microprocesadores

Figura 5.5 Decodificador hexadecimal de teclado, tomado de [4]

6. COMUNICACIN SERIAL Para comunicarse entre dispositivos se utiliza comunicacin sincrnica o asincrnica.

En la transmisin sincrnica los datos se envan uno a continuacin del otro desde la lnea TXD a la RXD. Tanto el transmisor como el receptor son sincronizados con una lnea adicional que transmite los pulsos de reloj.

En la transmisin asincrnica no se emplea una seal de reloj, pero para que los dispositivos se entiendan se encapsulan los datos con un bit de inicio y uno o dos bits de parada, y se tiene un acuerdo en la velocidad de transferencia de los datos.

Al transmitir los datos estos deben estar referidos a tierra del TX y RX. Y se los puede enviar de manera diferencial o balanceada, en cuyo caso las tierras del TX y RX no estn unidas y se enva dos lneas de datos (de manera diferencial)

16

Nelson Sotomayor

Control con Microprocesadores

o de manera desbalanceada cuando las tierras de ambos se unen y se coloca una sola lnea de datos.

Sea cual sea el medio que se utilice balanceado o desbalanceado y el tipo de comunicacin sincrnico o asincrnico, la comunicacin general puede ser realizada de 3 maneras:

Simplex: Cuando se realiza una comunicacin unidireccional Duplex (Full duplex): Comunicacin bidereccional al mismo tiempo Half Duplex: Comunicacin bidireccional pero no al mismo tiempo. (Maestro esclavo).

6.1 INTERFACES DE COMUNICACIN

6.1.1 INTERFAZ RS232 [5]

Este estndar fue diseado en los 60s para comunicar un equipo Terminal de datos o DTE (Data Terminal Equipment, PC) y un equipo de comunicacin de datos o DCE (Data Communication Equipment, modem).

Antes de realizar cualquier comunicacin por el puerto RS232 se debe fijar el protocolo a seguir, es decir especificar nmero de bits de inicio, paridad, nmero de bits de datos, bits de parada, adems de la velocidad.

El estndar RS232 trabaja con voltajes de +/- 15V con lgica invertida, es decir un 1L se representa con un voltaje comprendido entre -3V y -15V, mientras que un OL esta comprendido entre 3V y 15V. Los voltajes ms utilizados son +/- 12V.

El estado de reposo de los drivers es 1L es decir -12V. El voltaje umbral es +/- 5V.

17

Nelson Sotomayor

Control con Microprocesadores

Dependiendo de la velocidad de comunicacin se puede transmitir hasta una distancia de 50 pies (15 metros).
Tabla 6.1 Especificaciones elctricas, tomado de [5]
Parmetros Driver Output Voltage Open Circuit Driver Output Voltage Loaded Driver Output Resistance Power Off Slew Rate Maximum Load Capacitance Receiver Input Resistance Receiver Input Threshold: Output = Mark Output = Space -3 3 3 3k < RL < 7 k -2V<V<2V 4 5 Condiciones Min Max Units 25 15 300 30 2500 7 V/S pF k V V V

Figura 6.1 Trama de datos, comunicacin RS232

Figura 6.2 Conectores DB25 y DB9

18

Nelson Sotomayor

Control con Microprocesadores

Tabla 6.2

Distribucin de pines

Los pines ms utilizados son:

TxD.- Lnea por la que se envan los datos RxD.- Lnea por la que se recibe los datos DTR.- Lnea por la que el PC indica al modem que esta activo para comunicarse DSR.- Lnea por la que el modem indica al PC que esta activo para establecer comunicacin RTS.- con esta lnea el PC indica al modem que esta preparado para transmitir datos CTS.- tras un RTS, el modem pone en 1L esta lnea tan pronto este preparado para recibir datos SG.- seal de tierra

19

Nelson Sotomayor

Control con Microprocesadores

El puerto serial de los microcontroladores trabaja con niveles TTL con lgica normal es decir 0L = 0V y 1L = 5V, por lo que si se quiere comunicarlo con un PC es necesario utilizar circuitos que cambien los niveles TTL a 232 y viceversa. Para ello se utilizan interfaces con tierras unidas o aislados.

Figura 6.3 Max232 circuito bsico y distribucin de pines, tomado de [6]

Figura 6.4 Interfaz TTL / 232

20

Nelson Sotomayor

Control con Microprocesadores

Figura 6.5 Interfaz aislado TTL / 232

6.1.2 INTERFAZ RS485 Utiliza una lnea balanceada con una impedancia caracterstica de 120 ohms, con lo que se mejora la velocidad y las distancias mximas de comunicacin.

10 Mbs a 40 pies 100 Kbs a 4000 pies (aprox 1200 metros)

En este interfaz se puede colocar varios transmisores y receptores (hasta 32), en una configuracin maestro esclavo (half duplex). Trabaja con +/- 5V con lgica invertida: 0L = +5V; 1L = -5V

21

Nelson Sotomayor

Control con Microprocesadores

Tabla 6.3 Especificaciones elctricas, tomado de [5]


Parameter Driver Output Voltage Open Circuit Driver Output Voltage Loaded Driver Output Short Circuit Current Driver Output Rise Time Driver Common-Mode Voltage Receiver Sensitivity Receiver Common-Mode Voltage Range Receiver Input Resistance RL= 100 Per output to common RL = 54 CL = 50 pF RL = 54 -7V <VCM< 12 V -7 12 Conditions Min Max 1.5 -1.5 1.5 -1.5 6 -6 5 -5 250 30 3 200 12 Units V V V V mA % of bit width V mV V k

Figura 6.6 Conexin RS485, tomado de [10]

22

Nelson Sotomayor

Control con Microprocesadores

Figura 6.7 Interfaz de comunicacin serial RS232 a un hilo

6.2 PROTOCO DE COMUNICACIN

Figura 6.8 Protocolo de comunicacin

Donde: SOH ADR LEN MENSAJE CRC

Cabecera, inicio de comunicacin Direccin Longitud Comando y parmetros Chequeo de errores

6.3 COMUNICACIN SERIAL SINCRNICA Se puede realizar de tres maneras:

USART SPI IIC

23

Nelson Sotomayor

Control con Microprocesadores

6.3.1 USART El puerto Serial universal sincrnico y asincrnico para recepcin y transmisin, es el dispositivo ms flexible para comunicacin serial. Sus caractersticas son:

Operacin full duplex Operacin sincrnica o asincrnica Operacin como maestro o esclavo en operacin sincrnica Baud rate de alta resolucin

6.3.2 SPI (Serial periferical interface) Este interfaz permite comunicar a alta velocidad de manera sincrnica al microcontrolador con otros dispositivos compatibles. Sus caractersticas son:

Comunicacin a 3 hilos, lnea de Tx, Rx y seal de reloj Comunicacin full duplex Permite el trabajo como maestro o como esclavo

6.3.3 IIC (Inter integrated circuit) [7]

Es este tipo de comunicacin serial, el dispositivo que enva datos en el bus se define como un trasmisor y el dispositivo que recibe datos es el receptor. El dispositivo que controla el bus se llama maestro, los dispositivos que son controlados por un maestro son referidos como esclavos. El bus puede ser controlado por un dispositivo maestro el cual genera la seal de reloj, controla el acceso al bus y genera las condiciones de inicio y parada. Una tpica configuracin usando el protocolo I2C se muestra en la Figura 6.9.

24

Nelson Sotomayor

Control con Microprocesadores

Figura 6.9 Bus I2C, tomado de [8]

La transferencia de datos es posible solo cuando el bus no este ocupado. Durante la transferencia, la lnea de datos debe permanecer estable mientras la lnea de reloj este en alto, los cambios en la lnea de datos mientras que la lnea de reloj este en alto son interpretados como condicin de inicio o condicin de parada como se puede apreciar en la Figura 6.10.

Figura 6.10 Condiciones de inicio y parada

6.3.3.1 Caractersticas generales

Las caractersticas ms relevantes son:

Utiliza dos lneas SDA de datos y SCL de reloj Cada dispositivo conectado al bus tiene un cdigo de direccin seleccionable o fijo. El bus permite la conexin de varios maestros ya que cuenta con detector de colisiones Los datos y direcciones se transmiten en palabras de 8 bits Los bits de datos sobre el bus se transfieren a un velocidad de 100Kbps

25

Nelson Sotomayor

Control con Microprocesadores

La capacidad mxima en el bus es de 400 pF, por lo que el nmero de dispositivos conectados a el no debe superarla

6.3.3.2 Bus no ocupado Se da esta condicin cuando las lneas de datos y reloj permanecen en alto.

6.3.3.3 Inicio de la transferencia de datos La condicin de inicio est definida cuando existe un cambio en el estado de la lnea de datos, de alto a bajo, mientras el reloj esta en alto.

6.3.3.4 Parada de la transferencia de datos La condicin de parada es definida cuando hay un cambio en el estado de la lnea de datos, de bajo a alto, mientras que la lnea de reloj esta en alto.

6.3.3.5 Dato vlido El estado de la lnea de datos representa un dato vlido cuando, despus de la condicin de inicio, la lnea de datos permanece estable durante el periodo en alto de la seal de reloj. El dato debe ser cambiado durante el periodo en bajo de la seal de reloj. Hay un pulso de reloj por bit o dato.

Figura 6.11 Validacin del bit de datos

26

Nelson Sotomayor

Control con Microprocesadores

Cada dato transferido es inicializado con la condicin de inicio y finalizado con la condicin de parada. El nmero de bytes de datos transferidos entre las condiciones de inicio y parada no es limitado y est determinado por el dispositivo maestro.

Dentro de las especificaciones del bus de 2 cables, son definidos, un modo regular (100 KHz) y un modo rpido (400 KHz),

6.3.3.6 Acknowledge Despus de la recepcin de cada byte, el dispositivo que recibe debe generar un acknowledge. El dispositivo maestro debe generar un pulso extra de reloj asociado con este bit.

6.3.3.7 Formato

Figura 6.12 Formato de transferencia en IIC

Donde: A S P R/W reconocimiento inicio parada Lectura/escritura

6.3.3.8 Especificaciones elctricas El bus IIC permite comunicarse a dispositivos fabricados con diferentes tecnologas y diferentes voltajes de alimentacin ya que tiene salidas a colector abierto. Para conexiones con niveles de entrada fijos y alimentacin de 5V se definen los siguientes valores:

27

Nelson Sotomayor

Control con Microprocesadores

V1L = 1.5 V (mximo voltaje de entrada a nivel 0L) V1H = 3 V (mnimo voltaje de entrada a nivel 1L) Para dispositivos que trabajan con un rango variado de voltajes de alimentacin se definen los siguientes valores:

V1L = 0.3Vdd (mximo voltaje de entrada a nivel 0L) V1H = 0.7Vdd (mnimo voltaje de entrada a nivel 1L) La corriente de entrada mxima a 0L es de -10uA mientras que para 1L es de 10uA. Los dispositivos con niveles fijos de entrada pueden alimentarse desde diferentes fuentes de alimentacin. Las resistencias de pull-up deben conectarse a una fuente de 5V +/- 10%

Figura 6.13 Dispositivos con diferentes niveles de voltaje conectados al bus IIC

7. TRATAMIENTO DIGITAL DE SEALES

Para adquirir seales del medio e ingresarlas a un sistema microprocesado se debe utilizar sensores. Un sensor es un elemento que responde variando sus condiciones fsicas ante ciertas condiciones, otros trminos utilizados son detector o transductor. Un sensor puede responder de muchas maneras, pero para ser adaptados a un sistema microprocesado, necesita tener una respuesta de tipo elctrica, como voltaje, corriente o resistencia, entonces es fcil tener un circuito electrnico de 28
Nelson Sotomayor

Control con Microprocesadores

acoplamiento. Los sensores son utilizados para monitorear y detectar medidas como temperatura, luz, velocidad, humedad, etc.

La seleccin adecuada de un sensor depender de algunos factores como:

Que propiedad se desea medir (temperatura) Que rango de entradas se necesita medir (20 -120 grados C) Que resolucin es necesaria (0.5 grados C) Que rapidez de respuesta se necesita (no es crtico para este caso) Que tipo de salida se necesita (digital, analgica, voltaje, corriente, etc.) Que tipo de fuente se dispone para el sensor (12V o 5V).

7.1 SENSORES ON-OFF

En algunas ocasiones se necesita detectar la presencia o ausencia de cierta propiedad por lo que es suficiente con un sensor que acte como switch. Se deber hacer el circuito de acondicionamiento de acuerdo con el sensor utilizado garantizando que los niveles de voltaje definan 0L o 1L de forma clara, para ingresarlos al microcontrolador, aunque lo ms recomendable es utilizar un latch para retener la informacin mientras el microcontrolador lee la informacin.

7.2 SENSORES ANALGICOS

Los sensores on-off tienen solo dos estados (1L o 0L) esto facilita su acoplamiento a un circuito digital. Sin embargo muchas veces se necesita llevar registros continuos de la seal, donde se tendr por ejemplo variaciones de voltaje de 0-10 voltios. En este caso la seal analgica debe ser digitalizada, con este propsito se utiliza conversores anlogo / digitales (A/D).

Para realizar una adecuada conversin A/D se debe tomar en cuenta:

Rango del voltaje de entrada (0V-5V, 0V-10V, +/-5V) Resolucin (7 bits, 8 bits, 9 bits, etc.)

29

Nelson Sotomayor

Control con Microprocesadores

Tiempo de conversin (en funcin del tiempo de muestreo)

Ejemplo: Si en un rango de 0 a 35 grados se desea tener una medida mnima de 0.1 grados, se puede obtener el nmero de valores diferentes: #T = 35/0.1 = 350, por lo que la resolucin del conversor debera ser de 9 bits (512 valores)

7.3 TCNICAS DE CONVERSIN A/D 7.3.1 RAMPA SIMPLE

Figura 7.1 Tcnica de conversin A/D rampa simple, diagrama circuital y de tiempo

Para realizar la conversin se siguen los siguientes pasos:

Cerrar el S, de esta manera el Vc = 0V Abrir el S y arrancar un timer interno del uC, es decir arrancar la conversin, con lo cual Vc sube de manera lineal. Esperar a que el Vin y el Vc se igualen, esperando que la salida del comparador cambie de estado, en cuyo caso se debe detener el timer obtenindose Tc.

Utilizando la expresin de corriente del condensador se tiene:

30

Nelson Sotomayor

Control con Microprocesadores

ic = C

dV , ya que ic es constante se tiene: dt

Vc = I

t C

Vc (t =Tc ) = Vin =

I Tc C

7.3.2 RAMPA DOBLE

Figura 7.2 Tcnica de conversin A/D rampa doble, diagrama circuital y de tiempo

Si S1 ON:

I=

Vin CV CV , de donde: = = R Tc t

R * C * V = Vin * Tc

Si S2 ON:

I=

Vref CV CV , de donde: R * C * V = Vref * Td = = R Td t

Vin = Vref

Td Tc

31

Nelson Sotomayor

Control con Microprocesadores

7.4 TCNICAS DE CONVERSIN D/A 7.4.1 SUMADOR INVERSOR

Figura 7.3 Tcnica de conversin D/A

Debido a que el voltaje en los puertos no siempre es estable es necesario intercalar comparadores y luego acondicionar la seal para conseguir el voltaje adecuado a la salida. Por ejemplo si se desea que el voltaje mximo a la salida sea 5V en un puerto de 8 bits se tendra: 1L= 5/255 = 20mV El voltaje de salida viene dado por la siguiente expresin:

-Vo(t) = VPx.0(1)+VPx.1(2)+VPx.3(4)+ .+VPx.7(128)

En los puertos se debe colocar las resistencias adecuadas para que den la ganancia mostrada en la expresin anterior.
Tabla 7.1 Valor de resistencias Puerto Px.7 Px.6 Px.5 Px.4 Px.3 Px.2 Px.1 Px.0 Resistencia R/128 R/64 R/32 R/16 R/8 R/4 R/2 R

32

Nelson Sotomayor

Control con Microprocesadores

7.4.2 PWM En esta tcnica se debe generar una seal PWM por uno de los pines del uC y luego dicha seal filtrarla para obtener el valor DC de la misma. Se utiliza normalmente un filtro pasa bajos, que puede ser activo o pasivo.

Si se esta trabajando con microcontroladores que tengan internamente los conversores A/D y D/A es recomendable utilizar esos dispositivos, si no se dispone de conversor D/A se recomienda utilizar la tcnica de conversin D/A tipo PWM

7.5 COMPARADOR ANALGICO, ATMEGA16 [9] El comparador analgico compara los voltajes que ingresan por el pin positivo AIN0 y el pin negativo AIN1. Cuando el voltaje de la entrada positiva es mayor que el voltaje de la entrada negativa, la salida del comparador analgico, ACO se pone 1L. La salida del comparador analgico puede disparar al Timer1 en el modo de captura, o activar la bandera propia del comparador.

Figura 7.4 Diagrama de bloques del comparador analgico, tomado de [9]

33

Nelson Sotomayor

Control con Microprocesadores

Los registros que se utilizan con el comparador analgico son los siguientes:

7.5.1 Special Function IO Register, SFIOR

Figura 7.5 Registro Special Function IO Register, SFIOR

De este registro el bit de inters es el 3, llamado Analog Comparator Multiplexer Enable (ACME), cuando este bit esta en 1L y el conversor A/D esta apagado (ADEN=0 en ADCSRA), el multiplexer del conversor A/D controla el acceso a la entrada negativa del comparador. Si ACME=0L AIN1 se conecta a la entrada negativa del comparador.

7.5.2 Analog comparator control and status register, ACSR

Figura 7.6 Analog comparator control and status register, ACSR

Bit 7 ACD: Analog Comparator Disable, cuando este bit se pone en alto, el comparador analgico se apaga.

Bit 6 ACBG: Analog Comparator Bandgap Select, cuando este bit esta en alto el voltaje de referencia interno se conecta a la entrada positiva, si esta en cero la entrada AIN0 se conecta a la entrada positiva del comparador

34

Nelson Sotomayor

Control con Microprocesadores

Bit 5 ACO: Analog Comparator Output, la salida del comparador analgico esta sincronizada directamente con este bit. La sincronizacin introduce un retardo de 1-2 ciclos de reloj

Bit 4 ACI: Analog Comparator Interrupt Flag, este bit es la bandera del comparador analgico

Bit 3 ACIE: Analog Comparator Interrupt Enable, permite habilitar la interrupcin del comparador analgico

Bit 2 ACIC: Analog Comparator Input Capture Enable, cuando este bit se pone en alto se habilita el disparo del timer1 en modo captura a travs del comparador analgico

Bits 1, 0 ACIS1, ACIS0: Analog Comparator Interrupt Mode Select, estos bits permiten seleccionar la fuente de interrupcin del comparador analgico.

Tabla 7.1 Modos interrupcin del comparador analgico, tomado de [9]

35

Nelson Sotomayor

Control con Microprocesadores

Tabla 7.2 Multiplexer del comparador analgico, Registro ADMUX

7.5.3 Voltaje de referencia interno Este voltaje es utilizado por el detector de bajo voltaje y puede ser utilizado como referencia para el comparador analgico o el conversor A/D. El voltaje de 2.56V es generado internamente por el Bandgap referente.

8. TCNICAS DE CONTROL 8.1 CONTROL ON-OFF Es la regulacin ms simple y econmica, se utiliza en aplicaciones que puedan admitir una oscilacin continua entre dos lmites, pero sera necesario que la evolucin del proceso sea lento. Muchos reguladores incorporan esta regulacin bsica y en ocasiones se combinan con otro tipo de controladores utilizndolos cuando el error es grande y cambiando de forma automtica a otro controlador cuando el error se aproxima a cero.

36

Nelson Sotomayor

Control con Microprocesadores

Figura 8.1 Control ON-OFF

Para evitar un nmero excesivo de conmutaciones se incluye un laso de histresis. La histresis es como una oposicin a experimentar cualquier cambio, cosa que normalmente sera un efecto perjudicial para ciertas aplicaciones por lo que se debe escoger adecuadamente las aplicaciones en las cuales este controlador funcionaria adecuadamente. Su respuesta es de tipo todo o nada, de forma que se conecta cuando la variable regulada ha descendido hasta un valor por debajo de la variable de consigna y solo se desconecta cuando dicha variable supera el lmite superior de la variable de consigna.

8.2 CONTROL DIFUSO Otro tipo de control que esta ganada terreno en lo ltimos aos es el control por lgica difusa. Se trata de un control que se basa en la experiencia adquirida para actuar como la hara una persona, es decir en base a reglas empricas. Es un control que se puede utilizar en procesos no lineales que son difciles de modelar. El problema que tiene radica en que el programador no tenga la suficiente experiencia, es decir no conozca a la perfeccin como evoluciona la variable a 37
Nelson Sotomayor

Control con Microprocesadores

regular. Para este caso se puede programar el control con lgica difusa con la ayuda de una red neuronal, que es un sistema complejo de aprendizaje, es decir, la red neuronal aprendera del sistema lo suficiente como para informar al control difuso cuales son las reglas a usar en cada momento para obtener un buen control.

8.3 SISTEMAS SCADA Son la solucin ms utilizada para resolver problemas de supervisin de una planta, incluyendo las intervenciones que sean necesarias en caso de incidencias que deban ser resueltas por los usuarios. Los programas de supervisin, control y adquisicin de datos (SCADA), estn sustituyendo a los paneles antiguos de supervisin por las ventajas que tienen con respecto a ellos como son el uso de imgenes en la pantalla de un ordenador que puede disear el propio usuario y es de relativamente fcil reconfiguracin. Estos sistemas adems pueden realizar otras funciones como:

Gestin de seales de alarma y ejecucin de acciones consecuentes, que pueden ir desde un simple aviso hasta la modificacin del proceso o su parada automtica.

Control de la planta por manipulacin de los parmetros que utilizan los controladores digitales subordinados que normalmente se encuentran en una red de comunicacin.

Recopilar informacin histrica del proceso Presentar pantallas de ayuda a los usuarios Funciones de seguridad

8.4 SISTEMAS DE CONTROL DISTRIBUIDO (SDC) Son un conjunto de controladores y un computador central enlazados por un canal de comunicacin muy rpido. Estos sistemas de control utilizan un

controlador para cada uno de los lazos de regulacin y han sustituido un basto sistema de comunicaciones por un nico canal muy rpido. Las ventajas de este tipo de sistema son:

38

Nelson Sotomayor

Control con Microprocesadores

Desarrollo de sistemas a base de mdulos (en hardware y software) que facilitan los cambios, el aislamiento y localizacin de averas. Gran cantidad de controladores seleccionables por mens Redundancia de equipos Gran capacidad de comunicaciones, gracias a la constante desarrollo de este campo Fcil mantenimiento

8. 5 CONTROLADOR Proporcional, integral, derivativo (PID) Es el algoritmo de control ms utilizado a pesar de que existen muchos mtodos que pueden dar un control de mayor calidad en ciertas situaciones donde el PID no responde la perfeccin. En la mayora de los casos el PID da buenos resultados y tal vez es por esta razn que es muy utilizado a pesar de existir otros reguladores tericamente mejores.

Sea cual sea la tcnica de control, el error de regulacin es la base a partir de la cual acta el PID, por lo que mientras ms precisa sea la medida mejor se puede controlar la variable en cuestin. Por esta razn es muy importante, utilizar los sensores adecuados, la forma de transmitir los datos y tomar en cuenta las fuentes de interferencia desde la concepcin del diseo.

Un regulador PID toma en cuenta el error, la derivada del error y la integral del error. La accin de control se calcula multiplicando los tres valores por una constante (Kp, Ki y Kd) y sumando los resultados. Las constantes Kp, Ki y Kd definen el comportamiento del sistema.

39

Nelson Sotomayor

Control con Microprocesadores

Figura 8.2 Diagrama de bloques control PID

La accin proporcional hace que el regulador responda rpidamente cuando el error es grande, pero a pesar de esto esta accin no es suficiente ya que:

Muchas veces la variable aumenta o disminuye si no existe una accin que la mantenga. Cuando la variable se acerca al punto de consigna la accin proporcional disminuye y no vence la tendencia de la misma, haciendo que alcance un reposo antes de lo previsto manteniendo el error constante.

Aunque la accin proporcional disminuye rpidamente el error, no se debe usar esta hasta conseguir un error muy pequeo ya que la variable regulada se acercara muy rpido al punto de consigna por lo que se pasara de ella.

La accin integral responde al error cuando este se anula, gracias al error que existi en le tiempo pasado algo as como una memoria histrica que tenga en cuenta la evolucin del error.

La accin derivativa contrarresta la inercia del proceso, frenndolo cuando evoluciona demasiado rpido y acelerndolo en caso contrario, es decir es la visin del futuro que se anticipa a lo podra ocurrir.

40

Nelson Sotomayor

Control con Microprocesadores

Frecuentemente, la accin derivativa no es usada. Muchos controladores industriales slo tienen la accin PI y que en otros, la accin derivativa se pone en off. Se puede mostrar que un control PI es adecuado para procesos donde la dinmica del sistema es esencialmente de primer orden (control de nivel de un solo tanque, tanques de mezclado, reactores perfectamente agitados, etc) [11].

Un caso tpico de la accin derivativa, introducida para mejorar la respuesta, es cuando la dinmica del proceso est caracterizada por constantes de tiempo que difieren en magnitud. La accin derivativa puede dar buenos resultados para aumentar la velocidad de respuesta. El control de temperatura es un caso tpico. La accin derivativa es tambin beneficiosa cuando se requiere un control ms fino para un sistema de alto orden. La dinmica de alto orden limitara la cantidad de ganancia proporcional para un buen control. Con la accin derivativa, se mejora el amortiguamiento ya que se puede utilizar una ganancia proporcional ms alta y elevar la velocidad de la respuesta transitoria [11].

8.5.1 ALGORITMO DE CONTROL PID DIGITAL


2 KpTm + 2 Kd + KiTm 2 Kd KiTm 2 2 KpTm 4 Kd + E [n 1] + E [n 2 ] 2Tm 2Tm Tm

U [n ] = U [n 1] + E [n ]

Donde: U E Kp Ki Kd seal de control error = setp - realimentacin constante proporcional constante integral constante derivativa

Si se desea utilizar una versin simplificada del algoritmo de control PID se puede utilizar la siguiente expresin:

41

Nelson Sotomayor

Control con Microprocesadores

U = Kp(error) + Ki(errori) + Kd(errord)

Donde: errori = sumatorio del error errord = error anterior error actual

Con esta expresin hay que tener cuidado ya que la parte integral podra desbordarse por lo que es recomendable utilizarla cuando el error es pequeo, es decir partir de un control PD hasta conseguir disminuir el error y luego activar la accin integral.

8.6 MODULACIN SENOIDAL DE ANCHO DE PULSO

Figura 8.3 Modulacin senoidal de ancho de pulso

42

Nelson Sotomayor

Control con Microprocesadores

8.7 CARACTERISTICAS DEL CONTROL DIGITAL

Como caractersticas bsicas del control digital se tienen:

No existe lmite de complejidad del algoritmo, cosa que era comn en los sistemas analgicos Facilidad de ajuste y cambio. Ya que un cambio en control analgico implica en el mejor de los casos un cambio de componentes ya que en ocasiones se necesita cambiar todo el controlador

Exactitud y estabilidad en el clculo ya que no existen muchas fuentes de error. Uso del controlador con otros fines (alarmas, almacenamiento de datos, administracin etc.) Costo vs nmero de lasos. Tendencia al control distribuido o jerrquico

Figura 8.4 Lazo tpico del control digital

43

Nelson Sotomayor

Control con Microprocesadores

9. CIRCUITOS AUXILIARES 9.1 FUENTES La fuente que alimenta a un sistema microprocesado debe tener las protecciones adecuadas para evitar que la interferencia pueda afectar al microcontrolador.

Figura 9.1 Diagrama de bloques de una fuente de alimentacin

El filtro adems de atenuar los efectos indeseables del ruido y la interferencia, al tener capacitares almacena voltaje, el cual da al microcontrolador un tiempo de autonoma adicional despus que se pierde la energa primaria.

Figura 9.2 Etapa de filtrado

Para regular el voltaje se puede utilizar el LM7805, el cual soporta un voltaje de entrada mnimo 7V y mximo 25V. En la Figura 9.3 se observa la distribucin de pines del regulador, donde E es la entrada de la fuente de alimentacin, T tierra y S la salida regulada. El rango de temperatura esta entre 0 C y 125 C , para una corriente de salida de 1A, por lo que es aconsejable colocar un disipador de calor para evitar que este se queme [12]. El ndice de error en la tensin de salida es de +/- 0,25 V,

44

Nelson Sotomayor

Control con Microprocesadores

por lo que el regulador LM7805 podr tener un voltaje de salida entre 4,75 V y 5,25 V, rango que es aceptable para el funcionamiento de un sistema microprocesado.

Figura 9.3 Regulador LM7805

Figura 9.4 Fuente regulada

9.2 TIPOS DE RESET El reset tiene la funcin de llevar al PC a la posicin 0H de memoria de programa. En algunos microcontroladores existen varios eventos que pueden hacer que el microcontrolador genere un pulso de reset, entre ellas se encuentran:

POR, genera un pulso de reset al alimentar al microcontrolador BOR, genera un pulso de reset si el voltaje de alimentacin es menor al mnimo voltaje recomendado por el fabricante WDT reset, es un contador interno que genera un pulso de reset cuando se desborda, por lo que debe ser constantemente reiniciado PWT, genera un pulso de reset durante un tiempo de aprox. 75ms despus de alimentar al microcontrolador

45

Nelson Sotomayor

Control con Microprocesadores

Reset manual, genera un pulso de reset cada vez que el usuario del sistema presione el pulsador

En el Atmega16, para determinar la fuente del reset se tiene el registro MCU control and status:

Figura 9.6 Registro MCUCSR

Bit 4 JTRF: JTAG Reset Flag, este bit se pone en alto cuando se genera un reset por el Puerto JTAG, se recupera cuando se genera un POR o escribiendo 0L en el flag Bit 3 WDRF: Watchdog Reset Flag, este bit se pone en alto cuando se genera un reset por WDT, se recupera cuando se genera un POR o escribiendo 0L en el flag Bit 2 BORF: Brown-out Reset Flag, este bit se pone en alto cuando se genera un reset por BOR, se recupera cuando se genera un POR o escribiendo 0L en el flag Bit 1 EXTRF: External Reset Flag, este bit se pone en alto cuando se genera un reset externo, se recupera cuando se genera un POR o escribiendo 0L en el flag Bit 0 PORF: Power-on Reset Flag, este bit se pone en alto cuando se genera un reset por POR, se recupera nicamente escribiendo 0L en el flag

Todo sistema microprocesado debe tener POR y WDT reset, los otros tipos de reset se deben seleccionar de acuerdo a las necesidades de la aplicacin. En microcontroladores que no tienen internamente estos tipos de reset, estos se deben implementar de manera externa.

46

Nelson Sotomayor

Control con Microprocesadores

Figura 9.5 Circuito de reset manual y POR

El WDT reset se implementa utilizando un circuito monoestable redisparable.

Figura 9.6 Monoestable redisparable

9.3 RESPALDO DE ALIMENTACION Para garantizar la autonoma de un sistema microprocesado en algunas aplicaciones es necesario que este tenga un sistema de alimentacin de respaldo, la misma que debera ser conectada cuando la alimentacin primaria se ha perdido. Para que el microcontrolador sepa cuando se perdi la

alimentacin primaria es necesario monitorear la fuente de alimentacin primaria sea esta de alterna o de continua.

Cuando la fuente de alimentacin primaria es de alterna se suele utilizar un circuito monitor de red que esta constituido por un detector de cruce por cero a nivel de hardware y un programa en el microcontrolador que verifica que los

47

Nelson Sotomayor

Control con Microprocesadores

pulsos del cruce por cero lleguen a intervalos de tiempo preestablecidos en funcin de la red de alimentacin.

Si la fuente primaria es de continua se debe revisar el nivel de voltaje de la misma, lo ms comn es utilizar un comparador de voltaje, que

permanentemente revise que el voltaje de la fuente no baje de un nivel mnimo.

Si los pulsos del cruce por cero no llegan de acuerdo a lo establecido o el nivel de voltaje de la fuente es menor que un nivel mnimo, el microcontrolador debe realizar la conmutacin a fuente auxiliar y monitorear dicha fuente. Si el nivel de voltaje de la fuente auxiliar baja del nivel mnimo, el microcontrolador debe ejecutar las rutinas necesarias para respaldo de datos en memoria no voltil.

Figura 9.7 Fuente con respaldo y detector de cruce por cero

Figura 9.8 Pulsos del detector de cruce por cero

48

Nelson Sotomayor

Control con Microprocesadores

Figura 9.9 Circuito de conmutacin de fuente controlado desde el micro

En la Figura 9.7 se puede ver un circuito de conmutacin de fuente en la que el microcontrolador no interviene, en este caso es til el monitor de red para que el microcontrolador sepa que esta trabajando con batera auxiliar.

En la Figura 9.9 se puede ver el circuito de conmutacin de fuente, donde el microcontrolador es el que realiza la conmutacin en funcin de la informacin obtenida por el monitor de red.

9.4 RESPALDO DE DATOS

Cuando un sistema microprocesado tiene datos que son importantes para el desarrollo del mismo, estos deberan ser almacenados en un tipo de memoria no voltil en el momento en que se pierde la alimentacin primaria y auxiliar.

Dentro de las memorias no voltiles se tienen: NVRAM, EEPROM y FLASH a las cuales un microcontrolador puede acceder con facilidad. Estas memorias podran estar incluidas en el mismo empaquetado del microcontrolador o ser externas a el. Si estn incluidas se accede a ellas por medio de subrutinas especializadas que proporciona el fabricante o utilizando instrucciones de un lenguaje de alto nivel. Si son externas la mejor alternativa es el uso de

memorias seriales ya sea SPI o IIC.

49

Nelson Sotomayor

Control con Microprocesadores

10. REFERENCIAS BIBLIOGRFICAS

[1] Maxim Integreted Products, ICM7211/7212, USA, 1993

Four

digit

display

Decoders/drivers,

[2] Densitron, Dot matrix LCD character modules, Septiembre 1998 [3] Optrex Corporation, LCD Module Specification DMC20481NY-LY-ABE, 1999 [4] National Semiconductors, MM54C922 / MM74C922 16-Key Encoder MM54C923 / MM74C923 20-Key Encoder, Julio 1993

[5] Dallas semiconductor, Selecting and Using RS-232, RS-422, and RS-485 Serial Data Standards, Diciembre 2009, http://pdfserv.maximic.com/en/an/AN723.pdf [6] Maxim Integrated Products, Data sheet, +5V-Powered, Multichannel RS-232 Drivers/Receivers MAX220 MAX249, USA 1997 [7] Microchip Technology Inc., AN976, Using the MSSP module to interface I2C Serial EEPROMs with PIC16 Devices, 2005. [8] Dallas Semiconductor, DS1307/DS1308 64 x 8 Serial Real Time Clock, 2001. [9] Atmel corporation, 8-bit Microcontroller with 16K Bytes In-System Programmable Flash, Atmega16, 2007 [10] David Hiriart, Manual Tcnico, Sistema monitor de nubes diurno, Universidad Autnoma de Mxico, Mxico DF [11] Amstegui M, Apuntes de control PID, Universidad Mayor de San Andrs, La Paz Bolivia, Enero 2001 [12] Fairchild Semiconductor, MC78XX/LM78XX/MC78XXA 3-Terminal 1A Positive Voltage Regulator, 2001, www.fairchildsemi.com

50

Nelson Sotomayor

También podría gustarte