液位控制系统设计DOC.docx

上传人:b****4 文档编号:687964 上传时间:2022-10-12 格式:DOCX 页数:13 大小:129.03KB
下载 相关 举报
液位控制系统设计DOC.docx_第1页
第1页 / 共13页
液位控制系统设计DOC.docx_第2页
第2页 / 共13页
液位控制系统设计DOC.docx_第3页
第3页 / 共13页
液位控制系统设计DOC.docx_第4页
第4页 / 共13页
液位控制系统设计DOC.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

液位控制系统设计DOC.docx

《液位控制系统设计DOC.docx》由会员分享,可在线阅读,更多相关《液位控制系统设计DOC.docx(13页珍藏版)》请在冰豆网上搜索。

液位控制系统设计DOC.docx

液位控制系统设计DOC

 

《计算机控制技术》课程作业

题目名称

单片机水槽液位控制系统设计报告

学院

机电与质量技术工程学院

专业

班级

学号

姓名

 

2017年5月25日

 

单片机水槽液位控制系统设计报告

一:

选题的实际意义

现在的工业生产最大的一个特点就是自动化,已经是取代了之前的人工化的,在这样的一个过程当中有很多的特点,也就是说我们要实现这样的一点的话,那就需要很多的高科技的仪器来满足了,这点是非常的值得肯定的,因为多数的时候,我们要是能够真正的将我们的工业化的生产做好的话,那是非常的困难的,在某种程度上面可以说,比起其他的一些工业生产来,是比较的困难的多的。

所以的话,有许多的精密的仪器需要运用到,比如说,液位控制器是我们常见的一种。

而在液位控制器的话,有一个非常的多的特点,就是他的使用范围上面是非常的广泛的,几乎是覆盖了各行各业里面的,所以的话,在现在的话,有很多的行业都有这样的一个特点,就是说要实现自动化的过程,那么这样的一个仪器,那是要用到的了。

此次我们本次要设计的就是基于单片机的水槽液位控制系统。

二:

该计算机控制系统的目的

根据水槽液位的高低变化来控制水泵的启停,从而达到对水槽液位的控制目的。

在运行中可以随时方便的修改各种各样的运行参数的控制值,并修改系统的控制参数,可以方便的改变液位的上限、下限。

同时,通过水体控制过程的自动化处理以及监控软件良好的人机界面,操作人员在监控计算机上能根据控制效果及时修运行参数,这样能有效地减少工人的疲劳和失误,提高生产过程的实时性、安全性。

三:

计算机控制系统达到的效果

自动控制水槽水位高度。

当水槽液位下降至B点或B点以下时水泵被启动;水槽液上升,当液位到达C点时,水泵停止运行;当液位处于B点与C点之间时,水泵就会维持之前的状态(启动或运行)。

以实现控制水位高度。

四:

设计思路

水位检测及控制采用如附件一所示电路,虚线表示水位变化。

在正常范围以内,水位应维持在虚线A和C,其中A处于下限水位,C处于上线水位,B位于AC之间。

A接+5V电源,B、C各通过一个电阻与地相连,同时与单片机的P1.0和P1.1口相连。

1.供水时,水位上升,当达到上线水位C时,由于水的导电作用B、C与+5V电源导通,同时通过P1.0和P1.1端口向单片机输入高电平1,这时通过程序设计使单片机控制电机和水泵停止工作,不再供水。

2.当水位下降到B以下时,电极B与电极C在水面上悬空,b点、c点向单片机输入低电平,这时单片机应控制水泵启动,向水槽内供水。

3.当水位位于B点与C点之间时,由于水的导电作用,电极B连到电极A及+5V是b点呈现高电平,而电极C仍处于悬空状态,则c点位低电平,这时不论水位处于上升还是下降状态,水泵都应继续维持原有的工作状态,既可能是运行,也可能是停止。

五:

设计过程(建议模块化设计过程)

1.设计的目标与要求

根据水槽液位的高低变化来控制水泵的启停,从而达到对水槽液位的控制目的。

工作原理图如下:

当液位上升至高限C以上时,水泵停止运行,液位不再上升;液位降至B以下时,水泵开始启动运行,也为上升;液位维持在BC之间时,水泵维持原来的工作状态,既可以停止,也可以启动。

2.硬件电路设计

根据工艺要求,设计的系统硬件电路如下表:

表1液位信号及操作状态表

P1.0

P1.1

液位

操作状态

0

0

B点以下

水泵启动

1

0

B、C之间

维持原来工作状态

0

1

测量不正常

故障报警

1

1

C点以上

水泵停止

(1)系统核心部分

采用AT89C51单片机,P1.0和P1.1作为液位采集入口,用P1.2作输出口,P1.3作报警输出口。

(2)液位测量部分

根据液位的4种状态,单片机根据4种状态控制水泵电机的工作,具体见表1。

(3)控制报警部分

根据表1中的液位状态,当液位测量不正常时,会发出故障报警,水槽液位控制系统中的发光二极管发光,或者是蜂鸣器发出声音。

3.软件设计

(1)软件设计的原理

通过软件设计将将模拟信号送入A/D转换器,换算出某一时刻水塔水位的实际高度,然后拿它与标定水位进行比较,要求实时检测水箱的液位高度,并与开始预设定值做比较,由单片机控制开关的开断进行液位的调整,最终达到液位的预设定值。

检测值若高于上限设定值时,要求水泵停止,断开继电器,控制水泵停止上水;检测值若低于下限设定值,要求水泵启动,开启继电器,控制水泵开始上水;若测量值在设定值之间,则维持原来工作状态;当测量不正常时,故障报警系统启动。

(2)系统主程序设计

voidmain(void)

{

T0_init_1();

while

(1)

{

if(key_play==0)//按下开始按钮

{

temp=1;

TR0=1;//启动定时器1开启0关闭

}

if(key_stop==0)//按下停止按钮

{

temp=0;

TR0=0;//启动定时器1开启0关闭

}

if(key_jian==0)//按下退水按钮

{

while(key_jian!

=1);//消抖

TR0=0;//启动定时器1开启0关闭

if(NEW_shui>0)

{

NEW_shui--;

}

}

smg_show();//显示水位

if(temp)

{

if(NEW_shui>30)

{

led_A=0;

}

elseif(NEW_shui<=30)

{

led_A=1;

}

if(NEW_shui>60)

{

led_B=0;

}

elseif(NEW_shui<=60)

{

led_B=1;

TR0=1;//启动定时器1开启0关闭

}

if(NEW_shui>90)

{

led_C=0;

TR0=0;//启动定时器1开启0关闭

}

elseif(NEW_shui<=90)

{

led_C=1;

}

if(led_C==0&led_B==1)

led_error=0;

}

}

}

六:

设计结果(包括程序、仿真图、仿真效果等)

程序:

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitled_A=P2^4;//A处水位

sbitled_B=P2^5;//B处水位

sbitled_C=P2^6;//C处水位

sbitled_error=P2^7;//水位异常

sbitkey_play=P1^5;//开始按钮

sbitkey_stop=P1^6;//停止按钮

sbitkey_jian=P1^7;//退水按钮

sbitwei1=P2^0;//数码管位置1

sbitwei2=P2^1;//数码管位置2

uintNEW_shui=0;//当前水位

ucharT0_time=0;//定时器计时

ucharsmg_ying[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管P00-9

uchartemp=0;//开关标致

/////////函数声明////////

voidT0_init_1(void);//定时器初始化

voiddelay_ms(uintt);//延迟_毫秒

voidsmg_show(void);//数码管显示

/////////*********////////

voidmain(void)

{

T0_init_1();

while

(1)

{

if(key_play==0)//按下开始按钮

{

temp=1;

TR0=1;//启动定时器1开启0关闭

}

if(key_stop==0)//按下停止按钮

{

temp=0;

TR0=0;//启动定时器1开启0关闭

}

if(key_jian==0)//按下退水按钮

{

while(key_jian!

=1);//消抖

TR0=0;//启动定时器1开启0关闭

if(NEW_shui>0)

{

NEW_shui--;

}

}

smg_show();//显示水位

if(temp)

{

if(NEW_shui>30)

{

led_A=0;

}

elseif(NEW_shui<=30)

{

led_A=1;

}

if(NEW_shui>60)

{

led_B=0;

}

elseif(NEW_shui<=60)

{

led_B=1;

TR0=1;//启动定时器1开启0关闭

}

if(NEW_shui>90)

{

led_C=0;

TR0=0;//启动定时器1开启0关闭

}

elseif(NEW_shui<=90)

{

led_C=1;

}

if(led_C==0&led_B==1)

led_error=0;

}

}

}

/******************

函数:

T0_init_1

功能:

定时器初始化

*******************/

voidT0_init_1(void)

{

////定时器配置////

TMOD=0x01;

TL0=0xb0;//预置数:

低八位

TH0=0x3c;//预置数:

高八位

TR0=0;//启动定时器1开启0关闭

TF0=0;//溢出标志位置1则(总数+1)

IT0=1;//下降沿触发

////开启中断服务////

EA=1;//开启总中断

ET0=1;//开启计时器中断

}

/******************

函数:

T0_stop_1

功能:

定时器中断服务

*******************/

voidT0_stop_1(void)interrupt1

{

TL0=0xb0;//预置数:

低八位

TH0=0x3c;//预置数:

高八位

//////中断功能////////

T0_time++;

TF0=0;

}

 

voiddelay_ms(uintt)

{

inti;

for(;t>0;t--)

{

for(i=0;i<118;i++);

}

}

/******************

函数:

smg_show

功能:

显示数码管

I/O口:

阳管--1:

灭0:

*******************/

voidsmg_show(void)

{

if(T0_time>=10)//

{

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1