储水罐液位计算机控制系统设计.docx

上传人:b****2 文档编号:2854011 上传时间:2023-05-04 格式:DOCX 页数:33 大小:591.73KB
下载 相关 举报
储水罐液位计算机控制系统设计.docx_第1页
第1页 / 共33页
储水罐液位计算机控制系统设计.docx_第2页
第2页 / 共33页
储水罐液位计算机控制系统设计.docx_第3页
第3页 / 共33页
储水罐液位计算机控制系统设计.docx_第4页
第4页 / 共33页
储水罐液位计算机控制系统设计.docx_第5页
第5页 / 共33页
储水罐液位计算机控制系统设计.docx_第6页
第6页 / 共33页
储水罐液位计算机控制系统设计.docx_第7页
第7页 / 共33页
储水罐液位计算机控制系统设计.docx_第8页
第8页 / 共33页
储水罐液位计算机控制系统设计.docx_第9页
第9页 / 共33页
储水罐液位计算机控制系统设计.docx_第10页
第10页 / 共33页
储水罐液位计算机控制系统设计.docx_第11页
第11页 / 共33页
储水罐液位计算机控制系统设计.docx_第12页
第12页 / 共33页
储水罐液位计算机控制系统设计.docx_第13页
第13页 / 共33页
储水罐液位计算机控制系统设计.docx_第14页
第14页 / 共33页
储水罐液位计算机控制系统设计.docx_第15页
第15页 / 共33页
储水罐液位计算机控制系统设计.docx_第16页
第16页 / 共33页
储水罐液位计算机控制系统设计.docx_第17页
第17页 / 共33页
储水罐液位计算机控制系统设计.docx_第18页
第18页 / 共33页
储水罐液位计算机控制系统设计.docx_第19页
第19页 / 共33页
储水罐液位计算机控制系统设计.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

储水罐液位计算机控制系统设计.docx

《储水罐液位计算机控制系统设计.docx》由会员分享,可在线阅读,更多相关《储水罐液位计算机控制系统设计.docx(33页珍藏版)》请在冰点文库上搜索。

储水罐液位计算机控制系统设计.docx

储水罐液位计算机控制系统设计

 

计算机控制技术课程设计

 

储水罐液位计算机控制系统设计

 

学生XX

学号

学院名称

专业名称

指导教师

 

2011年

6月

7日

 

 

1.储水罐液位系统设计原理

1.1本设计任务和主要内容

1.1.1设计任务

本设计主要研究水箱水位自动控制系统。

此系统实现了水位报警,水位实时显示。

在2min内达到并稳定在1m水位高度,并且偏差在

10%。

1.1.2主要内容

被控系统为一储水罐。

系统如图1-1所示,储水罐内为清水,下部设有出水管,流量记为Q2。

储水罐通过水泵将清水池内的清水补入罐内,流量记为Q1,清水池内的水位可视为固定值2米(即在储水罐补水过程中液位不变化)。

已知储水罐的截面积A=1平方米,高度H=2米,要求控制目标液位高度为1米。

当水箱水位低于1m时,启动水泵,从清水池抽水供给给储水罐;当水箱水位高于1m时水泵自动停止;当水箱水位高于1.8m时外部报警灯自动点亮,手动复位控制系统。

图1-1储水罐系统

 

 

2.系统模型建立

2.1系统组成

储水罐液位系统的原理图如图2-1所示。

此系统由清水池,储水罐,直流水泵,微控制器,液体压力传感器,A/D转换器等组成。

清水池在此设计中属于理想状态,即水位高度不变;

直流水泵选用TPH2T6K型号,220V离心式水泵,此水泵工作效率为50

/H;

微控制器选用Atmel公司生产的89C51单片机;

液体压力传感器选用PT500-500液体压力传感器;

A/D转换器则选用ADC08088位精度转换器。

图2-1储水罐液位系统的原理图

2.2系统工作原理

此系统由液体压力传感器测出储水罐液位压力,以0~20mA电流形式输入到一个125

电阻上,A/D转换器采样电阻两端电压,然后输入微控制器80C51,微控制器80C51经过处理判断水位高度进行相应的处理,并控制数码管显示现在水位高度。

系统工作流程图如图2-2。

图2-2储水罐液位系统工作流程图

2.3系统模型

此系统是一个典型的一阶系统。

储水罐相当于一个流体容器,由物质守恒可以得到:

(2.1)

式中

——表示流入储水罐的水量;

——表示储水罐中保留的水量;

——表示流出储水罐的水量。

假设A是储水罐的横截面积,h'为储水罐中水位的高度则(2.1)可写成:

(2.2)

出水流量取决于储水罐的流量系数,储水罐的液位高度,储水罐的出水口面积,和重力常数。

即:

(2.3)

式中Cd——表示储水罐出口的流量系数;

a——表示储水罐的出水口面积;

g——表示重力常数(9.8m/s2)。

结合(2.2),(2.3)我们能得到

(2.4)

假设

是个常数则出水流量将达到一个稳态值

,水位高度也将能达到一个恒定值。

(2.5)

我们假设

有个小的扰动值,我们能得到:

(2.6)

同时液位高度也将会有小的扰动:

(2.7)

将(2.6)、(2.7)带入(2.4)我们可以得到:

(2.8)

应用泰勒级数将(2.8)线性化,泰勒级数:

(2.9)

取泰勒级数第一级得到:

(2.10)

或者

(2.11)

将(2.8)用(2.11)线性化后得到:

(2.12)

对(2.12)进行拉普拉斯变换,我们可以得到:

(2.13)

带入数据可得:

(2.14)

电机的电气方程:

(2.15)

电机的机械方程:

(2.16)

式中

——表示电机电势系数;

——表示电枢电阻;

——表示电枢电压;

——表示电枢电流;

——表示电枢电感;

——表示折算到轴上的转动惯量;

T——表示电动机电磁转矩;

——表示负载转矩;

将(2.15)、(2.16)式进行拉式变换可以得到转速和输入电压的传递函数:

(2.17)

电机经验公式:

得出该电机的传递函数为:

由上式我们可以得到此液位系统的框图如图2-3

图2-3储水罐液位系统框图

 

3.硬件选择

3.1液体压力传感器选择

本设计中储水罐的高度液位高度最高为2M,根据

,可算出在此设计中最大压强为19.6Kpa。

可选择压力传感器量程为0—20Kpa,最终选用了PT500-500液体压力传感器,PT500-500采用高精度高稳定性电阻应变计做为变送器的感压芯片,选进的贴片工艺,配套带有零点、满量程补偿,温度补偿的高精度和高稳定性放大集成电路。

主要技术要求如表3-1所示。

表3-1PT500-500液体压力传感器技术参数

技术参数

参数值

被测介质

气体、液体及蒸气

量程

-100KPa-20Kpa~60Mpa~150Mpa间任意可选

输出

0~20mA(二线制)

综合精度

±0.1%FS(量程60MPa以上)、±0.25%FS、±0.5%FS

供电

12~36VDC

绝缘电阻

≥1000MΩ/100VDC

负载电阻

最大800Ω

介质温度

-20~85℃、-20~150℃、-20~200℃、-20~300℃(可选)

环境温度

-20~85℃

相对湿度

0~95%RH

过载能力

150%FS

响应时间

≤10mS

电气连接

不锈钢防水密封端子、四芯航空接插件、赫丝曼接头等

此液体压力传感器完全可以满足控制的要求,选择此传感器主要因为:

供电要求12~36VDC,电压X围广,输出0~20mA标准电信号,方便A/D采集。

3.2水泵选择

此设计中应用了TPH2T6K离心式单相交流水泵,其技术参数如表3-2。

此水泵采用单相交流电,易于控制,流量50

/H=0.83

/min,在两分钟内可以达到要求。

表3-2TPH2T6K离心式单相交流水泵技术参数

技术参数

参数值

工作电压

220V

工作频率

50HZ

流量

50m3/H

扬程

55m

进出口径

25cm

马达转速

2900RPM

3.3微控制器的选择

此设计采用ATMEL80C51作为控制芯片。

它是在MCS-48系列的基础上发展的高性能的8位单片机。

所出的系列产品有8051、8031、8751。

其代表就是8051。

其他系列的单片机都以它为核心,所以本设计采用的核心芯片是8051单片机。

CPU是它的核心设备,从功能上看,CPU包括两个部分:

运算器和控制器,它执行对输入信号的分析和处理。

每片80C51包括:

一个8位的微型处理器CPU;128B的片内数据存储器RAM;4KB片内程序存储器ROM;四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。

最高允许振荡频率是12MHZ。

以上各个部分通过内部总线相连接。

整个系统电控部分以ATMEL公司的8051为核心芯片,控制信号采集、处理、输出三个过程。

这种芯片内置4KROM,因为系统要求控制线较多,如果采用8031外置EPROM程序控制结构,则造成控制线不够,而8051却可以利用P0、P2口作控制总线,大大简化了硬件结构,并可以直接控制LED数据显示,方便现场调试和维护,使整个系统的通用性和智能化得到了很大的提高。

现在介绍下在此设计中用到的引脚,引脚图如图3-1所示。

单片机的40个引脚大致可分为4类:

电源、时钟、控制和I/O引脚。

3.3.180C51电源

VCC-芯片电源,接+5V;

VSS-接地端;

3.3.280C51时钟

XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。

3.3.380C51控制线

●ALE/PROG:

地址锁存允许/片内EPROM编程脉冲

ALE功能:

用来锁存P0口送出的低8位地址

PROG功能:

片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

●PSEN:

外ROM读选通信号。

●RST/VPD:

复位/备用电源。

RST(Reset)功能:

复位信号输入端。

VPD功能:

在Vcc掉电情况下,接备用电源。

●EA/Vpp:

内外ROM选择/片内EPROM编程电源。

EA功能:

内外ROM选择端。

Vpp功能:

片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

3.3.480C51I/O接口

●P0口(39脚~32脚):

P0.0~P0.7统称为P0口。

当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。

当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。

它分时提供8位双向数据总线。

●P1口(1脚~8脚):

P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。

对于MCS—52子系列单片机,P1.0和P1.1还有第2功能:

P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。

对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址。

●P2口(21脚~28脚):

P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。

当接有外部程序存储器或扩展I/O接口且寻址X围超过256个字节时,P2口用于高8位地址总线送出高8位地址。

对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。

●P3口(10脚~17脚):

P3.0~P3.7统称为P3口。

它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。

图3-180C51单片机引脚图图3-2ADC0808引脚图

3.4A/D转换器选择

本设计采用ADC0808作为A/D转换器,ADC0808是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。

它是逐次逼近式A/D转换器,可以和单片机直接接口。

ADC0808转换器引脚图如图3-2所示

ADC0808转换器引脚介绍:

●IN0~IN7:

8路模拟量输入端。

●OUT1~OUT8:

8位数字量输出端。

●AL:

:

地址锁存允许信号,输入,高电平有效。

●START:

A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0808复位,下降沿启动A/D转换)。

●EOC:

A/D转换结束信号,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

●OE:

数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

●CLK:

时钟脉冲输入端。

要求时钟频率不高于640KHZ。

●VREF(+)和VREF(-):

参考电压输入端。

●Vcc:

主电源输入端5V。

●GND:

接地。

●ADDA、ADDB、ADDC:

3位地址输入线,用于选通8路模拟输入中的一路,通道选择表如表3-3所示。

●注意事项:

输出端out8为最低位out1为最高位,与单片机连接是要注意。

表3-3通道选择

ADDC

ADDB

ADDA

选择的通道

0

0

0

IN0

0

0

1

IN1

0

1

0

IN2

0

1

1

IN3

1

0

0

IN4

1

0

1

IN5

1

1

0

IN6

1

1

1

IN7

 

4.硬件电路设计

4.180C51单片机外围电路设计

4.1.1时钟电路

80C51用内部振荡电路,这时需要XTAL1、XTAL2来外接石英晶振和微调电容,如图4-1所示。

外接石英晶振为12MHZ,两个电容为30PF为起振电容。

图4-180C51外部时钟电路

4.1.2复位电路

80C51单片机有一个复位引脚RST,高电平有效。

在时钟电路工作以后,当外部电路使得RST端出现两个机器周期(24个时钟周期)以上的高电平,系统内部复位。

复位方式有两种:

上电复位和按钮复位。

本设计选用按钮复位,因为遇到特殊情况系统出错,可以及时复位保证系统损失减到最低。

复位电路如图4-2所示。

图4-280C51按钮复位电路

4.2水泵驱动电路设计

4.2.1继电器电路

因为本设计中用到的是单相交流水泵用的220V交流电属于强电X围,不能直接与单片机连接所以采用了继电器来充当开关。

继电器电路如图4-3所示。

继电器的触发电路应用了光耦隔离,当单片机的P2.2口输出控制低电平时,光耦输入端导通,使得光耦内部三极管导通,经过R4,R3电阻分压后使得Q1基极电压变高,使得Q1导通,从而使得继电器工作。

其中D1是为了消耗继电器中线圈中掉电后的剩余电流。

图4-3继电器开关电路

4.2.2双向晶闸管过零调功调速原理

本设计中应用双向晶闸管对水泵进行调速控制,根据

(4.1)

式中P——表示电功率KW;

T——表示外部阻力矩N·m;

——表示角速度rad·s-1。

当外部情况不变即T保持不变时,在规定时间内电功率的变化将导致角速度的改变,因此调电功就可达到调速的目的。

可控硅过零控制波形见图4-5。

可以看出,过零调功通过的工作电压是完整的正弦波形,过零导通且过零截止。

过零调功方式就是通过在给定的时间内改变加在负载上的交流正弦波个数来调节负载功率的一种控制方法。

图4-5双向晶闸管过零控制信号波形图

4.2.3过零检测电路

过零检测电路的最终目标是实现当50HZ的交流电压通过零点时取出其脉冲。

本设计中用两个光耦实现脉冲的检测,如图4-6所示。

交流电源经R7后加到两个反并联的二极管上,在交流电源的正、负半周,U2中二极管和U8中二极管轮流导通,从而使U1中三极管和U8中三极管也轮流导通,在导通期间光耦的5号输出引脚输出低电平,只有在交流电源过零的瞬间,两个二极管均截止,5号引脚输出高电平,因此5号引脚得到周期为10ms的脉冲信号,再将此信号通过7407逻辑门进行整流,从而得到图4-5中过零脉冲。

电路总R7的大小选取与索取的光耦触发电流有关,本设计中采用600

电阻。

图4-6过零检测电路图

4.2.4双向晶闸管触发电路

本设计中应用了光耦对双向晶闸管进行驱动,电路如图4-7所示。

此电路的工作原理是:

单片机响应用户的参数设置,在I/O口输出一个高电平,经反向器反向后,送出一个低电平,使光电耦合器导通,同时触发双向可控硅,使工作电路导通工作。

R5为触发限流电阻,R6为双向晶闸管门极电阻,防止误触发,提高抗干扰能力。

在本设计中负载是水泵属于感性交流负载,这样会使得双向可控硅承受的电压值远远超过电源电压,可能击穿并且烧坏晶闸管,所以双向晶闸管两极间并联一个RC阻容吸收电路,实现晶闸管的过电压保护。

各个电阻和电容值均为光耦推荐电路中值未加改动。

在给定的时间内水泵得到的功率为:

(4.2)

式中P——表示负载得到的功率;

n——表示给定时间内双向晶闸管导通的正弦波的个数;

N——表示给定时间内正弦波的总个数;

U——表示不加双向晶闸管时负载得到的电压有效值;

I——表示不加双向晶闸管时负载得到的电流有效值。

由(4.2)式可以看出只要N,U,I为定值,只要改变n就可以到达调速的目的。

图4-7双向晶闸管触发电路

4.3数码管电路

本设计中应用了7SEG-MPX2-CC8段式共阴极双数码管,段码引脚接入80C51的P1口,位选两条线分别接单片机的P2^0,P2^1口。

在本设计中采用了数码管的动态显示,利用了人的视觉暂留效应。

 

5.系统软件设计

5.1软件设计流程图

本系统程序主要有AD转换模块、数码管显示模块、PI调节模块、报警灯控制模块、电机控制模块组成。

工作流程如图5-1所示。

图5-1主程序工作流程图

5.2软件主函数

根据流程图设计出软件的主程序如下:

voidmain()

{

ik=0;

e1=0;

kp=2;

ki=4;

initdingshi();//中断初始化

st=0;

while

(1)

{

ad();//AD初始化

if(getdata>=230)//判断是否水位超过1.8米如果超过

{//打开报警灯否则关闭报警灯

lamp=0;

kg=0;

}

else

lamp=1;

if(getdata<127)//判断数位是否低于1米如果低于打开继电器,

{

kg=0;//并设定双向晶闸管导通次数

EX1=1;//外部中断1允许位打开

y=100-(100*uk)/127;

}

else

kg=1;

}

}

5.3软件水泵控制程序

水泵控制程序是在外部中断1、定时器0共同配合下进行的,他们实现了在1秒内控制通过双向晶闸管半波个数,从而精确控制水泵转速。

外部中断1每10MS触发一次,而定时器0要定时1S后才执行任务,所以时序问题很重要。

时序流程图如图5-2所示。

具体程序如下:

voiddingshi()interrupt1//定时器0定时50MS中断程序

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

w++;

while(w==20)//当到1S时打开外部中断1

{

EX1=1;

w=0;

}

}

voidwaibu()interrupt2//外部中断1,产生双向晶闸管触发脉冲,打开定时器0

{

TR0=1;

ET0=1;

chufa=1;

delay(8);

chufa=0;

delay(8);

x++;

if(x==y)//当过零脉冲到达调节数时关掉外部中断1并//关闭晶闸管触发脉冲

{

chufa=1;

x=0;

EX1=0;

}

}

图5-2中断时序流程图

 

6.结论

本系统主要介绍了水体的液位检测控制,介绍了8051单片机在液位控制系统中的应用,介绍了它们的引脚和在系统中的电路图,本设计还采用了液体压力传感器来对液位的信号采集,利用数码管来进行信号的输出显示,我设计的硬件系统的结构简化,系统精度高,具有良好的人机交互功能,并设有液位报警灯,有问题立即就能发现,减小损失。

通过自动调节控制液位并实现水体的液位报警。

液位控制在设定值上正常运行不需要人工干预,操作人员劳动强度小。

采用单片机设计出的工业水位控制器,能够针对水位的不同状态和不同外界条件进行控制,水位运行稳定、控制品质良好、控制效果明显改善;同时大大提高了控制系统的抗干扰能力,保证了工业水体液位方面作业的稳定运行。

控制装置具有成本低、抗干扰能力强、控制性能好等优点,且系统硬、软件维护简单方便。

本系统采用双向晶闸管控制水泵,电路简单,实用性强,控制精确。

本设计在双向晶闸管驱动电路方面准备用MOC3041过零保护光耦合器,最终由于在PROTUES中仿真一直报错,最终没有找到解决办法,最终用了普通的NPN型光耦合器代替,增加了双向晶闸管的工作负担。

 

参考文献

[1]JohnWiley&Sons,Ltd.MicrocontrollerBasedAppliedDigitalControl[M].TheAtrium,SouthernGate,Chichester,WestSussexPO198SQ,England.JohnWiley&SonsLtd.2006.

[2]谢维成,杨加国.单片机原理与应用及C51程序设计[M].第二版..国马印刷厂.2009-7.

[3]樊月珍.江发潮.基于AT89C51的交流电机调速控制系统设计[EB/OL].林业大学工学院.20082011-6.

[4]胡寿松.自动控制原理[M].第五版..科学.2007.

[5]余孟尝.数字电子技术基础简明教程[M].第三版..高等教育.2009.

 

附录

附录1

系统程序:

#include

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitw1=P2^0;//数码管位选1

sbitw2=P2^1;//数码管位选2

sbitst=P3^0;//ADC0808启动信号

sbiteoc=P3^1;//ADC0808转换标志位

sbitdian=P1^7;//数码管点的控制I/O口

sbitkg=P2^2;//继电器控制位

sbitchufa=P2^3;//双向晶闸管触发控制位

sbitlamp=P2^4;//报警灯控制位

ucharkp,ki,uk,pk,ik;//PID系数定义

uintgetdata;

uinttemp;

uintqd=127;//1M位置

floate,e1,e2,yk;//PID中间量

intzkb,w=0,t=0,p=0,x=0,y=20;//变量定义

uchardispbuf[3]={0,0,0};//数码管缓冲数组

ucharcodetable[]={//段码

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};

voiddelay(uchari)//1us定时

{

while(i--)

_nop_();

}

voidled();

voidpi();

voidad();

voidinitdingshi();

voidmain()

{

ik=0;

e1=0;

kp=0.8;

ki=1.5;

initdingshi();//中断初始化

st=0;

while

(1)

{

ad();//AD初始化

if(getdata>=230)//判断是否水位超过1.8米如果超过

{//打开报警灯否则关闭报警灯

lamp=0;

kg=0;

}

else

lamp=1;

if(getdata<127)//判断数位是否低于1米如果低于打开继电器,

{

kg=0;//并设定双向晶闸管导通次数

EX1=1;//外部中断1允许位

y=100-(100*uk)/127;

if(y>100);

y=100;

}

else

{

kg=1;

}

}

}

voidad()//AD初始化子程序

{

if(p==5)//每25MS进行采集一次

{

st=1;//开启AD

delay

(1);//满足触发时间

st=0;

while(eoc==0);//

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2