直流电机开发笔记3—PI调节器的数字实现(代码/仿真)

1.PID的基本理论

PID是自动控制中常采用的调节器,通过对目标值与实际值的差值(也可称为误差)进行比例( P )、积分( I )、微分( D )运算的结果作为执行对象的输入,从而改变执行对象的输出,最终使得输出(实际值)与目标值相同,最终完成控制,模拟PID可以抽象为下图。其中:
1.TargeValue:由用户设定的目标值
2.FdbkValue:系统实际值(通常使用传感器测量)
3.Err=TargetValue-FdbkValue:误差
4.SysOut:系统输出,通常将该值直接作为反馈值
在这里插入图片描述
由上图可以看出,PID的输出由比例,积分,微分求和可得,与其对应的方程为:
在这里插入图片描述
式中:Kp—比例系数,Ki—积分系数,Kd—微分系数,PID的参数整定,就是调整这三个参数。

2.PID的离散化

现代电子系统通常都由微控制器为核心,因而需要将模拟PID进行数字化以便于软件实现,积分的本质是求和(累加),微分的本质是求差,因而,可将PID公式离散化为:
在这里插入图片描述
式中,Err(n)表示当前误差,Err(n-1)表示上一次误差。注意:这里的Kp,Ki,Kd和模拟PID方程里的意义有所区别。

3. PID的软件实现

在数字化PID方程的基础上,本小节完成其软件编写,打开笔记2中建立的编码器测试工程,添加pid.c/.h文件,加入下图所示代码,说明:由于下一小节要采用软件仿真,所以,main.c中用宏定义方式模拟了一个实际系统,该系统输出是输入的10倍。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.PID的仿真实现

本小节将对PID算法进行仿真,利用KEIL软件仿真的方式观察PID调节波形,首先在keil中进行如下配置并进入debug,如下图
在这里插入图片描述
全速运行,最终PID波形及结果如下图
在这里插入图片描述

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值