刚刚搬来新家的时候楼顶上装了个桑夏的太阳能热水器,历经十几年风雨,最近因为管道损坏不想再修而放弃使用,改用燃气热水器了。期间,太阳能的水温水位计换过一次,管道破裂修理过 N 次,因为冬天冻水管 / 长期阴雨而不得不烧水洗澡更是不计其数。不过,太阳能热水器本身倒是一直没啥问题,质量还是不错的。
目前的这个水温水位计也已经用了很多年,型号是“ 晶彩 ”,但是实际上这货跟液晶显示屏一点关系都没有。
正面外观。这玩意主要是水温水位显示,然后在该上水或者水满的时候报个警。有定时提醒功能(就是一个 24 小时间隔的定时器)但是没用过。
屏幕显示效果,其实就是一个巨大的数码管。水位的四截颜色均不一样,但是黄色跟红色太相近,相机分辨不出来,另外绿色的亮度在相机上显得特别的暗,也许是波长比较奇怪或者扫描的时候占空比不一样?
背面,挂钩槽和铭牌贴纸。
电缆插头隐藏在下面的盒子里,向下拔开盖子即可见到。另外还有个灵敏度跳线,主要针对水位计的。
插头插座,镀金的 2 × 2 圆孔座和插针,质量不错。
卸下底部两颗螺丝,即可向上翻开外壳。内部主要有工频变压器和主板两样东西。
工频变压器在夏天还是很烫手的,久而久之外壳已经部分熔化,将电源线粘在上面了,弄了好久才分开。
工频变压器,做工马马虎虎,个头也不算大。估计能为后面提供 3W 左右的电力。
下面主要观察主板。
变压器的输出经过 4 只 1N4007 组成的全桥整流以后,由一个 16V 1000μF 的杂牌电容滤波。现在杂牌电容都喜欢做 K 字应力槽。
然后经过杂牌 7806 线性稳压器后得到稳压的 6V 直流电源。KA 字头本该是 Fairchild 的产品才具有的。另外 78xx 系列有 2V 的最低压差,也就是说变压器的输出应该在 9V 甚至以上了。好在水温水位计的功率不大,这玩意发热不严重。
7806 后面是 10V 220μF 的电解电容跟 100nF 的瓷片电容,进一步滤波。电解电容看上去像是红宝石的 YXA 系列,难道这玩意良心发现了么?
于是这是本次拆机的最大收获——终于见到传说中的 Rukycon 山寨电容了。左边是正品日本红宝石 Rubycon 电容,右边是这台机器上的山寨 Rukycon 电容,读者自己比较下吧重点在 LOGO 那里。
四根和楼顶的测量设备连接的电缆都要对地连接压敏电阻,并且跟后续设备连接之前都要先串联一个电阻。板子上面的所有电阻都是精密金属膜电阻,虽然完全没必要。
水位不可能是通过测量电阻的方法得到的,因为:
- 自来水的导电性较弱,不易测量;
- 导电性不仅和水位有关,和水质变化也有关系,并且关系很大;
- 如果要测量电阻,则势必导致测量用的电极发生电化学腐蚀,几年之后电极必定消失得无影无踪;
- 较长的线路的电阻对结果也有很大影响。
因此,水位的测量只能是以电容测量的形式完成的,高频交变电场被加在电极两端,水作为电介质。4 跟信号线里面两根线属于水位计,两根线属于水温计的热敏电阻。水位计的耦合要复杂一些,用两只电容取出交流分量,同时还要通过电阻耦合出直流偏置来——有可能是为了监测等效模型中不断变化的 ESR ,修正电阻带来的误差;或者是防止静电积累或者是雷雨击穿电容;亦或是构成振荡电路,这样单片机只用测频率即可得知水位。
图中所示的是一只 33nF ± 5% 的 MKP 方块电容。
另外还有一只 100nF 的 CBB 电容。
紧接着后面是一片 74HC04 ,里面是 6 路反相器。首先它能起到一个缓冲的作用,受雷击的时候首先遭殃的是它,所以它被安放在了 DIP-14 插座中,而不是直接焊死在板子上,这样方便损坏后更换。其次,反相器具有放大能力,可能用于构成水位计的振荡电路。
报警用的蜂鸣器,驱动蜂鸣器的 S8550 PNP BJT 三极管,以及多功能按钮。
飞利浦的 51 系列单片机,抹了胶。
酒精没带回来,只好拿花露水凑合着擦一下,效果不是很好。单片机的型号是 P87LPC762BN ,特点如下:
- 低功耗,低成本,小型的 DIP-20 封装;
- 优化的 80C51 内核,最高运行频率 20MHz ( 3V 下 10MHz ),最短指令执行时间仅 300ns ;
- 2.7V – 6.0V 电源供电;
- 2KBytes EPROM 代码存储( OTP ),可串行编程并锁定内容禁止读出;
- 128 字节的 RAM ;
- 单独的 32 字节 EPROM 可用于储存序列号或者出厂设置;
- 2 个 16 位定时器,可设定溢出输出针脚;
- 两个模拟比较器;
- 全双工 UART 以及 I2C 总线支持;
- 8 个键盘输入中断和两个外部中断,4 个中断优先级;
- 看门狗定时器使用单独的片上振荡器,超时时间共 8 个值可选,上电自动复位,振荡器故障检测;
- 低电压中断或者自动复位,两个阈值可选;
- 具有一定频率范围的可编程片上 RC 振荡器;
- 端口操作模式可编程:准双向 / 漏极开路 / 推挽输出 / 仅输入,共 4 种模式输入可选施密特触发;
- 所有针脚都可提供 20mA 的电流直接驱动 LED ;
- 所有端口都有 10ns 上升时间,以减小电磁干扰;
- 15 – 18 个 IO 引脚;
- 带中断唤醒的节电模式,典型电流仅 1μA 。
虽然单片机有片上 RC 振荡器,但是为了计量精确还是配了一只 6.000MHz 的晶体。同时不难看出这只单片机运行在相当低的速度下。实际上数码管有的时候会有闪动,大概是测量工作影响到了扫描。
另外还有数码管的位驱动用到的 3 只 S8550 三极管,其中有两只在板子顶端,还有一只在蜂鸣器上方(也就是蜂鸣器驱动三极管的旁边)。这样可以说明数码管是共阳的,并且段脚直接由单片机驱动。
三极管上方是本来要给交流部分使用的压敏电阻的位置,但是这里省掉了。其实也有可能是出于绝缘的考虑而取消掉了。
数码管,温度为 2 位 7 段,水位 4 段,指示灯 4 段,正好可以 8 段 3 位 搞定。摄氏度符号长亮,但是也有可能非常蛋疼地由某个小数点 dp 控制。
撕掉表面的塑料片,可以看到数码管的庐山真面目。
数码管侧面没有太多信息,应该是定制的型号,但是有两个未用的引脚没有剪断而是翻起来了,真是懒啊。
卸下 PCB 上的四颗螺丝,取出 PCB ,看看它背面的走线。数码管下方的背面还有两排引脚,会不会是 ULN2003 一类的驱动芯片呢?
当然,对这种货色的期望不能太高。原来底下是一排连接数码管段脚的电阻(还焊得乱七八糟的)。所以说数码管的段是单片机直接驱动的,毕竟单片机都提供了 20mA 的驱动能力了,不用白不用。至于够不够亮,对单片机的干扰大不大,这就再说嘛。
比较细致客观的!不知道能不能取出水位和温度信号出来,控制电磁阀从而实现自动上水呢?请指教!
可以考虑取出数码管的输出。由于数码管是扫描显示的,所以可能还需要加个低通滤波,RC 即可。