Académique Documents
Professionnel Documents
Culture Documents
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.
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;
}
Encoder desconectado
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