文章目录
前段时间复刻了一个基于 ESP32-C3 开发板的桌面卫星摆件(见 这个用 ESP32 开发板 DIY 的“卫星”感觉挺不错),在文章里也提到了,虽然这个卫星摆件带了太阳能电池板,但是发电功率太低,完全没有实用价值。
后来就想了想,是不是可以搞个低功耗 MCU + 低功耗显示屏来做一个可以真正使用太阳能电池板供电的卫星摆件?
最近沁恒的 MCU 玩得比较多,刚好看到有一个 CH32L103 是低功耗系列,就拿它来试试~
硬件选型
之前测试过,单块太阳能电池板在室内约 500 lux 的光照条件下,大概能提供 50uA 的供电电流,因此 MCU + 屏幕 + 温湿度传感器的总电流需求小于这个值就可以了。
在大概调研了一下之后,初步硬件选型如下:
- 主控 MCU:WCH CH32L103,沁恒 RISC-V 低功耗系列
- 屏幕:鱼鹰光电 1.54 寸单色 TFT 反射式显示屏,分辨率 200x200
- 传感器:SHT31,查了下数据手册,在不检测时,功耗也相当低
- 时钟芯片:继续使用之前墨水屏 Tag 中的 PCF8563
CH32L103
CH32L103 是 WCH 低功耗系列 MCU,有丰富的外设,并且还有 USB 支持,64KB Flash 和 20KB SRAM 对于应用开发也相当充足了。
CH32L103系列是基于青稞RISC-V内核设计的工业级低功耗通用微控制器。CH32L103内置USB和PD PHY,支持PDUSB,包括USB Host主机和USB Device设备功能、USB PD及Type-C快充功能,内置低功耗定时器,提供了1组OPA运放、多组CMP电压比较器、4组USART串口、2个I2C接口、2个SPI接口、1组CAN接口、多组定时器、12位ADC、10路Touchkey 等丰富外设资源。

根据数据手册,CH32L103 在使用 STANDBY 模式时,电流可以低到 1uA 以下,这可以极大地降低对供电的压力。

反射式 TFT LCD
以前是看到过夏普的反射式 TFT LCD,不过那个太老了,东西也不好买。
刚好前段时间在某宝上看到鱼鹰光电的 TFT 反射式显示屏,原理应该类似,查阅规格书显示持续电流大概在 25.7uA,使用太阳能供电也可以了。

相比电子墨水屏,使用这个 TFT 反射屏最大的好处就是刷新率要高很多,虽然需要持续供电,但是如果算上刷新时间中的大电流需求,平均下来也不一定比电子墨水屏更费电。
另外我也是为了尝试一下不同类型的屏幕,这款屏幕使用 SPI 串行接口,驱动电路设计比墨水屏简单太多了 😂。
搭建测试电路
先使用开发板 + 模块来验证一下功耗是否符合预期。
注意:CH32L103 开发板的 LED 指示灯、无关电阻等都被取下,LDO 断开,防止额外电流消耗。
另外这次也玩了个骚操作,直接用 GPIO 对 SHT31 传感器供电,防止 MCU 休眠时,I2C 总线的上拉电阻会有额外电流消耗 🙈。
测试程序很简单,逻辑如下:
- 初始化 ST7305 驱动
- 如果是首次运行,将存放于 R2K 区域的
display_count置 0 - 显示
display_count并加 1 后存储于 R2K - 开启 SHT31 电源,读取温度和湿度,关闭电源
- 刷新屏幕显示
- 进入 STANDBY 模式
- 60 秒后 RTC Alarm 触发 RESET,重新进行第 1 步

功耗测试
这次买了个 NORDIC Power Profiler Kit 2 来测功耗,比用万用表观察可以精确很多了。
Standby_RAM_LV 模式功耗
先使用官方例程测试一下 Standby_RAM_LV 模式下的功耗,可以看到平均电流在 1.63uA,这在系统整体功耗中可以忽略不计了 😃。

驱动屏幕+定时唤醒功耗
10 分钟完整数据记录
在 10 分钟完整的功耗记录中,电流平均下来为 36.4uA。

休眠期间平均电流
在 MCU 休眠期间,平均电流差不多是 17.1uA。

屏幕刷新间隔
通过驱动设置 TFT 反射屏刷新率为 0.25Hz,从数据记录中大概也能看出来间隔为 4 秒左右。

24 小时耗电
经过 24 小时之后,微安表显示总共耗电 1.3mAh,如果以两块太阳能电池板 100uA 的发电量来计算,一天可以有 100uA * 24h = 2400uAh = 2.4mAh,在不考虑锂电池自放电的情况下,理论上可以满足无限续航的需求了。

未完待续
目前只是验证了整体供电是否符合预期,从结果看基本上可以满足仅使用太阳能电池板供电,后续要完成一个完整的卫星摆件的话,还得再加上充放电管理之类的,LDO 也有静态电流的问题,还得再慢慢折腾了~

0 条评论。