
开源协议
:CC BY-NC-SA 4.0
(未经作者授权,禁止转载)描述
项目简介
本项目使用ESP32c3芯片,基于Arduino开发,拥有时钟与小夜灯的功能。
项目功能
- 正面是2.9寸的墨水屏时钟,显示的内容包括:年、月、日、星期、时间、电池电压、内部温度以及自定义图片。
- 背面是灯板,搭载八串两并的0.2W灯珠,能提供最高3.2W功率。
- 上面的三个按钮,从左到右分别是:LED亮度调节、手动更新NTP时间、软件重启功能。其中调光有三个固定档位20%、50%、100%,其他两个按键为防误触,需快速点按两次即生效。
- 左侧的type-c为充电+通讯功能,充电默认为5v1a,可通过此接口调试esp32c3.
项目参数
- 本项目使用WFT0290CZ10墨水屏,分辨率为296*128。
- 墨水屏驱动使用EPaperDrive库+硬件SPI驱动,理论上EPaperDrive库中的屏幕都可以使用。
- 小夜灯部分使用LGS63032作为恒流升压芯片,和蜂鸣器共用4Khz的PWM用作调光功能,低占空比时出现嗡嗡声很正常。
- 电池电压采样部分使用ESP32C3内部的校准参数,准确度尚可。
- 温度采样使用10K 3950B的NTC热敏电阻,主要用于检测灯板的温度,温度过高会降低LED的占空比。
- 充电部分使用经典的4056芯片,在不充电时只消耗几uA的电流。
原理解析(硬件说明)
本项目由以下部分组成,主控部分、LED照明部分、屏幕部分、电源部分、电池充放电部分,本项目主要通过网络获取NTP时间,并同步RTC时钟,定时更新屏幕显示的内容,再结合按键完成相应功能。
主控部分、屏幕部分、电源部分就不介绍了,我是小白我也不懂~( ̄▽ ̄)~。
Type-C电路:
采用TYPE-C-16P接口作为供电接口,同时使用对应的USB数据引脚接入S3对应的USB引脚处(USBDN IO18),(USBDP IO19),直接使用USB 作为下载和调试,无需转换为串口信号。在CC1和CC2引脚处加入5.1K下拉电阻,便于不同主机识别和配置。
LED照明电路:
使用LGS63032作为恒流升压控制器,恒流大小取决于R25阻值(I=0.2V/1.6Ω),建议按照数据手册中的参数设计灯板,以达到最高的转换效率,重新设计时需注意电感的额定电流。经测试,灯板3.2W的功率比较合适。
电池充放电部分
电池充电使用经典的4056芯片,数据手册中给的芯片耗电都在10uA以内,在不插电时最低能到2uA。图中充电电流设置为1A,选购18650电池时,需要特别注意电池充电电流!!!
锂电池保护使用DW01+8205的MOS,应该算是价格低廉且方案成熟的选择了吧。其中8205只需要4个就够了,PCB中多出的两个可以不焊接。
软件代码
//外部库仅使用EPaperDrive库
//arduino 2.3.2
//ESP32 3.0.3
以下是Arduino的设置参数,注意各项设置是否一致
外观部分
版本
- V1.0.0 暂未做低功耗处理,使用2600mah的电池大约能用一个星期。
设计图

BOM


评论