注册 登录
查看: 355|回复: 5

[平衡组] 直立初级篇电机驱动

[复制链接]
发表于 2014-12-16 23:25:08 | 显示全部楼层 |阅读模式
请问。。我的驱动板是没有反相器的作用的,我修改了一下这里的代码 /***************因为驱动部分加了反相器,所以需对速度进行一个最终的处理******************/    if(Speed_L > 0)     //因为加了反相器,所以PWM要反过来添加
        Speed_L_Last = -1000 - Speed_L;
    else
        Speed_L_Last = 1000 - Speed_L;

    if(Speed_R > 0)     //因为加了反相器,所以PWM要反过来添加
        Speed_R_Last = -1000 - Speed_R;
    else
        Speed_R_Last = 1000 - Speed_R;

    /*************用所得到的对应角度的速度进行PWM控制********************/
    if(Speed_L >= 0)    //angle大于0,向前,小于0,向后
    {
        FTM_PWM_Duty(FTM0,FTM_CH3,0);
        FTM_PWM_Duty(FTM0,FTM_CH5,(uint32)(Speed_L_Last - MOTOR_DEAD_VAL_L));    //加入死区电压
    }
    else
    {
        FTM_PWM_Duty(FTM0,FTM_CH5,0);
        FTM_PWM_Duty(FTM0,FTM_CH3,(uint32)(-Speed_L_Last - MOTOR_DEAD_VAL_L));    //加入死区电压
    }
请问这样改有错吗?还有哪里需要改,下载进去电机没有任何反应,谢谢

回复

使用道具 举报

发表于 2014-12-17 00:34:04 | 显示全部楼层
假如正常pwm 是给a,占空比分母为1000.

那么反相配的值就是 1000 - a
如果不用反相,就是 a
回复 支持 反对

使用道具 举报

发表于 2014-12-17 00:34:08 | 显示全部楼层
假如正常pwm 是给a,占空比分母为1000.

那么反相配的值就是 1000 - a
如果不用反相,就是 a
回复 支持 反对

使用道具 举报

发表于 2014-12-17 00:34:28 | 显示全部楼层
这个自己消耗一下,领悟一下代码就可以修改了
回复 支持 反对

使用道具 举报

发表于 2014-12-17 08:17:33 | 显示全部楼层
同楼上!
既然没加反相器,那么有的东西就可以不要了吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-12-17 09:17:12 | 显示全部楼层
邴和 发表于 2014-12-17 00:34
假如正常pwm 是给a,占空比分母为1000.

那么反相配的值就是 1000 - a

谢谢,就是前面的1000不要了的意思吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部