晨旭的博客
你想干什么!
晨旭的博客~
K60笔记-模拟舵机控制

本程序使用山外库:http://git.oschina.net/chenxuuu/vcan-K60-V5.3

模拟舵机通过电压大小控制方向(好像是这样w)

所以和电机差不多

先初始化PWM口

ftm_pwm_init(S3010_FTM, S3010_CH,S3010_HZ,100);

然后和控制电机一样

ftm_pwm_duty(S3010_FTM, S3010_CH,1000);

和之前一样,可以把这个封装成函数

#define control_actuator_center 1380
#define control_actuator_min 1260
#define control_actuator_max 1500     //自测
/*!
 *  @brief      舵机输出函数
 *  @since      v1.1
 *  @note       输入值范围-1~1   浮点型
 *  Sample usage:            control_actuator(-0.2);    //输出舵机反向0.2
 */
void control_actuator(float Voltage)
{
    if(Voltage>1)
        Voltage=1;
    else if(Voltage<-1)
        Voltage=-1;

    if(Voltage<0)
    {
        ftm_pwm_duty(S3010_FTM, S3010_CH,(int)((control_actuator_center-control_actuator_min)*Voltage+control_actuator_center));
    }else
    {
        ftm_pwm_duty(S3010_FTM, S3010_CH,(int)((control_actuator_max-control_actuator_center)*Voltage+control_actuator_center));
    }
}

调用栗子

if(key_check(KEY_U) == KEY_DOWN)
{
    dj+=0.01;
    control_actuator(dj);
}
if(key_check(KEY_D) == KEY_DOWN)
{
    dj-=0.01;
    control_actuator(dj);
}

本文所用工程文件:http://git.oschina.net/chenxuuu/K60-test/tree/master/舵机

赞赏
如非特殊说明,本站所有文章均采用知识共享 署名-非商业性使用-相同方式共享4.0国际许可协议(CC BY-NC-SA 4.0)进行许可。

发表评论

textsms
account_circle
email

  • https://secure.gravatar.com/avatar/166afae0dc7ed1e227486ebb7e3bcbce?s=80&d=mm&r=x
    Google Chrome 48.0.2564.116 Google Chrome 48.0.2564.116 Windows 10 Windows 10

    反馈:鼠标的闪花严重影响链接的点击

    3年前回复
    • https://secure.gravatar.com/avatar/b431bf781498d1fe47f732913dce394c?s=80&d=mm&r=x
      晨旭博主
      Google Chrome 49.0.2623.75 Google Chrome 49.0.2623.75 Windows 7 x64 Edition Windows 7 x64 Edition

      加的第一天就知道了。。。从右下角往左上移动就没事

      3年前回复

晨旭的博客~

K60笔记-模拟舵机控制
本程序使用山外库:http://git.oschina.net/chenxuuu/vcan-K60-V5.3 模拟舵机通过电压大小控制方向(好像是这样w)所以和电机差不多先初始化PWM口ftm_pwm_init(S3010_FTM, S3010_CH,…
扫描二维码继续阅读
2016-03-08