Vous êtes sur la page 1sur 14

INGENIERA ELECTRNICA

SISTEMAS DE CONTROL

ALUMNO:

BRIAN CUCHIPARTE

DOCENTE:

ING. FRANKLIN SILVA


1. TEMA:
Control PID de Barra y Bola con Arduino

2. OBJETIVOS:
2.1 OBJETIVO GENERAL:
Disear e implementar un controlador PID para situar una bola de pin pon en el
punto central de una barra.

2.2 OBJETIVOS ESPECFICOS:


Investigar el funcionamiento de un control PID para su adecuada aplicacin.
Inquirir el funcionamiento de cada uno de los elementos a utilizar.
Disear el diagrama del circuito controlador de una barra y bola con Arduino.
Implementar el controlador y analizar los resultados obtenidos.

3. RESUMEN
El objetivo del presente controlador es situar la bola en el centro de la barra
inclinndola de forma conveniente mediante un lazo cerrado de control. Es un sistema
clsico en la Ingeniera de Control. Mediante un Sensor de distancia, medimos la
posicin de la bola.
Con un Controlador, mediante control PID, calculamos el ngulo en el que deberamos
inclinar la barra para colocar y estabilizar la bola en el centro de la barra. Finalmente,
un actuador modifica la inclinacin de la barra y as regular la posicin de la bola.

4. ABSTRACT
The purpose of the present controller is to place the ball in the center of the bar by
conveniently tilting it by means of a closed control loop. It is a classic system in Control
Engineering. Using a Distance Sensor, we measure the position of the ball.
With a controller, by PID control, we calculate the angle at which we should tilt the bar
to place and stabilize the ball in the center of the bar. Finally, an actuator modifies the
incline of the bar and thus regulate the position of the ball.

5. MATERIALES
Arduino UNO.
Un sensor de distancia infrarrojo SHARP 2Y0A21.
Un servo de 6.9 kg-cm de par motor.
Una biela anclada al servo-motor.
Una barra de aluminio de 1 x 2.5 cm.
Un protoboard.
Un capacitor electroltico de 10 uF.
Cables de conexin.
Soportes para la barra y el servomotor.
Computador con software Arduino y processing.

6. MARCO TERICO

CONTROLADOR PID

Un controlador PID (Proporcional Integrativo Derivativo) es un mecanismo de control


genrico sobre una realimentacin de bucle cerrado, ampliamente usado en la
industria para el control de sistemas. El PID es un sistema al que le entra un error
calculado a partir de la salida deseada menos la salida obtenida y su salida es
utilizada como entrada en el sistema que queremos controlar. El controlador intenta
minimizar el error ajustando la entrada del sistema.

El controlador PID viene determinado por tres parmetros: el proporcional, el integral y


el derivativo.

Accin proporcional
La respuesta proporcional es la base de los tres modos de control, si los otros dos,
control integral y control derivativo estn presentes, stos son sumados a la respuesta
proporcional. Proporcional significa que el cambio presente en la salida del
controlador es algn mltiplo del porcentaje del cambio en la medicin.
Este mltiplo es llamado ganancia del controlador. Para algunos controladores, la
accin proporcional es ajustada por medio de tal ajuste de ganancia, mientras que
para otros se usa una banda proporcional. Ambos tienen los mismos propsitos y
efectos.

Accin integral
La accin integral da una respuesta proporcional a la integral del error. Esta accin
elimina el error en rgimen estacionario, provocado por el modo proporcional. Por
contra, se obtiene un mayor tiempo de establecimiento, una respuesta ms lenta y el
periodo de oscilacin es mayor que en el caso de la accin proporcional.

Accin derivativa
La accin derivativa da una respuesta proporcional a la derivada del error (velocidad
de cambio del error). Aadiendo esta accin de control a las anteriores se disminuye el
exceso de sobre-oscilaciones.

Existen diversos mtodos de ajuste para controladores PID pero ninguno de ellos nos
garantiza que siempre encuentre un PID que haga estable el sistema. Por lo que el
mas usado sigue siendo el mtodo de prueba y error, probando parmetros del PID y
en funcin de la salida obtenida variando estos parmetros.

Aplicaciones

Los controladores PID son suficientes para resolver el problema de control de muchas
aplicaciones en la industria, particularmente cuando la dinmica del proceso lo permite
(en general procesos que pueden ser descritos por dinmicas de primer y segundo
orden), y los requerimientos de desempeo son modestos (generalmente limitados a
especificaciones del comportamiento del error en estado estacionario y una rpida
respuesta a cambios en la seal de referencia).

Los fabricantes proporcionan los controladores PID de variadas formas. Existen


sistemas del tipo stand alone con capacidad para controlar uno o varios lazos de
control. Estos dispositivos son fabricados en el orden de cientos de miles al ao. El
controlador PID es tambin un ingrediente importante en los sistemas de control
distribuido, ya que proporciona regulacin a nivel local de manera eficaz. Por otro lado,
pueden tambin venir empotrados, como parte del equipamiento, en sistemas de
control de propsito especial, formando as parte integrante de la aplicacin.

ARDUINO

Arduino es una plataforma de hardware libre basada en una sencilla placa de entradas
y salidas simple y un entorno de desarrollo que implementa el lenguaje de
programacin Processing/Wiring. Arduino se puede utilizar para desarrollar objetos
interactivos autnomos o puede ser conectado a software del ordenado. Las placas se
pueden montar a mano o adquirirse. Su forma fsica se puede apreciar en la figura 1
mostrada a continuacin:
Figura 1. Placa fsica Arduino UNO

Funcionamiento:
Como pasa con la mayora de las placas microcontroladores las funciones de Arduino
pueden resumirse en tres. En primera instancia, tenemos una interfaz de entrada, que
puede estar directamente unida a los perifricos, o conectarse a ellos por puertos. El
objetivo de esa interfaz de entrada es llevar la informacin al microcontrolador, la pieza
encargada de procesar esos datos. El mentado microcontrolador vara dependiendo
de las necesidades del proyecto en el que se desea usar la placa, y hay una buena
variedad de fabricantes y versiones disponibles.

Por ltimo, tenemos una interfaz de salida, que lleva la informacin procesada a los
perifricos encargadas de hacer el uso final de esos datos, que en algunos casos
puede bien tratarse de otra placa en la que se centralizar y procesar nuevamente la
informacin, o sencillamente, por ejemplo, una pantalla o un altavoz encargada de
mostrar la versin final de los datos.

SENSOR INFRARROJO DE DISTANCIA SHARP

El sensor de distancia Sharp permite obtener la distancia entre el sensor y algn


objeto dentro del rango de 4 a 80cm. Integra tres dispositivos: Un detector sensitivo de
posicin (PSD), un diodo emisor de infrarrojos (IRED) y un circuito procesador de
seales.
La diferencia en la reflectividad de los materiales, as como la temperatura de
funcionamiento no afectan en gran medida la operacin de este sensor debido al
mtodo de deteccin usado basado en triangulacin.

El dispositivo entrega una salida en voltaje correspondiente a la distancia de


deteccin. Tambin se puede utilizar como un sensor de proximidad con la ayuda de
un comparador o mediante software.

Para obtener la distancia en cm, se recomienda tomar como gua la grfica voltaje vs.
distancia incluida en el datasheet; su forma fsica se aprecia en la Figura 2.

Figura 2. Forma fsica de un sensor infrarrojo Sharp

SERVO MOTOR
Un servomotor (tambin llamado servo) es un dispositivo similar a un motor de
corriente continua que tiene la capacidad de ubicarse en cualquier posicin dentro de
su rango de operacin, y mantenerse estable en dicha posicin. Un servomotor es un
motor elctrico que puede ser controlado tanto en velocidad como en posicin.

Es posible modificar un servomotor para obtener un motor de corriente continua que, si


bien ya no tiene la capacidad de control del servo, conserva la fuerza, velocidad y baja
inercia que caracteriza a estos dispositivos.

Los servomotores hacen uso de la modulacin por ancho de pulsos (PWM) para
controlar la direccin o posicin de los motores de corriente continua. La mayora
trabaja en la frecuencia de los 50 hertz, as las seales PWM tendrn un periodo de
veinte milisegundos. La electrnica dentro del servomotor responder al ancho de la
seal modulada. Si los circuitos dentro del servomotor reciben una seal de entre 1 a
1,4 milisegundos, ste se mover en sentido horario; entre 1,6 a 2 milisegundos
mover el servomotor en sentido anti horario; 1,5 milisegundos representa un estado
neutro para los servomotores estndares. A continuacin, se exponen ejemplos de
cada caso; Figura 3.:

Figura 3. Posicin de servo-motor y actuacin del PWM

7. DESARROLLO:

El diseo del control PID a implementarse se realizar segn el siguiente diagrama de


bloques. Figura 4.:

Figura 4. Diagrama de bloques a implementarse.


Sensado de la posicin de la Bola
La realizamos mediante el sensor de distancia mediante luz infrarroja y detector PSD:
SHARP 2Y0A21. Figura 5.

Figura 5. Ubicacin del sensor en la barra.


Si la Bola se acerca ms de 4 cm al sensor, la medida es errnea. Limitamos el
movimiento de la bola en esa distancia. Figura 6.

Figura 6. Freno para bola de pin pon

Acondicionamiento de la seal del sensor

Para filtrar (paso bajo) la seal del sensor y tener una seal ms precisa y repetitiva,
conectaremos un condensador electroltico de 10F entre la salida del sensor y tierra.

Figura 7.
Figura 7. Filtrado para acondicionar la seal.

Como la tensin mxima que vamos a medir es de 3,1V, configuraremos la referencia


de tensin del Arduino a 3,3V y conectaremos el pin AREF con la salida de 3,3V del
Arduino. Figura 8.:

Figura 8. Conexin de pin AREF con 3.3 V.

De esta forma, los 1024 puntos que nos proporciona el Conversor Analgico Digital de
10 bit del Arduino tendrn un fondo de escala de 3,3V en lugar de los 5V por defecto.
As, incrementamos la resolucin de 5mV/ADC a 3mV/ADC.

Actuador
Inclinaremos la barra con un Servo HEXTRONIK HX5010 de 6,9 kg.cm de par motor y
una biela de fibra de vidrio anclada a un extremo de la barra. Figura 9.
Figura 9. Servo-motor con biela anclada.

En este servo en concreto la posicin 0 se obtiene con pulsos de 0,5ms y el giro de


180 con 2,3ms.
Controlador

Utilizaremos un clon de Arduino con microcontrolador ATMEL ATMEGA328-PU


equiparable al Arduino UNO o al antiguo Duemilanove original.

Recibe la medida de la posicin de la bola en su entrada analgica A0.


Emite pulsos para controlar el servo en su salida digital 12.
A travs de su conexin USB enva distintos juegos de datos para debug o
tramas que son recibidas por un PC ejecutando una aplicacin
desarrollada en Processing y que nos permitir disfrutar de grficas de la
posicin y la velocidad de la bola en funcin del tiempo, Figura 10.

Figura 10. Grfica en Processing de la posicin (azul) y velocidad (rojo).


Esquema del sistema completo

El diseo del circuito a implementarse se puede apreciar a continuacin. Figura 11:

Figura 11. Diseo del circuito a implementar.

Esquema del control completo

El diseo del controlador a implementarse se puede apreciar a continuacin. Figura


12:

Figura 12. Diseo del controlador a implementar.


8. ANLISIS DEL RESULTADO

Las secuencias de medida y reaccin (los ciclos de programa) no se harn tan rpido
como pueda el microcontrolador, sino cada 50ms (valor almacenado en la variable
period). Se realiza as porque los sistemas de control PID funcionan mejor si los ciclos
de medida y reaccin siempre tienen la misma duracin.

El microcontrolador, con reloj de 16MHz, tiene velocidad suficiente para hacer el ciclo
de programa en menos de 10ms. Pero con ciclos tan rpidos, la medida de la
velocidad de la bola pierde precisin porque las diferencias en la posicin de la bola
entre ciclos son mnimas y se calcula la velocidad de la bola como la diferencia en su
posicin en 2 ciclos consecutivos de programa.

Si se alarga el periodo a 100ms, la medida de la velocidad es ms precisa, pero el


servo funciona de una forma perceptiblemente intermitente.
Tras las pruebas realizadas, un perodo de 50ms aporta mediciones aceptables de la
velocidad de la bola y un funcionamiento del servo fluido.

9. CONCLUSIONES

Se busc que el valor ms pequeo de kp sea suficiente para inclinar la barra


cuando la bola est cerca del objetivo para lo que se considera que valores
grandes hacen que la bola alcance demasiada velocidad y luego hay que
detenerla en el centro.
Para el sistema construido, un valor adecuado de kp es 2. Slo con el trmino
proporcional, la bola nunca se estabiliza, por lo que se implementa el trmino
derivativo.
El trmino derivativo opera sobre la diferencia de posiciones entre el ciclo
actual y el anterior. Es decir, sobre la velocidad de la bola, ya que el tiempo
transcurrido entre una medida y la siguiente es siempre el mismo. Ese tiempo
es el periodo de medida y reaccin y en nuestro sistema son 50ms.
El trmino Integral considera la posicin de la bola (como el trmino
Proporcional) y cunto tiempo lleva all, es decir, el trmino Integral acta sobre
el rea que queda bajo la curva de la posicin a lo largo del tiempo.
El trmino integral aporta ms precisin, pero hay que acotar
convenientemente su accin porque de lo contrario conlleva demasiada
inestabilidad.

10. RECOMENDACIONES
Establecer correctamente la posicin gradual fsica del servo-motor (0 90
180) para que se estabilice correctamente la bola en la barra.
Colocar una fuente alterna de voltaje para el consumo de energa del servo-
motor y conectar la tierra de ste con la del Arduino.
Limitar la bola a 4 cm del sensor de distancia infrarrojo.

11. BIBLIOGRAFA:
[1]
http://roble.uno/control-pid-barra-y-bola-arduino/

[2]
http://www.naylampmechatronics.com/sensores-proximidad/203-sensor-infrarrojo-de-
distancia-sharp-gp2y0a21.html

[3]
https://www.taringa.net/posts/ciencia-educacion/18550773/Que-es-y-para-que-sirve-
arduino.html

[4]
https://control-pid.wikispaces.com/

ANEXOS

Vous aimerez peut-être aussi