调试180度舵机的0度和180度的脉宽值

需要根据舵机的实际情况 ,先试下0度和180度时,对应的脉宽是不是500微秒和2500微秒。

具体: 把程序中的求脉宽公式 先注释掉,脉宽(pulsewidth)直接赋值 500 ,如果转动到比0度小的位置而且还震动,需要往上加数字,比如510,还不行则再加,直到舵机位置是在0度位置,并且没有震动为止。记下该数字,例如 535 微秒。

然后,是给脉宽(pulsewidth)直接赋值2500,观察舵机旋转角度是否是在180位置,如果超过了180度,并且还在震动,说明需要降低该数值,比如2450,如果还没改善,继续降低,直到位置正对180度,不再震动。记下该数字,例如 2360 微秒。

好了,现在有了2个实验数据,可以改善脉宽公式了。

计算下      2360 - 535 = 1825 (可以变化的范围大小)

1825 ÷ 180 =10.139(每旋转1度,脉宽增加值)

535 + 想要改变的角度 ×10.139 = 需要使用的脉宽(pulsewidth)

获得脉宽(pulsewidth)的公式: 

 pulsewidth(脉宽) = myangle(舵机角度) × 10.139 + 535 ;

提示:pulsewidth 可能会得到一个浮点数,所以前面需要将它定义为double类型,而不是 int 整数类型。

你可能感兴趣的:(调试180度舵机的0度和180度的脉宽值)