1.关于墙控的注意点
两种强控信号:一种是处理过的信号,一直高电平,只有切换色温才低电平;二是脉冲信号,高低电平。如果使用AD检测,要注意AD平均值问题;最好采用高低电平检测
(1)硬件方面:芯片VCC要维持一段时间才能做到快速切换色温;比如掉电时间要求小于100ms
(2)检测到掉电时,应该先消抖30ms后关灯,主要是为了让电容掉电慢;
(3)检测到掉电后开始计时,下次上电时间未超过100ms,就切换色温并记忆档位;超过100ms,就不开灯
2.关于矩阵灯亮度问题
扫描函数放在定时中断里面;扫描函数里面在延时计数,可改变灯亮度
(1)改变定时中断时间,只是调整扫描函数执行频率,可改善肉眼或手机相机可见的频闪;
(2)改变扫描函数里面的延时计数,才能调整亮度
(3)扫描函数里面的组数越少,效率越高。比如4行3列,最好扫描3列。
(4)公共端(比如共阴)驱动能力强,效率高。所以先扫描公共端。
(5)扫描组数少的方法优先,最好画图时组数少+公共端。
3.关于电池低压检测问题
检测到低压(比如3V)就关机,低压标志位置1
(1)干电池:电池电压回升到3V以上,低压标志位不清零;只有新装电池重新上电才清除低压标志位
(2)充电电池:插入充电线 和 电池充到一定电压(比如3.3V)才能清除低压标志位
(3)无论干电池还是充电电池,低压检测一定要延迟3~5秒。避免两种情况:负载拉低电压导致误判,或者电池电压未放干情况
4.关于待机电流的问题
(1)如果IO口做输入脚,盲目内置上拉与硬件形成回路,会导致待机电流增加。
- 充电管理芯片信号脚是开漏输出,所以单片机 要内置上拉。
- 触摸芯片信号一直低电平,所以单片机可以内置下拉或者不上拉下拉。
- 充电口没充电时一直低电平,所以单片机可以内置下拉或者不上拉下拉。充电口一般做唤醒处理,只能做输入,不能做输出
- AD检测口要关闭AD功能。如果上下臂电阻和1M,电池电压8.4V/1M=8.4微安。如果AD口上臂电阻比较大,AD口做输出,唤醒后再重新设置为输入;如果上臂电阻比较小,则维持输入口状态。
- 轻触按键可以内置上拉,是因为按键脚悬空,没与硬件形成回流
(2)注意关闭PWM输出,或者一些输出高电平的信号。不然会与硬件形成回流。
如下图,如果PWM输出高电平,就会与120K电阻形成回流。单片机电压5V/120K=41微安。待机电流就会多出41微安
(3)唤醒低功耗模式
外部中断可以唤醒低功耗模式:如果是AD口唤醒,睡眠前要关闭AD功能,只做输入口
(4)电池充电保护:可以做最长充电时间(比如180分钟停止充电)和电池过压检测(比如高于8.5V停止充电)
(5)充满信号检测:检测到充满信号维持5分钟才判断充满
5.关于单节电池的AD检测问题
单节锂电池最大电压4.2V,低电量保护为2.7-2.8V左右
如果MCU芯片的AD检测基准电压是VDD,不适合单节电池。因为芯片电压为3.3V,要使用LDO稳住电压。如果电池电压低于3.4V,LDO稳不住3.3V,就会导致AD检测不准。