牛客咖啡杯拆解,反推PCB元件和设计思路
在牛客的牛币兑换商城中,有一款性价比很高的定制周边:牛可乐保温杯
其实去年这款周边刚刚上架后就已经兑换了,今天闲着没事研究研究(其实是摔倒地上PCB板弹出来了)。
拆解
首先查看外观,无论是手感还是观感,都是蛮不错的一个小杯子,群友基本上人手一个了:
杯盖上有一个温度显示模块,支持触摸显示,且不同温度下,旁边水滴形状指示灯的颜色不同,温度高时会变成红色。
将黑色磨砂半透明的塑料板打开,就能看到其中的LED电路板。
将电路板拿出,会发现结构其实挺简单的:
仔细观摩PCB板,仅由一个磨掉了丝印的单片机,一个LED板和一个温敏电阻组成,触摸是通过包裹金属的海绵垫实现的。
温敏电阻没有固定,所以温度显示其实并不准确,误差可能在5~10℃;背面是供电的纽扣电池CR2032,盲猜功耗非常低,应该支持个一两年都没问题。
核心元件
- 定制/低成本MCU(单片机)丝印被磨掉,可能是厂商定制或通用型低成本芯片(如国产OTP/MCU)。集成触摸功能(通过电容感应实现开关/模式切换,无需外接触摸IC)。无内置ADC,通过GPIO充放电时间模拟温度测量。
- 温敏电阻(NTC热敏电阻)用于感知温度,通过电阻值随温度变化的特性实现粗略测温。成本极低(约几分钱),但精度差(误差5-10°C)。
- LED指示灯可能为单色或多色LED(如红绿双色),通过颜色/闪烁表示温度范围(如红色=高温、蓝色=低温)。直接由MCU的GPIO驱动,串联限流电阻。
外围电路
- RC充放电电路由温敏电阻(NTC)和固定电容组成,通过测量电容充放电时间推算温度(替代传统ADC)。原理:MCU控制GPIO对电容充放电,利用NTC电阻值变化影响充放电时间,通过计时器间接计算温度(低成本但误差大)。
- 限流电阻与LED串联,防止电流过大烧毁LED或MCU引脚(典型值100-470Ω)。
- 纽扣电池接口可能为CR2032等纽扣电池焊盘,直接为MCU和LED供电(无稳压电路,依赖电池电压稳定性)。
- 触摸感应焊盘集成在MCU内部,通过PCB上的铜箔区域实现触摸功能(如切换显示单位/开关)。
设计特点
- 极致成本控制单面PCB,无复杂布线,元件数量极少(仅MCU、电阻、电容、LED、温敏电阻)。使用COB(Chip on Board)封装或SOT23等小封装元件,降低硬件成本。
- 软件简化温度通过分段阈值判断(如30°C/50°C/70°C),LED显示对应颜色区间,而非精确数值。充放电计时误差可能被环境温度、电池电压波动放大,导致测温不准。
可能的电路工作流程
- 测温:MCU通过GPIO对NTC+电容组成的RC电路充放电,计时达到阈值电压的时间。时间长短反映NTC阻值,进而推算温度(粗略分段)。
- 显示:LED根据温度区间显示颜色(如红=高温,蓝=低温,绿=适中)。
- 触摸控制:手指接触PCB上的铜箔区域,改变电容值,触发MCU内置触摸逻辑(如切换°C/°F)。
拍完照片装回去继续用,上面的内容纯属瞎猜,我的硬件电路能力几乎为0,猜错了还望专业的同学指正~
最后,还在一个微信公众号上找到了这款杯子的介绍页:“智能温显咖啡杯”