【开源】雷凌/卡罗拉中控台多功能时钟
车子上的时钟功能单一不说,最大的毛病是一年快2分钟,调表只能朝增大的方向调,得按几十次按钮才能调回来。撬开中控面板外框,抠下时钟模块,拆开盖板,发现里面已经用的是温补晶振,换一个的话要找负偏的,否则走快的情况解决不了,甚至变得更差。忍不了,准备做个带高精度RTC和支持NTP校时功能的时钟模块放上去。
逆向研究了一下电路板和线束插头,需要用到的的电源和信号如下(实际上PCB插座的针是插在下图标注的弹片下方相应的正方形小孔内):
做项目剩余一些ESP32-S2模块、DS3231高精度RTC、温湿度传感器SHT20、气压传感器BMP180以及液晶屏,全部安排上。功能如下:
- 掉电仍计时的高精度实时时钟,带年、月、日、星期几显示
- 两路温度传感
- 湿度显示
- 气压显示
- 铅酸电池电压监测
- NTP网络校时
- 网页固件升级
外壳用ABS 3D打印(ASA材料耐紫外线,更好),指示灯导光柱使用激光雕刻机切割亚克力制作。半成品如下:
效果如下:
背面焊有三根杜邦针用于插线束。
这个模块也可以改为长期供电,电压5.5 ~ 15.5V都可以,换一个TVS以及调整电压采集分压电阻网络可以支持更高的电压。不擅长做界面,也不想花太多工夫在上面,一切从简。预留了一个I2C接口排针,可以扩展其他传感器,比如加速度传感器、一氧化碳传感器。四个按钮中第一个为复位键;第二个平时可作为通用按钮,与复位键先后按住后松手可进入串口升级模式;后两个为通用按钮。通用按钮功能都没开发,暂时用不上。(受ESP32和液晶屏发热影响,板载温度传感器无法准确测量空气温度,因此后来把第四个按钮换为100k NTC电阻NCU18WF104D60RB了,通过细导线引到面板上,槽内填充少量超级黏土以隔绝内壁的热传导以及腔体内的热对流。面板开了一个小孔使NTC感应外部温度。另外做了一个简单的算法补偿本机自身发热带来的温升。也可以改成光敏电阻、电位器等器件,实现背光亮度调节等功能。)
本地时钟同步逻辑为每小时与高精度RTC DS3231同步一次时间。没有使用ESP32自己的RTC。NTP对时逻辑为本机每次连上WiFi后立即与网络时间同步一次。如果当成桌面时钟长期通电且联网,每15天与网络时间同步一次。WiFi可以由手机热点提供,完成首次校时后可以断开。
附件(含原理图、源代码、外壳图纸)
使用闲鱼扫描此二维码可进店联系我购买空白PCB