现在网上有许多的水位控制器单片机方案有很多,但在本文中,英锐恩单片机开发工程师们分享一个简化版的水位控制器单片机方案。该水位控制器可以监控顶置水箱的水位,并在水位低于预设限值时自动打开水泵。
在这个单片机方案中,水箱的液位由5个LED指示,当水箱已满时,泵将关闭。如果集水箱中的水位低,则不允许泵启动,并且在抽水周期中,如果集水箱中的水位变低,泵也将关闭。浮子开关电路坚固耐用,可确保在很长一段时间内无需维护。
水箱的液位传感器探头通过晶体管连接到单片机的端口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发光。水位控制器的电路图如下图所示:
水箱水位控制器单片机方案源代码
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位单片机。