基于单片机的观赏鱼缸控制系统设计与实现

摘 要
现代生活节奏日益加快,传统的人工运作方式已无法满足家庭观赏鱼养殖在即时性与精确性方面的需求,于是,本文设计并完成了一个依靠单片机的观赏鱼缸智能控制系统,该系统把STM32F411CEU6当作主控芯片,整合了DS18B20温度传感器,TDS水质传感器以及电容式水位传感器,从而达成对水温,水质和水位的即时检测,系统搭载TFT液晶屏用于本地显示,并经由ESP8266模块把数据上传到ThingsBoard物联网云平台,以此做到远程观测及远程补水控制,软件选用的是RT-Thread即时操作系统,借助多任务调度来达成各功能的同步处理。
测试结果显示,系统各功能运行稳定,可以自动识别水位并开启补水,还具备云平台远程控制能力,其数据收集精准,通信稳定,该系统切实减小了人工干预的频次,优化了鱼缸经营的智能化程度,具备较高的实用价值。
关键词: STM32;鱼缸控制系统;物联网;ThingsBoard;RT-Thread;远程监控
Abstract
With the accelerating pace of modern life, traditional manual management methods can hardly meet the requirements of realtime performance and precision for household ornamental fish breeding. Therefore, this paper designs and implements an intelligent control system for ornamental fish tanks based on a microcontroller. The system takes STM32F411CEU6 as the main control chip, integrating a DS18B20 temperature sensor, a TDS water quality sensor and a capacitive water level sensor to realize realtime monitoring of water temperature, water quality and water level. The system is equipped with a TFT LCD for local display, and uploads data to the ThingsBoard IoT cloud platform through the ESP8266 module, enabling remote monitoring and remote water replenishment control. The software adopts the RTThread realtime operating system and realizes parallel processing of various functions through multitask scheduling.
Test results show that all functions of the system operate stably. It can automatically detect the water level and activate water replenishment, supports remote control via the cloud platform, with accurate data collection and reliable communication. This system effectively reduces the frequency of manual intervention, improves the intelligent level of fish tank management, and has good practical value.
Key words: STM32; fish tank control system; Internet of Things; ThingsBoard; RT‑Thread; remote monitoringl
1 绪论
1.1 研究背景及意义
城市化进程持续推进,现代都市居民的生活节奏变得更快,工作压力不断加大,人们对于精神文化生活的追求愈加强烈,在此情形下,观赏鱼养殖这一低强度,富有趣味性的休闲活动渐渐被城市家庭普遍认可并当作兴趣爱好,观赏鱼可用来美化家居环境,观赏它们的时候能平缓情绪,减轻压力,对于调和现代人紧张的生活节奏有着积极作用,但观赏鱼养殖可不是一项简单的日常照看事务,鱼缸环境的维持牵涉水温调控,水质守护,水位维持等诸多方面,只要其中一个环节出问题,就有可能引发鱼类患病乃至死亡。 传统鱼缸运作大多靠人工来完成,这就要求养殖者定时监测水温,更换水体,留意水质改变情况,这样的运作既耗时又费力,而且很难立即察觉到偶发事件并加以解决,常常是在养殖者外出或者粗心的时候带来一些本可避免的损失。
物联网技术飞速发展,给传统鱼缸经营方式向智能化转型赋予了技术支持,经由把传感器技术,自动控制技术和无线通信技术有机融合起来,就能形成起一套可即时监测鱼缸环境参数并自动开展相应控制动作的智能经营系统,此系统可以把养鱼者从繁杂琐碎的日常守护事务当中解脱出来,而且凭借远程观察功能,无论养鱼者身处何方,均能及时了解鱼缸状况并予以必要干涉,所以,设计出一套功能完备,运行可靠的观赏鱼缸智能控制系统,对于加强家庭观赏鱼养殖的便捷程度及其达成率有着重要的实际价值,本课题就依托这样的大背景,力求研制出一套兼具环境检测,自动控制和远程守护功能的鱼缸控制系统,从而为现代家庭水族养殖给予更为科学高效的养护计划。
1.2 国内外研究现状
1.2.1 国外研究现状
国外关于智能水族养殖系统的相关研究启动得比较早,其技术发展比较成熟,欧美那些发达国家,在水产养殖自动化方面的研究投入了诸多资源,创建起较为完善的技术体系。在外传感器的应用上,国外的研究者较早便把多参数水质传感器用在水族养殖当中,从而做到对水温,pH值,溶解氧,氨氮这些关键指标的即时检测,这给精准化养殖经营形成了技术根基,至于控制系统,则大多是国外的产品采取模块化的设计理念,把温度控制,过滤循环,自动投喂等功能整合起来,用户可以依循自己的实际需求来灵活设定功能模块,这表现出很高的系统整合程度以及设计的灵活性。 近些年来,伴随着物联网技术得到全面推广,国外的智能水族产品朝着云端化,移动化的方向迈进,很多产品具备经由智能手机应用程序执行远程观测和控制的能力,一些高端产品还融入了人工智能算法,它们可以遵照鱼类的行为特征及其生长状况自动调节养殖参数,智能化水平持续优化。
从商业应用角度看,德国,日本等国的智能水族设备制造技术位于世界前列,它们的产品在测量精度,运行稳定性以及用户体验上存在突出优势,这些国家有着比较完善的产业链和成熟的技术标准体系,产品从传感器精度到执行机构可靠性都要经过严格的检测认证,但是国外产品大多价格昂贵,高端产品常常超出一般家庭用户的消费水平,而且有些产品的功能设计更多依照国外家庭的养殖习惯和使用环境,不能完全契合国内家庭用户的真实需求,在鱼缸尺寸适应性,本地化交互界面等方面也存在一定差距,正是由于这样的情况,国外高端产品想要在国内市场广泛推广就会碰上诸多困难,这也给国内自行研发的智能水族系统创造出了不同的竞争机会。
1.2.2 国内研究现状
国内关于智能水族养殖系统的研究开始得比较晚,但是近年来发展速度很快,随着植入式技术和物联网技术得到普及,国内的高校以及科研机构展开了许多这方面的研究,并收获了丰富的理论与应用经验,从学术研究角度看,国内的研究人员针对鱼缸环境检测,自动控制算法,远程传达等内容做了细致探究,给出了很多依靠单片机,ARM 处理器和植入式操作系统的解决办法,覆盖了从传感器收集数据一直到执行器控制的整套技术流程,这些研究在技术路线方面表现出多种化特征,有的是按照简单控制逻辑制定的低成本方案,也有的是采用即时操作系统并结合复杂控制算法而作出的全面性规划,从而给智能水族系统的产业化进程供应了技术支持。 在产品开发这个层面上,国内智能水族设备市场处于快速发展当中,许多科技公司推出了一些针对家庭用户的智能鱼缸产品,其功能包含自动恒温,智能照明,自动投喂,水质监测等众多方面,相关的产品种类和功能一直在增多。
国内产品大多看重性价比并执行本地化功能设计,在 WiFi 联网,手机控制,云平台接入这些方面有一定的优势,可以较好地符合国内用户的使用习惯及消费水平,国内企业在国内软件开发和人机交互方面投入较多,所以手机应用程序的功能和界面设计常常更为贴近国内用户的需求。不过总的来说,国内产品在传感器精度,系统稳定性以及智能化水平上同国外先进水平还是存在一定的差距,格外是在多参数综合判定和自适应控制算法上有着很大的改善余地,当前大多数产品仍旧着眼于单个功能的达成,并未深入地针对系统整体框架及其各功能模块之间的协作展开设计。 国内研究大多着眼于功能达成的层面,对于长时间运行的可靠性,故障自动回复能力等考量有所短缺,前面的问题便是本课题研究的关键着手点,经由系统的软硬件协作设计来探寻塑造起功能完备,运行稳定的智能鱼缸控制系统的方案。
1.3 研究内容
本课题旨在设计并实现一套基于单片机的观赏鱼缸智能控制系统,围绕环境监测、自动控制、本地显示和远程通信四大功能模块展开研究。具体研究内容包括以下几个方面:
经由系统总体架构设计,综合考量功能需求,成本控制以及技术可行性之后,可以确定系统的硬件平台与软件框架。
展开硬件电路设计时,以主控芯片为核心设计时钟电路,复位电路等基本电路,还要针对温度监测,水质监测,水位监测,液晶显示以及无线通信等外围电路执行选型与设计,促使各个模块稳定又可靠地运行。
执行系统软件开发任务的时候,要搭建起依靠嵌入式即时操作系统创建起来的软件平台,完成主程序框架的设计工作,并编写好数据采集,数据显示,网络传达,自动控制这些子程序然后执行调试。
进行系统集成与调试时,要逐一考察硬件模块并综合调校软件功能,以解决开发阶段产生的技术难题,核实系统各功能是否得到落实。
完成系统功能验证及结果分析,依靠实际运作检测来考量系统的稳定性和可靠性,并总结设计阶段的经验与短缺。
前面的研究内容执行完毕之后,就可以达成一个智能化的鱼缸经营系统,这个系统可以随时监测水温,水质,水位这些参数,并且具有本地显现,自动加水,远程观测与控制这样的功能。
2 系统总体结构设计
2.1 系统组成方案
本课题开始设计的时候,就针对鱼缸智能控制系统所需要的功能以及性能标准给出了两个可行的设计方案。
方案一采取以8位单片机为核心控制器的集中式控制架构,这个方案把STC系列或者AVR系列的8位单片机当作主控芯片,再加上DS18B20温度传感器,TDS水质传感器和红外光电式水位传感器来收集环境参数,显示方面使用1602字符型液晶屏,经由串口和ESP8266模块关联达成WiFi通信。此方案的优点在于硬件成本低,开发工具比较成熟,入门难度不大,比较适合功能需求较为简单的情形,但是8位单片机的处理能力存在一定局限性,无法兼顾多路传感器数据的采集及处理,液晶显示的更新以及网络协议栈的执行,特别当需运行即时操作系统时,资源瓶颈表现得越发明显,而且1602液晶屏仅能显示字符内容,不能显示图形界面,这方面的用户体验还需进一步改良。
方案二把32位 ARM 处理器当作核心控制器,采取分层结构,此方案选定凭借 ARM Cortex - M4 内核的 STM32 系列单片机做主控芯片,这个系列的芯片有着较强的处理能力,外设接口也很多,可以应对多任务同时处理的情况,传感器方面挑选了数字式温度传感器,模拟输出水质传感器以及非接触式电容式水位传感器,依靠模拟数字转换和单总线协议来做数据收集,显示部分用的是 TFT 彩色液晶屏,其可表现图形界面,这样就能直观地显示出各种环境参数。无线通信利用 ESP8266 模块,经由 MQTT 协议同物联网云平台相连,达成数据上传与远程控制的目的,从软件角度来说,采用了 RT - Thread 实时多线程操作系统,依靠多任务调度机制来同步执行数据采集,显示更新以及网络通信等事务。
综合对比两个方案,方案一成本较低,但其扩展性欠佳,处理能力也较为有限,无法满足本课题设计的所有功能需求,方案二在性能,扩展性和用户体验上有着突出的优势,特别是在采用即时操作系统之后,可以更好地应对多任务并发的情况,保证系统运行的即时性和稳定性,所以,本课题选定方案二作为最终的执行方案。
2.2 系统工作原理
本系统的工作原理包含数据采集,本地处理,自动控制和远程交互这四个环节,它们以形成闭合回路的方式运作,当系统接通电源并完成初始化之后,主控芯片会遵照预先设定好的采样间隔,先后获取温度传感器,水质传感器以及水位传感器所产生的输出信号。温度传感器利用单总线协议来传递数字形式的温度值,水质传感器则发出和水中溶解性固体含量呈线性比例关系的模拟电压信号,而水位传感器则给出表示当前水位高低的数字电平信号,主控芯片会对这些收集得来的原始数据执行滤波和数值转換操作,从而得出真实的环境参数数值。
数据处理完毕之后,系统会做两件事,其一,系统把处理过的数据传送到TFT液晶显示屏上实施本地化显示,这样一来,用户就能直接从屏幕上得知当下的温度,水质以及水位情况。其二,系统经由ESP8266模块把数据封装成MQTT协议报文并上传到ThingsBoard物联网云平台,从而达成数据的远方储存与显现,在自动控制层面,系统随时判定水位检测信号是否低于预先设定的阈值,一旦水位过低,系统便会自动开启水泵来实施补水,直到水位恢复常态才终止补水行为。 在远程控制方面,用户借助云平台发出控制指令,系统接收到该指令并执行相应的远程补水操作。这个系统包含前面提及的工作流程,可即时监测鱼缸环境,本地显示相关信息,并自动调节相关参数,还能做到远程运维,从而创建起一套较为完善的智能控制体系。
2.3 系统构建
本系统若按照功能模块来划分,则包含有五个主要形成单元,它们分别是主控模块,传感检测模块,显示模块,执行模块以及通信模块。
主控模块处于整个系统的核心地位,它承担协调各个模块工作顺序的任务,还要处理传感器传来的数据,运行控制算法并管理通信事务,本系统采用STM32F411CEU6作为主控芯片,此芯片以ARM Cortex - M4内核为基础,其最高工作频率可达到100MHz,自带512KB的闪存以及128KB的静态随机存取存储器,具备较多的外设接口资源,其中覆盖大量通用同步异步收发器,串行外设接口,集成电路总线接口以及模拟数字转换器通道,这些完全可以满足本系统对外设的各种对接需求,而且,主控模块里还包含了时钟电路和复位电路,可以给芯片供应稳定的运行时钟,并给予系统可靠的重新启动功能。
传感检测模块承担着收集鱼缸环境参数的任务,包含温度检测单元,水质检测单元以及水位检测单元,温度检测单元所用的是DS18B20数字温度传感器,这种传感器凭借单总线通信机制,其测量精度较高,而且经过防水封装处理,适宜长时间置于水中运行。水质检测单元则依靠TDS传感器,经由测量水的电导率来间接体现水中溶解性固体的含量,输出的模拟电压信号会由主控芯片内的模拟数字转换器转为成数字值,水位检测单元采用的是非接触式的电容式水位传感器,此传感器借助感知电容的改变来判别水位是否低于预定阈值,并把开关量信号传递给主控芯片以执行读取操作。
显示模块选用 TFT 彩色液晶屏,经由串行外设接口同主控芯片交互,用以及时显现温度,TDS 值,水位状况等系统参数,而且可以依循设计图形化的用户界面,改善交互感受。执行模块重点在于水泵控制单元,主控芯片借助通用输入输出引脚来控制继电器,从而控制水泵的开启与停止,做到自动补水和远程补水的目的,通信模块利用 ESP8266 WiFi 模块,依靠通用同步异步收发器接口和主控芯片相接,达成与 ThingsBoard 物联网云平台的无线通信,完成数据上传和远程指令接收。 前面所述各个模块经由恰当的硬件拼接及软件调配,形成起一个功能完备,运行稳定的智能鱼缸控制系统。
3 系统硬件设计
3.1 主控电路设计
3.1.1 主控芯片选择
本系统主控芯片选型围绕处理性能,外设资源,功耗特性以及开发支持等方面展开综合考量,经由对诸多主流单片机实施对比分析之后,选定意法半导体公司所生产的 STM32F411CEU6作为系统主控芯片,此芯片具备 ARM Cortex - M4 内核,包含数字信号处理指令集以及浮点运算单元,其最高主频能够达到100MHz,可以高效达成传感器数据采集,数字滤波,数值转换以及控制算法等各类计算任务。在存储资源上,该芯片预先设置了512KB的闪存和128KB的静态随机存取存储器,给 RT - Thread 嵌入式即时操作系统以及多任务应用程序的运行赋予了足够的空间,而且,这个芯片还具备多种低功耗工作模式,很符合长期运行设备的需求,它有着较为成熟的开发工具链,也有许多的技术文档做支撑,这样就能切实减小开发的困难,削减开发的时间。
图3.1 STM32F411CEU6引脚分配图
STM32F411CEU6在外设接口上,带有诸多通用同步异步收发器,串行外设接口,集成电路总线接口以及12位模拟数字转换器通道,可以一次性挂接温度传感器,水质传感器,显示模块和无线通信模块,不需要做接口复用或者扩展,使得硬件设计更为简捷,此芯片有36个通用输入输出引脚,其丰富的引脚资源保障了各个功能模块得以独立相连,免除了引脚冲突的状况出现,而且,该芯片自带的模拟数字转换器具备12位分辨率,能够达到对TDS传感器模拟信号高精度采集的目的,凭借前面这些因素,STM32F411CEU6在性能,资源,功耗以及开发便捷性等诸多方面基本符合本系统对主控芯片的所有需求,给系统功能的完全达成赋予了可信赖的硬件支撑。
3.1.2 时钟电路
时钟电路对于单片机系统来说非常重要,它可以给芯片内部的时序逻辑电路给予同步基准信号,STM32F411CEU6芯片内置了时钟管理单元,该单元包含多种时钟源选项,比如内部高速振荡器,内部低速振荡器,外部高速晶振以及外部低速晶振。若想达成较高的工作精度并且保证频率稳定,本系统把外部高速晶振当作主时钟源,外部高速晶振选取8MHz的无源石英晶体,再加上两个22pF的负载电容形成并联谐振电路,再接到芯片的 OSC_IN 和 OSC_OUT 引脚上。这个晶振的频率经由芯片内部的锁相环电路放大之后,可以达到100MHz的系统主频,这就满足了系统对于处理性能的要求,锁相环电路具备增频和减频的功能,从而给主控芯片各个不同的功能模块供应灵活多变的工作时钟。
系统配有32.768kHz的外部低速晶振,用以激发芯片内部的实时时钟模块,给系统赋予精确的时间参照,利于做到定时采样,定时上报等功能,实时时钟模块可在系统主电源断电时凭借备用电池持续运行,维持时间的连贯性。时钟电路的规划要留意晶振和芯片引脚间的连线最好短而且直,负载电容要靠近晶振摆放,以此来减小分布参数对振荡频率的影响,保证时钟信号的稳定性及其抗干扰性能,在印刷电路板设计时,晶振电路周边应当设置地线实施隔离,防止高频信号线造成干扰,经由恰当的时钟电路规划与布局,就为系统给予了稳定可靠的时钟源,从而保障了主控芯片和各个外设模块按时序同步并协同运行。
3.1.3 复位电路
复位电路可在系统上电或者运行异常的时候把单片机重新设成指定的起始状态,使得程序从正确的入口地址启动执行。STM32F411CEU6芯片的复位引脚NRST属于低电平有效类型,一旦这个引脚得到维持一段固定时延的低电平信号,那么芯片内部所有的寄存器都会被复位成预置值,程序计数器会指向前置向量地址,从而让系统得以再度运行,本系统经由把阻容复位电路同按键复位融合起来的办法来达成复位的目的,这样既保全了上电自动复位的稳定性,又增添了人机互动时能够执行手动复位的可能性,阻容复位电路包含一个10kΩ的上拉电阻和一个0.1μF的复位电容,其中电阻的一端与3.3V电源相连,另一端则接在NRST引脚上,而电容则是跨接于NRST引脚和地之间。
图3.2 复位电路图
上电的刹那间,电容两端的电压无法突然改变,NRST引脚维持着低电平,伴随电容经由电阻得到充电,引脚上的电压慢慢升至高电平,如此便完成了上电复位的过程。对于电阻和电容的参数选取而言,需与芯片的复位时间需求相符合,从而保证低电平所持续的时段能够达到芯片内部复位动作的执行目的,按键复位电路在NRST引脚和地之间串联了一个轻触开关,当系统必要实施手动复位的时候,按下这个开关就能把NRST引脚直接接地,发出低电平的复位信号。 要防止由于按键抖动而造成误复位,可以考虑在软件层面做去抖动处理,或者在硬件方面增添滤波电容,复位电路设计时还得重视静电保护手段,在NRST引脚和地之间可用瞬态抑制二极管,免除静电放电致使系统误复位的情形发生,利用阻容复位结合按键复位这样一种设计方案,此系统就具有了稳定的复位功能,可在各类不同情况下保证系统从预知状态开始执行运作。
3.2 温度检测电路设计
温度属于影响鱼类生存状况的重要环境要素,水温过高或者过低都会干扰鱼类的正常生理机能运作,情况恶劣的时候甚至会造成鱼类死亡,所以,及时而精确地监测鱼缸内的水温,对于维持鱼类健康成长而言十分关键,本系统选择了 DS18B20 数字温度传感器来执行水温检测任务,这种传感器依靠单总线传送协议,只需一条数据线就能同主控芯片达成双向信息交互,这在很大程度上精简了硬件之间的耦合关系。传感器内部装配有 12 位的模拟数字转换元件,其温度分辨能力能够达到 0.0625 摄氏度,测温区间从 -55 摄氏度延伸到 125 摄氏度,而在 0 至 85 摄氏度之间时的精度可控制在正负 0.5 摄氏度之内,完全符合鱼缸水温监测的需求,而且该传感器采用了不锈钢材质并做了防水处理,附带防水电缆,所以可以直接放入水中长时间运行,具备较好的抗腐性与耐久性。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐








所有评论(0)