KmdFoc控制模式#
控制模式#
KmdFoc 一共有六种控制模式
typedef enum eHalControlMode{
HAL_CONTROL_MODE_CURRENT = 0,//电流模式
HAL_CONTROL_MODE_CURRENT_RAMP = 1,//电流爬升模式
HAL_CONTROL_MODE_VELOCITY = 2,//转速模式
HAL_CONTROL_MODE_VELOCITY_RAMP = 3,//转速爬升模式
HAL_CONTROL_MODE_POSITION = 4,//位置模式
HAL_CONTROL_MODE_POSITION_TRAP = 5,//位置爬升模式
} tHalControlMode;
HAL_CONTROL_MODE_CURRENT 模式#
备注
电流控制模式:
KmdFoc直接利用用户输入的电流设定值作为电流环输入。无处理的闭环设定参数应避免过大的阶跃值,否则易超调,新手慎用。
此模式相比 HAL_CONTROL_MODE_CURRENT_RAMP 具有更高响应速度。
HAL_CONTROL_MODE_CURRENT_RAMP 模式#
备注
电流爬升模式:
KmdFoc不直接使用用户设定值,而是逐渐增减电流环输入直至达到设定值。电流升降速度由
current_ramp_rate控制,设为无穷大时与 HAL_CONTROL_MODE_CURRENT 等效。设置合适的
current_ramp_rate可有效避免过大阶跃信号。
HAL_CONTROL_MODE_VELOCITY 模式#
备注
转速控制模式:
KmdFoc直接利用用户输入的转速设定值作为转速环输入。应避免过大的阶跃值设置,否则易超调,新手慎用。
此模式相比 HAL_CONTROL_MODE_VELOCITY_RAMP 具有更高响应速度。
HAL_CONTROL_MODE_VELOCITY_RAMP 模式#
备注
转速爬升模式:不直接使用用户设定值,而是逐渐增减转速环输入直至达到设定值。
转速升降速度由
vel_ramp_rate控制,设为无穷大时与 HAL_CONTROL_MODE_VELOCITY 等效。设置合适的
vel_ramp_rate可有效避免过大阶跃信号。
HAL_CONTROL_MODE_POSITION 模式#
备注
位置控制模式:
KmdFoc直接利用用户输入的位置设定值作为位置环输入。应避免过大的阶跃值,否则易超调,新手慎用。
此模式相比 HAL_CONTROL_MODE_POSITION_TRAP 具有更高响应速度。
HAL_CONTROL_MODE_POSITION_TRAP 模式#
备注
位置轨迹模式:不直接使用用户位置设定值,而是逐渐增减位置环输入直至达到设定值。
此模式可根据当前位置与转速做位置预测,自动控制加减速过程。
traj_vel轨迹模式最大转速,traj_accel最大加速度,traj_decel最大减速度。traj_vel设定值应小于或等于vel_limit(转速限制)。
vel_limit 为转速限制,用于限制位置环输出,抗饱和。
current_limit 为电流环限制,用于限制电流环输出,抗饱和。
protect_under_voltage 低压保护,电压低于此阈值,KmdFoc将失能控制。
protect_over_voltage 高压保护,电压高于此阈值,KmdFoc将失能控制。
protect_over_speed 超速保护,转速高于此阈值,KmdFoc将失能控制。
protect_over_current 过流保护,电流高于此阈值,KmdFoc将失能控制。