全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单单片机片机 PID 算法算法实现实现 2011 07 30 15 56 用整型变量来实现 PID 算法 由于是用整型数来做的 所以也不是很精确 但是 对于很多的使用场合 这个精度也够了 关于系数和采样电压全部是放大 10 倍 处理的 所以精度不是很高 但是也不是那么低 大部分的场合都够了 实在觉 得精度不够 可以再放大 10 倍或者 100 倍处理 但是要注意不超出整个数据类 型的范围就可以了 本程序包括 PID 计算和输出两部分 当偏差 10 度全速加热 偏差在 10 度以内为 PID 计算输出 具体的参考代码参见下面 pid H Operation about PID algorithm procedure C51 编译器 Keil 7 08 作者 zhoufeng Date 2007 08 06 All rights reserved include include typedef unsigned char uint8 typedef unsigned int uint16 typedef unsigned long int uint32 函数声明 void PIDOutput void PIDOperation typedef struct PIDValue uint32 Ek Uint32 3 差值保存 给定和反馈的差 值 uint8 EkFlag Uint8 3 符号 1 则对应的为负数 0 为对应的为正数 uint8 KP Uint8 uint8 KI Uint8 uint8 KD Uint8 uint16 Uk Uint16 上一时刻的控制电压 uint16 RK Uint16 设定值 uint16 CK Uint16 实际值 PIDValueStr PIDValueStr PID uint8 out 加热输出 uint8 count 输出时间单位计数器 PID Uk KP E k E k 1 KI E k KD E k 2E k 1 E k 2 增量型 PID 算式 函数入口 RK 设定值 CK 实际值 KP KI KD 函数出口 U K PID 运算函数 void PIDOperation void uint32 Temp 3 中间临 时变量 uint32 PostSum 正数和 uint32 NegSum 负数和 Temp 0 0 Temp 1 0 Temp 2 0 PostSum 0 NegSum 0 if PID RK Uint16 PID CK Uint16 设定值大于实 际值否 if PID RK Uint16 PID CK Uint16 10 偏差大于 10 否 PID Uk Uint16 100 偏差大于 10 为上 限幅值输出 全速加热 else Temp 0 PID RK Uint16 PID CK Uint16 偏差PID Ek Uint32 1 E k E k 1 否 Temp 0 PID Ek Uint32 0 PID Ek Uint32 1 E k E k 1 PID EkFlag Uint8 0 0 E k E k 1 为正数 else Temp 0 PID Ek Uint32 0 PID Ek Uint32 1 E k Temp 2 E k 2 E k 2E k 1 否 Temp 2 PID Ek Uint32 0 PID Ek Uint32 2 Temp 2 E k 2 E k 2E k 1 PID EkFlag Uint8 2 0 E k 2 E k 2E k 1 为正数 else Temp 2 Temp 2 PID Ek Uint32 0 PID Ek Uint32 2 E k 2 E k 0 因 为设定值大于实际值 KD E k 2 E k 2E k 1 if PID EkFlag Uint8 2 0 PostSum Temp 2 正数和 else NegSum Temp 2 负数和 U K PostSum uint32 PID Uk Uint16 if PostSum NegSum 是否控制量为正数 Temp 0 PostSum NegSum if Temp 0 100 小于上限幅值则为计算值 输出 PID Uk Uint16 uint16 Temp 0 else PID Uk Uint16 100 否则为上限幅值输出 else 控制量输出为负数 则输出 0 下限幅值输出 PID Uk Uint16 0 else PID Uk Uint16 0 函数入口 U K 函数出口 out 加热输出 PID 运算植输出函数 void PIDOutput void static int i i PID Uk Uint16 if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江苏省溧阳市高二生物下册期末考试考试卷及参考答案(培优A卷)
- 2026年浙江省慈溪市高二生物下册期末考试测试卷含答案【基础题】
- 2026年山东省青州市高二生物下册期末考试试卷及完整答案(有一套)
- 2026年江苏省扬中市高二生物下册期末考试考试卷含答案【能力提升】
- 2026年安徽省界首市高二生物下册期末考试考试卷附参考答案【综合题】
- 2025年江苏省如皋市高二生物下册期末考试模拟卷附答案(综合卷)
- 2026年四川省阆中市高二生物下册期末考试检测卷附答案【培优B卷】
- 2025年山东省平度市高二生物下册期末考试考试卷【重点】附答案
- 2026年贵州省凯里市高二生物下册期末考试试卷附参考答案(预热题)
- 2025年辽宁省新民市高二生物下册期末考试检测卷标准卷附答案
- 2026中国热带农业科学院分析测试中心高层次人才引进4人笔试参考试题及答案解析
- 2026电工技师考试题库及参考答案
- 无线网络测试优化案例
- 公交公司内部审计制度
- 2026年中考语文备考之名著阅读《经典常谈》知识点汇编(完整版)
- 结肠息肉切除术后迟发性穿孔的早期识别策略-1
- 催化燃烧设备培训课件
- 电梯内控烟制度规范
- 2026年下学期小学二年级语文句子仿写与扩充练习
- 汽轮机本体安装培训课件
- 2025年现代交换技术考试题库含答案
评论
0/150
提交评论