[求教]四轴源程序电机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控制,仅转电机。有人能分析下以上两种电机赋值方式的优确点吗? 匿名有一个减1000,不是猛然启动的,油门设个下限可以达到不推油门时电机不转。
页:
[1]