Bienvenidos En la clase anterior ya vimos cómo obtener la resolución de precisión cuádruple para trabajar
con nuestro encoder y en base a eso nosotros podemos calcular ya la posición velocidad, tanto en rpm,
en radianes por segundo y también en metros por segundo.
Entonces vamos a empezar por la parte de posición y vamos a medir la posición relativa que existe entre
el eje del motor.
Entonces vamos a utilizar esta fórmula que tenemos acá.
Entonces la fórmula COBE en la posición va a ser igual a N por 360, dividido para la resolución.
Entonces, donde N viene a ser el número de conteos es a n ya habíamos visto y e r era la resolución
cuadruple y 360 grados son los grados para una vuelta completa y una vuelta completa pasada a radianes
también equivale a 2.
Entonces por eso lo multiplicamos a 2 pi por si deseamos obtener la posición en radianes y aquí la posición
en grados.
Vamos a ver cómo programar esto en Arduino.
En Arduino vamos a basarnos en el código anterior que habíamos realizado y vamos a aumentar aquí la
parte de posicionamiento.
Entonces vamos a empezar aquí con una variable que la vamos a llamar Pimm, que va a ser de tipo double
para obtener aquí el valor de posición en grados.
Listo ahora.
Y lo que vamos a hacer también es ingresar aquí la parte de resolución constant int r igual a 1980.
Listo, entonces ya tenemos la resolución y también la variable donde vamos a almacenar esa posición.
Aquí vamos a imprimir e en esta parte de aquí vamos a imprimir posición en grados.
Posición en grados.
Listo.
Y luego acá vamos a hacer algunos cambios en esta parte de aquí.
Vamos a imprimir también esta parte de aquí, pero aquí ya va a ser posición y aquí vamos a imprimir
el valor de P.
Entonces aquí lo que vamos a hacer es crear una función que me va a calcular.
Vamos a llamar con put post.
Una función.
Listo.
Esa función lo vamos a declarar aquí en la parte de acá.
Hacer una función que no va a devolver nada y se va a llamar con Piatti.
Pos listo.
Y abrimos llaves y cerramos llaves.
Listo.
Aquí e en esta parte vamos a hacer la parte de cálculo.
Entonces, como habíamos mencionado, una fórmula sencilla pues igual a?
N por e.
360.
En este caso para grados y dividido para la resolución.
Listo.
Entonces, así es como vamos a obtener la posición del eje de nuestro motor.
Entonces ya hemos terminado.
Vamos a compilar y vamos a cargar esto en el Arduino para observar el resultado.
Listo.
Vamos a abrir el monitor serial.
Aquí lo tenemos y tenemos la posición de cero grados.
Vamos a abrir aquí a la cámara y vamos a hacer la prueba.
Entonces, para esto y de igual manera, nos vamos a fijar en el tornillo que veíamos anteriormente
y vamos a girar como ven ahí vamos a girar en sentido anti horario, vamos a girar ahí.
Como pueden ver, he dado una vuelta de ochenta grados.
Podemos ver que si se asemeja a 80 grados vamos a mover un poco más para ver si logramos a 90 grados.
Podemos ver ahí, podemos ver que tenemos aproximadamente 90 grados y tampoco le puedo poner justo en
90 porque e como saben, aquí tenemos una caja de engranajes y al realizar yo movimientos tengo que
hacer fuerza y puedo pasarme.
No, no puedo hacer pequeñas variaciones, pero luego vamos a ver que en la parte de control, ahí ya
ingresando voltaje, aquí ya vamos a tener un control y esto va a funcionar muy bien.
Aquí simplemente de manera manual, no puedo llegar justo a los 90 grados que quiero.
Pues por ejemplo ahí, eh.
Voy a colocar ahí.
Entonces tenemos ciento o noventa y tres grados y ahí sí tenemos 360 grados.
Como podemos observar, entonces ahí sí damos al otro lado tenemos ya la parte negativa, pues podemos
ver que tenemos menos 360 grados y podemos ver ahí que tenemos un buen resultado.
Entonces ahí tenemos el cálculo de posición, ya podemos encontrar la posición a la que se encuentra
el eje de nuestro motor.
Ya en la siguiente clase vamos a ver cómo calcular la velocidad en revoluciones por minuto.