BENEMÈRITA UNIVERSIDAD
AUTÒNOMA DE PUEBLA
COMPLEJO REGIONAL CENTRO
SAN JOSÈ CHIAPA
“Robótica”
Proyecto final. Control de posición de motor de DC con
Tanh.
Presenta:
Julieth Juárez Flores
Jafet Paredes Morales
Ángel Tecaxco Xicali
Tania Martínez Angel
Carlos López Esteban
Andrés Mendoza Vázquez
Jorge Brian Cuellar Martínez
José Aguilar Hernández
Docente: Miguel Ángel Ortega Palacios
IAA-1
Introducción
En el presente reporte, se describe el proceso de elaboración del
proyecto final de la materia de robótica, presentan los detalles
necesarios para el diseño del control de posición de un motor DC.
Un motor de corriente continua simple de doble eje está conectado con
el eje del codificador en un lado y en otro lado, está conectado con un
puntero. Este puntero apunta al ángulo marcado en el transportador, un
codificador está conectado con Arduino en los pines de interrupción y la
unidad de motor de CC por L293D motor IC, un módulo HC-05 se utiliza
para conectar nuestro sistema con el dispositivo androide. Cuando
enviamos un punto de ajuste de ángulo desde el dispositivo del robot,
Arduino recibe la información y hace funcionar el motor, mientras que
el codificador envía información de posición en tiempo real a Arduino
según un cálculo predefinido. Una vez que el pulso del codificador
coincide con el requisito significa que el puntero alcanza la posición
deseada Arduino detiene el motor de CC en esta poción
Objetivos
El objetivo inicial de este proyecto es poder manipular la posición de un
motor dc utilizando Tanh, teniendo en cuenta los parámetros del motor
dados por el fabricante, haciendo que automáticamente que con
nuestro lenguaje de programación en Arduino retorne a la posición que
nosotros queramos proponer.
Dentro de los objetivos específicos esta regular el comportamiento del
sistema, con el fin de reducir las probabilidades de fallo, y obtener los
resultados deseados.
Desarrollo
Materiales:
Motor con encoder
Puente h
Jumpers
Arduino
Comenzamos creando el lenguaje de programación en Arduino.
Imagen 1. Código imagen2.
En la imagen 1, del código, comenzamos declarando las señales A y B
del encoder, la señal del error de giro del motor y el paso mínimo.
Declaramos la matriz para calcular la dirección de giro, definimos los
como pines de salida para control del puente H, y el pin para el pwm.
Agregamos volatile para errores de compilación.
En la imagen 2, se configuro los pines de 2 y 3 como entrada para
recibir la señal del encoder, y los pines de salida para el control del
giro.
En la imagen 3 podemos observar la parte del controlador, comenzando
con la parte de la derivada numérica del error, la función de tangente
hiperbólica, guardamos la posición actual en otra variable y finalizamos
con la salida de Tau.
Leemos el nivel lógico que tienen las señales a y b y se suman para dar un
numero entero.
Calculamos el sentido de giro de disco y calculamos los grados.
Añadimos variables para ver si hay incremento.
Imagen 3. Imagen 4.
Continuamos armando nuestro circuito respecto a las variables que
metimos en el lenguaje de programación.
Resultados
Copilamos el código, y realizamos las conexiones del motor, Arduino y
puente h, tomando en cuanta las variables que utilizamos en el
controlador.
Los resultados obtenidos fueron satisfactorios, en la imagen se aprecia
la conexión, para observar mejor los resultados la siguiente liga abrirá
una pequeña demostración del funcionamiento correcto, dependiendo
la posición que nosotros quisimos darle.
[Link]
Conclusión
El proyecto al principio fue complicado ya que tardamos un poco al
obtener resultados satisfactorios, tuvimos algunas dudas al momento
de controlar con tangente hiperbólica, en algún momento pensamos
que se podría utilizar otro controlador. Sin embargo, con los consejos de
nuestro profesor logramos cumplir el objetivo del proyecto.
Uno de los objetivos más relevantes era manipular el motor en una
posición de grados cual sea, y esta fuera correcta.
Con el proyecto pudimos adquirir mas conocimientos respecto a control,
y algunas otras ramas que este conlleva.