全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单单片机片机 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年幼儿园物数对应
- 机工版教学设计中职中职专业课土建施工类64 土木建筑大类
- 2026年幼儿园学期初
- 网络直播平台管理运营方案及预案
- 九年级化学下册 第6章 溶解现象 第2节 溶液组成的表示教学设计设计(pdf) 沪教版
- 第二单元 食品中的有机化合物教学设计高中化学苏教版必修2-苏教版2004
- 市场营销策略与方案手册
- 高中物理人教版 (新课标)选修3选修3-1第一章 静电场3 电场强度教学设计
- 2026年幼儿园局部认动物
- 2026年幼儿园防中暑的
- 安利业务制度讲解
- DB23∕T 3082-2022 黑龙江省城镇道路设计规程
- 甘肃省定西市市级名校2026届中考冲刺卷物理试题含解析
- 大学试用期考核管理办法
- 江苏棋牌室管理暂行办法
- 小学教育专业专升本试题带答案
- 2024年中国烟草总公司江西省公司考试真题试卷及答案
- 2025年苏州市中考历史试卷真题(含标准答案)
- 心血管疾病的三级预防
- 爱永在 二部合唱简谱
- 上海市浦东新区2024-2025学年高一下学期期中考试英语试卷(含答案)
评论
0/150
提交评论