引言
今天是我魔盒项目的硬件调试日,这是整个项目从设计到实现的关键一步。魔盒项目旨在打造一个智能的物联网设备,能够感知人体存在并通过灯光提供反馈。在这篇博客中,我将详细记录从开发板选择到传感器调试的全过程,分享遇到的问题和解决方案,希望能为其他物联网开发者提供一些参考。
硬件选型与准备
先来一张全家福,缺少了ldo,我找了个开发板去掉主控后替代使用;
1. 主控芯片:ESP32C3开发板
在开始调试之前,我首先需要选择合适的主控芯片。经过一番考虑,我选择了ESP32C3开发板,具体型号是Goouuu物联网开发板(购于2021年)。选择ESP32C3的原因有以下几点:
- 强大的性能:ESP32C3基于RISC-V架构,时钟频率高达160MHz,具备足够的处理能力处理传感器数据和网络通信
- 内置Wi-Fi和蓝牙:支持2.4GHz Wi-Fi和低功耗蓝牙,非常适合物联网应用
- 丰富的外设:拥有16个GPIO引脚,支持多种通信协议(I2C、SPI、UART等)
- 成熟的生态:ESP32系列开发板拥有完善的开发工具链和社区支持
- 成本效益高:价格相对较低,适合个人项目和小型批量生产
需要注意的是,本项目使用的是最常用的4MB Flash版本,足够存储固件和少量数据。
2. 人体存在传感器:USRR235L-B1
为了实现人体存在检测功能,我选择了USRR235L-B1型号的人体存在传感器。这个传感器采用毫米波雷达技术,相比传统的PIR传感器,具有以下优势:
- 非接触式检测:无需直接接触,检测距离可达6米
- 高灵敏度:能够检测微小的人体移动和呼吸
- 抗干扰能力强:不受光线、温度、灰尘等环境因素影响
- 低功耗:适合电池供电的设备
选择B1版本而不是A版本的原因是,B1版本的引脚设计更方便开发过程中的调试焊接,而A版本则更适合最终成品的安装。
3. 灯光反馈:WS2812灯条
为了提供直观的视觉反馈,我选择了WS2812 RGB灯条。WS2812是一种内置控制芯片的RGB LED灯珠,具有以下特点:
- 单总线控制:只需一根数据线即可控制多个灯珠
- 高亮度:发光效果明显,适合作为视觉指示器
- 支持级联:可以轻松扩展成任意长度的灯条
- 低功耗:适合电池供电设备
在调试阶段,我使用了一个8灯的WS2812灯条,而在最终成品设计中,每个盒子将只使用一个WS2812灯珠,并通过FPC软排线进行连接,这样可以减少功耗并简化布线。
调试过程与遇到的问题
1. 开发板接口改造:从Mini USB到Type-C
在准备调试时,我遇到了第一个小问题:开发板配备的是Mini USB接口,而我手头的Mini USB数据线找不到了。考虑到Type-C接口已经成为主流,我决定对开发板进行接口改造,将Mini USB替换为Type-C接口。
改造过程相对简单:
- 拆除开发板上原有的Mini USB接口
- 购买Type-C母座和相应的焊接工具
- 按照引脚定义将Type-C母座焊接到开发板上
- 测试连接是否正常
通过这次改造,不仅解决了当下的数据线问题,也为后续的调试工作提供了便利。
2. 电源设计:锂电池供电方案与CD42充放电模块
魔盒项目计划使用锂电池供电,以实现便携性。根据系统需求,锂电池的供电路径设计如下:
- 直接供电路径:锂电池直接给USRR235L人体存在传感器供电(利用其宽电压3V-5.5V的特性)
- 稳压供电路径:锂电池通过LDO稳压模块将电压稳定在3.3V,供给ESP32C3主控
- 升压供电路径:锂电池通过CD42一体化充放电模块升压至5V,供给WS2812灯条
CD42一体化充放电模块的主要功能:
- 充电管理:通过Type-C接口接收外部电源,为锂电池充电,最大充电电流1A
- 升压输出:将锂电池的3.7V电压升压至5V,供给WS2812灯条
- 放电控制:通过key引脚可控制5V输出的开关,由ESP32C3的IO5接口进行控制
- 保护功能:具备过充、过放、短路保护,确保电池和系统安全
LDO选择考虑因素:
- 输入电压范围:能够覆盖锂电池电压(3.5V-4.2V)
- 输出电压:稳定的3.3V
- 输出电流:能够满足ESP32C3的最大电流需求(约200mA)
- 低静态电流:减少待机功耗
- 封装大小:适合开发板布局
3. 传感器与灯光连接:宽电压供电与IO控制
USRR235L人体存在传感器连接
USRR235L人体存在传感器支持宽电压供电(3V-5.5V),直接使用锂电池供电。这样设计的好处是:
- 减少ESP32C3的供电负担
- 简化电路设计
- 便于实现低功耗唤醒功能
在连接USRR235L传感器时,需要注意以下几点:
- 供电连接:将传感器的VCC引脚直接连接到锂电池正极
- 信号连接:传感器的IO引脚通过100kΩ下拉电阻连接到ESP32C3的GPIO引脚
- 唤醒功能:USRR235L传感器可以输出信号作为ESP32C3的外部中断源,用于从低功耗模式唤醒主控芯片
下拉电阻的作用是:
- 确保在没有信号输入时,引脚处于稳定的低电平状态
- 防止引脚悬空导致的噪声干扰
- 保护引脚免受静电放电的损害
WS2812灯条连接
WS2812灯条采用单总线控制,需要连接到ESP32C3的IO4接口进行驱动:
- 供电连接:灯条的VCC引脚连接到CD42模块的5V输出
- 信号连接:灯条的DIN引脚连接到ESP32C3的IO4接口
- 接地连接:灯条的GND引脚连接到系统地
WS2812的单总线控制特性使得只需要一根数据线即可控制多个灯珠,简化了电路设计。
硬件连接示意图
为了更直观地展示硬件连接关系,我绘制了以下连接示意图:
调试结果与下一步计划
经过一番调试,我成功地搭建了魔盒项目的硬件原型,并验证了各个组件之间的连接和基本功能。目前的调试结果显示:
- ESP32C3开发板能够正常工作
- Type-C接口改造成功,通过CD42模块能够稳定为锂电池充电和传输数据
- USRR235L人体存在传感器能够正常检测人体存在
- WS2812灯条能够按照预期发光
- 电源系统工作稳定,LDO能够有效保护ESP32C3
下一步,我将开始软件开发工作,包括:
- 编写ESP32C3的固件程序
- 实现人体存在检测算法
- 开发灯光控制逻辑
- 添加Wi-Fi连接和远程控制功能
- 优化功耗和稳定性
总结
硬件调试是物联网项目开发过程中的重要环节,直接关系到项目的成败。在这次魔盒项目的硬件调试中,我遇到了一些小问题,但通过仔细阅读文档、查找资料和实践操作,都成功地解决了这些问题。
通过这次调试,我总结出以下几点经验:
- 选择合适的硬件:根据项目需求和实际情况选择合适的硬件组件,考虑性能、功耗、成本、可用性等因素
- 仔细阅读文档:无论是开发板还是传感器,都要仔细阅读官方文档,了解其引脚定义、电气特性和使用注意事项
- 重视电源设计:电源是设备稳定工作的基础,要充分考虑电压范围、电流需求、散热等因素
- 注意细节:一些看似微小的细节,如接口类型、电阻阻值、布线方式等,可能会对设备的性能和稳定性产生重要影响
- 做好记录:及时记录调试过程中的问题和解决方案,便于后续查阅和改进
硬件调试完成后,软件开发将是下一个重点。我将继续记录魔盒项目的开发过程,分享更多的经验和教训。
相关资源
- ESP32C3官方文档:https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/index.html
- USRR235L传感器 datasheet:不知道厂家让不让公开,暂时不上传了
- WS2812技术文档:https://cdn-shop.adafruit.com/datasheets/WS2812.pdf
希望这篇博客能对正在进行物联网项目开发的开发者有所帮助。如果你有任何问题或建议,欢迎在评论区留言交流!