版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的液位控制系统设计[键入文字]基于C51单片机的液位控制系统设计摘要:液位是许多工业生产中的重要参数之一,在化工、冶金、医药、航空等领域里,对液位的测量和控制效果直接影响到产品的质量。本论文主要介绍以单片机STC12C5A16S2为核心,采用PID算法自动控制水箱的水位的一个简单控制系统,利用组态王来提供可视化监控画面,实现对水位控制系统的有效监控,并使系统具备手动/自动切换、报警、控制参数整定等功能。关键词:C51PID液位控制引言随着微电子工业的迅速发展,单片机控制的智能型控制器广泛应用于电子产品中,为了使学生对单片机控制的智能型控制器有较深的了解。经过综合分析选择了由单片机控制的智能型液位控制器作为研究项目,通过训练充分激发学生分析问题、解决问题和综合应用所学知识的潜能。另外,液位控制在高层小区水塔水位控制,污水处理设备和有毒,腐蚀性液体液位控制中也被广泛应用。通过对模型的设计可很好的延伸到具体应用案例中。1控制系统原理图:计算机控制系统由控制器(包括硬件、软件和网络结构)和受控对象两大部分组成。一般控制系统设计成闭环系统,系统框图如下图所示。控制器控制器液位电机PWMSTC液位电机PWMSTC给定值A/D液位传感器A/D液位传感器基于单片机的液位控制系统设计全文共27页,当前为第1页。本系统的被控对象为单容水箱,被调量为单容水箱的水位。测量变送器为CY3011A型水位传感器,用于测量水位,DV707型交流变频器和水泵作为执行机构,控制器是STC12C5A16S2可编程控制器。另外,系统的其它组成设备还有水箱、阀门、管道。水位传感器把水位高度值传送给PLC,经A/D转换与水位高度给定值(即设定水位)进行比较计算,把偏差e传送到PLC进行计算,得出控制量u经D/A转换后送到交流变频器,交流变频器根据接收到的4-20mA电流信号输出不同的频率,调节水泵转速,从而得到调节水位的目的。基于单片机的液位控制系统设计全文共27页,当前为第1页。2控制器设计系统采用宏晶公司的STC12C5A16S2型单片机为核心的控制器,由单片机、A/D转换器(内置)、USB232串行接口、PWM输出(内置)、V/I转换器、键盘、LED显示等组成。基于单片机的液位控制系统设计全文共27页,当前为第2页。显示V/IPWM键盘A/D上位机STC12C5A16S2
基于单片机的液位控制系统设计全文共27页,当前为第2页。显示V/IPWM键盘A/D上位机STC12C5A16S23控制器硬件电路设计3.1硬件设计软件protel介绍Protel是Protel公司在80年代末推出的EDA(EDA,ElectronicDesignAutomation)软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到Protel。早期的Protel主要作为印制板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但它的功能也较少,只有电原理图绘制与印制板设计功能,其印制板自动布线的布通率也低。1998年开发的Protel98是第一个包含5个核心模块的EDA工具的32位产品,5种EDA工具是原理图输入、可编程逻辑器件(PLD)设计、仿真、板卡设计和自动布线。Protel99是基于Windows平台的32位EDA设计系统,集电路原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能于一身。它具有丰富多样的编辑功能、强大便捷的自动化设计能力、有丰富的原理图元件库、及其全面的工具、文档及设计项目的组织能力,同时并具有Client/Server(客户/服务器)体系结构,还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100%布通率。Protel99SE是Protel99改良加强版,主要是在PCB制版方面增加了一些更实用的功能。ProtelDXP基于WindowsXP操作系统,由Altium公司推出。与Protel99SE相比,除功能更加完备以外,其界面风格更加成熟、更加灵活,尤其在仿真和可编程逻辑设计(PLD)电路设计方面进行了改进,但它占用计算机的系统资源较多,因此,某些专家认为它是Protel2004的过渡版本。基于单片机的液位控制系统设计全文共27页,当前为第3页。Protel2004拓宽了板级设计的传统界限,集成了FPGA设计功能,从而允许工程师能将系统设计中的FPGA与PCB设计集成在一起。Protel2004的布局布线采用完全规则驱动模式,并且在PCB布线中采用了无网络的SitusTM拓扑逻辑自动布线功能;同时将完整的CAM输出功能的编辑结合在一起。2005年Protel软件的原厂商Altium公司推出了Protel系列的最新高端版本AltiumDesigner6.0基于单片机的液位控制系统设计全文共27页,当前为第3页。AltiumDesigner6.0是完全一体化电子产品开发系统的一个新版本,也是业界第一款也是唯一一种完整的板级设计解决方案。AltiumDesigner是业界首例将设计流程、集成化PCB设计、可编程器件(如FPGA)设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。Altium的CEO和创始人NickMartin讲到:“当今的电路板设计更注重于在更大规模密集封装器件和狭小的板卡空间内实现更高的数据传输,AltiumDesigner6.0专注于为设计师提供可以应对在各级或整个电子开发流程中高效处理复杂设计的集成技术包。”AltiumDesigner6.0组件功能包括:(1)Foundation:电子产品设计前端,包含了原理图输入、电路仿真和验证和PCB及CAM文档资料浏览功能;(2)BoardImplementation:传统板级电路设计、验证及CAM文档编辑功能;(3)EmbeddedIntelligenceImplementation:基于大规模可编程逻辑器件(FPGA/CPLD)的数字电路设计、片上可编程嵌入式系统软件开发和数字电路实时验证功能。AltiumDesigner6.0现已推出以下新功能:(1)系统级更新:升级的版本控制支持;文档履历管理;多种语言支持;优化的全局编辑功能。(2)PCB的更新:实心的覆铜区灌铜选择项;改善的Room空间支持;增加新的自动布线模式,支持SPECCTRA®接口。(3)原理图更新:图形化的编译屏蔽;改善的自动的类生成控制。综上可知,AltiumDesigner6.0的主要特点:1)一种同时进行PCB和FPGA设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能;2)强大的前端将多层次、多通道的原理图输入、混合信号仿真、VHDL开发和功能仿真及布线前信号完整性分析结合起来;基于单片机的液位控制系统设计全文共27页,当前为第4页。3)引入了以FPGA为目标的虚拟仪器,当其与LiveDesignenabled硬件平台NanoBoard结合时,用户可以快速、交互地实现和调试基于FPGA基于单片机的液位控制系统设计全文共27页,当前为第4页。4)PCB和FPGA之间的全面集成,从而实现了自动引脚优化和非凡的布线效果;5)交互式编辑、出错查询、布线和可视化功能,从而能更快地实现电路板布局;6)全面的项目管理,设计团队和版本控制功能包括原理图到PCB和PCB到FPGA双向同步功能;7)设计库具有81,000多种元件,包括针对FPGA设计的拿来即用、预先合成的IP元件;8)支持高速电路设计,具有成熟的布线后信号完整性分析工具;9)Orcad®、PADS、AutoCAD和其它软件的文件导入和导出功能;10)完整的ODB++/GerberCAM-系统使得用户可以重新设计较早版本的设计,弥补设计和制造之间的差异,全面的向下兼容特性。3.2STC12C5A16S2单片机介绍本次设计的控制系统采用的单片机型号为STC12C5A16S2,它属于STC12C5A60S2系列单片机,是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。(一)STC12C5A60S2系列单片机部分性能参数(1)增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051。(2)工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V(5V单片机),3.6V-2.2V(3V单片机)。(3)工作频率范围:0-35MHz,相当于普通8051的0~420MHz。(4)通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏。每个I/O口驱动能力均可达到20m。基于单片机的液位控制系统设计全文共27页,当前为第5页。(5)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1基于单片机的液位控制系统设计全文共27页,当前为第5页。(6)时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为+/-5%到+/-10%以内)用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟,常温下内部R/C振荡器频率为:5.0V单片机为:11MHz~15.5MHz,3.3V单片机为:8MHz~12MHz。精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。(7)共4个16位定时器两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器再加上2路PCA模块可再实现2个16位定时器。(8)2个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟。(9)外部中断I/O口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,PowerDown模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3(也可通过寄存器设置到P4.2),CCP1/P1.4(也可通过寄存器设置到P4.3)。(10)PWM(2路)/PCA(可编程计数器阵列,2路),也可用来当2路D/A使用,也可用来再实现2个定时器,也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)。(11)10位精度A/D转换器,共8路,转换速度可达250K/S(每秒钟25万次)。(12)通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件实现多串口。(二)单片机内部结构图基于单片机的液位控制系统设计全文共27页,当前为第6页。STC12C5A60S2系列单片机的内部结构框图如下图所示。其中包括中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换器、SPI接口、PCA和片内RC振荡器等模块。STC12C5A60S2基于单片机的液位控制系统设计全文共27页,当前为第6页。(三)单片机引脚单片机引脚图基于单片机的液位控制系统设计全文共27页,当前为第7页。其中P0口既可以作为输入/输出口,也可以作为地址/数据复用总线使用。当P0口作为输入/输出口时,P0口是一个8位准双向口;当P0作为地址/数据复用总线使用时,为低8位的地址线[A0~A7],数据线的[D0~D7]。P1口是用户专用8位准双向I/O口,具有通用输入/输出功能,每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时,该位的锁存器必须写入“1”,然后才能进入输入操作。P2口是8位准双向I/O口。外接I/O设备时,可作为扩展系统的地址总线,输出高8位地址,与P0口一起组成16位地址总线。P3口与P1、P2口内部差别不大,都为准双向口,它除了可以作为标准I/O口外,还有比较重要的第二功能,如外部中断输入、定时器/计数器输入、串行数据收发、外部RAM基于单片机的液位控制系统设计全文共27页,当前为第7页。STC12C5A60S2系列单片机所有I/O口均可以由软件配置成四种工作类型之一,四种模式为准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏。准双向口输出类型可用做输入和输出功能而不需要重新配置口线输出状态。这是因为当口线输出为1时驱动能力很弱,允许外部装置将其拉低。当引脚输出为0时,它的驱动能力很强,可吸收相当大的电流。强推挽输出配置的下拉结构与开漏输出以及准双向输出的下拉结构相同,但当锁存器为1时提供持续的强上拉。推挽模式一般用于需要更大的驱动电流的情况。仅为输入(高阻)模式时,输入口带有一个施密特触发器输入以及一个干扰抑制电路。开漏模式的I/O口既可以作为逻辑输出,也可以作为输入I/O口。(四)片内存储器和特殊功能寄存器(SFRs)STC12C5A60S2系列单片机的程序存储器和数据存储器是各自独立编址的,所有的程序存储器都是片上的Flash存储器,不能访问外部程序存储器,因为没有外部访问使能信号和程序存储启用信号。STC12C5A60S2系列单片机内部有1280字节的数据存储器,其在物理和逻辑上都分为两个地址空间:内部RAM(256字节)和内部扩展RAM(1024字节),另外该系列单片机还可以访问偏外扩展的64KB外部数据存储器。在单片机中除了以上的存储器外,还有几个经常用到的寄存器,下面坐一下简单介绍。基于单片机的液位控制系统设计全文共27页,当前为第8页。(1)ACC—是累加器,通常用A表示。这是8051基于单片机的液位控制系统设计全文共27页,当前为第8页。(2)B一个寄存器。在乘法与除法运算中须与累加器A配合使用,同时可作为普通寄存器。(3)PSW—程序状态字。这是一个很重要的东西,里面放了CPU工作时的很多状态,借此,我们可以了解CPU的当前状态,并作出相应的处理。(4)DPTR(DPH、DPL)—数据指针,可以用它来访问外部数据存储器中的任一单元,如果不用,也可以作为通用寄存器来用。(6)IE—中断充许寄存器,IP—中断优先级控制寄存器,TMOD—定时器控制寄存器,TCON—定时器控制寄存器,SP------堆栈指针。(五)单片机中断系统中断系统是为了是CPU具有对异步事件的处理能力而设置的。当CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作转而去处理这个紧急事件,处理完成后,再回到原来被中断的地方,继续原来的工作,这样的过程被称为中断。实现这个系统功能的部件称为中断系统。当中断系统允许多个中断源,而几个中断源同时向CPU发出请求时,CPU根据各个中断源的优先级别,优先响应级别较高的中断。STC12C5A60S2系列单片机提供了10个中断请求源,它们分别是外部中断0、定时器中断0、外部中断1、定时器中断1、串口1中断、A/D转换中断、低压检测中断、PCA中断、串口2中断及SPI中断。所有中断都具有四个中断优先级别。用户可以使用中断允许寄存器IE或者中断相应的允许位来屏蔽或允许某个对应中断,使用中断优先级控制寄存器IP设置各个中断源的优先级别。中断请求的响应遵从两个基本规则:1.低优先中断可被高优先级别中断所中断,反之不能;2.任何一种中断(不管优先级别高低),一旦得到响应,不会再被它的同级中断所中断。(六)单片机定时器/计数器基于单片机的液位控制系统设计全文共27页,当前为第9页。STC12C5A60S2系列单片机有四个定时器,其中定时器0和定时器1是16位定时器,与传统的8051的定时器完全兼容,也可以设置为1T模式,当定时器1作波特率发生器时。定时器0可以当两个8位定时器使用,另外2路PCA/PWM可以再实现2个16位定时器。定时器/计数器T0和T1有2个控制寄存器-TMOD和TCON,它们分别用来设置各个定时器/计数器的工作方式,选择定时或计数功能,控制启动运行,以及作为运行状态的标志等。其中,TCON寄存器中另有4基于单片机的液位控制系统设计全文共27页,当前为第9页。TCON为定时器/计数器T0、T1的控制寄存器,同时也锁存了T0、T1溢出中断源和外部请求中断源,TCON的格式如下所示:各位定义如下:TF1:定时器1溢出标志位。当字时器1计满溢出时,由硬件使TF1置“1”,并且申请中断。进入中断服务程序后,由硬件自动清“0”,在查询方式下用软件清“0”。TR1:定时器1运行控制位。由软件清“0”关闭定时器1。当GATE=1,且INT1为高电平时,TR1置“1”启动定时器1;当GATE=0,TR1置“1”启动定时器1。TF0:定时器0溢出标志。其功能及操作情况同TF1。TR0:定时器0运行控制位。其功能及操作情况同TR1。IE1:外部中断1请求标志。IT1:外部中断1触发方式选择位。IE0:外部中断0请求标志。IT0:外部中断0触发方式选择位。定时器方式控制寄存器TMOD在特殊功能寄存器中,字节地址为89H,无位地址。TMOD的格式如下图所示:基于单片机的液位控制系统设计全文共27页,当前为第10页。由图可见,TMOD的高4位用于T1,低4使用于T0,4种符号的含义如下:GATE:门控制位。GATE和软件控制位TR、外部引脚信号INT的状态,共同控制定时器/计数器的打开或关闭。C/T:定时器/计数器选择位。C/T=1,为计数器方式;C/T=0,为定时器方式。M1M0:工作方式选择位,定时器/计数器的4种工作方式由M1M0设定。定时器T0、T1的模式0、1、2都相同,模式3不同。模式0为13位定时器/计数器,由TL0的低5位和TH0的8位所构成;模式1为16位定时器/计数器,它除了使用TH0及TL0的全部16位外,其他与模式0完全相同;模式2是8位自动重装模式,TL0的溢出不仅置位TF0,而且将TH0内容重新装入TL0,TH0内容由软件预置,重装时TH0内容不变。模式3下定时器0的TH0和TL0作为两个独立的8位计数器,定时器1基于单片机的液位控制系统设计全文共27页,当前为第10页。STC12C5A60S2系列单片机的定时器有两种计数速率:一种是12T模式,每12个时钟加1,与传统的8051单片机相同;另外一种是1T模式,每个时钟加1,速度是传统8051单片机的12倍。T0的速率有特殊功能寄存器AUXR中的T0x12决定,如果T0x12=0,T0则工作在12T模式,如果T0x12=1,T0则工作在1T模式。(七)单片机串行口工作原理STC12C5A60S2系列单片机具有2个采用UART工作方式的全双工串行通信接口。每个串行口由2个数据缓冲器、一个移位寄存器、一个串行控制寄存器和一个波特率发生器等组成。每个串行口的数据缓冲器由2个相互独立的收发器构成,可同时收发数据。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,因而两个缓冲器可以共用一个地址码。串行口1的两个缓冲器共用的地址码是99H;串行口2的两个缓冲器共用的地址码是9BH。串行口1的两个缓冲器统称串行通信特殊功能寄存器SBUF;串行口2的两个缓冲器称为S2BUF。STC12C5A60S2系列单片机的两个串行口都有4种工作方式,其中两种方式的波特率是可变的,另外两种是固定的以供不同应用场合选用,工作方式可通过软件设置选择。通信方式和控制功能由控制寄存器SCON和PCON设置控制。基于单片机的液位控制系统设计全文共27页,当前为第11页。(八)基于单片机的液位控制系统设计全文共27页,当前为第11页。STC12C5A60S2系列单片机集成了两路可编程计数器阵列(PCA)模块,可用于软件定时器、外部脉冲的捕捉、高速输出以及脉宽调制(PWM)输出。脉宽调制(PWM,PulseWidthModulation)是一种使用程序来控制波形占空比、周期、相位波形的技术,在三相电机驱动、D/A转换等场合有广泛的应用。STC12C5A60S2系列单片机的PCA模块可以通过程序设定,使其工作于8位PWM模式。所有的PCA模块都可用作PWM输出,输出频率取决于PCA定时器的时钟源。由于所有模块共用仅有的PCA定时器,所有它们的输出频率相同。各个模块的输出占空比是独立变化的,与使用的捕获寄存器[EPCnL,CCAPnL]有关。当寄存器CL的值小于[EPCnL,CCAPnL]时,输出为低;当寄存器CL的值等于或大于[EPCnL,CCAPnL]时,输出为高。当CL的值由FF变为00溢出时,[EPCnH,CCAPnH]的内容装载到[EPCnL,CCAPnL]中。这样就可实现无干扰地更新PWM。要使能PWM模式,模块CCAPMn寄存器的PWMn和ECOMn位必须置位。由于PWM是8位的,则可知:PCA时钟输入源可以从以下4种中选择一种:SYSclk,SYSclk/2,SYSclk/4,SYSclk/6,SYSclk/8,SYSclk/12,定时器0的溢出,ECI/P3.4输入.PWM输出时I/O口的状态如图4所示:PWM之前口的状态PWM时口的状态弱上拉/准双向口强推挽输出/强上拉输出,要加输出限流电阻10K-1K强推挽输出强推挽输出/强上拉输出,要加输出限流电阻10K-1K仅为输入/高阻PWM无效开漏输出开漏输出PWM输出时I/O口的状态基于单片机的液位控制系统设计全文共27页,当前为第12页。3.3基于单片机的液位控制系统设计全文共27页,当前为第12页。P0口的P0.0~P0.5作为独立按键的输入口。P1口的P1.1作为液位传感器的模拟信号输入,通过单片机内部的A/D转换器转换为数字信号。P1.4作为PWM输出的端口,P1.6作为蜂鸣器的输出。P2.1作为温度传感器18B20的信号输入端,P2.4~P2.7控制LED。P3.5、P3.4是74HC164的数据输入和时钟驶入信号。3.3键盘设计基于单片机的液位控制系统设计全文共27页,当前为第13页。当单片机在扫描P0端口时,若没有键盘下则由于VCC的高电平,P0端口得到的结果为1;如果有键盘按下,对应的端口位得到0。然后,单片机对扫描结果做基于单片机的液位控制系统设计全文共27页,当前为第13页。3.4显示设计(数码管、LED)为了便于交互,系统设计了四个LED对控制器的操作状态进行指示。将单片机的端口置0,LED亮,置1,LED灭。LED电路数码管的作用是为了显示水位值、温度。74HC164、74HCT164是高速硅门CMOS器件,与低功耗肖特基型TTL(LSTTL)器件的引脚兼容。74HC164、74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA或DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。时钟(CP)每次由低变高时,数据右移一位,输入到Q0,Q0是两个数据输入端(DSA和DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。基于单片机的液位控制系统设计全文共27页,当前为第14页。主复位(CLK)输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。基于单片机的液位控制系统设计全文共27页,当前为第14页。数码管电路3.5传感器接口电路本系统采用CY3011A型水位传感器作为检测部件。用以测量水箱里的水位,并将被测水位参数转换为统一标准信号(4-20mA)输送给调节器。水位传感器输出的电信号与水位之间的关系可以用如下公式换算:其中:为满量程高度,为变送器输出信号。传感器接口电路基于单片机的液位控制系统设计全文共27页,当前为第15页。插座J2连接的是水位传感器,在电路板焊接元器件时,把P31、P32的两个引脚短接,构成通路。传感器的电流信号进入J3,经过上图的电路转换后变成了电压信号,电压信号通过单片机内部的A/D基于单片机的液位控制系统设计全文共27页,当前为第15页。3.6输出接口电路本设计使用的变频器是DV707型交流变频器,它把PLC模拟量输出模块输出的电信号(4-20mA)转换成频率信号送到交流马达,从而调节水泵转速进而达到控制水位高度的目的。STC12C5A60S2系列单片机的PCA模块可以通过程序设定,使其工作于8位PWM模式,可用作DAC。经过D/A转换后的模拟电流量从单片机引脚PWM2出来,经过器件运算放大器U10来提高对连接在插座J5上的变频器的驱动能力。输出接口电路3.6USB232串口电路本实验采用器件PL2303来实现USB信号与RS232信号的转换,电路原理图如图所示。PL2303是Prolific公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步串行通信装置与USB功能接口便利联接的解决方案。该器件内置USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号的UART,只需外接几只电容就可实现USB信号与RS232信号的转换,能够方便嵌入到各种设备。该器件作为USB/RS232双向转换器,一方面从主机接收USB数据并将其转换为RS232信息流格式发送给外设;另一方面从RS232外设接收数据转换为USB数据格式传送回主机。这些工作全部由器件自动完成,开发者无需考虑固件设计。基于单片机的液位控制系统设计全文共27页,当前为第16页。基于单片机的液位控制系统设计全文共27页,当前为第16页。USB232串口3.7PCB板图4控制器程序设计4.1PID算法(积分分离法)PID调节是一种线性调节,这种调节将设定值w与实际输出值y进行比较构成偏差e=w-y并将比例、积分、微分通过线性组合构成控制量(如下图)。基于单片机的液位控制系统设计全文共27页,当前为第17页。基于单片机的液位控制系统设计全文共27页,当前为第17页。KpKp对象+对象Ki/sWe+yKi/s+KdsKds控制规律如下:u=K由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,因此上式中的积分和微分项不能直接准确计算,只能用数值计算的方法逼近。在采样时刻t=iT(T为采样周期),上式所表示的PID控制规律可通过数值公式u来近似计算。如果采样周期足够短,这种逼近可相当准确,被控过程与连续过程十分接近。上式被称为位置式,因为ui表示了执行机构的位置。由上式可以导出增量式uu两式相减就可以导出下面的公式∆上式也可以表示为∆其中ddd基于单片机的液位控制系统设计全文共27页,当前为第18页。基于单片机的液位控制系统设计全文共27页,当前为第18页。可见增量式算法只需要保持以前的3个时刻的偏差值即可。增量式PID算法程序的流程图入口入口取取w和yi构成偏差构成偏差ei=w-yi计算d0ei,d1ei-1,d2ei-2计算d0ei,d1ei-1,d2ei-2△△ui=d0ei+d1ei-1+d2ei-2存入输出单元存入输出单元△ui→outei-1ei-1→ei-2ei→ei-1返回返回在实际的过程中,控制变量因受到执行元件机械和物理性能的约束而限制在有限的范围内。在PID算法中“饱和作用”主要是由积分项引起的,故称为积分饱和。积分分离法:减小积分饱和的关键是不能使积分项累计过大。积分分离法在开始时不进行积分,直到偏差达到一定阀值后才进行积分累计,这样,一方面防止了一开始有过大的控制量;另一方面即使进入饱和后,因积分累计小,也能较快退出,减少了超调。PID算法框图如下(其中e为预定门限值)基于单片机的液位控制系统设计全文共27页,当前为第19页。基于单片机的液位控制系统设计全文共27页,当前为第19页。入口计算偏差计算偏差ei计算比例项及微分项计算比例项及微分项|ei|<=e?|ei|<=e?是计算积分项计算积分项比例、(比例、(积分)、微分项求和给出控制变量退出4.2开发环境keil单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。这次对STC单片机进行编程使用keilvision3。下面介绍keil新建工程的步骤:基于单片机的液位控制系统设计全文共27页,当前为第20页。1打开keil软件基于单片机的液位控制系统设计全文共27页,当前为第20页。2单击ProjectNewProject,选择保存目录,在选择CPU型号时按照下图选择STC公司的STC12C5A16S2型号。在跳出的对话框中选择“是”3单击fileNew,新建文件,保存为.C文件。4右键单击projectworkspace中的“soucegroup”(如下图),在弹出的菜单中选择“addfiletogroup“soucegroup1””,将新建的.C文件加入到工程中来。5以同样的方法加入STC公司提供的头文件STC_NEW_8051.H,就可以对单片机编程了。基于单片机的液位控制系统设计全文共27页,当前为第21页。基于单片机的液位控制系统设计全文共27页,当前为第21页。4.3程序流程图初始化初始化采样周期到?采样周期到?采样采样自动?自动?PID控制PID控制手动有键按下?有键按下?消抖消抖有键按下?有键按下?通信开始SW2通信开始SW2SW3SW3手动/手动/自动设定SW5SW5显示设定显示设定SW6SW6给定值输入给定值输入给定值自减SW7给定值自减SW7给定值自增SW8给定值自增SW8基于单片机的液位控制系统设计全文共27页,当前为第22页。基于单片机的液位控制系统设计全文共27页,当前为第22页。4.4程序清单(见附件)4.5使用组态王创建监控组态王是一种开放型的工业监控软件,窗体框架结构;采用多线程、COM组件等新技术实现多时多任务控制,现已应用于化工、电力、邮电通讯、环保、水处理、冶金和食品等行业。本次实验采用的监控软件是北京亚控公司出品的组态王6.53,其软件包由工程浏览器、工程管理器、和画面运行系统三部分组成,也可以完成数据库构造、定义外部设备等工作;工程管理内嵌画面管理系统,用于新工程的创建和已有工程的管理。画面的开发和运行由工程浏览器调用画面运行系统来完成的。具有动画连接、实时监控、实时曲线与历史曲线、报警功能、报表功能等。下面介绍制作一个组态王工程的基本过程:基于单片机的液位控制系统设计全文共27页,当前为第23页。(1)创建工程路径启动“组态王”工程管理器(ProjManager),选择菜单“文件\新建工程”或单击“新建”按钮。单击“下一步”继续。弹出“新建工程向导之二对话框”。在工程路径文本框中输入一个有效的工程路径,或单击“浏览…”按钮,在弹出的路径选择对话框中选择一个有效的路径。单击“下一步”继续。弹出“新建工程向导之三对话框”。在工程名称文本框中输入工程的名称,该工程名称同时将被作为当前工程的路径名称。在工程描述文本框中输入对该工程的描述文字。工程名称长度应小于32个字符,工程描述长度应小于40个字符。单击“完成”完成工程的新建。系统会弹出对话框,询问用户是否将新建工程设为当前工程。基于单片机的液位控制系统设计全文共27页,当前为第23页。(2)创建组态画面进入新建的组态王工程,选择工程浏览器左侧大纲项“文件\画面”,在工程浏览器右侧用鼠标左键双击“新建”图标。在“画面名称”处输入新的画面名称“水位控制系统”。在组态王开发系统中从“工具箱”中分别选择合理图标,绘制目标对象。(3)定义IO设备组态王把那些需要与之交换数据的设备或程序都作为外部设备。外部设备包括:下位机(PLC、仪表、模块、板卡、变频器等),它们一般通过串行口和上位机交换数据;其他Windows应用程序,它们之间一般通过DDE交换数据;外部设备还包括网络上的其他计算机。只有在定义了外部设备之后,组态王才能通过I/O变量和它们交换数据。为方便定义外部设备,组态王设计了“设备配置向导”引导用户一步步完成设备的连接。定义IO口的步骤如下,选择工程浏览器左侧大纲项“设备\COM1”,在工程浏览器右侧用鼠标左键双击“新建”图标,运行“设备配置向导”。选择“Modbus(RTU)”的“串行”项,单击“下一步”,弹出“设备配置向导”。为外部设备取一个名称,输入Modbus,单击“下一步”,弹出“设备配置向导”。选择COM1,并设地址为1,默认通信故障恢复参数。基于单片机的液位控制系统设计全文共27页,当前为第24页。(4)构造数据库数据库是“组态王”软件的核心部分,工业现场的生产状况要以动画的形式反映在屏幕上,操作者在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为中介环节,所以说数据库是联系上位机和下位机的桥梁。在TouchVew运行时,它含有全部数据变量的当前值。变量在画面制作系统组态王画面开发系统中定义,定义时要指定变量名和变量类型,某些类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 探秘流动的中国-人口迁移与区域发展新图景【高中地理湘教版必修二教学设计】
- 高中一年级《睡得好才能学得好》主题班会公开课教案
- 高中地理选择性必修二「培优点4·区域可持续发展达标检测」讲义
- 高中二年级心理健康·生命安全教育主题班会教学设计讲义
- 专题02 文学类文本阅读(原卷版)-【好题汇编】备战2023-2024学年高一语文上学期期末真题分类汇编(统编版全国)
- 安全108号文件讲解
- 护理管理中的健康促进与教育
- 肝肾功能检测指标解读手册
- 废水在线监测设备维护规程
- 康养标准化服务流程手册
- 老年护理案例分析模板
- 总包与分包消防安全协议
- 《建筑工程施工安全》课件
- 艺人助理合同协议
- 陈皮厂家仓库管理制度
- GB/T 45355-2025无压埋地排污、排水用聚乙烯(PE)管道系统
- 人教五四 六年级 下册 语文 第五单元《中国有能力解决好吃饭问题 第一课时》课件
- 2025年民营医院工作总结及2025年工作计划
- DB64-266-2018:建筑工程资料管理规程-151-200
- 企业背景调查报告模板
- 人教版六年级下册数学总复习导学案
评论
0/150
提交评论