[应用方案] 主循环读取反馈值并执行PID控制

[复制链接]
1805|7
 楼主| 突然下起雨 发表于 2025-3-27 10:04 | 显示全部楼层 |阅读模式
void main(void) {
    init_PWM();
    init_ADC();

    while(1) {
        speed_feedback = read_ADC();  // 读取电机速度反馈
        pwm_output = PID_Compute(TARGET_SPEED, speed_feedback);  // 计算PID输出
        PWM2H = pwm_output >> 8;  // 设置PWM高位
        PWM2L = pwm_output & 0xFF; // 设置PWM低位
    }
}


heisexingqisi 发表于 2025-3-28 15:03 | 显示全部楼层
嗯,挺好,有个问题,那个PID输出的结果远大于PWM执行的结果如何解决呢
598330983 发表于 2025-3-28 15:17 | 显示全部楼层
PID函数分享一下啊,看看如何做
weifeng90 发表于 2025-3-28 20:31 来自手机 | 显示全部楼层
PID算法最好调的就是三个参数值
水星限定 发表于 2025-8-28 13:25 | 显示全部楼层
主循环中,先读取传感器反馈值,计算与目标值的偏差。再按 PID 公式算比例、积分、微分项,求和得控制量。限幅后输出到执行器,延时或定时确保周期稳定。积分项需防饱和,微分可加滤波减少噪声影响。
少女诗篇 发表于 2025-9-14 14:03 | 显示全部楼层
主循环中,先读取传感器反馈值,与目标值比较得偏差。按 PID 计算比例、积分、微分项,叠加得 PID 输出。输出经限幅后控制执行器,同时处理积分饱和。循环需稳定周期,平衡响应速度与稳定性,实现闭环精确控制。
今夜限定月光 发表于 2025-9-23 18:33 | 显示全部楼层
主循环中,先读取传感器反馈值(如位置、温度),与设定值比较得偏差。代入 PID 公式计算控制量(比例项响应偏差、积分项消除静差、微分项抑制超调),输出至执行器(电机、阀门等)。循环周期需稳定,可配合定时器确保控制频率,实现闭环调节。
一点点晚风 发表于 2025-10-4 11:37 | 显示全部楼层
主循环中,先定时读取传感器反馈值(如温度、转速),与目标值计算偏差。调用 PID 算法,根据偏差、偏差积分、偏差微分计算输出量。将输出量转化为执行器信号(如 PWM 占空比),驱动执行机构调整。循环执行,通过持续修正使反馈值稳定在目标值附近,需注意采样周期与 PID 参数匹配。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

531

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部