Está en la página 1de 7

Control de una válvula isoporcentual con un

microcontrolador 8051
Mauricio Varea, Pablo Larrusse y Andrea Guillén
Departamento de Electrónica y Automática
Universidad Nacional de San Juan

Introducción

El presente trabajo consiste en el desarrollo del software y hardware necesario para


llevar a cabo el control de una válvula esférica de tipo isoporcentual.
El objetivo es lograr que el caudal que entrega la válvula se ajuste a un caudal de
referencia externo. Este se logra traduciendo el valor de referencia a un valor angular
que indica la posición de la válvula para que el caudal por ella entregado se corresponda
con el deseado.
A continuación se esquematiza el lazo de control:

Lazo de control

El controlador se implementó mediante un microcontrolador, el cual procesa dos


entradas provenientes del exterior, ya discretizadas mediante un conversor A/D. Una es
la referencia y la otra indica la posición de la válvula en el instante actual, antes de
comparar estos dos valores, se debe ingresar a una tabla con la ultima señal y obtener el
correspondiente valor linealizado. Siendo el error calculado en base a la diferencia
existente entre el valor linealizado y la referencia. A este error se le aplica el algoritmo
de control, en este caso un PI, y en base al resultado obtenido se carga el T0 del micro
para obtener una acción de control proporcional al error. Se realiza la descarga del T0 al
mismo tiempo que se envía una señal a través de los pines P1.2 y P1.3, cuyos valores
indican el sentido de giro del motor. De esta forma se logra modificar la posición de la
válvula con el objetivo de que alcance el valor de referencia.
Descripción de los bloques

1- Planta: características de la válvula

Como anteriormente se mencionó la válvula utilizada es una esférica tipo isoporcentual


de ¾.
Se trabaja sobre todo el rango de apertura de la válvula, es decir, se llega hasta el
máximo de apertura.
Este potenciómetro se alimenta con 5V de corriente continua, de modo que para 0° de la
válvula la tensión de salida sea 0V y para 90° sea 5V.

La curva característica caudal-apertura de la válvula es no lineal, como se puede


observar en el siguiente gráfico:

Curva característica de la válvula

0,4
 0,35
 $ 0,3
" #!
0,25

 0,2
  0,15
  0,1
0,05
0
0 10 20 30 40 50 60 70 80 90

      

Por ello se debe realizar una linealización por tramos, la cual se lleva a cabo dentro del
microprocesador. La apertura de la válvula es sensada mediante un potenciómetro, este
valor se encuentra en un rango de 0 a 5V, que luego es digitalizado utilizando un
conversor analógico-digital, cuando este valor ingresa al microprocesador se busca
dentro de una tabla el correspondiente valor linealizado.
La linealización se efectúo teniendo en cuenta la pendiente en cada uno de los tramos, a
mayor pendiente mayor cantidad de niveles. Es decir los 255 niveles posibles no se
asignaron uniformemente, sino proporcionalmente de acuerdo a la excursión de cada
uno de los tramos, con lo que se logra mantener la resolución uniforme para todos los
tramos. Si se hubieran asignado igual cantidad de niveles a todos los tramos la
resolución para aquellos tramos con poca excursión hubiese sido mayor que para
aquellos con una mayor excursión. Además, la consideración realizada permitió no
tener que desperdiciar niveles en los primeros tramos donde el caudal se mantienen en
cero.

A continuación se esquematizan a través de una tabla los pasos realizados para lograr la
linealización:

Apertura Caudal Rango Porcentaje Niveles Apertura Caudal Ecuación discreta


asignados discreta discreto
0º - 5º 0–0 0 0 0 0 – 14 0–0 0
5º - 10º 0–0 0 0 0 14 – 28 0–0 0
10º - 15º 0–0 0 0 0 28 – 42 0–0 0
15º - 20º 0–0 0 0 0 42 – 56 0–0 0
20º - 25º 0–0 0 0 0 56 – 70 0–0 0
25º - 30º 0 – 0.02 0.02 5.4 14 70 – 84 0 – 14 θ - 70
30º - 35º 0.02 – 0.03 0.01 2.7 7 84 – 98 14 – 21 0.5 θ - 28
35º - 40º 0.03 – 0.04 0.01 2.7 7 98 – 112 21 – 28 0.5 θ - 28
40º - 45º 0.04 – 0.06 0.02 5.4 14 112 – 126 28 – 42 θ - 84
45º - 50º 0.06 – 0.13 0.07 18.92 48 126 – 143 42 – 91 2.88 θ - 321.17
50º - 55º 0.13 – 0.175 0.045 12.16 31 143 – 157 91 – 123 2.25 θ - 230,7
55º - 60º 0.175 – 0.205 0.03 8.11 21 157 – 171 123 – 144 1.5 θ - 113
60º - 65º 0.205 – 0.245 0.04 10.82 28 171 – 185 144 – 172 2 θ - 198.5
65º - 70º 0.245 – 0.28 0.035 9.46 24 185 – 199 172 – 196 1.75 θ - 152.25
70º - 75º 0.28 – 0.315 0.035 9.46 24 199 – 213 196 – 221 1.75 θ - 152.25
75º - 80º 0.315 – 0.33 0.015 4.05 10 213– 227 221 – 231 0.75 θ + 60.75
80º - 85º 0.33 – 0.37 0.04 10.87 28 227 – 241 231 – 255 1.714 θ - 158.14
85º - 90º 0.37 – 0.37 0 0 0 241 - 255 255 – 255 255

2- Actuador Primario: características del motor

La válvula es accionada por un motor de corriente continua, marca IGNIS, modelo MR


301-8-3-10-20-E, cuyas características son las siguientes:

• Vnom = 8 Vcc
• RPMnom = 3
• Inom = 0,6 A
• Io = 0,3 A

Este es en realidad un motor-reductor, es decir la combinación de un motor de corriente


continua de imán permanente con un reductor de velocidad. El reductor tiene una
relación 2500:1.
Se debe tener en cuenta el juego de 2 grados que presentan los engranajes del motor,
debido a que esto reduce la precisión que se puede lograr al controlar la apertura de la
válvula.
Se adiciona al final del trabajo una hoja brindada por el fabricante con más detalles del
motor.

3 - Actuador secundario: puente H

Para controlar el motor se diseñó un puente H con transistores complementarios (uno


PNP y otro NPN) por rama tipo Darlington (ver circuito 2/2). La elevada impedancia de
entrada de los transistores permitiría conectar las entradas directamente al port del 8031
pero, dado que la etapa de potencia se alimenta con 8V y el circuito lógico con 5V, se
pensó en implementar un comparador (con un amplificador operacional, por rama) que
me genere cierta histéresis alrededor de los 4V (Notar que R5 y R6 son iguales y están
alimentados entre 8V y masa).
Los transistores empleados son TIP120 (NPN) y TIP125 (PNP), cuyas características
son:
• VCE = 100V
• IC = 8 A
• PD = 65 W
• β = 1000

4 - Sensor

Para sensar la posición de la válvula se utiliza un potenciómetro. El mismo se conecta


mediante dos engranajes a la parte de menor velocidad del motor, la misma que
modifica la apertura del obturador. La relación de los engranajes es de 3:1, logrando así
que cuando el engranaje que esta solidario al vástago de la válvula gire 90 grados, el eje
del potenciómetro, unido al otro engranaje, gire 270 grados. De esta manera se
aprovecha todo el potenciómetro.

5- Conversor

Se utiliza un conversor analogico-digital para lograr acondicionar la referencia y la


señal de la posición de la válvula e ingresarlas al microprocesador.
El conversor utilizado es de 8 bits, lo que brinda una resolución de aproximadamente
20mV.
La selección de la entrada analógica a convertir (una de ocho) se efectúa a través de A0,
A1 y A2. Como se utilizan solo dos entradas, entonces colocaremos A1 y A2 a masa
realizando la elección por A0 (comandado por P1.1).

6- Microcontrolador

Para la realización del controlador se utilizó una placa diseñada por la cátedra de
Microprocesadores II, la cual incorpora un microprocesador 8031, dos bancos de
memoria de 8 kbytes cada uno, una interfaz de comunicación serie RS232, una interfaz
a periféricos 8155 y un canal de entrada salida de senales tales como las de control,
buses, puertos y comunicación.
Los esquemas de memoria se pueden configurar mediante jumpers dando flexibilidad a
la placa para cumplir con diferentes propósitos. Se configuro la placa de la siguiente
manera:
J2 Abierto
J3 2-3
J4 Abierto
J5 1-2

En este caso se utiliza el port B del 8155, las interrupciones INT0 e INT1, el T0 del
micro, el TIMER del 8155, el P1.0, P1.1, P1.2 y P1.3. Lo que se puede observar con
mayor detalle en el circuito 1 / 2.

La interrupción INT0 es externa, proviene del conversor y es la señal de fin de


conversión. Debido a que la INT0 también permite interrupciones desde un pulsador
presente en la placa, es necesario colocar el J5 como se indicó anteriormente.
La INT1 es tomada del TOUT del 8155 existente en la placa, para que ello sea posible
los jumpers J2, J3 y J4 adoptan la forma indicada.
El port B del 8155 se utiliza para el ingreso de los datos entregados por el conversor
analogico-digital.
La P1.0 es una señal de salida que va directamente a los pines Start y ALE del
conversor. Esta señal permite tener un pleno dominio del conversor, tal que si es
necesario leer un dato exterior se usa este pin del port 1 como disparo del conversor.
Con P1.1 se selecciona una de las dos posibles entradas al conversor, el envío de un 0
permite seleccionar la referencia, mientras que en 1 ingresa la salida del potenciómetro
que sensa la posición de la válvula.
P1.2 y P1.3 se utilizan para realizar el control del motor, son complementarias entre sí
lo que permite girar en un sentido o en otro el motor, y toman las dos un valor bajo sólo
cuando se quiere parar el motor.
El TIMER del 8155 se utiliza para generar una base de tiempo constante a partir de la
señal generada por un oscilador externo a la placa.
El T0 del micro se utiliza para realizar el control del motor basado en un PWM.
La ventaja que ofrece esta placa se basa en la posibilidad de comunicación con la P.C.
lo que facilita la depuración del programa que se está corriendo sobre ella.
El microprocesador tiene dos funciones específicas: una es la de realizar el control
digital de posición sobre la válvula de acuerdo al caudal de referencia y la otra es la
linealización de la curva característica apertura-caudal de la válvula que es no lineal,
esto se efectúa de la manera antes mencionada.

7- Software

Un diagrama de tiempo básico del funcionamiento del software es el siguiente:


Donde T es el periodo fijado por el 8155, en este caso:
1
T= ⋅ 04 FFh = 6,4ms
200 KHz

Siendo t el tiempo que se aplica la acción de control. Este valor es inversamente


proporcional al valor cargado en el T0 del 8031, ya que este cuenta en forma
ascendente.
En caso de overflow en el cálculo de la acción de control, es decir que la acción que se
debería aplicar sobrepasa el rango disponible, se carga este timer con un valor mínimo
(cuenta máxima) obtenido empíricamente. Este valor es de F000h.
Esto significa un período útil de:
t = 0 FFFh ⋅ 1µs = 4,1ms

Cabe resaltar que mientras que T= 6,4ms es un valor fijo, t es variable y es el que fija el
período útil dentro de T.
Otros tiempos involucrados son:
tcalc: tiempo de cálculo
tCR: tiempo de conversión de la referencia
tCS: tiempo de conversión del sensor
∆: tiempo variable para completar el período muerto

1
tc = ⋅ 70 = 350 µs
200 KHz

En el cuerpo principal del programa se establecen las condiciones de funcionamiento,


como por ejemplo la constante de división del TIMER del 8155.

A la rutina de conversión se accede sólo si el conversor A/D habilita EOC (INT0), lo


que significa que si no se activa la señal de Start-ALE (P1.0) es imposible encontrarse
en esta parte del programa. Esta característica es la que permite asignarle la misma
prioridad a INT0 que a la base de tiempo fijada por INT1, dado que uno puede tener el
control de cuando se efectuará un pedido de la INT0.

En la rutina de control se obtiene el error actual mediante:

e(k ) = r (k ) − y (k )
Luego se le suma la acción de control anterior obteniendo la siguiente ecuación
recursiva:

u (k ) = e(k ) + u (k − 1)

La acción de control se manifiesta mediante un cierto período útil (t) de un PWM, lo


que se obtiene cargando el TIMER con:

Conclusiones

Debido a que se utiliza un conversor de 8 bits se puede discriminar entre 256 niveles
distintos. Al linealizar se obtiene una transformación de estos valores, que por las
características no lineales de la curva de la válvula, pueden presentar saltos de hasta tres
niveles entre valores consecutivos. Este problema se podría haber solucionado, o al
menos mejorado, con un conversor que brindara mayor resolución. Pero, por otro lado,
teniendo en cuenta las variables que se manipulan en este tipo de procesos quizás no se
justifique una mayor precisión.
Otro de los problemas que se presentaron fue que la válvula no queda completamente
cerrada, debido a que en la colocación del fin de carrera cualquier discrepancia respecto
al valor real se adopta de manera que quede un cierto margen de tolerancia por una
cuestión de seguridad.

También podría gustarte