之前是在Android M上进行的pwm控制,发现pwm节点都没有,更不用说去控制了,后面终于加上了,这个功能也可以正常使用了。由于一些原因,现在又要切换到Android L上,所以,现在pwm的控制也是一个问题,不过有了前面在Android M添加的经验后,只要porting过来就可以了。
这是pwm的配置连接,需要的话可以下载看看。链接:http://pan.baidu.com/s/1dFaXEVZ 密码:lxj5,所以这部分就不详细介绍了,pca9685的驱动代码在前面的博客中也有给出过,这里也不再赘述了。
主要说一下在调试过程中遇到的一些问题。
首先是舵机的校准,之前说过,舵机的周期是20ms,一般1.5ms为中值位置,即电机从最小角度转到最大角度的中间位置。
对于180度的舵机而言,0.5ms对应0度;1ms对应45度;1.5ms对应90度;2ms对应135度;2.5ms对应180度。
对于270度的舵机而言,原理相同,0.5ms对应0度;2.5ms对应270度。整个角度分布在0.5---2.5ms之间。
调节精度分别为:180/(2.5-0.5ms); 270/(2.5-0.5ms)。
这里需要注意的是,调节的时候最小值不要小于0.5ms,最大值不要大于2.5ms。
当时并不太明白要进行中值校准,并且要在阈值范围内进行控制,后面经过一番了解有些明白了,中值校准是为了让舵机可以在一定角度内,顺时针和逆时针进行转动,因为我们知道舵机只要是用在无人机和机器人的关节上面,那为什么会有一个阈值呢,这是因为,超出这个范围会导致电位器进入“盲区”,造成整个组件不能正常运行,这对于正在飞行的无人机来说可能是毁灭性的。在调试的过程中我也遇到了这个问题,所以就采取了一个比较笨的方法就是,一个一个的从最小角度到最大角度进行测试,并将这些测试的范围记录现在,这样在控制代码里面就可以设定这些范围,也就不用担心超过阈

最低0.47元/天 解锁文章
1723

被折叠的 条评论
为什么被折叠?



