用树莓派RP2040制作简易户外气象站
项目介绍: 1.板载传感器,实现温湿度及光照强度的测量 2.能够通过板载屏幕实现测量数据的实时显示,预留5向摇杆以便扩展交互 3.通过lora sx1262模块实现测量数据的发送,传输距离远
标签
嵌入式系统
PCB设计
树莓派PICO
RP2040
liyiyi
更新2023-06-30
上海交通大学
680

用树莓派RP2040制作简易户外气象站

 

项目设计思路:

本次WeDesign是第一次接触硬件设计,为了保证功能性,决定以直播中提到的树莓派Minimal参考设计为基础,将参考设计中由排针引出的GPIO管脚替换为项目中计划连接的传感器、屏幕、Lora模块等设备。其中传感器参考了厂家提供的参考设计,板载连接到开发板中。Lora模块和屏幕由于难度较大,选择了成品排针形式连接至开发板。

 

项目选型:

市面上相关的温湿度测量相关的传感器较多,考虑到性能、价格、参考设计的简易性等因素,主要有以下三种:AHT10/20/30、BMP280、BME680。BME680价格最高,不易购买,溢价主要来自其自带的气体传感器,可以实现气体检测功能。实测温度方面和BMP280以及AHT系列基本相同。BMP280集成了温度和气压的测量,但是缺少湿度检测。且气压检测受到校准影响,准确度存疑。考虑到简易气象站多为固定机位,湿度相对气压更为重要,因此最终选择集成了温湿度测量的AHT10。

光照传感器备选方案有BH1750和VEML7700,考虑到简易气象站对光照测量范围的要求较高,因此最终选择了测量范围较宽的VEML7700。

屏幕方面,最初计划选用1.47inch 172x320的LCD屏幕,但在功能验证阶段发现树莓派pico的264kb内存过小,若采用MicroPython开发,在调用Lora通信库后缺乏足够的内存供LCD 显示缓存使用。无奈最终采用0.96 inch 单色OLED,为了兼容性和后续升级同样采用SPI总线驱动。

通信模块:备选方案主要有WiFi和Lora,树莓派官方采用CYW43439,但没有找到购买渠道,ESP32则有大马拉小车的嫌疑,又考虑简易气象站对传输距离和功耗的要求较高,对于速率则没有要求,因此最终选择了Semtech的Lora方案,模块选用的微雪sx1262模组,通过排针连接至开发板。

 

设计框图:

Fh52u1xIvKHOu9XdQDTcbmJ1K0Sf

树莓派pico分别提供两路SPI和I2C通道。这里充分利用了硬件的资源,各路外接设备均采用了硬件通道。值得注意的是,在MicroPython驱动过程中出现了不少兼容性问题。例如,在mpy版本为v1.9.1时,使用GPIO0-5驱动LCD SPI总线,则RST不能接在GPIO4上。另外在mpy v1.20.0的版本中也存在不能点亮屏幕等问题,因此本项目的实现均基于mpy v1.9.1。

代码部分不是本次报告的重点,主要思路是初始化各个传感器,读取数据,并分别显示和发送出去。

 

画原理图、PCB制板过程中遇到的问题,以及解决方法

这是个人的第一次接触硬件,也是希望借助参与本次WeDesign活动能够快速入门硬件设计。设计过程中踩的坑有五个

  1. 没有理解去耦电容。参考树莓派Minimal设计,可以看到原理图中电源部分共有2+1+1+7个去耦电容,以右侧“并联”的7个100nF电容为例,只看原理图容易误解为7个电容均并联在一起,而非分配到各个管脚,一个引脚一个。第一次设计因为这个问题重新布线。
  2. 敷铜面积过大。学习过程中不仔细,误以为板子设计时所有的区域应该默认敷铜,实际上应该是地线多的区域敷铜(不知道理解的对不对),做出来的板子方形敷铜区域肉眼可见,比较丑。
  3. USB元器件选型。这里为了简化设计,采用的树莓派Minimal设计中的USB-Micro-B接口,型号是USB_Micro-B_Amphenol_10103594-0001LF_Horizontal_modified,但是该接口在常见平台难以买到。为了偷懒强上了常见的贴片式Micro-B,前两块板子在首次插拔时均成功扯下焊盘上的铜皮,直接报废。教训是要在PCB设计完成后校对BOM表,替换掉不常见的封装以便焊接。
  4. 布局合理但是不美观。因为首次设计,只会用双层板,所以布局是迁就走线的。为了gpio引出少走弯路,各个元器件均尽量放置在靠近RP2040芯片引脚的一侧,这也导致了屏幕侧置(或下置)的神奇造型
  5. 板载温度传感器的设计可能影响测量精度。设计和验证过程中由于是杜邦线连接,因此没有暴露出上述问题。虽然RP2040+屏幕+LORA模块+传感器的整体功耗平均只有2W,但是还是对测量温度有影响。

FjWc9biLGy_UteTuMBEgZnzzs_Cz

 

结果展示请见视频后半部分

实物调试过程:

Fl0DwNOugNhZKfBfCKTEDN74mVkSFpmQYIs8jl7AvgkQeCvwSTi6zOc8

 

在芯片设计过程中,遇到什么难题以及解决方法,或未来针对这个芯片的扩展项目

RP2040的MicroPython支持容易出现各种各样的BUG,导致硬件设计不得不迁就这些问题,例如GPIO4不能作为RST,先前的屏幕代码在1.20.0版本上不兼容一类。

 

芯片的优势与局限

优势:外设全面,文档全面且易懂,方便新手入门

局限:和竞品ESP32相比硬件性能(RAM、计算性能、外设)不占优势

物料清单
附件下载
eetree_RP2040_Weather_Station_Kicad.zip
Weather_Station_最终上传程序.zip
团队介绍
李一一
团队成员
liyiyi
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号