Vous êtes sur la page 1sur 34

UNIVERSIDAD CATOLICA DE SANTA MARIA

FACULTAD DE CIENCIAS E INGENIERIAS FISICAS Y


FORMALES

ESCUELA PROFESIONAL DE INGENIERIA


MECANICA, MECANICA ELECTRICA Y
MECATRONICA

CONTROL MECATRNICO II

DISEO E IMPLEMENTACION DE CONTROL PID PARA


EL CONTROL DE POSICIN DE BALANCN Y HLICE

NOMBRE DEL ALUMNO: Espejo Gutirrez, Ren Sergio

DOCENTE: Ing. Marcelo Quispe Ccachuco

SECCION: A

FECHA: 14 - 12 - 15

(AREQUIPA-PERU)
-2015-
1. INTRODUCCION

a. RESUMEN DEL PROYECTO

Mediante el presente proyecto, se pretende analizar, disear e


implementar un controlador PID para el control de la posicin
de un balancn de 1 eje (1 solo grado de libertad), el cual se
encuentra implementado en una planta que vara la posicin
mediante el giro de una hlice acoplada a un motor elctrico de
alta potencia.

Se proceder a realizar un anlisis matemtico de la planta


para poder obtener la funcin de transferencia y asi proceder a
disear un controlador PID.

Se realizara una simulacin del controlador, asi como los


efectos que produce sobre la planta, y su respuesta en el
tiempo.

b. OBJETIVOS

Aplicar el anlisis matemtico y las leyes de Newton para


realizar el modelamiento matemtico del sistema a
analizar.
Realizar un adecuado diseo de controlador PID para
controlar de manera precisa y estable la posicin angular
del balancn.
Aplicar el uso de herramientas computacionales que
facilitan el diseo y aplicacin de controladores, como
simulink y Matlab.
Obtener graficas de la respuesta del sistema ante las
perturbaciones y valores de referencia en el tiempo.
Analizar el funcionamiento y la respuesta de los distintos
tipos de control, a lazo abierto y a lazo cerrado.
Implementar el uso de diagrama de bloques y la
simulacin en Simulink.
Controlar la interfaz del Arduino y su comunicacin con
Matlab, asi como regular el control de potencia del
motor.
2. ELEMENTOS A USAR

a. PLANTA

La planta que usaremos en este experimento, se encuentra


confeccionada de melanina, que es un material relativamente
fcil de trabajar, asi como posee un acabado muy bien
elaborado, y en cuanto a peso, resulta relativamente ligero
para trabajar.

Consta con tres piezas principales, que se encuentran unidas


por un eje, y una base plana sobre la cual se encuentran
empernadas de manera completamente fija.

Las dimensiones de las piezas son las siguientes:

El balancn cuenta con una longitud de 35 cm x 4 cm, mientras


que los soportes que lo contienen miden 25 cm x 7 cm. La base
mide 30 cm x 45 cm.

Perfectamente alineado al eje, se encuentra un potencimetro


lineal, en cual se encarga de sensar la posicin angular del
balancn, y es accionado por perfiles de aluminio que se
encuentran unidos de manera paralela al balancn, con lo que
se logra un sensado ms preciso, cabe resaltar que este valor
es muy importante en el control, porque mientras ms preciso
sea, podemos realizar mediciones con mayor precisin.
b. SENSOR DE POSICION ANGULAR

Como se mencionaba antes, el responsable de recopilar y


entregar un valor de posicin angular preciso es un
potencimetro lineal que se encuentra alineado al eje del
balancn, y que vara a medida el balancn cambie su posicin
angular.

El potencimetro seleccionado tiene un valor nominal de 5 k,


si dividimos la tensin de alimentacin empleada para dar
energa a este sensor entre valor nominal de resistencia,
obtendremos en cuanto variar la tensin leda por cada ohm
que se incremente debido al desplazamiento del cursor, en
otras palabras, la resolucin, que indicar cuanto debe variar la
posicin de la barra para notar algn cambio en la lectura del
valor indicado por el sensor, si hacemos el clculo tenemos:

Vcc 5V 0.1 V
res= = =
R 50 k k

Trabajar con este valor de Resolucin resulta conveniente


debido a que los mnimos cambios registrados en el
potencimetro podrn ser registrados.
c. PLACA ARDUINO

Arduino es una plataforma de hardware libre, basada en


una placa con un microcontrolador y un entorno de
desarrollo, diseada para facilitar el uso de la electrnica en
proyectos multidisciplinares.

El hardware consiste en una placa con un


microcontrolador Atmel AVR y puertos de entrada/salida. Los
microcontroladores ms usados son
el Atmega168, Atmega328, Atmega1280, y Atmega8 por su
sencillez y bajo coste que permiten el desarrollo de mltiples
diseos. Por otro lado el software consiste en un entorno de
desarrollo que implementa el lenguaje de
programacin Processing/Wiring y el cargador de
arranque que es ejecutado en la placa. Se programa en el
ordenador para que la placa controle los componentes
electrnicos.

Arduino puede tomar informacin del entorno a travs de


sus entradas analgicas y digitales, puede controlar luces,
motores y otros actuadores. El microcontrolador en la placa
Arduino se programa mediante el lenguaje de programacin
Arduino (basado en Wiring) y el entorno de desarrollo
Arduino (basado en Processing). Los proyectos hechos con
Arduino pueden ejecutarse sin necesidad de conectar a un
ordenador.

Tambin cuenta con su propio software que se puede


descargar de su pgina oficial que ya incluye los drivers de
todas las tarjetas disponibles lo que hace ms fcil la carga
de cdigos desde el computador.

Arduino se puede utilizar para desarrollar objetos


interactivos autnomos o puede ser conectado a software tal
como Adobe Flash, Processing, Max/MSP, Pure Data. Una
tendencia tecnolgica es utilizar Arduino como tarjeta de
adquisicin de datos desarrollando interfaces en software
como JAVA, Visual Basic y LabVIEW. Las placas se pueden
montar a mano o adquirirse. El entorno de desarrollo
integrado libre se puede descargar gratuitamente.

d. SOFTWARE ARDUINO

Los programas hechos con Arduino se dividen en tres partes


principales: estructura, valores (variables y constantes), y
funciones. El Lenguaje de programacin Arduino se basa en
C/C++. En general, un programa en arduino tiene la
estructura que se observa a continuacin.
En donde setup () es la parte encargada de recoger la
configuracin, se invoca una sola vez cuando el programa
empieza. Se utiliza para inicializar los modos de trabajo de
los pines, o el puerto serie. Debe ser incluida en un
programa aunque no haya declaracin que ejecutar.

La funcin loop () contiene el cdigo que se ejecutara


cclicamente lo que posibilita que el programa este
respondiendo continuamente ante los eventos que se
produzcan en la tarjeta (lectura de entradas, activacin de
salidas, etc.). Esta funcin es el ncleo de todos los
programas de Arduino y la que realiza la mayor parte del
trabajo.

Ambas funciones son necesarias para que el programa


trabaje.
Arduino puede tomar informacin del entorno a travs de
sus pines de entrada de toda una gama de sensores y puede
incidir sobre aquello que le rodea controlando luces, motores
y otros actuadores. Para el desarrollo de esta aplicacin en
especial se emplearan nueve de las tantas funciones que
componen la biblioteca de Arduino, la cuales sern
explicadas a continuacin:

pinMode(pin, mode)

Esta instruccin es utilizada en la parte de configuracin


setup () y sirve para configurar
El modo de trabajo de un PIN pudiendo ser INPUT (entrada) u
OUTPUT (salida).

PinMode (pin, OUTPUT); // configura pin como


salida

Los terminales de Arduino, por defecto, estn configurados


como entradas, por lo tanto no es necesario definirlos en el
caso de que vayan a trabajar como entradas.

Serial.begin(rate)

Abre el puerto serie y fija la velocidad en baudios para la


transmisin de datos en serie.
El valor tpico de velocidad para comunicarse con el
ordenador es 9600, aunque otras velocidades pueden ser
soportadas.

analogRead(pin)

Lee el valor de un determinado pin definido como entrada


analgica con una resolucin de 10 bits. Esta instruccin
slo funciona en los pines (0-5). El rango de valor que
podemos leer oscila de 0 a 1023, ejemplo:

Valor = analogRead (pin); // asigna a valor lo que lee en la


entrada pin'

analogWrite(pin, value )

Esta instruccin sirve para escribir un pseudo-valor


analgico utilizando el procedimiento de modulacin por
ancho de pulso (PWM) a uno de los pines de Arduino
marcados como pin PWM. El Arduino Uno, que implementa
el chip ATmega328, permite habilitar como salidas
analgicas tipo PWM los pines 3, 5, 6, 9, 10 y 11. El valor
que se puede enviar a estos pines de salida analgica puede
darse en forma de variable o constante, pero siempre con un
margen de 0-255.

AnalogWrite (pin, valor); // escribe 'valor' en el 'pin' definido


como analgico

Si enviamos el valor 0 genera una salida de 0 voltios en el


pin especificado; un valor de 255 genera una salida de 5
voltios de salida en el pin especificado. Para valores de entre
0 y 255, el pin saca tensiones entre 0 y 5 voltios - el valor
HIGH de salida equivale a 5v (5 voltios). Teniendo en cuenta
el concepto de seal PWM, por ejemplo, un valor de 64
equivaldr a mantener 0 voltios de tres cuartas partes del
tiempo y 5 voltios a una cuarta parte del tiempo; un valor de
128 equivaldr a mantener la salida en 0 la mitad del tiempo
y 5 voltios la otra mitad del tiempo.
Debido a que esta es una funcin de hardware, en el pin de
salida analgica (PWM) se generar una onda constante
despus de ejecutada la instruccin analogWrite hasta que
se llegue a ejecutar otra instruccin analogWrite (o una
llamada a digitalRead o digitalWrite en el mismo pin).

Serial.write(value)

Escribe datos binarios en el puerto serie. Estos datos se


envan como un byte o una serie de bytes.

Serial.read()

Lee o captura un byte (un carcter) desde el puerto serie,


devuelve -1 si hay ninguno.

Delay(val)

Detiene la ejecucin del programa la cantidad de tiempo en


ms que se indica en la propia instruccin. De tal manera que
1000 equivale a 1seg.

map(value, fromLow, fromHigh, toLow, toHigh)

Re-mapea un nmero desde un rango hacia otro. Esto


significa que, un valor (value) con respecto al rango
fromLow-fromHight ser mapeado al rango toLow-toHigh.

No se limitan los valores dentro del rango, ya que los valores


fuera de rango son a veces objetivos y tiles. Tener en
cuenta que los lmites "inferiores" de algn rango pueden ser
mayores o menores que el lmite "superior" por lo que map
() puede utilizarse para revertir una serie de nmeros, por
ejemplo:

y = map(x, 1, 50, 50, 1);

La funcin maneja correctamente tambin los nmeros


negativos, por ejemplo:

y = map(x, 1, 50, 50, -100); tambin es vlido y funciona


correctamente.

La funcin map () usa matemtica de enteros por lo que no


generar fracciones, aunque fuere el resultado correcto. Los
resultados en fracciones se truncan, y no son redondeados o
promediados.
e. MOTOR BRUSHLESS 1000 KV

Un motor elctrico sin escobillas o motor brushless es


un motor elctrico que no emplea escobillas para realizar el
cambio de polaridad en el rotor.

Los motores elctricos solan tener un colector de delgas o


un par de anillos rozantes. Estos sistemas, que producen
rozamiento, disminuyen el rendimiento, desprenden calor y
ruido, requieren mucho mantenimiento y pueden producir
partculas de carbn que manchan el motor de un polvo que,
adems, puede ser conductor.

Este tipo de motores producen muy altas potencias y


revoluciones, por lo que trabajan con corrientes bastante
amplias, y ser necesario controlarlos mediante un ESC.
f. ESC

El ESC (Electronic Speed Control) es un variador de


velocidad de alta potencia, que controla el Motor, mediante
una seal de control, que vendr del microcontrolador, y una
alimentacin, que ser de hasta 12 V, cabe resaltar que al
tratarse de un alto nmero de revoluciones y torque, el ESC
debe tener la capacidad de aguantar hasta 30 A de
corriente.
g. SIMULINK

Simulink es una herramienta de Matlab que funciona


mediante un entorno de programacin visual, las funciones
estn representadas por bloques, lo que hace muy sencillo
su utilizacin sin necesidad de emplear lenguajes complejos
de programacin. Es un entorno de programacin de ms
alto nivel de abstraccin que el lenguaje interpretado Matlab
(archivos con extensin .m). Simulink genera archivos con
extensin .mdl (de "model"). Al ejecutar un modelo
implementado en simulink se genera un cdigo en C que el
ordenador reconoce y ejecuta.

Para implementar el control de la planta ser necesario


utilizar varios bloques de Simulink que permitirn la
comunicacin serie y la ejecucin de algoritmos de control,
veamos cuales son eso bloques a continuacin:

El proceso de comunicacin serie es posible gracias al uso


de tres bloques, Serial Configuration, Serial Receive y Serial
Send, estos bloques emplean el Universal Serial Port (USB),
para el envo y recepcin de datos, este puerto es del tipo
Half-Duplex, lo cual significa que solo se puede recibir o
enviar datos, en un mismo instante de tiempo, o sea, que
para enviar o recibir datos el puerto debe estar libre de
trfico.

Serial Configuration: Este bloque configura los parmetros


de un puerto serie que se puede utilizar para enviar y recibir
datos. Se debe dar valores a todos sus parmetros antes de
colocar un Serial Send o un Serial Receive, los parmetros a
configurar son:

Communication port

Especifica el puerto serie a configurar. Se debe seleccionar


un puerto disponible de la lista. Por defecto no hay puerto
serie seleccionado, el mismo puerto debe ser utilizado para
el Serial Send y el Serial Receive. Cada Serial Send y Receive
debe tener un Serial Configuration, lo que implica que si se
utilizan varios puertos en una misma simulacin, se debe
agregar tantos bloques de Serial Configuration como puertos
series diferentes haya en la aplicacin.

Baud rate

Especifica la velocidad de transmisin en baudios, por


defecto es 9600.

Data bits

Especifica el nmero de bits que se van a enviar por la


interfaz serie.

Parity

Especifica como chequear los bits de paridad en los datos


transmitidos.

Stop bits

Especifica la cantidad de bits que determinaran el final de un


byte.

Flow control

Especifica el proceso de gestin de la tasa de transmisin de


datos en el puerto serie.

Timeout
Especifica el tiempo que el modelo va a esperar a los datos
durante cada paso de tiempo de simulacin. El valor
predeterminado es 10 (segundos).

Serial Receive: Este bloque configura y abre una interfaz a


una direccin remota especificada usando el Protocolo Serie.
La configuracin e inicializacin ocurre una vez al comienzo
de la simulacin. El bloque adquiere datos durante el tiempo
de ejecucin del modelo. Los parmetros principales usados
en la aplicacin son:

Communication port

Especifica el puerto a travs del cual se van a recibir los


datos.

Data size

En esta pestaa es importante indicar el nmero de bits a


recibir.

Data type

Como se puede deducir, se debe indicar en esta pestaa el


tipo de dato a recibir.

Block sample time

Por ltimo se debe indicar el tiempo de muestreo del bloque,


o sea la frecuencia con la que se leer el dato.

Serial send: Mediante este bloque se enviarn los datos


generados por el controlador hacia el Arduino. Sus
parmetros son muy similares a los del Serial Recieve por lo
cual no sern explcitamente comentados.

Convert_to: Este es un bloque del tipo Data Type Conversion,


su nica funcin es convertir un tipo de dato en otro, en el
caso de la aplicacin se emplea la conversin a formato
double y uint8, el formato double se emplea en los
elementos grficos de Simulink y el uint8, es el necesario
para trasmitir y recibir por el puerto serie, por lo que este
tipo de conversiones se debe garantizar tanto en la
comunicacin Arduino PC como viceversa.
Gain: Mediante este bloque se hace posible la visualizacin
de los datos recibidos y enviados, asi como el valor de la
referencia, todo ello en unidades de Volts, por ello el valor de
ganancia aplicado es 5/255 que representa la resolucin de
un conversor D/A de 8 bits.
Es importante destacar que la lectura de tensin que realiza
el Arduino tiene una resolucin de 10 bits y por el puerto
serie solo se pueden enviar datos de 8 bits, por lo que es
necesario llevar el valor inicial ledo por el micro controlador,
a un rango de 0-255, o lo que es lo mismo, a una resolucin
de 8 bits. Este hecho explica el porqu del valor del bloque
Gain.
PID: Aqu es donde se implementa el algoritmo de control
PID, gracias a este bloque tendremos un sistema capaz de
responder automticamente a las variaciones en el punto de
referencia. El algoritmo que implementa a este controlador
en Simulink es el siguiente, para un controlador en paralelo
realizable:

()=[+1++]

Donde P es la ganancia proporcional, I es el tiempo de


accin integral, Del tiempo derivativo y N es el coeficiente
de filtrado que determina la ubicacin del polo del filtro
derivativo. La implementacin de esta ecuacin empleando
bloques de simulink, es la que se observa en el diagrama:

Como vemos tendremos una seal a la salida que siendo los


valores de las ganancias P, I y D, no nulos, ser una
combinacin de las tres acciones bsicas de control.
3. MODELAMIENTO MATEMATICO

a. MOVIMIENTO ROTATIVO DE UN SOLIDO

El movimiento a controlar en esta planta es el de rotacin de


un slido alrededor de su eje central de inercia. La variacin
del estado de rotacin de un slido viene determinada por la
variacin de su velocidad angular por lo que, si queremos
describir el movimiento de rotacin debemos encontrar una
ecuacin que nos permita calcular la aceleracin angular del
mismo, para ello la siguiente ecuacin:

sta es la ecuacin del movimiento de rotacin de un slido


rgido que, como puede observarse, es anloga a la segunda
ley de Newton y ser esta la empleada para plantear la
ecuacin que rige el movimiento de nuestro sistema.

b. MOMENTOS DE INERCIA

i. MASA PUNTUAL

En este caso el sistema contiene dos elementos que


aportan momento de inercia, uno es la masa de la barra
y el otro la masa del motor. Cada uno de estos aporta
un momento de inercia que se calcula de manera
independiente y distinta y que finalmente aadiremos
para caracterizar el momento de inercia del sistema en
general. Veamos a continuacin como calcular el
momento de inercia para una masa puntual, en este
caso la masa del motor.
Para el clculo del momento de inercia de masas
puntuales se emplear la siguiente ecuacin:

= 2

Donde li es la distancia de la partcula de masa mi al eje


de rotacin. En el caso de nuestro sistema solo tenemos
una masa puntual por lo que la ecuacin se puede
escribir de la siguiente manera:

=2

Teniendo en cuenta los siguientes datos:

Masa motor: 63 g
Distancia al eje: 0.26 m

Al sustituir los valores se obtiene, Im= 0.004259 kgm2


Una vez obtenido este resultado se puede proceder al
clculo del momento de inercia para la barra, cuyo eje
de giro se encuentra en su centro de gravedad.

ii. CUYO EJE PASA POR SU CENTRO DE GRAVEDAD

Para poder calcular el momento de inercia de la varilla


de material que tenemos para el balancn, podemos
basarnos en la siguiente ecuacin y reemplazar los
datos que obtenemos de nuestra planta.

=1/122

=1/12*(0.35)(0.35)2
Ic=0.0035729 kgm2
iii. MOMENTO DE INERCIA TOTAL

IT=IM+IC

IT=0.0035729+0.004259

IT=0.007832 kgm2

c. FUNCION DE TRANSFERENCIA

En la figura se aprecia un esquema de las fuerzas, ngulos y


posiciones a tomar en cuenta para en anlisis matemtico y
la obtencin de la funcin de transferencia.
La funcin de transferencia nos indicara la variacin de
Angulo que se obtiene mediante la variacin producida por
la fuerza de la hlice del motor.

Para determinar el modelo matemtico aproximado de este


sistema, se empleara la ecuacin del movimiento de
rotacin de un slido anloga a la segunda ley de Newton.
Una vez aplicada esta ecuacin y luego de haber obtenido
cada uno de sus parmetros se realizar la transformada de
Laplace a la ecuacin resultante, as de este modo se podr
obtener la funcin de transferencia del modelo aproximado,
sobre la cual se desarrollarn algunas pruebas para
comprobar la respuesta del sistema modelado y compararla
con la del sistema real.

Para obtener la ecuacin de movimiento que caracteriza a la


planta se tendr en cuenta que el eje de inercia de la barra
mvil est ubicado justo en su centro de gravedad, razn por
la cual la fuerza resultante sobre la barra ser nula, al estar
todas las fuerzas de un lado y del otro, de su eje de inercia,
compensadas entre s. Aclarado este punto, cabe sealar
que solo sern de inters las fuerzas debidas a la masa del
motor y las de friccin con el eje de giro, ya que el giro del
cursor del potencimetro influye notablemente; oponiendo
resistencia al movimiento de la barra.
d. SISTEMA DE SEGUNDO ORDEN

Como se puede observar, la ecuacin obtenida corresponde


a un sistema de segundo orden que se puede representar de
la siguiente forma:

De forma anloga a la funcin de transferencia obtenida, se


puede realizar una comparacin y se obtiene:

Reemplazando en la segunda ecuacin, se obtiene:

n=
0.260.0639.81
0.007832

n=4.53 rad / seg

Con el valor de frecuencia obtenido, reemplazamos en la


primera ecuacin:

4
=
t s n

4
=
24.53

=0.4415
Y (s) 33.2
= 2
X (s) s +3.99 s +20.517

4. SISTEMA DE CONTROL

a. REGULADOR PID

Un PID (Proporcional Integral Derivativo) es un mecanismo


de control por realimentacin que calcula la desviacin o
error entre un valor medido y el valor que se quiere obtener,
para aplicar una accin correctora que ajuste el proceso. El
algoritmo de clculo del control PID se da en tres parmetros
distintos: el proporcional, el integral, y el derivativo. El valor
Proporcional determina la reaccin del error actual. El
Integral genera una correccin proporcional a la integral del
error, esto nos asegura que aplicando un esfuerzo de control
suficiente, el error de seguimiento se reduce a cero. El
Derivativo determina la reaccin del tiempo en el que el
error se produce. La suma de estas tres acciones es usada
para ajustar al proceso va un elemento de control como la
posicin de una vlvula de control o la energa suministrada
a un calentador, por ejemplo. Ajustando estas tres variables
en el algoritmo de control del PID, el controlador puede
proveer un control diseado para lo que requiera el proceso
a realizar. La respuesta del controlador puede ser descrita en
trminos de respuesta del control ante un error, el grado el
cual el controlador llega al "set point", y el grado de
oscilacin del sistema.

ACCION PROPORCIONAL

En la rama superior de la figura, tendremos como


resultado la multiplicacin de la seal de error por la
ganancia proporcional, esto implica que el controlador
proporcional produce una variable de salida u
proporcional al error del sistema e.

u(t) = Kp e(t)

La ganancia proporcional Kp P es la cantidad por la


cual la variable de control u cambia cuando el error
cambia e.
Un controlador proporcional responde rpidamente
ante el error del sistema pero no es capaz de eliminar
completamente las perturbaciones, o eliminar
completamente el error. Puede producir inestabilidad.

En la prctica cuando queramos conocer datos sobre


la ganancia proporcional de un PID comercial,
probablemente no la encontremos como Kp P, sino
que se utiliza el trmino Banda Proporcional, PB. La
relacin entre una y otra se expresa mediante:

PB = 100/kp

Se escribe de esta forma porque normalmente PB se


expresa en porcentaje.

Una banda proporcional ancha es lo mismo que una


ganancia baja, y una banda proporcional estrecha
equivale a una ganancia alta.

La banda proporcional tambin se define como el error


que se requiere para llevar la salida del controlador del
valor ms bajo hasta el ms alto.

ACCION INTEGRAL

Esta accin bsica de control, se observa en la rama


intermedia de la figura, donde obtendremos una seal
que ser la multiplicacin de la ganancia integral I
tiempo de accin integral por la variacin del error en
el tiempo, de forma matemtica:
Ti es el tiempo que tarda la accin integral en igualar a
la accin proporcional.
Si lo vemos de forma grfica ser as:

El controlador integral se utiliza sobre todo cuando


tenemos problemas de error en rgimen estacionario,
ya que su finalidad es corregir las desviaciones sobre
la referencia y lograr finalmente que error de estado
estacionario se haga cero.

ACCION DERIVATIVA

Un regulador P con ganancia alta para dar respuesta


rpida puede provocar oscilaciones por seal de
control u excesiva. La accin derivativa acelera la u si
e crece y la modera si e decrece, evitando
oscilaciones. En la rama inferior de figura 2.3 se
obtiene una seal que viene a ser la implementacin
real de la accin derivativa, tericamente la accin
derivativa se representa:
Con e variando linealmente, la accin derivativa da la
misma u que la accin proporcional dara Td sg. Ms
tarde. Accin anticipativa, no influye en el estado
estacionario.

Td tiempo que tarda la accin derivativa en igualar la


accin proporcional si e= a*t.

Esta accin de control es buena para procesos lentos y


donde el ruido no sea un factor determinante, ya que
la accin derivativa tiende a introducir ruidos cuando
se producen saltos en la referencia.

b. CONTROL PROPORCIONAL INTEGRAL

En este tipo de control la salida del controlador es una suma


aritmtica de una accin proporcional ms una accin
integral.

El controlador proporcional tiene mejor caracterstica


dinmica, ya que acta ante cualquier desviacin en el error
de forma casi inmediata, sin embargo es incapaz de eliminar
los errores en rgimen estacionario.

El controlador integral disminuye este error en rgimen


estacionario pero responde ms lentamente que el
controlador proporcional.
El valor de Ti equivale al tiempo requerido en el modo
integral para alcanzar el cambio en la salida producido por el
modo proporcional.

Este tipo de control es recomendado en la mayora de los


casos ya que se puede lograr que el sistema a controlar
responda satisfactoriamente, seal de salida con poco ruido,
error estacionario nulo.

5. INTERFAZ FISICA DEL SISTEMA

a. CONEXIN ARDUINO POTENCIOMETRO

El potencimetro entregara valores entre 0 y 5 V al arduino,


los cuales indican la posicin del balancn, por lo que
tendremos que usar una entrada analgica, la que nos dar
los valores sensados por el potencimetro, el esquema de
conexin se muestra a continuacin.

b. CONEXIN, MODULO DE POTENCIA ARDUINO-


MOTOR
Para el control de velocidad se usara un ESC, el cual se
encuentra alimentado por una fuente de alta potencia y a su
vez, requiere una seal de control conectada al arduino.

6. PROGRAMACION DEL CONTROLADOR

Para poder controlar los circuitos previamente implementados,


ser necesario implementar un cdigo en Arduino, tanto como un
diagrama de bloques en simulink, y despus se proceder a
entrelazar ambos programas mediante el uso del puerto serial.

a. PROGRAMACION EN ARDUINO

Este cdigo resulta bastante sencillo, debido a que


bsicamente solo relaciona los valores sensados, los
convierte y enva los datos por el puerto serial.

Asimismo, recibe los valores del puerto serial (Enviados por


Simulink), y procede a convertirlos y a operarlos para
imprimir los datos en el puerto del ESC.

DIAGRAMA DE FLUJO
CODIGO EN ARDUINO
Con este pequeo cdigo ser posible leer el sensor
potenciomtrico, enviar el dato hacia el PC, recibir el
dato de la seal de control generada por el PID y
escribir el mismo en pin digital de salida PWM.

Esta es toda la programacin que se necesitar.

b. LAZO DE CONTROL SIMULINK

LAZO CERRADO
En la siguiente imagen, se detalla cmo se realizara el
control del sistema.

Por otra parte, nuestro programa de Simulink debe


recibir este dato de V () a travs del puerto serie,
compararlo con una referencia Vref. que
controlaremos nosotros con un slider en la propia
interfaz grfica de Simulink, y, mediante un
controlador PID, determinar la seal de control
(potencia al motor) necesaria. Despus debe enviarla
a travs del puerto serie en formato uint8, unsigned
integer de 8 bits, que toma valores entre 0 y 255,
ideales para la funcin analogWrite () de Arduino:

Los valores del control PID son modificables de


acuerdo a las caractersticas que uno quiera brindarle
al controlador, y esto se puede realizar de una manera
sencilla.

LAZO ABIERTO

Del mismo modo, es posible realizar un control con


Lazo abierto, lo que implica que no haya
realimentacin en el proceso, este control tambin
puede ser usado, pero posee muchas desventajas en
relacin al control a lazo cerrado.
7. ANALISIS DE RESULTADOS OBTENIDOS

Tras realizar una serie de pruebas, se obtienen de Matlab, las


siguientes grficas, ante una seal de referencia establecida, y
perturbando la planta.

Se identifican los distintos valores, siendo la referencia de color


Morado, la seal de control de color Celeste y el valor de posicin
de color Amarillo.

Valor de referencia nula, y posicin inicial.

Se puede observar que el valor de control se mantiene


constante, debido a que ambas seales son iguales.
Valor de referencia incrementado, y seal menor

Ante el incremento de la referencia, la seal de control


procede a incrementar, para poder estabilizar el valor
de posicin.
Perturbacin en la planta

Se puede apreciar como la seal de control crece o


decrece de acuerdo a la seal obtenida del valor de
posicin, para que de esta manera sea lo ms cercana
posible al valor de referencia.
Variando los valores de P I D, se puede controlar el mximo
sobre impulso, tiempo de estabilizacin, etc.

8. CONCLUSIONES

El control PID resulta ptimo y muy eficaz para controlar


sistemas de segundo orden, siendo verstil a la hora de
controlar los distintos valores de control.

Se puede realizar un control bastante sencillo y ampliamente


eficaz mediante el uso de herramientas tales como Matlab,
Arduino y Simulink.

Resulta primordial y muy importante realizar un adecuado y


correcto modelamiento matemtico de la planta, para as poder
disear un controlador que sea adecuado para la misma.

Es posible realizar el control tanto a lazo abierto como a lazo


cerrado, resultando el ltimo mucho ms conveniente debido a
que existe la retroalimentacin y se realizara de una manera
mucho ms precisa y rpida.

Simulink resulta una herramienta muy til y verstil para poder


realizar un diseo de controlador, debido a su interfaz grfica y
a las distintas herramientas que posee para visualizar grficas,
cambiar valores, comunicarse con el puerto serial, etc.
Arduino puede implementarse de muchas maneras en muchas
aplicaciones, siendo en control una de las ms importantes,
teniendo muchas aplicaciones posibles, y siendo bastante
sencillo para poder controlar.

Con la realizacin de este proyecto se ha podido poner en


prctica los conocimientos hasta ahora adquiridos en el curso
de Control Mecatronico.

9. REFERENCIAS BIBLIOGRAFICAS

https://en.wikipedia.org/wiki/Electronic_speed_control
http://wechoosethemoon.es/2011/07/21/arduino-matlab-
simulink-controlador-pid/
http://www.lra.unileon.es/es/book/export/html/268
https://es.wikipedia.org/wiki/Controlador_PID
https://es.wikipedia.org/wiki/Motor_el
%C3%A9ctrico_sin_escobillas
https://uvadoc.uva.es/bitstream/10324/1895/1/PFC-P
%2026.pdf

Vous aimerez peut-être aussi