《鸿蒙智能互联设备开发(微课版)》 课件 8.2.7 PID调速功能开发.pptx

《鸿蒙智能互联设备开发(微课版)》 课件 8.2.7 PID调速功能开发.pptx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

8.2.7PID调速功能开发

通过本节学习,您可以:了解PID调速功能的开发

PID调速功能开发由于机械结构、阻力等诸多问题会导致实际的电机转速与预设的电机转速存在一定的误差值,要想消除该误差值就需要用到PID控制算法。PID控制算法是结合比例、积分和微分三种环节于一体的自动控制算法,它是连续系统中技术最为成熟,应用最为广泛的一种控制算法。PID控制组件的实质就是根据输入的偏差值,按照比例、积分、微分的函数关系进行运算,再将运算的结果控制输出,从而达到电机的实际转速与预设的转速相等。

PID调速功能开发PID控制算法中比例、积分和微分的各自作用如下:比例算法:通过计算出电机实际转速与预设值的误差值,乘以对应的比例系数,再加上前一次PID计算的输出值即可使得实际转速趋近于预设值。积分算法:通过计算前五次误差的和再乘以对应的积分系数,再加上前一次PID计算的输出值即可使得实际转速等于预设值。微分算法:通过计算本次误差与上次误差的差值再乘以对应的微分系数,再加上前一次PID计算的输出值即可防止转速波动过大,能够平稳的使实际转速到达预设转速。

PID调速功能开发(1)对PID结构体进行定义。定义PID算法所需要用到的变量及数组。typedefstruct{pid_ykp;//比例参数pid_yki;//积分参数pid_ykd;//差分参数pid_yinput;//输入值pid_yset_point;//设定的期望值pid_youtput;//计算得出的值pid_youtput_speed;//实际输出的值pid_yLast_output;//上次实际输出的值pid_ypid_output;//PID计算值pid_yerror;//误差值pid_yLast_error;//上次误差值interror_data;//误差值次数pid_yerror_i[5];//前五次误差值pid_yintegral;//内部的积分值pid_ydifferential;//内部的微分值pid_yproportion;//内部的比例值}pid_struct;

PID调速功能开发(2)对PID参数初始化。对比例、积分、微分系数赋值,上次误差值、误差值次数与前误差的误差值均赋0,初始输出给电机的转速为20。voidpid_init(pid_struct*pid){pid-kp=0.5;//比例系数pid-ki=0.02;//积分系数pid-kd=0.05;//微分系数pid-Last_error=0;//上次误差值pid-Last_output=20;//初始输出给电机的转速pid-error_data=0;//误差值次数/**前五次误差值**/for(intj=0;j5;j++){pid-error_i[j]=0;}}

PID调速功能开发(3)PID算法综合了比例算法、积分算法和微分算法这三种算法。比例算法:将采集到的实际速度与预设的目标速度相减得到误差值,再乘以比例系数得到比例值。积分算法:计算前五次误差的和再乘以对应的积分系数得到积分值。pid-error=pid-set_point-pid-input;//误差pid-proportion=pid-kp*pid-error;//比例计算/**积分算法**/pid-error_i[pid-error_data]=pid-error;//记录5次误差用于积分计算for(intj=0;j5;j++){pid-integral+=pid-error_i[j];/*误差积累*/}pid-integral=pid-integral*pid-ki;//积分计算pid-error_data++;//数组地址加一,方便下次误差存入/**更新数组地址**/if(pid-error_data==5){pid-error_data=0;}

PID调速功能开发微分算法:将本

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档