内容介绍
内容介绍
前提说明(2024年12月15日):
1. 气压数值修正:在视频和图片中,大气压强曾显示为约10.25 kPa,这是由于程序换算错误导致的。实际数值应为102.5 kPa。相关错误已在附件中修正,请放心使用修正后的版本。
2. PCB错误修正:原设计中存在5V电路未正常连接的问题,现已修正原理图和PCB设计。修正后的版本已经更新,请放心使用。
一、项目介绍
- 传感器:采用纳芯微NSHT30温湿度传感器和纳芯微NSPAS3压力传感器,能够实现环境温湿度及大气压强的精准检测。
- 主控:基于RP2040主控的“带屏12指神探”系统,配备显示屏、按键、拨轮及扩展引脚,具备高效控制与多功能交互能力。
- 无线功能:采用CH582F芯片,支持2.4GHz无线通信,实现稳定的无线数据传输。
- 整体功能:本项目实现了本地端与远程端的多端无线环境监测与数据展示功能,用户可通过按键和拨轮切换显示区域与模式,便于快速查看所需信息。
图1:项目实物展示(a. 远程端数据实时显示;b. 本地端波形动态显示;c. 扩展板背面设计与布局)
二、项目设计思路
- 基础功能:带屏12指神探通过多个引脚进行数据采集,其中IIC引脚用于读取NSHT30传感器的温湿度数据,ADC引脚用于读取NSPAS3传感器的大气压数据,并将环境检测数据实时显示在屏幕上。
- 无线功能:利用CH582F芯片的2.4GHz RF通信功能,远程端可读取传感器数据后,通过无线方式发送至直连扩展板。直连扩展板中的CH582F作为IIC从机,与带屏12指神探进行数据交换。
- 显示切换:带屏12指神探配备的按键和拨轮可用于切换显示区域和模式。显示区域可在本地端和远程端之间切换,显示模式包括清晰的数字显示模式和包含更多信息的波形显示模式,满足不同用户需求。
图2:功能设计示意图
三、环境搭建
- KiCad:用于绘制原理图和电路图,帮助设计和验证硬件电路。
- VSCode + PlatformIO:针对RP2040主控的开发环境,使用PlatformIO平台编写和编译C++代码,实现软件开发和调试。
- MousRiver:用于CH582F芯片的软件开发,提供C++代码编写和编译功能,支持开发过程中对芯片的配置和管理。
- WCHISPStudio:用于CH582F的固件烧录,作为烧录工具确保固件能够正确上传到芯片中。
四、电路设计和遇到的问题
(一)带屏12指神探
- 带屏12指神探:带屏12指神探具有多个引脚,可用于扩展外部传感器。相关资料可在电子森林平台上获取。其管脚定义如下:我们将使用IIC引脚以及两个ADC引脚进行环境数据采集和传输。
图3. 带屏12指神探引脚说明
(二)扩展板
- 扩展板设计:扩展板包括温湿度模块和气压模块,采用CH582F最小系统和蓝牙天线实现无线通信。本地端和远程端的PCB设计相同,区别在于烧录不同的程序,以实现各自的功能。如果不需要远程端功能,只需焊接两个传感器模块即可。
- 原理图如下:原理图主要包含USB接口、NSHT30传感器电路、NSPAS3传感器电路、管脚连接及CH582F电路。
图4. 扩展板原理图
- PCB 3D图如下:更新后的PCB设计图如下:
- 正面:仅包含NSPAS3传感器电路。
- 背面:包含NSHT30传感器电路和CH582F电路。
- 设计特点:采用双层板设计,板厚为1.2mm。天线走线已针对1.2mm板厚进行了阻抗匹配,确保信号传输良好。
图4. 扩展板PCB仿真图
(三)遇到的问题
- 第一版PCB问题:第一版PCB存在一些小问题,其中5V电压未正确连接,已通过飞线进行了临时处理。现在,原理图和PCB中的相关错误已得到修正,确保了电路的正常运行。
- NSPAS3压力传感器注意事项:NSPAS3压力传感器的输出电压不仅与大气压强相关,还与输入电压密切相关。因此,在电路设计中,需要采用两个ADC分别测量输入电压和输出电压,通过计算两者的比值来准确换算出大气压强。
五、软件设计
(一)RP2040开发
- 屏幕驱动:根据原理图,使用PIO平台和Arduino库中的TFT_eSPI库实现屏幕驱动功能,确保屏幕显示的流畅性和稳定性。
- 传感器读取:通过IIC与NSHT30温湿度传感器和CH582F进行通信,并通过两个ADC引脚读取NSPAS3压力传感器的数据,确保准确采集传感器信息。
- 数值与波形展示:基于屏幕绘制函数,构建多种展示界面,包括数值显示和波形图展示,以满足不同用户需求。
(二)无线开发(CH582F)
- 通信功能开发:基于2.4GHz RF通信,快速搭建无线网络并实现数据发送。远程端作为数据发送方,本地端作为数据接收方。
- 远程端:CH582F周期性读取温湿度和大气压数据,通过RF通信将数据无线发送给本地端。在此过程中,远程端会周期性休眠以减少功耗,延长电池寿命。
- 本地端:本地端的CH582F与RP2040通过IIC连接,并作为从机接收数据。接收到的数据会存储在内存中,当RP2040通过IIC访问时,本地端将数据返回给RP2040进行显示或进一步处理。
(三)运行流程框图
图6. 运行流程框图
六、功能展示
- 本地端传感器数据读取
- 远程端传感器数据读取
- 波形显示模式
七、总结
- 本项目的初衷是设计一个简单的桌面小摆件,能够实时检测环境的温湿度和大气压数据。考虑到远端传感器数据读取的需求,项目进一步加入了无线功能,从而实现了其他房间、保温箱、机箱等环境的检测,扩展了应用的可能性。
- 本项目硬件设计简洁,本地端和远端的PCB相同,只需根据需求焊接不同的传感器模块,并烧录不同的固件即可实现多种功能。
- 本项目具有较好的扩展性,可以根据需求增加更多远端设备,实现更广泛区域的温湿度检测。
八、补充说明
- 开源声明:
本项目的软硬件全部开源,相关代码和设计文件已上传至附件中,您可以自由下载、修改和使用。 - 气压数值修正:
在视频和图片中,大气压强显示为10.25kPa左右,这是由于程序换算错误导致的,实际值应为102.5kPa。此问题已经在附件中的程序中得到修正,您可以放心使用更新后的版本。 - PCB修正:
原版PCB存在5V电路未正常连接的错误,已经通过修正原理图和PCB设计解决。修正后的设计可以正常使用,您可以根据最新的设计文件进行操作。
软硬件
元器件
电路图
物料清单
KiCad文件
使用说明
全屏
附件下载
Kicad工程.zip
Kicad工程,包含原理图、PCB和所需的元件库
下位机工程.zip
下位机工程,包含RP2040工程、本地端CH582F和远程端CH582F工程
团队介绍
个人项目
评论
0 / 100
查看更多
猜你喜欢
基于纳芯微NSHT30与NSPAS3芯片设计的环境检测桌搭该项目使用了纳芯微NSHT30与NSPAS3芯片、KiCad软件和C语言,实现了一个环境检测桌搭的设计,它的主要功能为:环境温湿度监测,环境气压监测,能够分别展示温度、湿度、气压的数据曲线,并同时可以将这些数据实时上传至电脑上位机展示。
Pulsar2
137
基于纳芯微NSHT30、NSPAS3芯片设计的环境检测桌搭该项目使用了NSHT30、NSPAS3,实现了环境检测桌搭的设计,它的主要功能为:读取温度、湿度、压力数据,显示在屏幕中。
豆腐Orz
45
基于纳芯微NSHT30和NSPAS3N设计环境检测桌搭该项目使用了纳芯微NSHT30和NSPAS3N,实现了环境检测的设计,它的主要功能为:检测温度、湿度及大气压,输出到屏幕显示。
CX反C
9