水满报警器.docx
《水满报警器.docx》由会员分享,可在线阅读,更多相关《水满报警器.docx(12页珍藏版)》请在冰豆网上搜索。
水满报警器
水满报警器设计与仿真
一、【设计目的】
生活中很多时候,我们都需要人工控制水位,这样不仅浪费人力,而且人工不能做到实时的监控和精确的定位,这就需要一个测控电路去实现水位的监控和报警控制。
目前大多数的住宅小区都是采用人工加水的办法,即当水用完的时候,就人工开启水泵进行加水,十分不方便。
以至于水用完之前不知道水已经很少了,等到用完了才知道没水了,如果是急需用水的情况下,那就十分麻烦,要等到加水之后才有水用;加水过程当中,还需要人时时刻刻检查水位情况,以防止水位超过最高的水位;以上一系列的问题,都在期待一种简单、经济的高塔水位控制系统的诞生。
二、【指标要求】
实现水位检测传感器
通过控制,使水罐水位维持在正常的范围内。
具有报警功能,当水位超过上限或下线时,能及时报警。
三、【设计的原理】
1、系统框图
单片机
AT89C51
水位检测装置
稳压电路
显示电路
报警电路
水泵控制
图1水满报警器系统的设计框图
水满报警系统(图1)主要是由5个模块组成。
既水位检测装置,稳压电路,单片机,显示电路、报警电路和水泵控制电路。
✧水位检测传感器:
对水位情况进行检测;
✧稳压电路:
对从水位检测传感器输出的信号进行稳压处理;
✧单片机:
控制系统,获取水位信息并作出相应;
✧报警电路:
对水位进行显示及对高、低水位报警;
✧水泵控制电路:
当水位过低时,用单片机来控制水泵的工作。
检测到的水位信息通过稳压电路放大后传给单片机,单片机控制显示电路,显示水位信息,当水位过高或过低时报警,并且当水位过低时控制水泵加水。
2、各模块工作原理的分析与介绍
2.1、水位监测器
图2水位检测电路
水位检测器如上图2所示。
A为接+5V电源的线与水一直保持连通,B线为低水位控制线,当它不导通时,表示是低水位了。
C为中水位控制线,当它导通时,表示水位适中。
D为高水位控制线,当它导通时,表示是高水位了,即水满状态。
检测器选用细铜丝,因为细铜丝的电阻率比较低,这样就可以避免由于电阻过大而使输出的电平过低,以致不能很好的驱动单片机工作;细铜丝的传电性能比较好,传电速率比较快,也可以说是灵敏性很好;还有就是细铜丝经济实惠,便于我们取材。
2.2、稳压电路
图3稳压电路
稳压电路(图3)由两级三极管放大电路组成。
水位检测传感器将探测到的信号送给稳压电路,若是高电平,则R1, R2, Q1, Q2导通,将低电平送给单片机;若是低电平,则R1, R2, Q1, Q2均不导通,而是通过R3将高电平送给单片机。
2.3显示电路
图4显示电路
图4所示的显示电路采用不同颜色的发光二极管来表示不同的水位情况。
当水位是低水位时,从单片机的P2.1口输出一个低电平,驱动红色的发光二极管发光,其余颜色的二极管均不发光;
当水位时中等水位时,从单片机的P2.2口输出一个低电平,驱动绿色的发光二极管发光,其余颜色的二极管均不发光;
当水位是高水位时,从单片机的P2.3口输出一个低电平,驱动黄色的发光二极管发光,其余颜色的二极管均不发光。
光报警电路时采用共阳极连接,低电平时有效。
其中R4, R5, R6为上拉电阻起
2.4、报警电路
图5报警电路
如图5所示的报警电路,当水位处于低水位时,单片机的P2.4口输出一个高电平,从而驱动三极管导通,使蜂鸣器发声,起到报警的作用。
2.5、水泵自动控制
图6水泵控制电路
如图6所示的水泵控制电路,此电路由继电器RL1,光电耦合器MOC3021,水泵,电阻R8, R9, R10,R11,三极管Q4等组成。
当水位在低水位时,单片机的P2.0口输出一个高电平,使光电耦合器(MOC3021)导通,继而驱动Q4导通,这样就使继电器(RL1)闭合,从而让220v的交流电接通水泵,让水泵转动开始加水。
4、原理图及软件设计
4.1、原理图(本设计所有电路都是在protues7.8上仿真的)
本原理图分为图7和图8两部分,由复位电路、振荡电路、水位的检测电路、稳压电路、显示电路、报警电路及水泵控制电路构成。
图7单片机与水位监测电路,稳压电路相连
其中稳压电路有3部分,图中只作了与水位监测器D端(高水位)相连的部分,另外2部分与该部分电路相同,分别接稳压电路的B、C端。
图8单片机与显示电路,报警电路,水泵控制电路相连
注意的是图7与图8是通过P2.0~P2.5相连的。
4.2、软件设计
图9软件流程图
如图9,首先初始化,当单片机接收到来自水位检测传感器的一个信号,然后经过分析,在单片机的输出端口输出相应的信号,如果是低水位时,这时水泵转动并自动开始加水,红灯亮,黄灯和绿灯均不亮,并且蜂鸣器报警;如果是中等水位时,水泵继续工作,这时绿灯亮,红灯和黄灯均不亮,蜂鸣器不报警;如果是高水位时,水泵停止转动并且停止加水,黄灯亮,红灯和绿灯均不亮,蜂鸣器不报警。
四、【仿真与仿真结果分析】
部分仿真结果见图10,全部结果见表1。
图10水满报警器仿真结果
表1仿真结果
警报
显示
水泵
红灯
绿灯
黄灯
高水位
√
×
×
√
×
中水位
×
×
√
×
√
低水位
√
√
×
×
√
注:
√表示工作,×表示不工作
五、【元器件清单】
元器件清单如表2所示,包括名称、型号、规格、数量等相关信息。
表2元件清单
元件序号
型号
主要参数
数量
备注
R1
RES2
100
1
R2
RES2
2k
1
R3
RES2
100k
1
R4~R6
RES2
2k
3
R7
RES2
10k
1
R8
RES2
1k
1
R9
RES2
10k
1
R10~R11
RES2
2k
2
R12
RES2
10k
1
C1~C2
CAP
12pF
2
C3
CAP
1uF
1
X1
CRYSTAL
1
D1
Led-red
1
D2
Led-green
1
D3
Led-blue
1
继电器
RL1
1
光电耦合器
MOC3021
1
水泵
Motor
1
按键
Button
1
六、【总结及改进思路】
水位报警计的设计首先应该从选用传感器的类型入手,由于所学知识设计这个部分的不是很多,故此部分运用简单的设计。
其次在硬件设计方面也需要下大工夫,从稳压电路到报警电路的选型都要慎重,使其性价比达到最佳水平。
最后就是软件方面的设计,对于编程是非常复杂的,对于结构化程序设计的方法有顺序结构程序、分支结构程序和循环结构程序等。
本设计采用模块化设计,然后进行调用子程序,使其运行方式一目了然。
编程时先画出了流程图,使得编程事半功倍。
关于改进方面,有水位监测器过于简单,达不到实时监控水箱水位的目的,只能粗略的估计出水箱的水位。
虽然达到了实验目的,但是不能运用于高精的需求的设备,估测需要进一步改进。
关于改进,我们可以采用专门的水位监测仪器,将检测到的水位信息通过模数转换器,转换成单片机可以处理的数据,从而更进一步、更精确的控制水位。
【附录】
ORG 0000H
LJMP START
START:
SETB P1.0
SETB P1.1
SETB P1.2
RESTART:
MOV A , P1
ANL A, #00000011H
CJNE A, #00H, LOOP1; 低水位,红灯亮,蜂鸣器报警,水泵抽水
SETB P2.4
SETB P2.3
SETB P2.2
SETB P2.0
CLR P2.1
LCALL DELAY
LJMP RESTART
LOOP1:
CJNE A, #03H, LOOP2; 中水位,绿灯亮,蜂鸣器不报警,水泵继续抽水
SETB P2.1
SETB P2.3
SETB P2.0
CLR P2.2
CLRP2.4
LCALL DELAY
LJMP RESTART
LOOP2:
CJNE A, #07H, RESTART;高水位,黄灯亮,蜂鸣器不报警,水泵停止抽水
SETB P2.1
SETB P2.2
CLR P2.0
CLR P2.3
CLR P2.4
LCALL DELAY
LJMP RESTART
DELAY:
MOV R0, #250
DELAY3:
MOV R1, #200
DELAY2:
MOV R2, #5
DELAY1:
DJNZ R2, DELAY1
DJNZ R1, DELAY2
DJNZ R0, DELAY3
RET
END