




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专业实验设计报告 第41页专业综合实验基于单片机的液位控制设计报告专 业:动力与机械学院自动化 班 级: 07412 姓 名: 石聪 学 号: 200731470066 指导教师: 张世荣 陈正 张荣 摘要随着科技的进步,工业自动控制化水平不断提高。而基于单片机的控制系统,以其简单,方便,性价比高,稳定性好等优点,被广泛应用于工业制造中的控制系统中。本文正是基于51单片机而制作的液位自动控制系统。首先我们学习了单片机控制的相关原理,在此基础上利用Altium Designer软件制作出原理图并根据其生成PCB板。制版之后将元件焊接至其上,并烧入测试程序测试通过,完成了硬件的制作。其次我们通过微
2、机控制原理的学习,学习单片机的通信和控制方式,并通过Keil软件的学习熟练掌握基于C语言的单片机程序的编制方法。在对单片机的通信,AD转换,显示,发送数据过程学习之后,掌握了单片机编程和基本的控制方法。然后我们根据液位系统过程机理,建立了单容水箱的液位控制基本模型。利用增量式PID算法编制液位控制程序。之后我们通过对PID参数的优化,最终实现对单容水箱的液位控制。良好的用户操作界面和人机接口是一个完善的控制系统必不可少的。为此我们在实现单片机控制的基础上,设计了单片机与计算机之间的通讯和界面操作软件。通过组态王软件编制实现了一个直观的人机接口,便于控制人员操作以及监控。关键字:51单片机 液位
3、控制程序 PID算法 目录1绪论51.1单片机的背景51.2单片机的优势以及应用52实验任务分析62.1实验目的62.2实验相关内容62.3实验指标要求72.4实验系统分析73硬件设计及电路板绘制73.1Altium Designer的简介73.1.1绘制原理图83.1.2绘制PCB板83.2PCB板子总设计83.2.1STC12C5A16S2单片机以及连线93.2.2温度采样电路103.2.3液位采样电路103.2.4PWM输出模块电路113.2.5MAX232通讯电路113.2.6按键扫描电路123.2.7LED显示电路133.2.8USB转串口通讯电路143.2.9电源模块电路设计153
4、.2.10A/D转换电路153.2.11D/A转换外围电路163.2.12单片机的数据输出外围电路163.2.13报警电路173.2.14串口通信电路173.2.15电源开关电路183.2.16电压变换电路183.3生成的pcb图194电路板元件的焊接194.1焊接工具194.2焊前处理204.3焊接方法技巧204.3.1正确使用电烙铁204.3.2元件焊接顺序204.3.3手工焊接元件方法经验214.4检测与程序测试215系统软件设计225.1编程软件介绍235.2系统控制软件设计245.3显示模块255.4按键处理模块265.5液位采集模块285.6PWM输出模块285.6.1模拟PID调
5、节器原理285.6.2数字PID控制算法295.6.3具体输出实现295.7通信模块315.8温度传感器设计18B20326人机交互软件设计326.1监控软件Kingview简介326.2应用程序项目的建立346.3组态王软件与单片机之间的通讯376.4应用组态王建立系统控制平台377系统仿真调试397.1硬件调试397.2软件调试397.3联机调试398实验总结409参考文献1-4411 绪论1.1 单片机的背景单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括
6、显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。1.2 单片机的优势以及应用单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中
7、都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机渗透到我们生活的各个领域,导弹的导航装置,飞机上各种仪表的控制,计算机的通讯网络与数据传输,工业自动化过程的实时控制和数据处理,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等。总而言之单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设
8、备的智能化管理及过程控制等领域。 2 实验任务分析2.1 实验目的过程控制是自动技术的重要应用领域,它是指对液位、温度、流量等过程变量进行控制,随着科学技术日益发展,工业生产由手动到手/自动切换,再到全自动,提高生产效率,保证生产安全。而水位控制系统在发电、化工、造纸、食品等领域以及日常生活中应用非常广泛,典型的工业应用包括自动控制水箱、水槽、锅炉等容器中的蓄水量,日常生活中涉及到自动电热水器、电开水机的自动进水控制。虽然各种水位控制的技术要求不同,精度不同,但其基本的控制原理都是相同的,一般都是基于反馈的控制系统,不同的液位控制系统的区别主要在于液位的检测方式、反馈的形式以及控制器和执行器的
9、选择上。本水箱液位控制系统由水箱主体、检测元件、变频器及交流电机等组成,是一套闭环的控制系统。通过液位传感器采集水箱的液位高度,再将传感器采集到的液位高度送到单片机,在单片机内部通过A/D转换,将模拟量转变成数字量,转换出的模拟量就是水箱的实际液位。接着,一方面将水箱液位实时地显示出来,另一方面,与设定值进行比较,然后再根据差值算出调节量,改变交流电机的转速,从而达到控制水箱液位的稳定,实现水箱液位自动控制、与上位机的通信、开关量输入输出、报警控制、温度测量与显示等功能。2.2 实验相关内容研究单容水箱液位控制系统要实现的功能,学习Altium Designer、KeilC、组态王等软件。运用
10、Altium Designer绘制实验的原理图,根据原理图绘制PCB板,并且完成PCB板的制作。运用KielC完成算法程序,进行PID整定,实现液位控制等多种功能。并且运用组态王软件实现了与上位机通讯,形成了一个直观、实时,有效、可靠的人机接口,提供一个友好的界面。l 学习并掌握单片机的具体应用方法,能够独自开发设计简单的控制系统。l 熟练掌握PID控制方法,理解PID各个参数对控制效果的影响,并了解常规PID算法缺点及改进方法。l 学习并掌握有关电路设计软件,能够熟练使用Protel软件绘制电路原理图、电路板,学习使用仿真软件Multisium,能够对单元电路进行仿真,减少系统设计时间。l
11、学习并掌握C51单片机程序的编写,能够使用Keil工具来进行单片机系统的开发和调试。l 学习使用监控组态软件组态王Kingview,能够实现绘制监控画面、动画显示2.3 实验指标要求1) 控制设备的状态、进行报警等功能。2) 基于STC12C5A16S2单片机的控制电机带动抽水机工作,保持液位到达设定的高度,具体要求如下:3) 通电时,系统自检,所有灯亮,LED均显示为零。4) 液位控制有手动和自动两种工作模式,能够实现手动/自动的勿扰切换。5) 水箱的液位可以设置,能够实现液位跟踪设定值的变化,液位控制误差=1mm。6) 实时显示当前的水位值,显示精度为1mm。7) 系统能够通过组态王软件与
12、上位机进行实时通讯,将相关的参数反映到组态王相应的液位控制工程中。8) 液位自动控制时使用PID控制算法,相关参数可以在上位机中设置。9) 水箱的液位通过抽水机加水来改变,最高液位为1000mm。2.4 实验系统分析本系统的被控对象为单容水箱,被调量为单容水箱的水位。测量变送器为CY3011A型水位传感器,用于测量水位,DV707型交流变频器和水泵作为执行机构,控制器是STC12C5A16S2可编程控制器。另外,系统的其它组成设备还有水箱、阀门、管道。图1. 基于STC12C5A16S2单片机控制水箱框图3 硬件设计及电路板绘制3.1 Altium Designer的简介Altium(前称Pr
13、otel International Limited)有限公司由Nick Matrin于1985年在塔斯马尼亚岛的霍巴特成立,用来开发基于计算机的软件来辅助进行印制电路板(PCB)设计。公司所推出的第一套DOS版本PCB设计工具被澳大利亚电子行业广泛接受,到1986年中期,Altium公司开始通过销售商向美国和欧洲出口设计包。随着PCB设计包的成功,Altium开始扩大产品范围,所生产的产品包括原理图输入、PCB自动布线以及自动PCB元件布局软件。3.1.1 绘制原理图 l Step1:在DXP主页面下用鼠标左键点击PCB Project,左边的工程资源管理器中就出现了一个PCB 工程,l S
14、tep2:在项目名称上添加了一个新的原理图文件Sheet.schDoc。l 点击Libraries,打开库文件,在库文件的面板里左键点击Libraries可以对当前使用的库文件进行添加,移出和排序。l Step3:接下来,要从元器件库中拖出我们需要的元器件,用线把它们了连起来,完成原理图设计。l Step4:从元器件库选中需要的元器件,用线或总线把它们连起来,并且给所有的元器件加上相应的标号, 保存完成原理图设计。对器件要有相应的封装。l Step5:完成原理图设计后,左键点击原理图名称,在引出的菜单中左键点击 Compile Document对这个原理图文件进行编译,如果有什么错误信息就会自
15、动启动消息窗口,来提示用户那里有什么样的错误。经检查没有错误后,保存原理图。3.1.2 绘制PCB板l Step1:在项目上添加了一个新的PCB文件PCB1.PcbDoc。l Step2:点击Complie PCB Project编译整个PCB工程。l Step3:打开这个PCB文件 ,左键点击 Board Shape命令,移动鼠标,这个十字交叉就会跟着移动,用这个光标在背景上画出一个封闭的曲线,这个曲线内部部分就是定义的PCB板。 l Step4:在当前的PCB编辑器环境下,缩小PCB画面,可以发现元器件已被加载到当前的PCB文件中。把这个空间中的器件一起移动PCB板上,放到合适的位置,这个
16、空间的大小可以修改,也可以删除这个空间。l Step5:接下来,我们逐一对器件位置进行调整。我们可以采取用鼠标左键在器件上按住不放,移动鼠标来拖动这个器件到合适的位置。可以在鼠标拖动元件时按空格键改变元件的方向。l Step6:左键点击Place,当光标上就出现一个十字交叉,这时,左键点击某个管脚,直线移动鼠标,就可以布出线来,连续左键点击,就可布出拐弯的曲线来,直到另一个管脚,双击左键,完成一条网络布线。3.2 PCB板子总设计根据图1,可以设计出基于STC12C5A16S2单片机的液位控制系统电路原理图,系统由STC12C5A16S2单片机、液位和温度采样电路、PWM控制波输出电路、MAX
17、232通讯电路(预留但不使用)、按键扫描电路、LED显示电路、USB转串口通讯电路组成。各部分的组成及功能如下所示。图2. PCB板原理图3.2.1 STC12C5A16S2单片机以及连线本实验选用STC12C5A16S2单片机,STC系列单片机是宏晶科技设计生产的一款新型单片机。与传统的单片机相比,具有价格低、运算速度快、功耗低、功能强的优点。指令代码完全兼容8051,但由于采用单时钟方式,运算速度快8-12倍。内部集成高可靠复位电路,针对高速通信、智能控制、强干扰场合。单片机电路(见图2-1),选用频率为16MHz的晶振,分别接单片的18和19引脚,接地电容选用20pF。单片机复位引脚(R
18、eset)是第9脚,当此引脚连接高电平超过两个机器周期(1个机器周期包含12个时钟脉冲),即可产生复位动作。单片机的存储器设置是通过31引脚来实现的,由于STC12C5A16S2带有内部存储器,因此要将31引脚接VCC。该单片机通过keilC编程,然后通过STC-ISP将编译的.hex文件下载到单片机内。图3. 单片机电路原理图3.2.2 温度采样电路温度采样电路使用的是18B20温度传感器,传感器插入3口排线P3,通过引线与单片机21引脚连接,从而将温度传感器测得的模拟量送入单片机。该电路还包括两路开关量输入,通过TLP-2实现光电隔离。同时,电路中还有一路信号用于驱动B1蜂鸣器,用于报警或
19、者进行声音提示。图4. 温度采样电路设计3.2.3 液位采样电路液位采样电路使用的是液位传感器,但是设计时预留了两路信号输入,一路是用于内部带电源的传感器,一路是用于内部不带电源的传感器。我们使用的是J1接线口的1、2引脚,分别接传感器的两根引线,然后通过引脚分别接24V和地线,测得的电压值通过ADC1接到单片机的1引脚进行AD转换。该电路还包括一路用于液位转换测试的电路,滑动变阻器R21的3个管脚分别接5V电源、ADC7、地,通过改变滑动变阻器的阻值,可以调用测试程序看得到的AD值是否变化,如果变化则相关电路工作正常。图5. 单片机液位采样电路3.2.4 PWM输出模块电路PWM输出模块电路
20、(见图2-3)共包括两路开关量输出,实验中我们只需使用一路即可控制一台变频器,我们使用CPP1开关量输出,单片机的5号引脚输出CPP1控制信号,经过运算放大器的信号处理后接到变频器的一根信号线上,即J5的1号管脚,变频器的另一根信号线上J5的2号管脚,从而接地。图6. PWM控制波输出电路原理图3.2.5 MAX232通讯电路MAX232通讯电路(见图2-4)由MAX232芯片和232串口组成,232串口是9脚的,但是实际只使用其中的3个引脚,分别是2脚TXD、3脚RXD、5脚地,单片机输出的TTL电平通过MAX232芯片转换成232电平之后就可以通过232串口进行传输了。图7. 单片机MAX
21、232通讯电路原理图3.2.6 按键扫描电路按键扫描电路(见图2-5)主要由按键和上拉电阻组成,6个按键分别单片机的3934引脚,按键未按下时,各按键的所接的引脚均为高电平,当按键被按下时所接的引脚变为低电平,从而单片机只需定时的扫描各引脚的电平状态即可知道哪些按键被按下了。电路还包括了4个LED指示灯,方便编程时用于指示哪些按键被按下了,也能使得操作更加直观。根据功能的需要各按键的功能分配如下:l 按键AJ1:显示温度值l 按键AJ2:显示液位ad值l 按键AJ3:显示液位值l 按键AJ4:手动/自动切换l 按键AJ5:给定液位值增1(Auto)、控制量增1(Manner)l 按键AJ6:给
22、定液位值减1(Auto)、控制量减1(Manner)图8. 单片机按键电路原理图3.2.7 LED显示电路LED显示电路(见图2-6),利用单片机14、15引脚外接移位寄存器74LS164,采用4位静态LED数码显示器。通过按键的选择可以分别显示测量的温度值、测量的液位值和给定的液位值,其中第一位为英文字母,A表示温度,b表示测量的液位ad值,C表示自动控制时的控制量,d表示手动控制时的控制量,E表示实际液位值,F表示给定的液位值,后三位显示相应的数值。图9. 74LS164驱动电路使用单片机的2个端口P3.4、P3.5,配以4片串入并出移位寄存器74LS164。其中74LS164的引脚Q0Q
23、7为8位并行输出端,为8段数码管提供单独锁存的I/O接口;引脚A、B为串行输入端,接收从单片机P3.5口送来的数据DATA;引脚CLK与单片机 P3.4相连接,为时钟脉冲输入端;引脚与VCC相连,在时,74LS164锁存数据。图10. 单片机显示电路原理图3.2.8 USB转串口通讯电路USB转串口通讯电路(见图2-7)是由串行接口1470156和USB转串口芯片PL2303组成的。PL2303的高兼容驱动可在大多操作系统上模拟成传统COM端口,并允许基于COM端口应用可方便地转换成USB接口应用,通讯波特率高达6Mb/s。在工作模式和休眠模式时都具有功耗低,是嵌入式系统手持设备的理想选择。该
24、期间具有以下特征:完全兼容USB1.1协议;可调节的3-5V输出电压,满足3V、3.3V和5V不同应用需求;支持完整的RS232接口,可编程设置的波特率:75b/s6Mb/s,并为外部串行接口提供电源,512字节可调的双向数据缓存;支持默认的ROm和外部EEPROM存储设备配置信息,具有I2C总线接口,支持从外部MODEM信号远程唤醒;支持Windows98,WindowsXP等操作系统;28引脚的SOIC封装。工作原理:单片机和电脑进行数据通讯时,通过10、11引脚接收和发送数据,连接到PL2302的1、5引脚,然后通过PL2302的转换,再通过PL2302的15、16引脚通过连接线传输给电
25、脑,PL2302的27、28引脚主要用于产生采用modbus通讯所需的波特率。P5的8个引脚则是用于处理各种信号之间的连接管理。J4是系统和电脑连接的接口,1引脚接USB供电电压5V,2、3引脚连接USB通讯线路,4号引脚接地。图11. 单片机USB转串口通讯电路原理图3.2.9 电源模块电路设计电源电路由DC-DC模块、滤波电路组成,串口线提供的+5V直流电通过DC-DC模块可以转变为+24V的直流电,用于驱动变频器,从而实现系统所有器件的供电均由计算机的USB接口提供。图中的插座P6上接通的是带锁开关,用来系统控制电源的通断,用PLED1的亮灭状态来指示。图12. 单片机电源模块电路设计原
26、理图3.2.10 A/D转换电路图13. AD转换以及电路STC12C5A16S2系列单片机内部有集成的ADC。图13中当J2外接液位传感器,当线V24接入24V电压且P1、P7闭合时,电路闭合,液位传感器将水箱实际液位转化为520mA电流输出,经过200欧电阻R18转化为电压信号,经过ADC0输入单片机。电位器R21用于产生不同电压值,通过ADC7输入单片机,用于测试。3.2.11 D/A转换外围电路图14. D/A转换器外围电路STC12C5A16S2系列单片机的PCA模块可以通过程序设定,使其工作于8位PWM模式,可用作DAC。经过D/A转换后的模拟电流量从单片机引脚PWM2出来,经过器
27、件运算放大器U10来提高对连接在插座J5上的变频器的驱动能力。3.2.12 单片机的数据输出外围电路图15. 数据输出外围电路TLP-2是一个二路光耦隔离器,特性是当1、2(或3、4)导通,则5、6(或7、8)导通。起隔离保护电路的作用。3.2.13 报警电路图16. 报警电路构成一个报警电路。当单片机的引脚SOUND输出是0时,驱动三极管Q1,当跳线S1闭合,蜂鸣器B1报警;当SOUND=1时,三极管驱动电路不工作,B1不报警。3.2.14 串口通信电路图17. 串口通讯电路图通过P5与STC12C5A16S2单片机相连接,用于电平转换以及下载程序,也可以用来和上位机进行通讯。J8是一个接口
28、,可以用来将MAX232同外界相连接。3.2.15 电源开关电路图18. 电源开关电路图中的插座P6上接通的是带锁开关,用来系统控制电源的通断,用PLED1的亮灭状态来指示。3.2.16 电压变换电路图19. 电压变换电路通过DC-DC电路将5V电压转化为24V电压,给液位传感器提供电压。3.3 生成的pcb图图20. 生成pcb图4 电路板元件的焊接在制作电路板中,元器件的连接处需要焊接。焊接的质量对制作的质量影响极大。所以,学习电于制作技术,必须掌握焊接技术,练好焊接基本功。4.1 焊接工具电烙铁:电烙铁是最常用的焊接工具。我们使用20W内热式电烙铁。新烙铁使用前,通电烧热,蘸上松香后用烙
29、铁头刃面接触焊锡丝,使烙铁头上均匀地镀上一层锡。这样做,可以便于焊接和防止烙铁头表面氧化。旧的烙铁头如严重氧化而发黑,可用钢挫挫去表层氧化物,使其露出金属光泽后,重新镀锡,才能使用。电烙铁要用220V交流电源,使用时要特别注意安全。应认真做到以下几点:l 电烙铁插头最好使用三极插头。要使外壳妥善接地。l 使用前,应认真检查电源插头、电源线有无损坏。并检查烙铁头是否松动。l 电烙铁使用中,不能用力敲击。要防止跌落。烙铁头上焊锡过多时,可用布擦掉。不可乱甩,以防烫伤他人。l 焊接过程中,烙铁不能到处乱放。不焊时,应放在烙铁架上。注意电源线不可搭在烙铁头上,以防烫坏绝缘层而发生事故。l 使用结束后,
30、应及时切断电源,拔下电源插头。冷却后,再将电烙铁收回工具箱。焊锡和助焊剂:焊接时,还需要焊锡和助焊剂。l 焊锡。焊接电子元件,一般采用有松香芯的焊锡丝。这种焊锡丝,熔点较低,而且内含松香助焊剂,使用极为方便。l 助焊剂。常用的助焊剂是松香或松香水(将松香溶于酒精中)。使用助焊剂,可以帮助清除金属表面的氧化物,利于焊接,又可保护烙铁头。焊接较大元件或导线时,也可采用焊锡膏。但它有一定腐蚀性,焊接后应及时清除残留物。辅助工具:为了方便焊接操作常采用尖嘴钳、偏口钳、镊子和小刀等做为辅助工具。同学们应学会正确使用这些工具。4.2 焊前处理l 除去氧化层:焊接前,应对元件引脚或电路板的焊接部位进行焊前处
31、理清除焊接部位的氧化层,印刷电路板可用细纱纸将铜箔打光后,涂上一层松香酒精溶液。l 元件镀锡:在刮净的引线上镀锡。可将引线蘸一下松香酒精溶液后,将带锡的热烙铁头压在引线上,并转动引线。即可使引线均匀地镀上一层很薄的锡层。导线焊接前,应将绝缘外皮剥去,再经过上面两项处理,才能正式焊接。若是多股金属丝的导线,打光后应先拧在一起,然后再镀锡。4.3 焊接方法技巧4.3.1 正确使用电烙铁 1) 电烙铁使用前要上锡,具体方法是:将电烙铁烧热,待刚刚能熔化焊锡时,涂上助焊剂,再用焊锡均匀地涂在烙铁头上,使烙铁头均匀的吃上一层锡。2) 焊接时间不宜过长,否则容易烫坏元件,必要时可用镊子夹住管脚帮助散热。3
32、) 焊接完成后,要用酒精把线路板上残余的助焊剂清洗干净,以防炭化后的助焊剂影响电路正常工作。4) 电烙铁应放在烙铁架上。4.3.2 元件焊接顺序l 先难后易,先低后高,先贴片后插装。l 宗旨:焊接方便,节省时间。l 先焊接难度大的,这主要是指管脚密集的贴片式集成芯片。如果把这些难度大的放于最后焊接,一旦焊接失败把焊盘搞坏,那就会前功尽弃。l 先低后高,先贴片后插装。这样焊接起来方便。如先把高的元件焊接了,有可能妨碍其他元件的焊接,尤其是高大的元件密集众多的时候。如果先焊接插装的元件,电路板就会在焊台上放不平,影响焊接心情。4.3.3 手工焊接元件方法经验首先在干净的焊盘上涂上一层助焊剂,再用干
33、净的恒温电烙铁往焊盘上薄薄一层焊锡(一般电路板制作的时候都已上好锡,不过有时手工上锡还是非常必要的),把元件放置上去对准,上锡固定好对角,然后随意挑一边用烙铁垂直引脚出线方向较缓滑过,同时稍用力下压元件这条边;然后就同样方法焊对边;然后就另外两边。最后检查,不好的地方重新焊过。焊接时电烙铁温度要适中,一般400度左右为好。检查方法:首先目测,然后用尖细的东西检查每个引脚是否松动,最后可用万用表测量。如果两管脚之间短路可涂上些助焊剂,趁酒精尚未挥发之际拿烙铁再烫一次就好了(烙铁头一定得弄干净了)。 4.4 检测与程序测试板子焊接好了以后,可以通过烧入老师给的测试程序检测板子是否焊接牢固。我们实验
34、时遇到的问题以及解决方法为:l 连接pc机时显示无法识别电脑需要安装PL2303串口驱动程序。若还是无法识别,则表示PL2303这个元件没有焊接好,出现了虚焊。可以用风枪将元件取下后重新焊接。l 8断数码管显示不全 用手指按压数码管,看看是不是引脚没有插好。若还是显示不全,则为74Ls164译码器没有焊接好,重新焊接。l 按键测试 逐个检查按键,看是否有问题,是否反应灵敏。若按键无反应,检查相应的管脚,看是否焊接牢固。5 系统软件设计本实验中,系统软件的设计开发均在Windows环境下进行。应用组态王6.51建立上位机实时监控界面,实现人机交互;利用上位机编程软件Keil uVision 2对
35、控制器单片机完成模块的初始化、数据交换、数字PID控制算法等功能。在整个控制过程中,通过modbus通信协议实现上位机、下位机和现场设备的数据交换。系统软件设计时,首先必须对确定的软件任务和要求进行仔细的分析、明确,进一步具体化,对计算机资源进行具体分配。例如,各个功能部件的口地址;P1 I/O口的功能分配;定时器/计数器、中断源、数据存储单元等的功能分配;数据结构、设计的各种算法等,都应通过研究确定下来。确定软件结构之后,划分程序模块,画出系统软件整体结构框图如图21所示,下面将分别从系统控制软件和系统监控软件两方面来进行系统设计。图21. 系统软件设计结构框图5.1 编程软件介绍对于单片机
36、的编程,我们有多种选择,其中,比较通用的有两种,一种是汇编语言,另一种是C51语言。在单片机系统中,尽管有些单片机也配置了简易高级语言,但是应用最广泛的还是汇编语言。这是因为汇编语言源程序结构紧凑,灵活,会变成德目标程序有效率高,占用内存储空间少,运行速度快和实时性强等特点,适合实施测控等应用领域的要求。由于汇编语言面向机器,因而有应用软件(源程序)不能移植,缺乏通用性,编程繁琐等缺点。而C语言是一种编译型程序设计语言,既有高级语言具有的库函数丰富,语法限制少,可读性强,移植好等优点,还有汇编语言具有的面向硬件操作,木匾代码质量高等长处。此外,其他模块化的程序结构也为软件的开发提供了极大的方便
37、。本实验选用C语言对程序进行设计,编程软件选用Keil uVersion2,此款软件是KeilSoftware公司推出的uVision3是一款可用于多种8051MCU的集成开发环境(IDE),除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision2还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision2提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编
38、译器的功能不断增强,更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。5.2 系统控制软件设计 5.2.1 控制系统总体分析本控制系统设计任务如下:采用闭环负反馈形式,STC12C5A16S2单片机是整个控制的核心。外部模拟量通过测量变送器传入单片机内部进行A/D转换,与给定值比较得出偏差,送入PID控制算法进行自动控制,显示出当前水位状态。同时可对PID算法进行参数整定,找出最优算法。PID输出量以一定的换算关系转换为电机
39、频率增量,驱动电机,从而实现对水位的控制。同时,STC单片机还有一个特定的温度测量输入引脚DS18B20,可以对温度进行显示。显示器采用编程简单应用广泛的7位LED数码管作为数据显示,同时贴片式LCD配合显示当前控制状态。此外,还可通过设置水位的上下限,对危险情况进行报警。软件设计是硬件功能实现的基础,硬件模块的设计是软件设计的依据。通过分析控制系统设计任务,我们给出系统功能要求与拟定实现措施。系统功能要求 l 水位给定值。通过LED显示水位给定值,同时可通过键盘进行手动增、减。l LCD灯。各种状态的切换可通过LCD灯亮、暗的组合表示。l 水位测量值。经测量变送器(压力传感器)输入单片机,与
40、给定液位比较,产生偏差,经过PID运算,输出量对电机转速进行控制。l 报警。除了在程序运行中,水位超过上、下限进行报警外,程序启动前也可启动报警电路,检测蜂鸣器的状态。l 温度显示。读取温度传感器数值,并显示当前温度。l 通信。与PC机通信,可接受键盘输入,发什么收什么。实现具体措施l 6个按键,分别实现设置、加一、减一、显示温度、手/自动切换、运行六种不同的功能。 l 4个贴片式LCD分别对应着水位、温度、手动和自动四种模式。l 编写PID算法,实现对水位测量值的控制,主要是通过改变PWM的占空比实现的。l 设置最大与最小水位值,防止水位超限。l 通过对18B20引脚功能操作,进行温度显示。
41、l 设置上位机通信CRC高位字节值表与低位字节值表,实现modbus通信。整个液位控制系统主要分为按键处理模块,水位控制模块,通信模块,显示模块。下面具体来介绍各个模块的控制流程图和主要程序的编写。5.3 显示模块显示模块程序图22. 显示模块流程图单片机上焊接4个8为LED数码管,因此,全局变量A4用来存储要显示的内容。通过循环,将数组A4中的内容显示到数码管上即可。5.4 按键处理模块1) 对按键进行延时去抖动。2) 判断按键地址,根据按键的识别分别转向不同的功能实现函数。其中,0xfe,0xfd,0xfb,0xf7,0xef,0xdf分别为六个按键的地址码。分别对应着设置,加一,减一,显
42、示温度,手自动切换,运行,六种模式。当按下不同的按键,则取执行相应的功能。图23. 按键处理流程图5.5 液位采集模块液位采集程序要实现的功能是实时读取AD转换的数值,并将该结果送给PID函数进行计算。5.6 PWM输出模块5.6.1 模拟PID调节器原理按偏差的比例、积分、微分进行控制的调节器简称PID调节器。这种调节器将设定值与实际输出值进行比较构成偏差:并将其比例、积分、微分通过线性组合构成控制量。对于本系统设定值即为水位给定值,实际值为水位传感器测量的实际液位,控制量为变频器输出。结构如图24所示。图24. 模拟PID控制结构图PID调节器中的比例作用是对偏差即时反应,减小偏差;积分的
43、作用主要是消除静差,实现无差调节;微分的作用主要是加快系统的响应。PID调节器的控制规律为:l 比例系数,l 积分时间l 微分时间l 偏差l 为控制量。5.6.2 数字PID控制算法在计算机控制系统中,PID控制规律的实现必须用数值逼近的方法。当采样周期足够小时,我们可以用求和代替积分、用向后差分代替微分,使模拟PID离散化为差分方程。数字PID位置型控制算式为,可知位置型控制算式要累加所有的偏差,这不仅要占用较多的存储单元,而且不便于程序的编写,使用不够方便。本实验采用的数字PID增量型控制算式为式中:,。5.6.3 具体输出实现首先STC12C5A16S2单片机的A/D转换模块从外界测量变
44、送器处得到水位模拟量输入电压,然后,A/D转换模块把被控对象的各种模拟信息编程计算机可以识别的数字信息。其中,变量lu指定A/D转换模块输入路数,变量cnum则指定A/D转换模块的采样平均次数。然后,令ADC_CONTR=i;启动AD转换,等待ADC_FLAG标志,A/D转换结束。图25. 水位控制流程图当手动控制标志manb置0时,即启动PID自动控制。程序采用两种PID控制算法,当偏差为超限时,采用理想PID控制算法,当偏差e超过积分分离阈值时(设100)则采用积分分离算法。水位控制程序如下:5.7 通信模块图26. 通讯模块流程图程序如下:CRC(循环冗余校验)是网络数据封包或电脑档案等
45、数据产生简短固定位数校验码的一种散列函数,主要用来检测或校验数据传输或者保存后可能出现的错误。生成的数字在传输或者储存之前计算出来并且附加到数据后面,然后接收方进行检验确定数据是否发生变化。然后,设置变量如下:采用中断查询方法,当中断标志TI或RI为1时,即进行写寄存器处理或者读寄存器处理。同时,通过rece_ok 和txd_ok可检测通信是否结束。当通信结束时,通过调用显示模块,将结果显示在8为LED数码管上。5.8 温度传感器设计18B20DS1820 是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。DS18
46、20 依靠一个单线端口通讯。在单线端口条件下,必须先建立ROM 操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5 个ROM 操作命令之一:1)读ROM,2)匹配ROM,3)搜索ROM, 4)跳过ROM,5)报警搜索。这些命令对每个器件的激光ROM 部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条ROM操作序列后,即可进行存储器和控制操作,控制器可以提供6 条存储器和控制操作指令中的任一条。一条控制操作命令指示DS1820 完成一次温度测量。测量结果放在DS1820 的暂存器里,用一条读暂存器内容
47、的存储器操作命令可以把暂存器中数据读出。温度报警触发器TH 和TL 各由一个EEPROM 字节构成。如果没有对DS1820 使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操作命令对TH 和TL 进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。6 人机交互软件设计6.1 监控软件Kingview简介“组态”的概念是伴随着集散型控制系统(Distributed Control System,简称DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的。组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一
48、级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。组态软件应该能支持各种工控设备和常见的通讯协议,并且通常应提供分布式数据管理和网络功能。对应于原有的HMI 的概念,组态软件应该是一个使用户能快速建立自己的HMI 的软件工具,或开发环境。在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI 应用,开发时间长,效率低,可靠性差;或者购买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。组态软件的出现,把用户从这些困境中解脱出来,可以利用组态软件的功能,构建
49、一套最适合自己的应用系统。随着它的快速发展,实时数据库、实时控制、SCADA、通讯及联网、开放数据接口、对I/O 设备的广泛支持已经成为它的主要内容,随着技术的发展,监控组态软件将会不断被赋予新的内容。在采用组态王开发系统编制应用程序过程中要考虑以下三个方面: l 图形,是用抽象的图形画面来模拟实际的工业现场和相应的工控设备。 l 数据,就是创建一个具体的数据库,并用此数据库中的变量描述工控对象的各种属性,比如水位、流量等。 l 连接,就是画面上的图素以怎样的动画来模拟现场设备的运行,以及怎样让操作者输入控制设备的指令。组态王是一个集成的人机界面(HMI)系统和监控管理系统,可以与可编程序控制
50、器(PLC)、智能模块、单片机、板卡、智能仪表、远程数据采集装置(RTV)等多种外部设备进行通讯。而其软件系统与用户最终使用的现场设备无关,对于不同的硬件设施,用户只需要按照安装向导的提示完成I/O设备的配置工作,为组态王配置相应的通讯设备的硬件驱动程序并由硬件设备驱动程序完成组态王与I/O 设备的通讯。在系统运行的过程中,组态王通过内嵌的设备管理程序完成与I/O设备的实时数据交换,从而完成对所控对象的管理和监控。组态王是运行在Windows98/NT/2000上的一种组态软件。它具有以下特点:l 使用组态王,用户可以方便地构造适应自己需要的“数据采集系统”,在任何需要的时候把生产现场的信息实
51、时地传送到控制室,保证信息的畅通。l 组态王的网络功能使企业的基层和其它部门建立起联系,现场操作人员和工厂管理人员都可以看到各种数据。管理人员不需要深入生产现场,就可以获得实时和历史数据,优化控制现场作业,提高生产率和产品质量。l 组态王易于学习和使用,拥有丰富的工具箱、图库和操作向导,既可以节省大量时间,又能提高系统性能。l 组态王与现场的I/O设备直接进行通讯。I/O设备的输入提供现场的信息,I/O设备的输出通常用于对现场的控制。有些I/O设备(例如PLC),其本身的程序完成对现场的控制,程序根据输入决定各输出的值。l 输入输出的数值存放在I/O设备的寄存器中,寄存器通过其地址进行引用。大
52、多数I/O设备提供与其他设备或计算机进行通讯的通讯端口或数据通道,组态王通过这些通讯通道读写I/O设备的寄存器,采集到的数据可用于进一步的监控。用户不需要读写I/O设备的寄存器,组态王提供了一种数据定义方法,在定义了I/O变量后,可直接使用变量名用于系统控制、操作显示、趋势分析、数据记录和报警显示。本实验使用的组态王KingviewV6.5软件包由以下三部分组成:1)工程管理器(ProjManager):工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。2)工程浏览器(TouchExplorer):工程浏览器是一个工程开发设计工
53、具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。3)画面运行系统(TouchView):工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。6.2 应用程序项目的建立在组态王中开发的每一个应用系统称为一个应用程序项目,每个项目必须在一个独立的目录中,不同的项目不能共用一个目录。项目目录也称为工程路径。在每个工程路径中,组态王为此项目生成了一些重要的数据文件,这些文件是不能被修改的。应用程序项目中主要包括图形画面、数据库、动画连接等内容,它的一般建立过程为:1)制作图形画面用户可以为每个应
54、用程序建立数目不限的画面,在每个画面上生成互相关联的静态或动态图形对象。组态王提供类型丰富的绘图工具,还提供按钮、实时趋势曲线、历史趋势曲线、报警窗口等复杂的图形对象。组态王采用面向对象的编程技术,使用户可以方便地建立画面的图形界面。用户构图时可以像搭积木那样利用系统提供的图形对象完成画面的生成。图27. 图形界面2)构造数据库数据库是组态王软件的核心部分,在TOUCHVIEW运行时,它含有全部数据变量的当前值。变量在画面开发系统中定义,定义时要指定变量名和变量类型,某些类型的变量还需要一些附加信息。数据变量的集合称为数据“词典”数据库是“组态王”软件的核心部分,在工程管理器中,选择“数据库/
55、数据词典”,双击“新建图标”,弹出“定义变量”对话框。按照对话框要求定义各个变量。表2是水位控制系统中定义的变量。表2 水位控制系统变量清单变量名称变量类型数据类型取值范围连接设备寄存器ad0I/O整型SHORT01024STC90001水箱液位I/O整型SHORT01000STC90002水位给定值I/O整型SHORT100950STC90003控制周期I/O整型SHORT01000STC90006KpI/O实型SHORT01000STC90007KiI/O实型SHORT01000STC90008KdI/O实型SHORT01000STC90009控制量I/O整型SHORT01000STC90011MANB1I/O整型SHORT099STC90012运行内存离散手自动开关I/O离散BitSTCCommErr偏差内存整型(4)设计图形界面并且建立动画连接在组态王开发系统中创建对水位控制系统的图形操作界面,将各个模块读入读出变量、显示输出值和所设置的开/关按键在“动画连接”中同所定义的变量一一对应起来,并在“画面属性”的“命令语言”项中按照控制要求加上相应的命令语言。图28. 变量连接图3)定义动画连接动画连接是指在画面的图形对象与数据库的数据变量之间建立一种关系,当变量的值改变时,在画面上以图形对象的动画效果表示
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家庭教育辅导合同:学院与家长共同签署
- 建筑机电安装合同
- 零售店铺租赁合同细则
- 战略合作合同保密规定2025
- 建筑劳务分包临时合同
- 土地使用权出让合同范例
- 代课教师正式合同模板
- 跨国玉米技术合作框架合同
- 毕业未就业合同样本:就业创业见习
- 大型水利设施工程劳务分包合同
- 变频器技术(全套课件)
- 公路工程工程量清单(全)
- 旧金山china town中文介绍课件
- (中职)表面组装技术(SMT工艺)教学课件
- 初中英语 沪教牛津版 9A U7-1 Reading Tom Sawyer paints the fence 课件
- 骗提个人住房公积金检讨书
- 监控系统维保方案计划及报价
- ABCD2评分量表(TIA早期卒中风险预测工具)
- E-learning平台使用手册(培训管理员版)
- 自动化物料编码规则
- 小学音乐教材分析
评论
0/150
提交评论