索达客 发表于 2015-8-14 21:27:22

[求教]四轴源程序电机PWM赋值的方式区别

        if(Rc_Get.THROTTLE>1200&&flag_2401)
        {
                moto1 = Rc_Get.THROTTLE - 1000 - PID_ROL.OUT - PID_PIT.OUT + PID_YAW.OUT;
                moto2 = Rc_Get.THROTTLE - 1000 + PID_ROL.OUT - PID_PIT.OUT - PID_YAW.OUT;
                moto3 = Rc_Get.THROTTLE - 1000 + PID_ROL.OUT + PID_PIT.OUT + PID_YAW.OUT;
                moto4 = Rc_Get.THROTTLE - 1000 - PID_ROL.OUT + PID_PIT.OUT - PID_YAW.OUT;
        }
        else
        {
                moto1 = 0;
                moto2 = 0;
                moto3 = 0;
                moto4 = 0;
        }

上面的语句,出自匿名四轴源程序,
我不明白油门值低于1200时,油门就不启动,油门缓缓的先转一会不好吗?这样猛然启动好吗?

我是这样写的
if(PPM_Get.THRO<200) // No control when low Throttle
{
    Motor_PWM1=PPM_Get.THRO;
    Motor_PWM2=PPM_Get.THRO;
    Motor_PWM3=PPM_Get.THRO;
    Motor_PWM4=PPM_Get.THRO;
}
else // merge the output
{
    Motor_PWM1=(int16)(PPM_Get.THRO + Out_pitch + Out_roll - Out_yaw+0.5);
    Motor_PWM2=(int16)(PPM_Get.THRO + Out_pitch - Out_roll + Out_yaw+0.5);
    Motor_PWM3=(int16)(PPM_Get.THRO - Out_pitch - Out_roll - Out_yaw+0.5);
    Motor_PWM4=(int16)(PPM_Get.THRO - Out_pitch + Out_roll + Out_yaw+0.5);
}
当油门较低时不进行PID控制,仅转电机。有人能分析下以上两种电机赋值方式的优确点吗?

acchkr 发表于 2015-8-14 22:03:39

匿名有一个减1000,不是猛然启动的,油门设个下限可以达到不推油门时电机不转。
页: [1]
查看完整版本: [求教]四轴源程序电机PWM赋值的方式区别