摘要:随着科技的不断发展,智能化产品越来越多融入到居家生活中。本文设计了一种基于单片机控制的鱼缸水循环系统,利用超声波测距模块得到实时水位高度,将水位高度实际值送入单片机进行处理比较,进而控制注水、排水水泵的工作,实现智能化管理。本文详细阐述了系统的硬件结构与软件编程的过程,经过仿真软件模拟与实际成品测试均得到预期效果。

关键词:智能化;水循环系统;超声波测距

随着人们生活水平居住环境的提高和改善,养鱼成为日常生活中陶冶情操的一种乐趣,越来越多的家庭以及办公场所均能看见鱼儿的身影,但是往往欣赏的背后却要付出很多辛苦劳动。市面上的鱼缸多采用背部过滤设计,可以在过滤的同时给鱼缸加氧,这需要时常向鱼缸背部添水,由于养鱼者忙碌或出差不在家不能及时给鱼缸添水导致过滤系统损坏,或者要经常给鱼缸换水费时费力,所以普通鱼缸无法满足人们对智能化产品的需求,特别对于忙碌的上班族来说,养鱼往往是赏心悦目,却要被这些繁琐事情牵绊。所以设计一款鱼缸的自动水循环系统是非常必要的,为人们自动控制管理鱼缸水位高度,清理鱼缸提供了很大的便利。

1系统总设计

该设计是以STC89C51单片机芯片为整体控制中心,总体设计框图如图1所示。由超声波测距模块、LCD液晶显示模块、按键电路模块、以及水位高度测量电路、报警电路等结构组成得以实现鱼缸水循环系统。该设计实现了实时监测显示鱼缸水位高度,并兼具两种控制鱼缸水位的模式:自动模式、手动模式。自动模式主要适用于无人看守鱼缸并需要实时向鱼缸里加水情况,在无人看守下,可以设定系统为自动模式。背部过滤设计的鱼缸水分蒸发较快,由于养鱼者没有及时向鱼缸添水,可能会导致过滤系统烧坏。在自动模式下,利用软件编程可以设置最高水位值和最低水位值,也可以通过单片机上设置按键改变水位高度设定值,当鱼缸水分蒸发低于设定最低值时,系统自动报警,红灯指示灯亮同时注水水泵工作,向鱼缸里加水。手动模式更适用于清理鱼缸时自动换水情况,在手动模式下,实时显示鱼缸液位高度,但是报警电路不工作,当鱼缸需要换水时,可以切换成手动模式,按下设置键选择排水,当鱼缸水抽净后通过按键控制而停止抽水,再按下设置键选择注水,由此实现了自动水循环过程。

2硬件设计方案

根据上述对系统的设计要求,具体实施过程与元器件选择如下:

2.1单片机最小系统:

首先考虑系统应有掉电保护的功能,所以在选取单片机上选择了内部含有EEPROM的存储空间的芯片[1],对每次设定好的水位数据值进行记忆存储,在单片机第二次开机时,系统首先读取EEPROM的上一次记忆存储值显示在屏幕上,不会因为突然掉电、上电改变高度值从而影响鱼缸水位。由于51系列单片机内存为4K可以满足鱼缸整体程序的存储空间,加之成本低、可在线编程下载、可靠性高、市场应用高的特点,综合决定选取STC89C51为主控芯片。最小系统还包含了电源电路、复位电路和时钟电路。考虑到51单片机的工作电压是5V左右,本次供电方式采用5V移动电源供电。对于时钟电路主要是单片机晶振的选取,由于本次设计对系统的实时性要求不高,再考虑到功耗,成本的问题时,11.0592M晶振足以满足系统需求。

2.2显示模块:

由于设计要求需要,显示模块需要显示实时鱼缸液位高度、显示设置的液位最高值和最低值以及模式状态,显示内容较多。LCD1602液晶显示屏完全可以符合设计需求。LCD1602的八位数据端口(D0-D7)分别连接单片机P0.0-P0.7端口,RS、R/W、使能端E分别连接单片机P1.0-P1.2端口,经过软件编程对液晶显示屏控制后,在液晶屏第一行显示模式状态和水位高度,第二行显示液位设置最高值最低值高度。

2.3超声波测距模块:

此模块是设计的核心,主要功能是实时测量液位高度。对于测量液位高度,国内外有二十几种检测方式,如电阻式、光纤式液位测量等[2],最终选取超声波测量主要考虑的是尽量不选择在鱼缸的水中放入传感器,而超声波测量方法是非接触式测量[3],利用超声波脉冲反射和脉冲反射回波进行相应计算得到测量结果。超声波模块选取的是HC-SR04,其最大探测范围是4m,如图2为超声波模块接口图,GND、VCC分别接地和5V电源,Trig为控制端口连接单片机P2.6接口,工作时需要单片机给该端口一个高电平信号,超声波发射端口会循环发出40KHz频率方波[4],Echo为接收端口连接单片机P2.7接口,当接收端接收到超声波返回信号会将Echo输出高电平。通过单片机内计时功能得到往返时间t1,超声波在空气中传播速度V为340m/s,则水面到发射器的距离为S=Vt1/2,进而可以得到鱼缸水位高度。

2.4按键模块:

有三个功能按键,分别是设置键、水位加、水位减按键分别连接单片机P1.3、P1.4、P3.5接口,设置键主要是切换自动模式和手动模式。手动模式下,显示屏显示“A”,当按下水位加按键,注水水泵开始工作给鱼缸加水,当按下水位减按键停止加水;当按下水位减按键,排水水泵开始工作给鱼缸抽水,当按下水位加按键停止抽水;在自动模式下显示屏显示“H”和“L”,在“H”界面下通过水位加和水位减按键可以调节最高水位值,在“L”界面下通过水位加和水位减按键可以调节最低水位值。

3系统软件设计

本设计是以51单片机为基础,结合上面阐述的硬件设计,以C语言作为编程语言,采用模块化方式进行程序设计。主要分为三个功能模块:主程序模块、EEPROM数据记忆存储模块、液晶显示模块构成。其中主程序流程图如图3所示,有三个函数构成,第一部分是系统初始化函数,主要是单片机上电后系统开始运行时设置各模块的初始值。第二部分是延时函数,主要用在按键电路的延时去抖中。第三部分是实时液位高度检测函数,利用单片机内部定时器计数的功能得到time1,机器周期时间T1为1/11.0592×12μs=1.08μs进而得到超声波往返的时间t1为1.08×time1μs,由于t1为声波的往返时间,计算距离时的时间应该为t1/2,进而得到超声波发射器与液体高度的距离S1,则S1=vt=346×t1/2=1.87×time1/100cm,利用尺子量出超声波模块到鱼缸底部的距离S2,其为定值,则鱼缸实时高度S为S2-S1。主程序流程图具体分析如下:首先单片机上电,系统初始化,在EEPROM存储空间中读取上一次设置的水位最高值和最低值显示在液晶屏幕上;开启定时计数功能;进入液位检测函数中,得到鱼缸水位高度值;判断此时的工作模式是手动还是自动模式;如果是自动模式,继续判断液位高度是否在设置值范围内,如果在,则显示液位高度,如果不在设置范围内,则相应的排水、注水水泵工作,同时指示灯亮,蜂鸣器报警;如果在手动模式下,关闭报警电路并判断是否有加水键和减水减按下,如果有则进行相应操作,如果没有显示鱼缸水位高度值。

4结论

本次设计在keil编程调试和proteus软件仿真后均得到预期值,经过实物测试得到该方案可行,可以实时监测鱼缸水位高度,并实现自动化水循环和液位高度控制的功能,本次设计是电子技术于测量领域结合应用在居家生活中,还可以在多方面进行提高,比如加上水温控制,实时监测鱼缸内氧气浓度等功能,这样一个智能鱼缸系统会更加完善。

参考文献

[1]李晓红,王瑞荣.基于单片机的温度检测系统设计[J].电子测试,2020,(15):24-25.

[2]刘志坚,晏永飞,孙应毕,徐慧,王旭辉.基于STC89C51的超声波液位检测系统设计[J].电子测量技术,2019,42(14):6-11.

[3]何秋,孙志斌,耿宝明.LHAASO-WCDA超声波测距系统的设计与实现[J].电子设计工程,2017,25(08):6-9,14.

[4]侯佳辛,宋广军.基于单片机的超声波液位智能控制系统设计[J].自动化与仪表,2020,35(05):31-33,39.

作者:殷佳琪 单位:兰州资源环境职业技术学院

阅读次数:人次

C语言循环水题,【系统设计论文】单片机控制下的鱼缸水循环系统设计(共3694字)...相关推荐

  1. 【毕业设计】2-基于单片机控制的直流电机调速系统设计(原理图+仿真+答辩论文+答辩PPT)

    [毕业设计]2-基于单片机控制的直流电机调速系统设计(原理图+仿真+答辩论文+答辩PPT) 文章目录 [毕业设计]2-基于单片机控制的直流电机调速系统设计(原理图+仿真+答辩论文+答辩PPT) 资料下 ...

  2. C语言填空题10道,3道C语言填空题,谁帮忙做下,谢谢

    3道C语言填空题,谁帮忙做下,谢谢0 功能:输出两个整数中大的那个数,两个整数由键盘输入. #include #include int main() { int a,b,*p1,*p2; p1=(in ...

  3. pwmc语言调速程序_51单片机的直流电机PWM调速系统设计,正转反转,加减速,急停等,仿真和代码...

    设计思路 直流电机PWM控制系统的主要功能包括:实现对直流电机的加速.减速以及电机的正转.反转和急停,并且可以调整电机的转速,能够方便的实现电机的智能控制. 主体电路:即直流电机PWM控制模块.这部分 ...

  4. 基于数字电路交通灯信号灯控制系统设计-基于单片机病房温度监测与呼叫系统设计-基于STM32的无线蓝牙心电监护仪系统设计-基于STM32的智能蓝牙温控风扇控制设计-基于STM32的智能温室控制系统设计

    1617基于数字电路交通灯信号灯控制系统设计(仿真电路,论文报告)  摘  要:交通灯控制系统在城市交通控制中发挥着重要的作用,本次课程设计就是以城市交通灯控制系统为背景的,主要通过运用学过的数字电路 ...

  5. 基于单片机的智能电子密码锁系统设计-基于51单片机酒精浓度检测仪设计-基于单片机的水缸加热温控控制系统设计-基于单片机蓝牙技术的温室监测系统设计-基于单片机智能PWM调光灯系统设计【毕设方案】

    600基于单片机的智能电子密码锁系统设计-电路程序资料 本设计采用的是AT89C51单片机作为控制核心,控制外围电路工作的装置.在本次基于单片机的电子密码锁设计中,将采用AT89C51单片机作为控制核 ...

  6. 基于单片机热电偶智能体温检测系统设计-基于单片机一氧化碳CO有毒气体采集报警系统设计-基于单片机热电偶智能体温检测系统设计(仿真,原理图,报告)【资料转发分享】

    1626基于单片机小型家用燃气锅炉控制系统设计(仿真,程序,论文) 1. 设计任务 结合实际情况,基于AT89C51单片机设计一个小型家用燃气锅炉单片机控制系统. 该系统应满足的功能要求为: (1) ...

  7. C语言循环水题,科学网—水文模型大本营 - 陈昌春的博文

    水文模型在气候变化与水资源问题日益引起关注的当代具有丰富的应用前景.现对水文模型作一些介绍. 目前堪称水文模型龙头老大的开放兼开源软件是SWAT(行业老大的SHE水文模型集群是商业软件,与ARCGIS ...

  8. 4735: C语言循环水题2

    #include <stdio.h> #include<stdlib.h> #include<math.h> #define PI 3.1415926 int ma ...

  9. 数学建模c语言必背知识,【计算机网络论文】数学建模计算机知识的应用(共4296字)...

    摘要:数学作为一门研究数量.结构.变化.空间以及信息等概念的学科,透过抽象化和逻辑推理,对于人们生产生活中实际问题的解决有着重要作用.而数学建模作为利用数学工具解决实际问题的重要手段,在人类社会发展中 ...

最新文章

  1. PHP 5.3 中不建议使用的(部分)函数列表
  2. SparkSQL之thriftserver/beeline的使用
  3. 不错的递归题:输入123,返回“321”。 要求必须用递归,不能用全局变量,输入必须是一个参数,必须返回字符串。
  4. SAP官方社区上提供的一些下载资源
  5. linux awk 教程,linux awk使用
  6. 如何用Baas快速在腾讯云上开发小程序-系列3 :实现腾讯云COS API调用
  7. 接口——从事物的共同点出发
  8. Java实现批量发送邮件
  9. WEBI上取月的整周
  10. 三级综合医院病案首页上报系统要求
  11. 蓝牙BLE方案|智能穿戴市场持续火热,伦茨科技推出智能手表方案
  12. CMD命令窗口全屏设置
  13. Kubernets集群管理-升级 kubernetes 集群版本到v1.21.14
  14. 强大的可配置业务化后台管理系统
  15. C++设计模式——装饰模式(高屋建瓴)
  16. Meet Surprise品牌饰品告诉你不同季节佩戴首饰有什么讲究
  17. 单招计算机网络考什么,单招考什么内容 单招一般考什么科目
  18. PieLove(鹊桥·征男友女友) 版-内容抓取程序
  19. form表单校验插件(含详细注解)
  20. 2022下半场,Plug and Play 最关心的金融科技创新趋势是?

热门文章

  1. MCU、Linux实现OTA固件升级要点
  2. 树莓派读取usb摄像头
  3. Java入门云计算:从基础到实践
  4. 知识图谱入门——认识知识图谱
  5. 利用SwitchyOmega和Jmeter实现Jmeter录制功能
  6. 分享几个简单好用的导航
  7. JavaScript的三个主要组成部分
  8. 关于打的 umd 包在使用时,报 require is not defined 错误的问题出处
  9. 【转】CAN总线终端电阻的作用?为什么是120Ω?为什么是0.25W?*****
  10. 中控ecs700 mysql_中控 ECS-700系统