树莓派控制舵机资料

舵机介绍:http://www.51hei.com/mcu/2672.html

树莓派PWM函数介绍:http://shumeipai.nxez.com/2014/11/13/rpi-gpio-module-pwm-basic-function.html

舵机角度和占空比对应的关系动画。

 

对应关系如下,范围为-90°到+90°。为了方便计算,可以将其映射到0-180°

 

角度 20ms内脉冲宽度 占空比 映射后角度
-90° 0.5ms 2.5%
-45° 1ms 5.0% 45°
1.5ms 7.5% 90°
45° 2ms 10.0% 135°
90° 2.5ms 12.5% 180°

GPIO库中p.ChangeDutyCycle()需要控制PWM的参数需要的是占空比(确切的说,占空比*100),而我们要调节的是角度,估映射后角度和占空比的对应函数关系为:f = 1/18*角度 + 2.5

根据给出的对应关系,猜测是线性关系。

2.5 = 0*x + b

12.5 = 180*x + b

解二元一次方程 (小学数学 :)) x = 1/18 b=2.5

 

代码如下

def changeDgree(degree):
    """舵机转到给定到角度"""
    duty_cycle = float(degree)/18 + 2.5
    p.ChangeDutyCycle(duty_cycle)

    定要等待,留下足量时间供电,以转到特定角度,即让设置生效

    time.sleep(0.5)

 

posted @ 2017-07-16 12:38  fogv  阅读(3055)  评论(0编辑  收藏  举报