




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目目 录录 摘摘 要要 3 3 1 1 整体设计及系统原理整体设计及系统原理 3 3 2 2 硬件电路设计硬件电路设计 4 4 2 12 1 主机电路的设计主机电路的设计 4 2 22 2 数据采集电路的设计数据采集电路的设计 5 2 32 3 电控制执行电路的设计电控制执行电路的设计 5 2 42 4 键盘显示的设计键盘显示的设计 6 3 3 系统软件设计系统软件设计 7 7 3 13 1 主程序模块主程序模块 7 3 23 2 功能实现模块功能实现模块 8 3 2 1 T0 中断子程序 8 3 2 2 T1 中断子程 9 3 33 3 运算控制模块运算控制模块 9 3 3 1 标度转换子程序 9 3 3 2 PID 算法子程序 9 4 4 源程序代码 源程序代码 1010 5 5 结果分析论述结果分析论述 1515 6 6 参考文献参考文献 1515 摘摘 要要 电阻炉是工业炉的一种 是利用电流通过电热体元件将电能转化为热能来 加热或者熔化元件或物料的热加工设备 电阻炉由炉体 电气控制系统和辅助 系统组成 炉体由炉壳 加热器 炉衬 包括隔热屏 等部件组成 由于炉子 的种类不同 因而所使用的燃料和加热方法也不同 由于工艺不同 所要求的温 度高低不同 因而所采用的测温元件和测温方法也不同 产品工艺不同 对控温 精度要求不同 因而控制系统的组成也不相同 电气控制系统包括主机与外围 电路 仪表显示等 辅助系统通常指传动系统 真空系统 冷却系统等 因炉 种的不同而各异 本文介绍了以 AT89S52 单片机为核心的温度控制器的设计 在该设计中采用高精度的温度传感器 AD590 对电热锅炉的温度进行实时精确测 量 用超低温漂移高精度运算放大器 OP07 将温度 电压信号进行放大 再送入 12 位的 AD574A 进行 A D 转换 从而实现自动检测 实时显示及越限报警 控制部分 采用 PID 算法 实时更新 PWM 控制输出参数 控制可控硅的通断时间 最终实现对 炉温的高精度控制 1 1 整体设计及系统原理整体设计及系统原理 温度控制是工业生产过程中经常遇到的过程控制 有些工艺过程对其温度的 控制效果直接影响着产品的质量 因而设计一种较为理想的温度控制系统是非常 有价值的 根据题目要求 电热锅炉温度控制系统由核心处理模块 温度采集模 块 键盘显示模块 及控制执行模块等组成 采用 AT89S52 单片机作为电路的 控制核心 使用 12 位的高精度模数转换器 AD574A 进行数据转换 控制电路部分 采用 PWM 控制可控硅的通断以实行对锅炉温度的连续控制 温度控制采用改进 的 PID 数字控制算法 显示采用 3 位 LED 静态显示 该设计结构简单 控制算法 新颖 控制精度高 有较强的通用性 所以系统设计总体框图如下 AT89C51 单片机 键盘 显示 传感器 电阻炉 温度检测 电路 温度控制 图 1 系统设计总体框图 2 2 硬件电路设计硬件电路设计 2 12 1 主机电路的设计主机电路的设计 主机选用 ATMEL 公司的 51 系列单片机 AT89S52 来实现 利用单片机软件编 程灵活 自由度大的特点 力求用软件完善各种控制算法和逻辑控制 本系统选 用的 AT89S52 芯片时钟可达 12MHz 运算速度快 控制功能完善 其内部具有 128 字节 RAM 而且内部含有 4KB 的 flash ROM 不需要外扩展存储器 可使系统整体 结构更为简单 实用 其原理图如下所示 RST 9 XTAL2 18 XTAL1 19 GND 20 EA VPP 31 P2 2 23 P2 1 22 P2 0 21 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 VCC 40 P0 0 39 P0 1 38 P0 2 37 P0 3 36 P0 4 35 P0 5 34 P3 0 RXD 10 P3 1 TXD 11 P3 2 TNT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P0 6 33 P0 7 32 ALE PROG 30 PESN 29 P2 6 27 P2 5 26 P2 4 25 P2 3 24 P3 7 RD 17 P2 7 28 89S52 10uF 12 Reset 10K VCC GND 30pF 30pF GND LED0 GND VCC 470 图 2 单片机最小系统 2 22 2 数据采集电路的设计数据采集电路的设计 就本系统来说 需要实时采集水温数据 然后经过 A D 转换为数字信号 送 入单片机中的特定单元 然后一部分送去显示 另一部分与设定值进行比较 通过 PID 算法得到控制量并经由单片机输出去控制电热锅炉加热或降温 数据采集 电路主要由 AD590 0P07 74LS373 AD574A 等组成 由于控制精度要求为 0 1 度 而考虑到测量干扰和数据处理误差 则温度传感器和 AD 转化器的精度应更 高才能保证控制精度的实现 这个精度可处粗略定为 0 1 度 故温度传感器需 要能够区分 0 1 度 而对于 AD 转换器 由于测量范围为 40 90 度 以 0 1 度作 为响应的 AD 区分度要求 则 AD 需要区分 90 40 0 1 500 个数字量 显然需要 10 位以上的 AD 转换器 为此 选用高精度的 12 位 AD574A 为了达到测量高精 度的要求 选用温度传感器 AD590 AD590 具有较高精度和重复性 重复性优于 0 1 其良好的非线形可以保证优于 0 1 的测量精度 利用其重复性较好 的特点 通过非线形补偿 可以达到 0 1 测量精度 超低温漂移高精度运算放 大器 0P07 将温度一电压信号进行放大 便于 A D 进行转换 以提高温度采集电 路的可靠性 模拟电路硬件部分如下图所示 图 3 温度电压转换电路 2 32 3 电控制执行电路的设计电控制执行电路的设计 由输出来控制电炉 电炉可以近似建立为具有滞后性质的一阶惯性环节数学 模型 其传递函数形式为 其中时间常数 T 350 秒 放大系数 K 50 滞后时间 t 10 秒 T 1 t 可控硅可以认为是线形环节实现对炉温的控制 单片机输出与电炉功率分别属 于弱电与强电部分 需要进行隔离处理 这里采用光耦合元件 TLP521 在控制部 分进行光电隔离 此外采用变压器隔离实现弱强电的电源隔离 单片机 PWM 输 出电平为 0 时 光耦合元件导通 从而使三极管形成有效偏置而导通 通过整 流桥的电压经过集电极电阻以及发射集反向偏压 有 7V 左右的电压加在双向 可控硅控制端 从而使可控硅导通 交流通路形成 电阻炉工作 反之单片机输 出电平为 0 时 光耦元件不能导通 三极管不能形成有效偏置而截止 可控硅 控制端电压几乎为零 可控硅截止从而截断交流通路 电炉停止工作 此外 还设有越限报警 当温度低于下限时发光二极管亮 高上限时蜂鸣器叫 控制 执行部分的硬件电路如下图 图 4 控制执行部分电路 2 42 4 键盘显示的设计键盘显示的设计 按键的响应是由中断来实现的 按键 AN3 与 P3 2 相连 采用外部中断方式 并且优先级定为最高 按键 AN5 和 AN4 分别与 P1 7 和 P1 6 相连 采用软件查询 的方式 AN1 则为硬件复位键 与 R C 构成复位电路 其中的功能定义如表 1 所 示 按键键名功能 AN1 复位键使系统复位 AN4 加一键设定温度渐次加一 AN5 减一键设定温度渐次减一 表 1 按键功能 显示采用 3 位共阳 LED 静态显示方式 显示内容有温度值的十位 个位及小数点 后一位 这样可以只用 P3 0 RXD 口来输出显示数据 从而节省了单片机端口资 源 在 P1 4 口和 P3 1 TXD 的控制下通过 74LS164 来实现 3 位静态显示 数字 电路硬件部分见图 5 图 5 数字硬件电路示意图 3 3 系统软件设计系统软件设计 系统的软件由三大模块组成 主程序模块 功能实现模块和运算控制模块 3 13 1 主程序模块主程序模块 主程序流程图见图 6 所示 开始 初始化计时器 初始化PID参数 A D采样以及变换 显示当前温度 和设定温度 判断越限报警 Y 报警开启 N 设置PWM的占空比 图 6 主程序流程图 3 23 2 功能实现模块功能实现模块 功能实现模块主要由 A D 转换子程序 中断处理子程序 键盘处理子程 序 显示子程序等部分组成 以用来执行对可控硅及电炉的控制 3 2 13 2 1 T0T0 中断子程序中断子程序 该中断是单片机内部 100ms 定时中断 优先级设为最高 是最重要的子程序 在该中断响应中 单片机要完成调用 PID 算法子程序且输出 PID 计算结果等功能 其流程图如下 进入中断 设置定时器寄存器 计算PID子模块 判断标志位是 否为1 标志位置0 标志位加1 N Y 中断返回 图 7 T0 中断子程序 3 2 23 2 2 T1T1 中断子程中断子程 T1 定时中断用于调制 PWM 信号 优先级低于 T 0 中断 其定时初值由 PID 算法子程序提供的输出转化而来 T1 中断响应的时间用于输出控制信号 其流 程图如图 8 所示 进入中断 取反标志位 表示该输 出高电平或低电平 设置高电平脉宽输出高电平 输出低电平 N Y 输出口置高电平 设置低电平脉宽 输出口置低电平 Y N 中断返回 图 8 T1 中断子程序 3 33 3 运算控制模块运算控制模块 3 3 13 3 1 标度转换子程序标度转换子程序 该子程序作用是将温度信号 00H FFH 转换为对应的温度值 以便送显示或 与设定值在相同量纲下进行比较 所用线形标度变换公式为 式中 Ax 实际测量的温度值 Nx 经过 A D 转换的温度量 Am 90 Ao 40 Nm FEH No 01H 单片机运算采用定点数运算 并且在高温区 和低温区分别用程序作矫正处理 3 3 23 3 2 PIDPID 算法子程序算法子程序 系统算法控制采用工业上常用的位置型 PID 数字控制 并且结合特定的系 统加以算法的改进 形成了变速积分 PID 一积分分离 PID 控制相结合的自动识 别的控制算法 该方法不仅大大减小了超调量 而且有效地克服了积分饱和的 影响 使控制精度大大提高 由前面得到的 PID 参数以及以上的方程为 u k q0e k q1e k 1 q2e k 2 由此可以计算出在数字 PID 增量型控制算法的参数 q0 120 q1 240 q2 120 PID 控制算法的流程图如下图 9 进入子程序 计算积分偏差 计算比例偏差 更新e k 1 计算PI控制值 计算不灵敏区的运 算补偿 对输出值进行上限 控制 对输出值进行下限 控制 更新out k 1 返回最终运算结果 图 9 PID 控制算法的流程图 4 4 源程序 源程序代码代码 include include PID h defineAD Data P0 unsigned char ADConvert void sbit AD Start P2 0 sbit AD EOC P2 1 sbit Ctrl P3 4 sbit SW P2 3 sbit outpin P1 0 unsigned char const DisCode 10 0 x3F 0 x06 0 x5B 0 x4F 0 x66 0 x6D 0 x7D 0 x07 0 x7F 0 x6F unsigned char const Statud 10 0 xb7 0 xf8 0 xf3 n t p i d 0 xb0 0 xde unsigned int tep step 300 s ulCycle s uiHighTime s uiLowTime Freq value Scale unsigned long longtemp longtemp1 longtemp2 unsigned char i 0 bit s bStatus 0 unsigned char ADConvert void void display unsigned int num1 unsigned int num2 void delay unsignedintDelayTime void EX init void PWM Set unsigned int uiFreq unsigned char ucScale main unsigned long temp 0 temp1 0 Ctrl 0 EX init initialize pid value while 1 temp ADConvert temp temp 400 256 if temp 360 temp 100 占空比不可能大于 100 return s ulCycle 921600 uiFreq longtemp1 s ulCycle longtemp2 ucScale longtemp 65535 longtemp1 longtemp2 100 s uiHighTime longtemp longtemp 65535 longtemp1 100 longtemp2 100 s uiLowTime longtemp void PWM Tm1ISR void interrupt 1 TR0 0 s bStatus s bStatus 取反标志位 表示该输出高电平或低电平 if s bStatus 输出高电平 TH0 s uiHighTime 8 TL0 s uiHighTime outpin 1 else 输出低电平 TH0 s uiLowTime 8 TL0 s uiLowTime outpin 0 TR0 1 void EX init EA 1 TMOD 0 x11 T0 T1 都使用 16 位定时器 不受外部外部引脚电平控制 ET0 1 ET1 1 EX0 1 IT0 1 EX1 1 IT1 1 TH0 s uiLowTime 8 TL0 s uiLowTime 定时器 0 赋予初值 TR0 1 启动定时器 0 TH1 0 x4b TL1 0 xff 定时 50ms TR1 1 void PID Ctrler void interrupt 3 TH0 0 x4b TL0 0 xff if i 1 i 0 value ypid step tep else i void EX0 int void interrupt 0 if SW step else step 10 void EX1 int void interrupt 2 if SW step else step 10 void display unsigned int num1 unsigned int num2 P2 0 xa0 delay 5 SBUF DisCode num1 100 delay 100 P2 0 x20 delay 5 SBUF DisCode num1 100 10 delay 100 P2 0 xc0 delay 5 SBUF DisCode num1 10 delay 100 P2 0 x40 delay 5 SBUF DisCode num2 100 delay 100 P2 0 x80 delay 5 SBUF DisCode num2 100 10 delay 100 P2 0 x00 delay 5 SBUF DisCode num2 10 delay 100 P2 0 xe0 delay 5 SBUF Statud 0 delay 100 P2 0 x60 delay 5 SBUF Statud 1 delay 100 unsigned char ADConvert void unsigned intVoltage AD Start 0 AD Start 1 AD Start 0 delay 10 Voltage AD Data return Voltage void delay unsignedintDelayTime while DelayTime PID h 函数说明 主要用于 PI 运算通过给定和反馈计算出输出 入口 ifin give 反馈 给定 出口 out 全局变量 lasterror lastout 调用模块 无 int idata lerror1 lastout out max yout 5 lyrk yrk unsigned char xi xp xd unsigned char const UPPER LIMIT 400 char p unsigned int ypid unsigned int give unsigned int feedback int error1 error2 out error1 give feedback 计算积分偏差 error2 error1 lerror1 计算比例偏差 lerror1 error1 更新 e k 1 out lastout error1 xi error2 xp 计算 PI 控制值 if error1 0 out out 计算不灵敏区的运算补偿 else if error1 8 if error1 0 out out 1 else out out 1 else if error1 16 if error1 0 out out 2 else out out 2 if out UPPER LIMIT out UPPER
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科学小鸡和小鸭课件
- 慢阻肺病人护理
- 房屋修缮合同协议书范本4篇
- 康复科中医业务学习
- 龋齿幼儿的护理
- 课件培训导师合作
- 2025年模型鲁棒性分布偏移适应考题(含答案与解析)
- 2025年大模型常识推理能力测试试题(含答案与解析)
- 什么叫服务培训课件
- 离心风机检修课件
- 要素式强制执行申请书(申请执行用)
- 慢性根尖周炎病例汇报
- 2025年秋数学(新)人教版三年级上课件:第1课时 几分之一
- 公司项目谋划管理办法
- 2025年职业指导师考试试卷:职业指导师专业能力
- 小学英语人教版四年级下册 巩固强化练(含答案)
- 防暴器材使用管理办法
- 2025-2026学年粤教粤科版(2024)小学科学二年级上册(全册)教学设计(附目录)
- 钢梁步履式顶推技术规范
- 新建寿县生态陵园(殡仪馆和公墓)规划选址论证、可研报告编制以及初步设
- 岗前安全培训课件
评论
0/150
提交评论