电子信息工程本科毕业设计论文_第1页
电子信息工程本科毕业设计论文_第2页
电子信息工程本科毕业设计论文_第3页
电子信息工程本科毕业设计论文_第4页
电子信息工程本科毕业设计论文_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子信息工程本科毕业设计论文 2007 届专科生毕业设计资料基于单片机的酿酒槽的温度检测与控制学 院系 机电工程系 专 业 电子信息工程 学 生 姓 名 班 级电信0701指导教师姓名 周君芝 最终评定成绩 湖北国土资源职业学院教务处二一年六月制 基于单片机的酿酒槽的温度检测与控制 摘要 课题针对温度控制的特点及实现准确温度控制的意义设计了一种基于单片机的控制系统设计内容包括硬件和软件两个局部硬件电路以AT89S52单片机为微处理器详细设计了温度信号采样电路键盘及显示电路温度控制电路报警电路时钟信号电路软件局部主要对PID算法进行了数学建模和编程PID参数整定采用的是归一参数整定法本设计由键盘

2、电路输入设定温度信号给单片机温度信号采集电路采集现场温度信号给单片机单片机根据输入与反应信号的偏差进行PID计算输出控制信号给温度控制电路实现降温显示电路实现现场温度的实时监控工业生产中温度控制具有单向性时滞性大惯性和时变性的特征要实现温度控制的快速性和准确性对于提高产品质量具有很重要的现实意义本课题针对温度控制的特点及实现准确温度控制的意义设计了一种基于单片机的控制系统设计内容包括硬件和软件两个局部硬件电路以AT89S52单片机为微处理器详细设计了温度信号采样电路键盘及显示电路温度控制电路报警电路时钟信号电路软件局部主要对PID算法进行了数学建模和编程PID参数整定采用的是归一参数整定法本设

3、计由键盘电路输入设定温度信号给单片机温度信号采集电路采集现场温度信号给单片机单片机根据输入与反应信号的偏差进行PID计算输出控制信号给温度控制电路实现降温显示电路实现现场温度的实时监控本系统PID参数整定在MATLAB软件下SIMULINK环境中进行了仿真通过稳定边界法整定得到参数最终系统无稳态误差调节时间为30s无超调量各项指标均满足设计要求本系统实现简单硬件要求不高且能对温度进行时实显示具有控制过程的特殊性本设计提出了一种基于PID算法来实现恒温控制的温度控制系统主要是为了到达生产过程中对温度控制速度快准确性高等特点关键词PID算法 温度控制目录ABSTRACT3第1章 绪论412 方案的

4、论证6com 方案一利用单片机实现酿酒槽的温度控制系统613 设计方案8第2章 酿酒槽温度控制系统硬件设计1021 AT89S52单片机简介1022 温度传感器1223 键盘和显示电路13231 行列式键盘的接口13232行列式键盘的工作原理14233液晶显示的接口14234液晶显示的工作原理1424温度控制电路1625语言报警电路17251 ISD2560工作模式17251 ISD2560的连接图17第3章 酿酒槽温度控制系统软件设计1831 PID调节器控制原理1832 位置式PID算法1933 数字PID参数的整定2034 PID计算程序2235系统相关软件设计28com它部件的软件设计

5、方案28com件设计框图28com的设计29com 主程序的起始地址及初始化29com lcd1602的显示控制29com DS18B20和lcd1602的子程序设计30com理子程序流程图35com理子程序设计36第4章 酿酒槽温度控制的系统调试384 系统调试3842系统的软件调试3843系统的软件与硬件调试的特点38第5章 酿酒槽温度控制的设计总结405设计总结4051 工作总结4052 工作展望40致谢41参考文献42ABSTRACTIndustrial production is a one-way temperature control delay the inertia and

6、time-varying characteristics To achieve the rapid temperature control and accuracy improving the quality of products is a very important practical significance The temperature control issues against the characteristics and achieve precise control of temperature Based on the design of a PID temperatu

7、re control system Design elements include hardware and software in two parts Hardware circuit to AT89S52 MCU for microprocessors for the detailed design of the microcontroller to provide electricity supply circuit Temperature signal sampling circuit keyboard and display circuits such as heating cont

8、rol circuit four circuit module Software major part of the PID algorithm is a mathematical modeling and programming PID tuning parameters are used to a fixed parameter The circuit design of the keyboard input from the set temperature signal to the microcontroller Temperature Signal Acquisition Circu

9、it collect temperature signal to the microcontroller According to SCM input and feedback signal the error for PID the output control signals to the heating control circuit Heating and achieve stop Show circuit scene of the real-time monitoring of temperature The system PID tuning parameters in MATLA

10、B software under SIMULINK environment for the conduct of the simulation By stabilizing the border will be the entire law and parameters the end system without steady-state error and adjust to the 30s no overshoot all targets were met design requirements The system is simple and hardware but also the

11、 real-time temperature with the particularity of the control process The design of a PID algorithm based on the temperature control to achieve the temperature control system the main aim is to achieve the production process for the temperature control speed high accuracy 第1章 绪论11 引言电加热温度控制具有升温单向性大惯性

12、大滞后性和时变性的特点例如其升温单向性是由于电加热的升温保温主要是通过电阻加热降温那么通常是依靠自然冷却当温度一旦超调就无法用控制手段使其降温因而很难用数字方法建立精确的模型并确定参数应用传统的模拟电路控制方法由于电路复杂器件太多往往很难到达理想的控制效果由于无法用精确的数学方法来建立模型并确定参数本设计采用PID控制目前工业自动化水平已成为衡量各行业现代化水平的一个重要标准同时控制理论的开展也经历了经典控制理论现代控制理论和智能控制理论三个阶段智能控制的典型实例是模糊全自动洗衣机等而自动控制系统可分为开环控制系统和闭环控制系统一个控制系统包括控制器传感器变送器执行机构输入输出接口控制器的输出

13、经过输出接口执行机构加在被控系统上控制系统的被控量经过传感器变送器通过输入接口送到控制器不同的控制系统其传感器变送器和执行机构都不一样比方压力控制系统要采用压力传感器而温度控制系统要采用温度传感器目前PID控制及其控制器或智能PID控制器已经很多产品已在工程实际中得到广泛的应用各大公司均开发了具有PID参数自整定功能的智能调节器其中PID调节器参数是自动调节是通过智能化调整或自校正自适应算法来实现有利用PID调节控制实现压力温度流量液位的控制能实现PID控制功能的有PLC和一些PC机传统的PID控制电路结构复杂需配合相应的可控硅控制电路来完成功率的调控针对它具有器件多生产本钱高电路调试复杂的缺

14、点本恒温自动控制系统的设计中应用AT89S52的单片机进行数字PID运算能充分发挥软件系统的灵活性在必要时针对PID算法进行修正使其更加完善固态继电器的功率调节电路极大地简化了执行电路与单片机的接口也变得十分的方便同时只需要更换不同输出功率的固态继电器就可满足不同功率加热系统的需要由于设计的系统对温度动静态指标要求要求不高允许有一定的温度偏差和允许调节的时间较长时最流行控制方法还是继电接触器控制系统假设继电接触器控制系统PID控制器问世至今已有近70年历史它以其简单稳定性好工作可靠调整方便而成为工业控制的主要技术之一当被控对象的和参数不能完全掌握或得不到精确的数学模型时控制理论的其它技术难以采

15、用时系统控制器的和参数必须依靠经验和现场调试来确定应用PID控制技术最为和系统核心图11 方案一的系统总体结构框图温度采集电路以形式将现场温度传至单片机单片机结合现场温度与用户设定的目标温度按照已经编程固化的控制算法计算出实时控制量以此控制量系统运行过程中的各种状态参量均由图13 方案三的系统结构框图13 设计方案 控制模块的选择数字比拟器与模拟控制器相比拟数字比拟器具有以下几个优点 1模拟调节器调节能力有限当控制规律较为复杂时就难以甚至无法实现而数字控制器能实现复杂控制规律的控制 2计算机具有分时控制能力可实现多回路控制 3数字控制器具有灵活性起控制规律可灵活多样可用一台计算机对不同的回路实

16、现不同的控制方式并且修改控制参数或控制方式一般只可改变控制程序即可使用起来简单方便可改善调节品质提高产品的产量和质量 4采用计算机除实现PID数字控制外还能实现监控数据采集数字显示等其他功能综合考虑本设计控制模块采用数字PID调节器对于方案一采用单片机实现恒温控制虽然该方案本钱低可靠性高抗干扰性强但对于系统的动态性能与稳态性能要求较高的场合是不适宜的而对于方案二采用PLC实现恒温控制由于PLC本钱高且PLC是外围系统配置复杂不利于我们的设计由于数字PID调节运算量大只要选择适宜的参数对于温度的控制精度往往能到达较好的效果为了使设计的本钱低抗干扰强系统动态性能与稳态性能好的前提下设计方案的总体结

17、构框图如图13所示通过单片机对偏差进行PID运算输出控制DA转换电路转换成08V电压信号来控制可控硅触发电路从而控制可控硅通断率通过调节加热功率即可到达控制温度恒定的目的图13 设计总体结构框图第2章 酿酒槽温度控制系统硬件设计考虑到尽量降低本钱和防止与复杂的电路此系统所用到的元器件均为常用的电子器件而主控器采用低功耗高性能片内含8k byte可反复檫写的Flash 只读程序器CMOS8位单片机AT89S52温度传感器采用DALLAS公司生产的单总线数字温度传感器DS18B20采用控制端TTL电平即可实现对继电器的开关使用时完全可以用 NPN型三极管接成电压跟随器的形式驱动单片机所需要的5V工

18、作电源是通过220V交流电压通过变压整流稳压滤波得到实时控制的显示器键盘通过单片机来完成键盘扫描与输出动态显示采用具有微功耗外围接口简单精度高工作稳定可靠等优点的ds12887实时时钟芯片考虑到系统对传输速度的要求不高在PCA机上设定和实时显示温度系统配有RS232串行通讯端口下面对硬件电路作具体的设计21 AT89S52单片机简介com AT89S52单片机资源简介有1个专用的键盘显示接口有1个全双工异步串行通信接口有2个16位定时计数器这样1个89S52承当了3个专用接口芯片的工作不仅使本钱大大下降而且优化了硬件结构和软件设计给用户带来许多方便89S52有40个引脚有32个输入端口IO有2

19、个读写口线可以反复插除所以可以降低本钱主要功能特性兼容MCS51指令系统32个双向IO口3个16位可编程定时计数器中断2个串行中断2个外部中断源2个读写中断口线低功耗空闲和掉电模式8k可反复擦写 1000次Flash ROM9256x8 bit内部RAM时钟频率0-24MHz可编程UART串行通道共6个中断源3级加密位软件设置睡眠和唤醒功能口8位双向口线 口8位双向口线口8位双向口线 口8位双向口线ALE 地址锁存控制信号在系统扩展时ALE用于控制把口输出的低8位地址送入锁存器锁存起来以实现低位地址和数据的分时传送此外由于ALE是以六分之一晶振频率的固定频率输出正脉冲因此可作为外部定时脉冲使用

20、 外部程序存储器读选通信号在读外部ROM时 有效 低电平 以实现外部ROM单元的读操作 访问程序存储趋控制信号但信号为低电平时对ROM的读操作限定在外部程序存储器而当信号为高电平时那么对ROM的读操作是从内部程序存储器开始并可延续至外部程序存储器RST 复位信号当输入的复位信号延续2个机器周期以上高电平时即为有效用以完成单片机的复位操作和 外接晶体引线端当使用芯片内部时钟时此二引线端用语外接石英晶体和微调电容当使用外部时钟时用于接外部时钟脉冲信号 地线 5V电源com AT89S52单片机时钟和复位电路时钟电路单片机内部有一个高增益反向放大器输入端为芯片引脚输出端为引脚而在芯片外部和 之间跨接

21、晶体振荡器和微调电容从而构成一个稳定的自激振荡器晶体震荡频率高那么系统的时钟频率也高单片机运行速度也就快但反过来运行速度快对存储器的速度要求就高对印制电路板的工艺要求也高所以这里使用震荡频率为6MHz的石英晶体震荡电路产生的震荡脉冲并不直接是使用而是经分频后再为系统所用震荡脉冲经过二分频后才作为系统的时钟信号在设计电路板时振荡器和电容应尽量靠近单片机以防止干扰需要注意的是电路板时振荡器和电容应尽量安装得与单片机靠近以减小寄生电容的存在更好的保障振荡器稳定可靠的工作电路图如图22所示复位电路单片机的复位电路分上电复位和按键复位两种方式a上电复位 在加电之后通过外部复位电路的电容充电来实现的当的上

22、升时间不超过1ms就可以实现自动上电复位即接通电源就完成了系统的初始化电路原理图RST上的电压必须保证在斯密特触发器的阀值电压以上足够长时间满足复位操作的要求 b 按键复位程序运行出错或操作错误使系统处于死锁状态时为了摆脱困境也需按复位键以重新启动RST引脚是复位信号的输入端复位信号是高电平有效按键复位又分按键脉冲复位图23和按键电平复位电平复位将复位端通过电阻与相连按键脉冲复位是利用RC分电路产生正脉冲来到达复位的 c 注意因为按键脉冲复位是利用RC微分电路产生正脉冲来到达复位的所以电平复位要将复位端通过电阻与相连如复位电路中RC的值选择不当使复位时间过长单片机将处于循环复位状态故本设计采用

23、按键复位22 温度传感器温度测量转换局部是整个系统的数据来源直接影响系统的可靠性传统的温度测量方法是温度传感器例如AD590将测量的温度转换成模拟电信号再经过AD转换器把模拟信号转换成数字信号单片机再对采集的数字信号进行处理3这种模拟数字混合电路实现起来比拟复杂滤波消噪难度大系统稳定性不高鉴于这些考虑本设计采用数字式温度传感器DS18B20DS18B20支持一线总线接口测量温度的范围为-55°C125°C现场温度直接以一线总线的数字式传输大大的提高了系统的抗干扰性DS18B20为3引脚 DQ为数字信号输入输出端GND为电源地VDD为外接供电电源输入端温度采集电路模块如图24

24、所示DSB8B20的3脚接系统中单片机的P14口线用于将采集到的温度送入单片机中处理2脚和3脚之间接一个47K上拉电阻即可完成温度采集局部硬件电路DS18B20内部结构主要由四局部组成64位光刻ROM温度传感器非挥发的温度报警触发器TH和TL配置存放器S18B20中的温度传感器可完成对温度的测量以12位转化为例用16位符号扩展的二进制补码读数形式提供以00625LSB形式表达其中S为符号位Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4MS ByteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS26

25、2524这是12位转化后得到的12位数据存储在18B20的两个8比特的RAM中二进制中的前面5位是符号位如果测得的温度大于0这5位为0只要将测到的数值乘于00625即可得到实际温度如果温度小于0这5位为1测到的数值需要取反加1再乘于00625即可得到实际温度23 键盘和显示电路键盘采用4×4的行列式键盘又叫矩阵式键盘用IO口线组成行列结构按键设置在行列的交点上4×4的行列结构可组成16个键的键盘因此在按键数量较多时可以节省IO口线231 行列式键盘的接口 行列式键盘的接口方法直接接口于单片机的IO口上如图25所示图25 行列式键盘与单片机连接 232行列式键盘的工作原理 键

26、盘设置在行列线的交点上行列线分别连接到按键开关的两端行线通过上拉电阻接5V被拉在高电平状态 对键盘的工作过程可分两步第一步时CPU首先检查键盘上是否欧键按下第二步是再识别是哪一个键按下 检测键盘上有无键按下可采用查询工作方式定时扫描工作方式和中断三种工作方式 233液晶显示的接口 液晶显示的接口方法直接接口于单片机的IO口上如图26所示图25液晶显示与单片机连接234液晶显示的工作原理 显示采用DMC1602A LCM采用标准的14脚接口其中第1脚VSS为地电源第2教VDD接5V正电源第3脚V0为液晶显示器比照度调整端接正电源时比照度最弱接地电源时比照度最高比照度过高时会产生鬼影使用时可以通过

27、一个10K的电位器调整比照度第4脚RS为存放器选择高电平时选择数据存放器低电平时选择指令存放器第5脚RW为读写信号线高电平时进行读操作低电平时进行写操作当RS和RW共同为低电平时可以写入指令或者显示地址当RS为低电平RW为高电平时可以读忙信号当RS为高电平RW为低电平时可以写入数据第6脚E端为始能端当E端由高电平变成低电平时液晶模块执行命令第714脚D0D7为8位双向数据线第516脚空脚1602液晶模块内部的控制器共有11条控制指令如表2所示表21 指令表指 令RSRWD7D6D5D4D3D2D1D0清显示0000000001光标返回000000001置输入模式000000011DS显示开关控

28、制0000001DCB光标和字符移位000001SCRL置功能00000DLNF置字符发生存储器地址00001字符发生存储器地址AGG置数据存储器地址001显示数据存贮器地址ADD读忙标志或地址01BF计数器地址 AC 写数到CGRAM或DDRAM10要写的数从CGRAM或DDRAM读数11读出的数据它的读写操作屏幕和光标的操作都是通过指令编程来实现的指令1清显示指令码01H光标复位到地址00H位置指令2光标复位光标返回到地址00H指令3光标和现实模式设置ID光标移动方向高电平右移低电平左移 S屏幕上所有文字是否左移或右移高电平有效低电平那么无效指令4显示开关控制D控制整体显示的开与关高电平表

29、示开显示低电平表示关显示C控制光标的开与关高电平表示有光标低电平表示无光标 B控制光标是否闪烁高电平闪烁低电平不闪烁指令5光标或显示以为SC高电平时移动显示的文字低电平时移动光标指令6功能设置命令 DL高电平时为4位总线低电平时为8位总线 N低电平时为单行显示高电平双行显示 指令7字符发生器RAM地址设置指令8DDRAM地址设置指令9读忙信号和光标地址 BF为忙标志高电平表示忙此时模块不能接受命令或者数据如果为低电平表示不忙指令10写数据指令11读数据24温度控制电路在控制系统中通过测定温度控制电磁阀进行洒水降温直动式电磁阀 原理通电时电磁线圈产生电磁力把关闭件从阀座上提起阀门翻开断电时电磁力

30、消失弹簧把关闭件压在阀座上阀门关闭特点在真空负压零压时能正常工作但通径一般不超过25mm分布直动式电磁阀 原理 它是一种直动和先导式相结合的原理当入口与出口没有压差时通电后电磁力直接把先导小阀和主阀关闭件依次向上提起阀门翻开当入口与出口到达启动压差时通电后电磁力先导小阀主阀下腔压力上升上腔压力下降从而利用压差把主阀向上推开断电时先导阀利用弹簧力或介质压力推动关闭件向下移动使阀门关闭特点 在零压差或真空高压时亦能可靠动作但功率较大要求必须水平安装先导式电磁阀 原理通电时电磁力把先导孔翻开上腔室压力迅速下降在关闭件周围形成上低下高的压差流体压力推动关闭件向上移动阀门翻开断电时弹簧力把先导孔关闭入口

31、压力通过旁通孔迅速腔室在关阀件周围形成下低上高的压差流体压力推动关闭件向下移动关闭阀门特点 流体压力范围上限较高可任意安装 需定制 但必须满足流体压差条件语音芯片在语音录放系统中的实际应用效果非常好而且编程也比拟简单与其它一些数字语音芯片相比的突出特点是放音效果极佳能够非常真实自然地再现语音音乐音调和效果声另外使用该芯片也可自己设计电路实现录音操作使用十分方便 由于内置了假设干种操作模式因而可用最少的外围器件实现最多的功能操作模式也由地址端控制当最高两位都为时其它地址端置高可选择某个或某几个特定模式因此操作模式和直接寻址相互排斥具体操作模式见表所列操作模式可由微控制器也可由硬件实现使用操作模式

32、要注意两点所有操作最初都是从地址即存储空间的起始端开始后续的操作根据选用的模式可从其它地址开始但是电路由录转放或由放转录模式除外或都执行了掉电周期后地址计数器将复位为当变低且最高两地址位同为高时执行操作模式这种操作模式将一直有效直到再次由高变低芯片重新锁存当前的地址模式端电平并执行相应的操作为止模 式功 能典 型 应 用可组合使用的模式M0信息检索快进入信息M4M5M6M1删除WOM在最后一条信息结束处放EOMM3M4M5M6M2未用保存NAM3循环从0地址连续放音M1M5M6M4连续寻址录放连续的多段信息M0M1M5M5CE电平有效允许暂停M0M1M3M4M6按键模式简化外围电路M0M1M3

33、图31 PID控制系统原理框图PID控制器是一种线性控制器一种它根据给定值rin t 与实际输出值yout t 构成控制偏差Error t rin t -yout t PID控制就是对偏差信号进行比例积分微分运算后形成一种控制规律即控制器的输出为 31或写成传递函数的形式 32左中 kp比例系数Ti积分时间常数T d微分时间常数简单说来PID控制器各校正环节的作用如下5比例环节成比例地反映控制系统的偏差信号error t 偏差一旦产生控制器立即产生控制作用以减小偏差比例控制 Gc s Kp 积分环节主要用于消除静差提高系统的无差度积分作用的强尽弱取决于积分时间常数TiTi越大积分作用越弱反之那

34、么越强积分控制 Gc s KpT is微分环节反偏差信号的变化趋势变化速率并能在偏差信号变得太大之前在系统中引入一个有效的早期修正信号从而加快系统的动作速度减少调节时间微分控制 Gc s KpT ds32 位置式PID算法 根本PID控制器的理想算式为 33 式中u t 控制器 也称调节器 的输出e t 控制器的输入常常是设定值与被控量之差即e t r t -c t Kp控制器的比例放大系数Ti 控制器的积分时间Td控制器的微分时间设u k 为第k次采样时刻控制器的输出值可得离散的PID算式 34 式中 由于计算机的输出u k 直接控制执行机构如阀门u k 的值与执行机构的位置如阀门开度一一对

35、应所以通常称式 2 为位置式PID控制算法位置式PID控制算法的缺点当前采样时刻的输出与过去的各个状态有关计算时要对e k 进行累加运算量大而且控制器的输出u k 对应的是执行机构的实际位置如果计算机出现故障u k 的大幅度变化会引起执行机构位置的大幅度变化33 数字PID参数的整定 PID控制器的参数整定是控制系统设计的核心内容它是根据被控过程的特性确定PID控制器的比例系数积分时间和微分时间的大小PID控制器参数整定的方法很多概括起来有两大类一是理论计算整定法它主要是依据系统的数学模型经过理论计算确定控制器参数这种方法所得到的计算数据未必可以直接用还必须通过工程实际进行调整和修改二是工程整

36、定方法它主要依赖工程经验直接在控制系统的试验中进行且方法简单易于掌握在工程实际中被广泛采用本设计采用PID归一整定法把对控制台三个参数KcTiTd转换为一个参数 从而使问题明显简化以到达控制器的特性与被控过程的特性相匹配满足某种反映控制系统质量的性能指标com 采样周期选择的原那么1根据香农采样定理系统采样频率的下限为fs 2f此时系统可真实地恢复到原来的连续信号 2从执行机构的特性要求来看有时需要输出信号保持一定的宽度采样周期必须大于这一时间3从控制系统的随动和抗干扰的性能来看要求采样周期短些 4从微机的工作量和每个调节回路的计算来看一般要求采样周期大些 5从计算机的精度看过短的采样周期是不

37、适宜的 6当系统滞后占主导地位时应使滞后时间为采样周期的整数倍下表31列出了几种常见的被测参数的采样周期T的经验选择数据可供设计时参考实际上生产过程千差万别经验数据不一定就适宜可用试探法逐步调试确定表31 采样周期的经验数据表10被测参数采用周期Ts备注流量1KpTiTd对系统的性能影响如表33所示表33 KpTi和Td对系统的影响影响KpTiTd稳态性能可以减少静差但不能消除消除静差但不能太大配合比例控制可以减少静差动态性能加快系统速度但会引起震荡太小会不稳定太大会影响性能太大和太小都会引起超调量大过渡时间长34 PID计算程序 PID调节规律的根本输入输出关系可用微分方程表示为 35式中为

38、调节器的输入误差信号且 36其中为给定值为被控变量 为调节器的输出控制信号 为比例系数为积分时间常数微分时间常数计算机只能处理数字信号假设采样周期为T第n次采样的输入误差为且输出为PID算法用的微分由差分代替积分由代替于是得到 37写成递推形式为 38其中 39 310 311 显然PID计算只需要保存现时刻以及以前的两个偏差量和初始化程序初值通过采样并根据参数以及和计算 根据输出控制增量可求出本次控制输出为 312由于电阻炉一般是属于一阶对象和滞后的一阶对象所以式中的选择取决于电阻炉的阶跃响应曲线和实际经验工程上已经积累了不少行之的参数整定方法本设计采用Ziegler-Nichols提出的

39、PID归一调整法调整参数主要是为了减少在线整定参数的数目常常人为假定约束条件以减少独立变量的个数令 313 314 315式中称为临界周期在单纯比例作用下比例增益由小到大是系统产生等幅振荡的比例增益这时的工作周期为临界周期那么可以得到 316式中 02 1258 317从而可以调节的参数只有一个可设计一个调整子程序通过键盘输入改变值改变运行参数使系统满足要求下面对PID运算加以说明所有的数都变成定点纯小数进行处理算式中的各项有正有负以最高位作为符号位最高位为0表示为正数为1表示负数正负数都是补码表示最后的计算以原码输出双精度运算为了保证运算精度把单字节8位输入采样值和给定值都变成双字节16位进

40、行计算最后将运算结果取成高8位有效值输出输出控制量的限幅处理为了便于实现对晶闸管的通断处理PID的输出现在在0都是没有意义的因在算法上对进行限幅即 318PID的计算公式采用位置式算法计算公式为 319PID计算的程序流程图图32所指示而参数内存分配表如表34所列表34 参数内存分配表存储单元符号说明存储单元符号说明3FH高8位38H低8位30H低8位39H高8位31H给定值高8位3AH低8位32H给定值低8位3BH高8位33H高8位3CH低8位34H低8位3DH高8位35H高8位32EH低8位36H低8位3FH高8位37H高8位40H低8位图32 PID计算程序的流程图参照流程图32编写程序

41、程序如下 名称 float PIDprocess1 功能 PID adjust 说明 调用 输入 float xdata Yn float xdata Rn 返回值 deltaPn float PIDprocess1 int data E_0 float data deltaPndeltaPideltaPpdeltaPdPsumCopy E_0 SetTemperature1-CurrentTemperature1 if abs E_0 E deltaPp float Kp E_0-E_11 deltaPd float Kd E_0-2E_11E_21 if deltaPd dPd delta

42、Pd 0 deltaPn deltaPpdeltaPd else if abs E_0 E0 deltaPi float KiE_0 E-abs E_0 E-E0 else 小误差时的处理 deltaPi float KiE_0 if fabs deltaPi dPimin deltaPi 0 deltaPp float Kp E_0-E_11 deltaPd float Kd E_0-2E_11E_21 if deltaPd dPd deltaPd 0 deltaPn deltaPpdeltaPideltaPd if fabs deltaPn dP if deltaPn 0 deltaPn

43、dP else deltaPn -dP Psum1 deltaPn PsumCopy Psum1 if PsumCopy P PsumCopy P if PsumCopy Pmin PsumCopy Pmin E_21 E_11 E_11 E_0 return PsumCopy 名称 float PIDprocess2 功能 PID adjust 说明 调用 输入 float xdata Yn float xdata Rn 返回值 Psum2 float PIDprocess2 int data E_0 float data deltaPndeltaPiPsumCopy E_0 SetTemp

44、erature2-CurrentTemperature2 if abs E_0 E deltaPn float Kp E_0-E_12 float Kd E_0-2E_12E_22 else if abs E_0 E0 deltaPi float KiE_0 E-abs E_0 E-E0 else 小误差时的处理 deltaPi float KiE_0 deltaPn float Kp E_0-E_12 deltaPi float Kd E_0-2E_12E_22 if fabs deltaPn dP if deltaPn 0 deltaPn dP else deltaPn -dP Psum2

45、 deltaPn PsumCopy Psum2 if PsumCopy P PsumCopy P if PsumCopy Pmin PsumCopy Pmin E_22 E_12 E_12 E_0 return PsumCopy 35系统相关软件设计com它部件的软件设计方案1每个模块的程序结构简单任务明确易于编写调试和修改2程序可读行好对程序的修改可局部进行其它局部可以保持不变便于功能扩充3对于使用频繁的子程序可以建立子程序库便于多个模块调用com件设计框图如图33所示图32系统软件设计框图根据设计要求首先要确定软件设计方案即确定该软件应该完成那些功能其次是规划为了完成这些功能需要分成多少个

46、功能模块以及每一个程序模块的具体任务是什嫫一般划分模块应遵循下述原那么1每个模块应具有独立的功能能产生一个明确的结果 2模块之间的控制参数应尽量简单数据参数应尽量少控制参数是指模块进入和退出的条件及方式数据参数是指模块间的信息交换方式交换量的多少及交换的频繁程度3模块长度要适中模块太长时分析和调试比拟困难失去了模块化程序结构的优越性模块太短那么信息交换太频繁也不适宜com的设计 主程序的设计内容一般包括主程序的起始地址中断效劳程序的起始地址有关存储单元及相关部件的初始化和一些子程序调用等等com 主程序的起始地址及初始化 MCS-51系列单片机复位后PC 0000H而0003H002BH分别为

47、各中断源的入口地址所以编程时应在0000H处写一条跳转指令 com lcd1602的显示控制显示屏的具体工作原理见流程图35所示图33显示程序设计框图com DS18B20和lcd1602的子程序设计DS18B20和lcd1602一起的c程序设计如下include define uchar unsigned chardefine uint unsigned intsbit DQ P37ds18b20与单片机连接口sbit RS P30sbit RW P31sbit EN P32unsigned char code str1 "temperature " unsigned c

48、har code str2 " " uchar data disdata5uint tvalue温度值uchar tflag温度正负标志lcd1602程序void delay1ms unsigned int ms 延时1毫秒不够精确的 unsigned int ij for i 0i msi for j 0j 100j void wr_com unsigned char com 写指令 delay1ms 1 RS 0 RW 0 EN 0 P2 com delay1ms 1 EN 1 delay1ms 1 EN 0 void wr_dat unsigned char dat

49、写数据 delay1ms 1 RS 1 RW 0 EN 0 P2 dat delay1ms 1 EN 1 delay1ms 1 EN 0 void lcd_init 初始化设置 delay1ms 15 wr_com 0x38 delay1ms 5 wr_com 0x08 delay1ms 5 wr_com 0x01 delay1ms 5 wr_com 0x06 delay1ms 5 wr_com 0x0c delay1ms 5 void display unsigned char p 显示 while p 0 wr_dat p pdelay1ms 1 init_play 初始化显示 lcd_i

50、nit wr_com 0x80 display str1 wr_com 0xc0 display str2 ds1820程序void delay_18B20 unsigned int i 延时1微秒 while i- void ds1820rst ds1820复位 unsigned char x 0DQ 1 DQ复位delay_18B20 4 延时DQ 0 DQ拉低delay_18B20 100 精确延时大于480usDQ 1 拉高delay_18B20 40 uchar ds1820rd 读数据 unsigned char i 0unsigned char dat 0for i 8i 0i- DQ 0 给脉冲信号 dat 1 DQ 1 给脉冲信号 if DQ dat 0x80 delay_18B20 10 return dat void ds1820wr uchar wdata 写数据 unsigned char i 0 for i 8 i 0 i- DQ 0 DQ wdata0x01 delay_18B20 10 DQ 1 wdata 1 read_temp 读取温度值并转换 uchar abds1820rst ds1820wr 0xcc 跳过读序列号ds1820wr 0x44 启动温度转换ds1820rst ds1820wr 0xc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论