锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

【基于RT-Thread+RA6M4的智能鱼缸系统设计之鱼我所欲也】

时间:2022-09-17 23:00:01 uv机大电容ps30系列光电传感器ntc水温传感器水流式传感器压强传感器芯片m33连接器

【基于RT-Thread RA6M4智能鱼缸系统设计的鱼我也想要

  • 摘 要:
  • 0 引言
  • 1. 总体设计
  • 2. 硬件设计
    • 2.1 控制器
    • 2.2 传感器
    • 2.3 执行器
    • 2.4 电源
    • 2.5 鱼缸
  • 3 软件设计
    • 3.1 多传感器数据集成与执行器协同系统
      • 3.1.1 均值滤波
      • 3.1.2 模糊控制
    • 3.2 本地监控系统
    • 3.3 远程物联网监控系统
  • 4 系统测试
    • 4.1 本地端测试
    • 4.2 情况说明:
    • 4.3 附件
  • 5 结语

摘 要:

在当今社会生活中,饲养观赏鱼已成为一种趋势。目前,人们开始追求更方便的饲养方式,确保其存活率。新一代家居设计以其丰富实用的补氧、换水、杀菌、温控功能和更人性化的设计而受到公众的青睐。基于鱼缸的智能需求,本文提出了采用多传感器数据集成的智能鱼缸RA6M4单片机和onenet物联网平台整合互补多个传感器的信息,管理鱼缸,感知水环境。用户使用计算机本地端、网页客户端或手机APP(仍在开发测试中)实现智能鱼缸的水温、气压、光强等传感采集,实现氧气补充、蜂鸣器提示和灭菌的本地控制,根据实际环境自动调整室外远程控制和执行器的工作状态。

0 引言

本研究的智能鱼缸系统是智能家居的具体产品。鱼缸是大众家庭养鱼的常见容器,但它的实际意义不仅仅是鱼缸,更是家庭中的一道风景。鱼缸里新鲜快乐的鱼,动人的虾,碧波荡漾的水生植物,浮萍,巧妙地将水环境生态系统的美融入到鱼缸中,形成了一幅适合动静的画卷。
在这里插入图片描述
目前,国内市场上有许多功能不一致的产品,其中大部分是非智能的、单一的恒温控制、氧气增加和照明系统。如果一套多功能鱼缸不能智能控制多个功能模块和单个设备,它将非常不灵活和低效,整体性能无法提高。
因此,一种多传感器数据集成的智能鱼缸系统得到了解决。一是智能鱼缸系统的整体设计,二是介绍系统的硬件设计和软件选择。硬件设计介绍了控制器、传感器、执行器和电源的设计方案;软件设计包括多传感器数据集成与执行器协作系统、本地监控系统和物联网远程监控系统。其中,多传感器首先使用平均
滤波器获取智能鱼缸的水温、水压、气缸外温度、光强等数据,模糊逻辑推理鱼缸的水温和水压,模糊控制泵的工作状态,调整氧化速率;模糊逻辑推理鱼缸外温度和光强,模糊控制泵的工作状态,调整氧化速率。后期将项目的系统硬件与软件相结合。经过多次测试,预计将实现水循环、蜂鸣器提示和光控功能,实现移动终端的远程实时控制。该设计通过多传感器数据集成模糊控制泵和紫外线灯,不仅对家庭鱼缸的管理和改进,而且对类似智能家居产品的研究和生产具有较高的实用价值。

1. 总体设计

本系统以RA6M作为系统的主控,4芯片围绕其设计了一系列外围电路。通过各种组件函数库完成系统RT-Thread Studio 项目建设和使用 I2C、ADC、PWM 、UART控制通信协议中的各种外设模块。同时通过 MQTT 协议发布主题订阅主题接入onenet通过物联网实现系统远程监控和后期控制的物联网平台。如图所示 1 所示,以RA6M4为主控,间接或直接控制外围电路和外围模块。电源、控制器、执行器、传感器、鱼缸共同构成系统的硬件监控执行部分,计算机、手机、移动互联网云平台是软件交互部分。

图 1 系统结构框图

2. 硬件设计

硬件部分由控制器、传感器、执行器、电源和鱼缸组成。硬件原理图如下

项目见立创EDA:Intelligent fish tank system

2.1 控制器

控制器选用RA6M4单片机,RA6M4配合RT-Thread Studio 编程不需要51单片机或51单片机STM32单片机主频高达200MHz, 采用Arm Cortex?-M33 内核,IO全部引出口,采用MOS管道输出稳定,可承载一定功率,8路UART串口,10路PWM,还设计了Arduino UNO可通过的板载接口WiFi接入网络智能控制执行器,使用户能够更好地进行人机交互,使用起来更加方便。RA6M4性能强,功率低,与相同性能的主控板相比,RA6M性价比更高。

Renesas RA6M4开发板环境配置参照:【基于 RT-Thread Studio的CPK-RA6M4 开发板环境建设】

2.2 传感器

传感器由各个具体功能模块构成:BMP180气压温度传感器,DHT11温湿度传感器,LM35温度传感器和光敏电阻光照传感器。

  • BMP180气压温度传感器

BMP180是一种高精度、小体积、低能耗的压力温度传感器,可用于移动设备;BMP180采用强大的8-pin承载陶瓷无引线芯片(LCC)超薄包装,可通过I2C总线直接连接到各种微处理器。提供输入外部气压和外部温度两变量,以模糊控制泵的制氧速率。使用方法见【Renesas RA6M4开发板之I2C读取BMP180气压温度】

  • DHT11温湿度传感器

DHT数字温湿度传感器是一种含有校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有可靠性与卓越的长期稳定性,成本低、相对湿度和温度测量、快响应、抗干扰能力强、信号传输距离长、数字信号输出、精确校准。传感器包括电容式感湿元件和NTC与高性能8位单片机连接的测温元件。使用方法见【Renesas RA6M4开发板之DHT11温湿度读取】

  • LM35温度传感器

    LM35线性温度传感器是一种应用广泛的温度传感器,工作温度范围大,模块适用于许多特殊场合,测量温度范围为0℃~100℃,输出电压与温度成正比线性关系°C时输出为0V,温度每上升1℃,输出电压增加10mV,LM使用35线性温度传感器ADC读取 (需校准),与环境温度感知相关的互动效果很容易实现。本实验将LM35传感器建议封装,使其能稳定读取水温【Renesas RA6M4开发板之Arduino六路ADC采样】

  • 光敏电阻光传感器

    光敏电阻是一种由硫化镉或硒化镉等半导体材料制成的特殊电阻,其工作原理是基于内部光电效应。光越强,电阻值就越低。随着光强度的增加,电阻值迅速降低,亮电阻值可小至1KΩ下面。光敏电阻对光非常敏感,无光时电阻高,暗电阻一般可达1.5MΩ,使用ADC读取 (需校准)。使用方法见【Renesas RA6M4开发板之Arduino六路ADC采样】

2.3 执行器

执行器结合鱼缸的实际需要,包括水泵UV杀菌灯、OLED显示屏和蜂鸣器。

  • 水泵

USB鱼缸养鱼氧气泵、超静音打氧机、小型家用增氧泵用于钓鱼PWM输出,将USB接口连接MX1919,通过MX1919年驱动器控制增氧效果,需要满功率运行,不需要增氧时关闭气泵。中间过渡可以通过气压和温度集成传感器数据来实现模糊控制。使用方法见【Renesas RA6M四开发板两路PWM驱动】

  • UV杀菌灯

    采用5W鱼缸UV杀菌灯180°遮光板采用控制方法PWM输出,避免直接漏光对眼睛和鱼造成不可逆转的伤害,使其更安全;随意调整遮阳板的角度。本实验采用六种紫色LED替换,同样使用MX一路输出1919,使用方法见【Renesas RA6M四开发板两路PWM驱动】
  • OLED显示屏

本模块为0.96寸OLED采用通信显示屏IIC本协议采用能够实时显示水温、缸外温度、外部压力和光强值的模块RA6M用户按键触发响应(54)S后熄屏),默认状态不显示。使用方法见。【Renesas RA6M4开发板之I2C驱动ssd1306 OLED屏幕】

  • 蜂鸣器

采用TMB09A03型 DC3V 有源蜂鸣器,属于有源连续声。此模块采用普通GPIO输出控制,当传感器达到一定阈值时,会提醒用户在本地进行相关操作,达到交互使用的效果。使用方法见【Rnesas RA6M4开发板之按键和LED的GPIO】

2.4 电源

结合鱼缸日常供电需求,每天整体电控系统所需能量表达式如下;
Q = Q L + Q P + Q C Q=Q_L+Q_P+Q_C Q=QL+QP+QC
其中 Q L Q_L QL是UV杀菌灯每天消耗的能量; Q P Q_P QP是水泵每天消耗的能量; Q C Q_C QC是控制器和其他传感器、执行器等每天消耗的能量。
Q L = P L t L , Q P = P P t P , Q C = P C ( 0 < t L , t P , t C < 24 ) Q_L=P_L t_L,Q_P=P_P t_P,Q_C=P_C ( 0QL=PLtL,QP=PPtP,QC=PC0<tLtPtC<24)
t为对应的使用时间,结合实验分析,各参数如下表:

平均功率/w 使用时间/h
P L P_L PL 6 t L t_L tL 1
P P P_P PP 6 t P t_P tP 1
P C P_C PC 2 t C t_C tC 24

每天大约需要消耗60焦耳的电能(估算),因此采用18650电池USB供电,电源供电采用四节18650锂电池2000mA和太阳能电池板搭配。系统搭配UPS不间断供电系统,该供电系统通过监测18650锂电池的电压,如果光伏发电使锂电池达到3.7V,则不启动USB供电,反而言之。
太阳能电池板,采用5V200mA单晶太阳能板三片并联发电,太阳能电池板白天通过环境光给电池充电和系统供电。可以有效缓解18650锂电池供电需求。

2.5 鱼缸

本次实验采用市面常用的意品宠物用品专营店的240型高清热弯中小型桌面鱼缸,采用汽车级浮法玻璃工艺,使透光率达到92%。整体构成仿生态循环过滤,模拟大自然水流环境,循环净水,鱼缸结构如图2。尺寸是240mm170mm285mm,盛水容积大约8升。

图 2 鱼缸结构

3 软件设计

软件设计包括多传感器数据融合与执行器协同系统、本地监控系统和物联网远程监控系统,其中RA6M4软件架构如下。

本项目软件架构主要采用上图所示的三个线程完成,其中:
CMD_Theard线程:负责完成传感器数据和执行器数据采集矫正;
LM_Theard线程:负责系统中传感器数据和执行器数据采集,通过拼接自定义串口协议,采用Uart串口通讯实现上下位机的联动;
Onenet_Theard线程:负责系统中传感器数据和执行器数据采集,通过esp8266上报到Onenet平台,以及云端数据下发解析执行等功能。

3.1 多传感器数据融合与执行器协同系统

其中多传感器首先采用卡尔曼滤波得到智能鱼缸的水体温度、水面气压、光照强度数据,将鱼缸的水体温度和水面气压进行模糊逻辑推理,模糊控制水泵的工作状态。

3.1.1 均值滤波

系统获取的传感器数据通常不能够直接供应用使用(存在噪声干扰:低频噪声或高频噪声),一般通过一种或者多种滤波算法结合,对原始数据进行滤波处理,在保证滤波后数据实时性要求的前提下,获取相对稳定无噪声的数据用于实际的应用系统。

平均滤波,取一定数量的原始数据,进行累加后取平均,从而获取较稳定的输出数据,主要滤除原始数据中的高频噪声。为了减少电源供电扰动主动放弃第一次采样,累加后续5次数据平均。

3.1.2 模糊控制

模糊控制结构如图3所示, 以鱼缸环境传感器数据处理的结果作为输入值, 一般包括:大气压强、温度、湿度、光照强度等;模糊控制输出用于执行器, 如水泵、加热设备、UV紫外线灯等。

图 3 模糊控制结构
由于多输出的模糊控制算法过于复杂, 因此可利用模糊控制器的解耦特性, 将模糊控制系统分解为多个单输出的子系统,系统模糊控制如表1所示。例如可根据温度和气压控制水泵的打开时间, 本文将以此为例设计模糊控制器。
表 1 系统模糊控制

输入主参 输入副参 输出结果
缸外温度 气压 水泵工作时间
缸内温度 光照 UV灯工作时间

假想实验环境:室内的温度为0℃30℃,而鱼缸水体温度在0℃20℃,定义输入量温度的基本论域为[0, 20]。

定义5个模糊子集(NB、NS、ZO、PS、PB) 和高斯型隶属度函数,其中σ取值为2, NB、NS、ZO、PS、PB隶属度函数中均值x取值分别为0、5、10、15、20。因此温度的范围域和隶属度函数曲线如图4所示:

图 4 温度的范围域和隶属度函数曲线
根据前期调查,一般春季武汉市的气压为100000pa~101000pa, 定义输入量气压的基本论域为[100000, 101000]。定义5个模糊子集 (NB、NS、ZO、PS、PB) 和高斯型隶属度函数, 其中σ取值为125, NB、NS、ZO、PS、PB隶属度函数中均值x取值分别为100000、100250、100500、100750、101000。因此气压的范围域和隶属度函数曲线如图5所示:

图 5 气压的范围域和隶属度函数曲线
水循环的每次水泵开启时间一般为0~20分钟, 定义输出量水循环时间基本论域为[0, 20]。分为5个模糊子集:关闭(NB)稍短(NS)中等(ZO)稍长(PS)长(PB),定义三角型隶属度函数,因此水循环时间的范围域和隶属度函数曲线如图6所示

图 6 水循环时间的范围域和隶属度函数曲线
采用“if Temp and Pres then Motor”形式的模糊推理方法, 其中Temp、Temp为输入模糊子集, Motor为输出模糊子集。根据实践调试经验得出表2所示模糊控制规则表, 又称模糊关系矩阵, 共25条控制规则:
表 2 模糊控制规则表

系统采用Mamdani模糊推理法, 本设计采用重心法, 即取模糊隶属度函数曲线与坐标围成面积的重心作为最终输出值。
μ = ∑ i = 1 n V i μ v ( v i ) ∑ i = 1 n μ v ( v i ) \mu=\frac{\sum_{i=1}^{n}{V_i\mu_v(v_i)}}{\sum_{i=1}^{n}{\mu_v(v_i)}} μ=i=1nμv(vi)i=1nViμv(vi) (12)
使用Matlab的Fuzzy Logic工具箱进行系统仿真, 观察系统输入输出。例如取温度Temp=10℃、气压Pres=100500pa, 则输出的水循环时间Motor=3.14min,给定输入经模糊规则推理输出如图7所示:

图 7 给定输入经模糊规则推理输出
系统仿真输出曲面如图8所示, 输出曲面总体光滑, 稳定可靠, 可将养殖环境参数控制在最佳值附近。

图 8 系统仿真输出曲面
近似函数代替为:
M = 15 ∗ T 20 ∗ ( 1.01 − P ) 0.01 M=15*\frac{T}{20}*\frac{\left(1.01-P\right)}{0.01} M=1520T0.01(1.01P)

3.2 本地监控系统

用户可以实时本地观察鱼缸状态,OLED显示器会事件型滚动屏幕,休眠状态是屏幕熄屏,因此休眠时间将远大于滚动显示时间以达到节能效果。OLED显示器滚动屏幕时将采集的传感器数据、执行器状态数据和电池电压数据实时动态显示。本地端设计了直接控制方式,优先级为1级,根据当前鱼缸环境的实际情况,个性化调节鱼缸的水泵、光照等,实现智能鱼缸的精准控制。

3.3 物联网远程监控系统

本文的智能鱼缸系统接入onenet物联网云平台,以实现物联网远程控制。采用onenet库与接口函数,并通过手机 APP 或手机语音的方式来实现远程操作。利用公有云服务进行数据传输,进而对其进行远程操控,使鱼缸能够作为智能家居被用户使用。

4 系统测试

4.1 本地端测试

采用Uart0实现本地端串口通讯,上位机采用Serial Studio,使用方法见:【Renesas RA6M4开发板之Serial studio串口交互】
部分效果图:

水泵工作状态

4.2 情况说明:

由于本人从7月25号困在中高风险区,电脑和硬件28号到,并且在实验室是可以连接wifi,由于条件有限,我所处管控区没有wifi,设备连接手机热点是无法登入onenet,因此暂时还没试验完,后期会补充onenet平台。

4.3 附件

代码地址:
视频地址:

5 结语

  • 首先感谢瑞萨和RTT官方给了我们DIY爱好者提供第二次测评✨✨✨。【基于RT-Thread+RA6M4的智能鱼缸系统设计之鱼我所欲也】只是个人在业余时间中一个不太完整的构想,虽然当前市面上以及有非常多的同类产品,但是二次开发易用性和扩展度与之相形见绌🤣🤣🤣。
  • RT-Thread作为国内嵌入式系统生态的领跑者,对产品的快速原型开发有很强的支持,至于产品的稳健性还需尔后完善。因此第一次测评开发板,这个开发过程让我映像深刻,社区问答基本在专业伙伴协助下可以解决90%🎉🎉🎉,更多是需要自身对C++基本语法掌握使用得当(强烈建议完善相关适配C++语言文档,那么RT-Thread愈加强大和健壮🎏🎏🎏)。
  • 本文利用RA6M4开发板、ESP8266、onenet平台构建了智能鱼缸系统,并开发了多传感器数据融合与执行器协同系统,将鱼缸的水体温度和水面气压进行模糊逻辑推理,模糊控制水泵的工作状态,克服了传统鱼缸缺乏反馈环节和调节环节的缺陷🌼🌼🌼。该系统可通过传感器获得水温、气压、光照强度和视频流等数据实时鱼缸并由显示器或物联网平台反馈给用户。该智能鱼缸系统的功能全面、成本低廉、操作简便,易于推广应用,可创造较大市场价值。
  • 由于时间短、本人知识水平有限等因素,该系统的研究设计中还是存在一些不足之处。本系统为了完成远程控制的功能,使用了onenet平台来进行数据的传输与存储,该云平台为商业平台,本系统对于用户数据的私密性保护存在一定的缺陷,需耍进一步提高对传输数据的加密保护😀😀😀。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章