0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于51单片机水位自动控制系统设计(proteus仿真+原理图+源程序)

基于51单片机水位自动控制系统设计(proteus仿真+原理图+源程序)

来源: 电路城
2021-11-19
类别:工业控制
eye 59
文章创建人 拍明

原标题:基于51单片机水位自动控制系统设计(proteus仿真+原理图+源程序)

基于51单片机的水位自动控制系统设计(Proteus仿真+原理图+源程序)

系统总体设计概述

本系统设计旨在构建一个基于51单片机的水位自动控制系统,通过实时监测水箱内水位的高低,实现自动加水和停止功能,避免水箱溢出或缺水。系统采用STC89C52单片机作为核心控制器,配合若干水位传感器、继电器控制模块、水泵、电源模块及显示报警模块等,构建起一套具有自动识别与联动控制功能的闭环控制系统。整个系统可在Proteus平台进行电路仿真验证,便于调试及二次开发,具备低成本、高可靠性和良好的扩展性。

image.png

主控芯片:STC89C52RC

该芯片为STC公司推出的增强型8051内核单片机,拥有8KB程序存储空间,512字节内部RAM,最大可支持24MHz时钟频率,具备多个I/O口、定时器/计数器、中断资源,性价比高、资源丰富,适合中小型自动化控制项目。选用STC89C52RC作为本系统的核心控制器,是因为其在兼容传统51指令集的基础上大幅提高了运行速度,内置看门狗、串口资源更适合后期扩展。同时,该芯片在Proteus中具有现成的仿真模型,利于整体仿真设计。

水位检测模块:浮球式液位开关(型号:FS-MSPX-02)

本系统采用多组浮球液位开关作为水位检测元件,分别对应高水位、低水位和中水位状态。该器件内部为干簧管触点结构,工作稳定、成本低、无功耗,能在液体中长期工作。选择FS-MSPX-02是由于其结构简单,安装便捷,具有良好的防水性能,广泛应用于水箱液位控制场合。

继电器控制模块:SRD-05VDC-SL-C

SRD-05VDC-SL-C是一款常用的5V直流继电器,可直接由51单片机的IO口控制,负载能力达10A/250VAC或10A/30VDC,可满足一般小型水泵的启停控制。其优点是驱动电流小,触点容量大,稳定性高,价格便宜。通过继电器模块可实现对水泵通断电控制,进而间接控制水位。

水泵驱动部分:12V直流水泵(型号:370微型水泵)

选用370型号微型水泵,其工作电压范围在6V~12V之间,体积小,适合嵌入式控制系统使用。该水泵具有噪音低、效率高、成本低、易控制等特点。在与继电器搭配下可以很好实现自动化注水过程。其驱动电流较大,因此需要外部独立供电,同时应并联一个续流二极管以防止反电动势对继电器模块和单片机产生干扰。

显示与报警模块:LED灯+蜂鸣器报警单元(型号:FMB12A05)

系统设置两种报警模式:一是通过LED指示当前水位状态(三种颜色:绿、黄、红分别代表低、中、高水位);二是在水位过低或过高时启用蜂鸣器报警。蜂鸣器型号为FMB12A05,为有源型蜂鸣器,通电即响,适合简单提示应用,控制方便。LED灯则为标准5mm直插式LED,配限流电阻接入IO口控制。

电源模块:AMS1117-5.0稳压模块+12V电源适配器

整个系统的工作电压分为两个层次:12V用于驱动水泵,5V用于单片机、继电器线圈、蜂鸣器及指示灯供电。使用AMS1117-5.0稳压模块可将12V降压为稳定的5V直流电,为主控部分供电。该稳压模块体积小,输出稳定,带有滤波电容,适合嵌入式场景。

限流保护与二极管选型:1N4007

在继电器和水泵等感性负载的驱动过程中,需要在两端并联1N4007二极管,用于吸收关断瞬间产生的反向电动势,避免电压尖峰损坏控制电路。1N4007为常用整流二极管,耐压能力高达1000V,电流能力为1A,价格低廉,性能稳定,广泛用于各种直流保护场景。

系统工作原理

系统上电后,STC89C52初始化各IO口、定时器以及中断资源,随后进入主循环进行实时水位检测。当检测到低水位液位开关闭合时,系统控制继电器吸合启动水泵;当水位升高至高水位开关动作时,控制继电器断开,水泵停止加水。若出现液位传感器异常,系统通过蜂鸣器报警提示维护。整个过程形成了一个基于状态判断的闭环控制流程,同时通过LED指示实时状态,便于用户观察系统运行情况。

Proteus仿真设计说明

在Proteus仿真平台上,搭建系统原理图包含以下模块:STC89C52最小系统、水位传感器以开关形式接入P1.0P1.2口、继电器模块接P2.0、蜂鸣器及三色LED分别接P3.0P3.3。水泵以电阻负载代替,通过继电器通断控制工作模拟状态。仿真中通过虚拟开关模拟不同水位状态,观察系统响应情况,验证逻辑正确性与控制时序准确性。

源程序设计详解(基于Keil编写)

程序主要由初始化部分、水位检测、继电器控制、报警控制与LED指示几个模块组成。采用C语言编写,模块清晰,扩展性强。主要逻辑通过轮询实现,也可拓展为外部中断触发机制。

关键函数包括:

void check_level(){    if(P1_0 == 0) // 低水位
   {
       P2_0 = 1; // 打开继电器
       P3_0 = 1; // 亮绿色灯
   }    else if(P1_1 == 0) // 中水位
   {
       P3_1 = 1; // 亮黄色灯
   }    else if(P1_2 == 0) // 高水位
   {
       P2_0 = 0; // 关闭继电器
       P3_2 = 1; // 亮红色灯
       buzzer_alarm();
   }
}

蜂鸣器函数如下:

void buzzer_alarm(){
   P3_3 = 1;
   delay_ms(500);
   P3_3 = 0;
}

原理图结构说明

原理图包括以下模块:

  • STC89C52核心电路(晶振、电容、复位、下载接口)

  • 三个液位传感器开关接入IO

  • 继电器控制模块(带驱动三极管+续流二极管)

  • 水泵负载模块

  • 电源模块(AMS1117-5.0稳压电路)

  • LED指示灯、蜂鸣器报警模块

通过Proteus布线清晰展示模块间逻辑连接,利于学习与分析。所有器件均来自Proteus库,仿真效果真实,控制逻辑在仿真中可逐步验证。

总结

本系统基于51单片机构建,设计简洁合理,器件选型成熟可靠,具备良好的仿真验证和实物扩展能力。通过Proteus平台实现电路仿真与逻辑验证,使开发效率和可靠性大大提升。所选元器件均为市售常见型号,兼具成本优势和性能保障,适用于教育教学、实验研究和小型水箱液位控制等多种应用场景。在未来可拓展为无线监控、液晶显示、人机交互等更高级的智能控制系统。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告