码迷,mamicode.com
首页 > 其他好文 > 详细

树莓派控制舵机资料

时间:2017-07-16 13:27:42      阅读:692      评论:0      收藏:0      [点我收藏+]

标签:asi   角度   mod   time   body   小学   生效   table   需要   

舵机介绍: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)

 

树莓派控制舵机资料

标签:asi   角度   mod   time   body   小学   生效   table   需要   

原文地址:http://www.cnblogs.com/fogblog/p/7190231.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!