PCA9685舵机控制板

PCA9685舵机控制板

https://github.com/adafruit/Adafruit_Python_PCA9685

PCA9685 c++ WiringPi https://www.raspberrypi.org/forums/viewtopic.php?t=67618

https://www.jianshu.com/p/782058c93a7a
https://www.jianshu.com/p/b2a6306e583d?from=timeline&isappinstalled=0
https://zhuanlan.zhihu.com/p/22805173

https://www.cnblogs.com/yjphhw/p/10649940.html
https://blog.csdn.net/qq_41559171/article/details/87950642
http://www.cirmall.com/bbs/thread-97290-1-1.html


假设舵机为50HZ的频率,脉宽为0.5ms~2.5ms,12位分辨率(4096级),相关计算如下:

PWM周期:1/50=0.02s=20ms=20000us

时间分辨率:200000/(2^{12})=4.88us

最大脉宽时间:2.5ms-0.5ms=2ms=2000us

最大脉宽时间可分成的份数:2000us/4.88us=410

0-180度的舵机,角度分辨率:180^{\circ}/410=0.439^{\circ}


如果在舵机控制中,采用内置晶振,取osc_clock=25000000,update_rate=50(舵机控制频率50Hz)

设置角度
60度对应的脉宽=0.5ms+(60/180)*(2.5ms-0.5ms)=1.1666ms
利用占空比=1.1666ms/20ms=off/4096,off=239,50hz对应周期20ms
setPWM(num,0,239);;;;当然也可以利用SERVO000和SERVO180计算

You must be logged in to post a comment