En este tutorial se intentará describir como programar algunas instrucciones en C++ en el entorno de programación Geany dentro de nuestra Raspberry PI, en este caso en concreto el modelo Raspberry PI 4B. Las instrucciones descritas en este tutorial pertenecen a la librería wiringPi.h y estan destinadas a dirigir el servomotor MG996R.
pwmMode()
pwmSetMode()
pwmSetRange()
pwmSetClock()
La relación que existe entre pwmSetRange() y pwmSetClock() esta relacionada con la frecuencia, se puede utilizar la siguiente formula para ajustar los valores al movimiento que necesitamos:
pwmFrecuency en Hz = 19,2 MHz / pwmClock / pwmRange
Ponemos 19,2 MHz porque el valor base de la frecuencia del reloj en Raspberry Pi con PWM es 19,2 Megahercios (19200000 Hz).
Los valores que he encontrado en referencia a setRange y setClock son de :
pwmSetClock(1920)
pwmSetRange(200)
Con estos valores obtenemos una frecuencia de 50 Hz, que es la frecuencia que utiliza la señal del servo MG996R. También obtenemos un periodo para esta señal de 20 milisegundos, también, ese periodo es justo el de la señal de este servo.
Este servomotor puede mover hasta un ángulo de 180 grados, el ciclo de trabajo dentro de los 20 milisegundos de periodo correspondiente a la posición de 0 grados es de 0.4 milisegundos y el ciclo de trabajo correspondiente a la posición de 180 grados es de 2.4 milisegundos.
Deja una respuesta Cancelar la respuesta