Vous êtes sur la page 1sur 9

Objetivo

Controlar la velocidad de un motor de CD con encoder por medio de una tarjeta


arduino, teniendo como entrada un potencimetro que se encargara de ajustar la
velocidad y como retroalimentacin el sensor encoder del cual nos ayudaremos para
regular la velocidad de acuerdo a las revoluciones que nos marque el lcd.
Introduccin
Un sistema de control proporcional es un tipo de sistema de control de
realimentacin lineal. El control proporcional es el tipo de control que utilizan la mayora
de los controladores que regulan la velocidad de un automvil. Si el automvil se
encuentra movindose a la velocidad objetivo y la velocidad aumenta ligeramente, la
potencia se reduce ligeramente, o en proporcin al error (la diferencia entre la velocidad
real y la velocidad objetivo), de modo que el automvil reduce la velocidad poco a poco
y la velocidad se aproxima a la velocidad objetivo, por lo que el resultado es un control
mucho ms suave que el control tipo encendido/apagado.
Si y(t) es la seal de salida (salida del controlador) y e(t) la seal de error (entrada
al controlador), en un sistema de control proporcional tendremos:
Que en el dominio de Laplace, ser:

Por lo que su funcin de transferencia ser:

Donde Y(s) es la salida del regulador o controlador, E(s) la seal de error y K p la


ganancia del bloque de control.

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. 2 3
El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos
de entrada/salida.4 Los microcontroladores ms usados son
el Atmega168, Atmega328, Atmega1280, 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.4
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)
Un encoder, tambin conocido como codificador o decodificador , es un dispositivo,
cuyo objetivo es convertir informacin de un formato a otro con el propsito de
estandarizacin, velocidad, confidencialidad, seguridad o incluso para comprimir
archivos.
El disco est hecho de vidrio o plstico y se encuentra codificado con unas partes
transparentes y otras opacas que bloquean el paso de la luz emitida por la fuente de luz
(tpicamente emisores infrarrojos). En la mayora de los casos, estas reas bloqueadas
(codificadas) estn arregladas en forma radial.
A medida que el eje rota, el emisor infrarrojo emite luz que es recibida por el sensor
ptico (o foto-transistor) generando los pulsos digitales a medida que la luz cruza a
travs del disco o es bloqueada en diferentes secciones de este. Esto produce una
secuencia que puede ser usada para controlar el radio de giro, la direccin del
movimiento e incluso la velocidad.
Los encoders son utilizados en una infinidad de campos e industrias que van desde
mquinas de fax, electro-domsticos de consumo hasta robtica, minera transporte,
maquinaria, aeroespacial y ms.

Material utilizado

Tarjeta Arduino
Motor con sensor encoder
Puente H
LCD
Protoboard
2 Potencimetros
Jumpers

Desarrollo
Un encoder genera pulsos que aumentan de frecuencia proporcionalmente a las
revoluciones de giro del eje al que est acoplado. Tienen generalmente 4 terminales; 2
de alimentacin (+Vcc y -Vcc), 1 para la salida de seal y la tierra. Se debe obtener la
relacin de nmero de pulsos mandados por el encoder al nmero de revoluciones que
da el eje de inters.
Relacin de pulsos-rpm:
768 pulsos=1revolucion

Una vez obtenida nuestra relacin de numero de pulsos por revoluciones y nuestra
ganancia proporcional, en el arduino programamos nuestro controlador de velocidad,
declarando una entrada analgica (A0) que estar conectada a un potencimetro, ese
potencimetro se encargara de ser el entrada con la cual podemos manipular la
velocidad de nuestro motor. El motor se conecta a un puente h, que a su vez se conecta
a una de las salidas pwm de nuestro arduino.
Para poder obtener controlar la velocidad con ayuda del encoder una de sus seales se
conecta al arduino, que en base a su programacin se encargara de hacer el conteo de
los pulsos y hacer la conversin de pulsos a revoluciones por minuto que observa en el
display.

Circuito armado (Parte de potencia):

Conexin para lcd:

Programa:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int sal= 9;
int encoder = 10; //
int pot = A0;
int pulsos = A1; //
int valor;
int valorpulsos; //

int pwm;
void setup()
{
pinMode(sal,OUTPUT);
pinMode(encoder, OUTPUT);//
lcd.begin(16, 2);
lcd.print("control velocidad");
}
void loop(){
valor = analogRead(pot);
valorpulsos = analogRead(pulsos);//
float muestra = valor/14;
lcd.print(muestra);
delay(100);
int pulso = valorpulsos;//
lcd.print(pulso);//
delay(100);//
pwm = map(valor , 0, 1023, 0, 255);
/* analogWrite(encoder, pwm);
lcd.setCursor(1, 2);
//lcd.print("p= ");
*/
analogWrite(sal, pwm);//

lcd.setCursor(5, 2);//
lcd.print("v= ");
if(pulsos=0) sal=0 , pulso=0;
}

Motor apagado ( 0 rpm)

Motor a mxima velocidad (104 rpm)

Encoder desconectado

Rpm girando el motor a pulso

Conclusiones
Con la elaboracin de este proyecto hicimos uso de los conocimientos adquiridos en
programacin, utilizando un encoder para retroalimentar nuestro sistema de control. Un
punto importante es saber declarar las entradas y salidas (analgicas y digitales) en
nuestro programa y como darles un flujo adecuado ya que los principales problemas
que se presentaron fue el manejo de la seal del encoder para obtener la relacin de
pulsos y revoluciones por minuto mostrados en el lcd.
Fue importante ya que asi ya somos capaces de realizar cualquier tipoi de control P
para cualquier tipo de sistema y tenemos una idea mas clara del funcionamiento y
elaboracin de un controlador PID

Vous aimerez peut-être aussi