技术热线: 4007-888-234

简化版的水箱水位控制器单片机方案

更新时间: 2019-11-15
阅读量:3176

现在网上有许多的水位控制器单片机方案有很多,但在本文中,英锐恩单片机开发工程师们分享一个简化版的水位控制器单片机方案。该水位控制器可以监控顶置水箱的水位,并在水位低于预设限值时自动打开水泵。

在这个单片机方案中,水箱的液位由5个LED指示,当水箱已满时,泵将关闭。如果集水箱中的水位低,则不允许泵启动,并且在抽水周期中,如果集水箱中的水位变低,泵也将关闭。浮子开关电路坚固耐用,可确保在很长一段时间内无需维护。

QQ截图20191115170710.png

水箱的液位传感器探头通过晶体管连接到单片机的端口2。看看上图中水箱的传感器探头布置。一个正电压电源探针伸到水箱的底部。用于感测1/4、1/2、3/4和FULL电平的探头在底部正极探头上方等距一一放置。考虑最顶部的(全电平)探针,其另一端通过电阻R16连接到晶体管Q4的基极。每当水上升到满水位时,电流就会流入晶体管Q4的基极,使其导通,因此其集电极电压会变低。Q4的集电极连接到P2.4,P2.4处的低压意味着顶置储罐未满。当水位低于满水位探头时,Q2的底部打开,使其关闭。现在它的集电极电压越来越高,达到P2.4,意味着储罐未满。其他传感器探头(3/4、1/2、1/4)也是如此,微处理器通过扫描端口引脚P2.4,P2.5,P2.6和P2.7来了解电流水平。所有这些端口引脚都为高电平(所有传感器探针均已打开)表示储罐为空。

端口引脚P0.5用于控制泵。无论何时需要开始泵送,控制器都会将P0.5设为低电平,这会使晶体管Q6导通,进而激活继电器K1,从而切换泵。另外,LED d6发光,表示电动机已打开。LED D7是低油底壳指示器。当集水箱中的水位变低时,控制器将P0.7调低,从而使LED D7发光。水位控制器的电路图如下图所示:

water-level-controller-8051.png

水箱水位控制器单片机方案源代码

MOV P2,#11111111B // initiates P2 as sensor input
MOV P0,#11111111B // initiates P2 as the output port
MOV A,#00000000B
MAIN:ACALL SMPCK // checks the level of the sump tank
MOV A,P2 // moves the current status of P2 to A
CJNE A,#11110000B,LABEL1 // checks whether tank is full
SETB P0.1
SETB P0.2
SETB P0.3
SETB P0.4
CLR P0.0 // glows full level LED
SETB P0.5
LABEL1:MOV A,P2
CJNE A,#11111000B,LABEL2 // checks whether tank is 3/4
SETB P0.0
SETB P0.2
SETB P0.3
SETB P0.4
CLR P0.1 // glows 3/4 level LED
LABEL2:MOV A,P2
CJNE A,#11111100B,LABEL3 // checks whether tank is 1/2
SETB P0.0
SETB P0.1
SETB P0.3
SETB P0.4
CLR P0.2 // glows 1/2 level LED
LABEL3:MOV A,P2
CJNE A,#11111110B,LABEL4 // checks whether tank is 1/4
SETB P0.0
SETB P0.1
SETB P0.2
SETB P0.4
CLR P0.3 // glows 1/4 level LED
JB P0.6,LABEL4
CLR P0.5 // switches motor ON
LABEL4:MOV A,P2
CJNE A,#11111111B,MAIN // checks whether tank is empty
SETB P0.0
SETB P0.1
SETB P0.2
SETB P0.3
CLR P0.4 // glows EMPTY LED
JB P0.6,MAIN // checks whether sump is low
CLR P0.5 // switches motor ON
SJMP MAIN
SMPCK:JB P0.6,LABEL5 // checks whether sump is low
SETB P0.7 // extinguishes the sump low indicator LED
SJMP LABEL6
LABEL5:SETB P0.5 // switches the pump OFF
CLR P0.7 // glows sump low indicator LED
LABEL6:RET
END


以上就是英锐恩单片机开发工程师分享的简化版的水位控制器单片机方案。英锐恩专注单片机应用方案设计与开发,提供8位单片机、16位单片机、32位单片机。