从0到1自己动手组装RO反渗透净水器——控制盒设计
声明:本文中涉及到专业软件应用,本人并未付费相关license,且承诺仅用于个人学习和研究用,不做任何商业用途。
简介: 本文主要介绍自己DIY的RO反渗透净水器(原文链接:https://post.smzdm.com/p/agqk7k0d/)配套的控制盒设计,包括控制电路硬件设计、PCB、组装调试、单片机程序设计。其实这个东西淘宝上也有现成的,我之前也想过直接买,可是找来找去也没有合适我需求的。考虑到这个东西本身也不算太复杂,索性自己搞了,就当体验一次原型机开发流程了。
Chapter 1:收集需求和控制逻辑
根据我的净水系统方案,一共包含3个输入信号(绿色五角星):
1、进水低压开关:用于检测停水,防止发生停水时水泵空转;
2、RO出水高压开关:这实际上一个高低压开关,水压小于1.5kg启动,大于2.5kg断开,但是我这里只用了他的断开功能,因为要保证水桶的水每次都能放完,所以启动信号是来自3的低压开关
3、水桶低压开关:当水桶的水彻底用完了,这个开关会闭合,用做系统启动的信号。
输出信号一共有4个(蓝色四角星):
1、进水阀:实际上所有的阀都是一样的,属于常闭型,即通电就开通,断电即关闭。这样即使停电也不用担心。工作电压24V,电流大于100多mA吧,记不住具体值了。
2、废水阀:用于配合RO膜冲洗的时候排水
3、增压水泵:输入20-40psi,输出70psi,提供足够的水压给RO膜的原边,从而得到反渗透的净水。这也是反渗透的名称由来,因为正常情况液体中的溶质都是高浓度向低浓度扩散,而这里是让溶剂更加纯净,相当于溶质在聚集,于是形成了浓度更高的废水。总体上相当于输出侧的溶质扩散回来了,即反渗透。代价就是需要高水压维持系统工作。
4、冲洗阀:将纯水引回RO膜壳,替换掉RO膜原水侧的自来水。这样就能保证在水压平衡后,原边的离子不会直接扩散到输出侧(因为原边的水中已经几乎没有杂质离子了)。
如果没有冲洗的过程,停机后,原边的浓水中离子扩散到输出侧,最终形成平衡。然后直接用桶储水,这样会稀释掉扩散过去的离子,总体上影响其实不大(尤其是这里用的是1812的小容量膜壳)。
控制逻辑比较清楚,简单讲就是通过3个输入信号,控制4个输出信号(外加几个指示灯),中间有一些组合逻辑状态。大体上的流程图如下:
实际软件功能和流程图略有出入,主要是调试的时候做了一些改进,没有刷新流程图。比如休眠功能没有做,因为单片机功耗本身已经很低了,就懒得去搞了。制水过程停水后,实际上状态是锁存的,恢复供水回自动启动制水。软件增加的细节有:停水恢复供水后水压不稳(有气泡)的屏蔽措施、RO膜冲洗时进水阀关闭延迟配合冲洗阀,利用原水做预冲洗。(这个功能效果一般,因为减压阀,原水压力比较小)、实际故障指示灯通过闪烁频率区分故障种类。
其中,第一个制水计时,主要作用是防止停水后桶里的水用完了,直饮水龙头忘记关了,人又不在家,此时恢复供水就会自动制水。另外,如果储水桶漏水严重也会在这个阶段因为桶水压持续不能升高而被识别到。
第二个计时,主要是防止储水桶或者输出管路出现漏水,导致水压持续不能达到上限,而造成水泵持续工作。这时候表现为制水超时。根据75G陶氏膜的手册,70psi情况下,1小时制水差不多17L,理论上半小时左右3.2G的桶就该满了。
Chapter 2:硬件设计
输入输出信号处理比较简单。输入就是微动开关,直接电阻上拉即可。输出分为水泵(大电流大约1.8A)和电磁阀(100mA左右),两者本质上都等效为线圈,即感性负载。因为不希望负载平时带着24V电压,所有设计成共地逻辑,将TTL电平转成24V到负载上。原理如下,单片机通过一个低边小信号Nmos拉低高边Pmos的栅极来开启Pmos,将电流引入负载。端口处增加二极管钳位关断时线圈产生的反压。由于3401的通流能力比较强,对于水泵也使用通样的电路,但是钳位二极管换大了一些,由于电流比较大,增加了一个保险丝。
最后。硬件上做了防呆:即硬件上确保在水泵信号和进水阀信号同时丢失的情况下,进水阀会晚于水泵关断,这样可以防止管道出现低水压/负压(这种情况可能导致水泵工作电流突然升高);另外,水泵和进水阀需要同时受到输出高压开关的控制(即使单片机死机了,高压开关也能将水泵和进水阀断电)。这样一来,最坏的情况下,单片机不正常,也不会导致严重后果。需要注意的是,这时候启动制水需要提前给进水阀通电,因为硬件上此阀的动作就延迟于水泵。
其他的就比较常规了,制水指示灯和冲洗指示灯是通过硬件控制的,与软件无关,这样在调试的时候能够清晰的看出来那些硬件在动作。
为了方便买料,单片机放了两种封装。板子改过一版,增加了输出排线的宽间距孔位,原本考虑的排线连接器由于用的线缆太粗不好操作,最后改成焊接的了。板子预留了屏幕接口,最后想了想也没啥要显示的东西,就没去装。毕竟这东西放在橱柜里面,平时也没人去看,点屏幕还浪费电。
Chapter 3:PCB和盒子
板子在深圳JLC做的,这家业界良心企业,相信很多工程师朋友都白嫖过他家的板子。
盒子是在淘宝找的,跟白送一样,店家可能没想到我这真的是搞着耍的。。。。。两块多钱的盒子给你包邮,居然还防水,我都震惊了。对了,组装电路的时候要注意,高低压开关,水阀这些东西需要插片连接(找的时候搜冷压端子,不仅分宽度,还有厚度的差别),不同品牌的尺寸还不一样。而且买的时候没有这个参数的描述,我是通过实物测量然后去立创商城找到的,因为其他元件也在他家买的。PS:单片机是真的贵,当年几毛钱一片的,现在大几块钱,好在要的不多,我拆了旧的用了。
电路板装进盒子后,通过手动小工具开孔,这个小盒子一烫就化,硬件的朋友一定直到怎么搞,就不多说了。
Chapter 4:调试
调试的时候可以通过跳线或者开关模拟几个输入信号,输出临时接几个LED就行了,比较方便。代码写的很杂,就不放出来了。这么简单的控制,有了流程图,基本上不动脑子就写了。实际使用的时候,由于担心储水桶的水放不干净,于是增加了储水桶低压开关动作后的延迟,确保管道的水都能尽量放完。
欢迎大家交流,如果需要更细节也可以单独私信我。这东西实在没什么技术含量,纯粹当作过一遍原型机开发流程了。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
寒山明月
校验提示文案
kardson
但我在想一旦ro膜用久了以后 膜后压力低于膜前压力 这个时候靠压力桶的压力冲洗其实很难冲干净(而且一直是原水混着纯水冲洗) 是不是可以在结构上把进水电磁阀放到泵前 然后把纯水的回水加一个减压阀以后放到泵和进水电磁阀之间 增压泵延时运行 用纯水增压冲洗ro膜的原水端 这样感觉会更彻底 但是这样去改就破坏了原有的硬件互锁 还没想好怎么办
校验提示文案
leeeooooo
校验提示文案
东风破了
校验提示文案
SHMILY_ELY
校验提示文案
名字要越长越好
//github.com/littlelittlerabbit/Water_Purifier/releases/tag/V5.0
校验提示文案
值友5147605126
校验提示文案
值友5147605126
校验提示文案
名字要越长越好
//github.com/littlelittlerabbit/Water_Purifier/releases/tag/V5.0
校验提示文案
SHMILY_ELY
校验提示文案
东风破了
校验提示文案
kardson
但我在想一旦ro膜用久了以后 膜后压力低于膜前压力 这个时候靠压力桶的压力冲洗其实很难冲干净(而且一直是原水混着纯水冲洗) 是不是可以在结构上把进水电磁阀放到泵前 然后把纯水的回水加一个减压阀以后放到泵和进水电磁阀之间 增压泵延时运行 用纯水增压冲洗ro膜的原水端 这样感觉会更彻底 但是这样去改就破坏了原有的硬件互锁 还没想好怎么办
校验提示文案
寒山明月
校验提示文案
leeeooooo
校验提示文案