我想每个科技爱好者小时候(或许直到现在)都会被DIY所吸引。在我的初中时代,果壳群组仍然繁荣,在其中最令我流连的是“谣言粉碎机”和“DIY”。那个时候,我曾经花了几个月时间想要用学校旁边小卖部里能买到的东西复刻一台磁力天平,又探索了许多光学显微镜的改装技巧。随着长大,我逐渐变成了一名标准意义上的理科生,再也没有接受过像样的工程教育。随着理科头脑的发展,DIY、工程制造这些词语也隐形了许多年,直到前年,当发现市场上的科研仪器有多么昂贵之后,萌生了一个念头:要不要自己动手造点仪器?

作为一个基础科学研究从业者,我发现了理科教育与工科教育的巨大隔阂,以及由此产生的相当不正常的溢价。在网上随便一搜就会发现,在热衷于DIY各种小玩意的创客们中间,单片机、步进电机等都是再基础不过的操作,在计算机上的编程更是谁都不在话下。而在科研圈,哪怕是给仪器写一个UI软件,都能拿来发一篇不错的文章。一方面,哪怕是偏低端的科研仪器,大都收着几万几十万的高价;另一方面,这些仪器背后的原理往往都十分简单,受过工程训练的人可能很容易做出自己“能用”的版本。一方面,工业自动化如火如荼,另一方面,大多数化学实验室还停留在五十年前的纯手工工作方式,而其中许多工作,只要有最基础的自动化控制,就可以轻松完成。

在2022年底,我选择的第一个对象是电化学工作站。这是一个典型的“低技术高价格”的仪器:其核心原理是实现一个可控的电压输出,并测量流过电路的实时电流。就这么简单。而当时淘宝上最便宜的电化学工作站的售价也需要5万元以上。我觉得,是时候做点什么了。

如果我是受过训练的经验丰富的电子工程师,或许可以很容易地解决这个问题;但我不是。在我们接受的教育体系中,理科生的工程训练近乎于无,哪怕是在我曾经学习过的一所以工科闻名全国的大学也是这样。决定制作电化学工作站的第一天晚上,我对着电路图中运放的三角形符号,琢磨了一晚上“三极管”是怎么实现这些功能的。自不必说,这是一次从零开始的创客之旅。

起步

电化学工作站是我创客旅途中的第一个项目,现在想来其实是很有意义的。它既足够简单,掌握足够知识后就可以上手,又没有太过简单:它需要实现以足够的精度进行定量测量,实现起来的难度比起点点灯泡、控制几个模块还是要高出不少。此外,已经有不少人进行过DIY电化学工作站的尝试并发表了论文,因此我有充分的参考资料。这些特点使得它成为了一个非常合适的训练项目。

很快我就发现,虽然靠DIY发论文的不少,但他们的产品的性能只能说是玩具,距离实际能用还差了十万八千里。而我的目标是:能用,好用,便宜;我希望用户拿到我的产品,做出的评价不是“毕竟它这么便宜”,而是“它居然能这么便宜”。为此,我需要学习很多。而为了掌握一门技术,最重要的只有一条:动起手来,在实践中学习。

首先是单片机相关。单片机并不简单,市面上充满了各种型号:51单片机,STM32,ESP32,Arduino,树莓派Pico等等。它们性能各异,控制方法即使相通,仍然有很大不同。为了能快速上手,我选择了树莓派Pico。它有几个优点:性能比Arduino好,控制可以采用简单的Micropython,有商品模块出售而不需要动手焊接,更不需要从一开始就去设计PCB。

虽然单片机要去控制各种硬件,但归根到底需要实现的也无非是有限的几个功能:控制某个引脚输出低电平还是高电平;通过各种协议与其他设备通信,无他。所以我会发现,单片机虽然看起来好像是一门大学问,但其实为了踏进“能用”的门槛,需要学习的其实相当少。由于我早已熟练使用Python,使用树莓派Pico几乎没有学习成本。买块面包板,将树莓派Pico插在里面,用杜邦线连接起来,很快就知道了怎么控制每个引脚的输出。

下一个问题是如何设计电路,来实现所需要的控制电压和测量电流的功能。参考文献已经给出了示例电路,为了将这些电路搞懂,需要有一定的电路分析知识。我的电路知识还停留在高中层次,连基尔霍夫定律都忘得只剩下了个名字,因此买了一本弗洛伊德和布奇拉的《电路原理》。不要被它的厚度吓到——这本书读起来相当轻松,特别是开头三分之一的内容都是在进行高中物理复习。我本就对各种包装精美的教科书很感兴趣,花了几天时间就津津有味地读完了。读完后,摆在书架上,也是赏心悦目。事实上,为了让项目推进下去,也并不需要读完,只要对照着关键字去找相关段落即可,例如为了搞清楚用电阻加偏置电压的原理,去读读基尔霍夫定律;为了知道电容如何取值,去看看RC电路和滤波器设计,一切都十分顺利。

如果你仍然觉得要去学一门在大学里会用一个学期开设的课程看起来有点可怕,那么就感谢现代工业吧。事实上,大部分工作都不需要我们自己去做:用于实现常用功能的电路,大部分都已经被封装成了开箱即用的模块!它们的售价往往极低,精度完全达标,只需要借助基础的电路分析知识将它们连接起来就可以。以电化学工作站为例,需要实现的可控电压输出、高精度电流和电压测量等功能,都可以在淘宝上用几块钱买到成熟的模块。在我眼中,这是零基础上手电子设计的最大秘诀:绝大部分轮子已经有别人做好了,而且做得比自己设计的还要又好又便宜!可以说,正是这个充分发展的工业社会,消除了包括我在内的绝大多数普通人进入创客行业的门槛,让创造触手可及。

通过借助这些方便可靠的模块,我很快在面包板上完成了电化学工作站的电路设计,接下来的工作似乎只是转移到PCB上。

在面包板上的电化学工作站

停滞

我没有想到,转移到PCB上会成为这个项目最大的难点。上大学时,有一个暑假的工程实践课,教我们如何设计和焊接PCB。那个时候学的东西早就因为和专业毫不相关而忘得一干二净。我不得不重新学起。

我利用通勤的时间看了几个视频,熟悉了立创EDA的界面操作。我想,既然电路已经跑通了,还能在PCB上翻车不成?大概因此,我对EDA软件的用法只是扫了一眼,就匆忙把元件摆上去开始连线。当时我画的原理图是这样的,回过头看堪称灾难:

一个几乎没有可维护性的原理图

(如果你不知道这个原理图为什么不好,请翻到后面,与新的原理图进行对比,一看便知)

由于没有相关经验,我选择了自动布线。下单、打样、收货一气呵成,用上学时课程获赠的电烙铁开始焊接。在克服了包括焊锡粘不在烙铁上、一个个锡球在PCB上大珠小珠落玉盘、无数相邻引脚被焊在一起等堪称灾难性的初次焊接实践后,我得到了一个当时令我惊讶、现在看来当然如此的事实:焊上去的东西不能用。

回想起来,我会认为,这件事很明显地体现出了理科生对工程的无知。理科生的脑袋会认为,一旦原理跑通,剩下的东西都简单无比:本来能够工作的电路转移到PCB上还能不工作不成?这种对工程实现过程中的种种因素的忽视导致了严重的弯路。而事实上,只要有足够的敬畏,这些弯路都是可以避免的。只要多看几集PCB设计的视频,就能知道如何画出一个清晰可维护的原理图,就能知道(至少是当年的)自动布线有多么不靠谱,也能知道PCB设计中的种种细节讲究。可是,当时的无知让我没有这么做。

我并不知道是什么原因导致了无法工作。我将它归因于自己的焊接手艺,去中关村花了100元找了师傅拆下来又重新焊接,除了让师傅好好吐槽了一遍“怎么能焊成这样”之外并没有解决问题。我又打了好几版PCB,全都是同样的问题,上电后要么急速发热,要么根本无法通信。我对着一团乱麻的原理图研究了很久,找不到哪里有误,最后就将这些废品丢弃在了繁忙的日常中。

重生

转眼到了2024年底。我在非洲旅行时,偶然想起这事。趁着闲暇,多刷了点PCB设计的视频,才知道之前的设计有多么糟糕——幡然悔悟不需要投入多少时间,只要在b站随便找一个讲立创EDA的系列视频,二倍速看完就足够了。一回国,我就完全抛弃了一团糟的旧图纸,从头开始了PCB的设计。这次,我画出的原理图是这样的:

我又下定决心,花400元买了个正点原子的入门款示波器,决心好好把仪器的性能参数测清楚,绝对不能再两眼摸黑地尝试下去。一旦对工程保留了应有的敬畏,一切困难就自然消失了,就好像之前的困难完全是“心不诚”导致的。停滞了一年多的项目立刻起飞,按照正常方法设计的PCB再也没出过问题。

对工程的敬畏还体现在对比实验的重要性上。利用这个便宜好用的示波器,我做了许多替换元件的实验,结果发现,不仅完全不了解“设计规则”们不可行,盲目相信“设计规则”同样是不可行的。就比如,几乎所有人都在强调电源滤波的重要性,说IC的供电端一定要接滤波电容,整体的电源附近也要接大滤波电容,但在有一天深夜因为是否要听从这些规则而感到不安时,我决定爬起来对比一下,结果发现加上这些电容后信号的噪声反而增大了。工程就是这样,充满了不确定性和不可预测性,一切都是实践出真知。

走向量产

原型机的成功不代表量产过程也能顺利。我之前在一家制造业公司短暂就职,在其中强调得最多的事情之一就是,从能用的原型机到能呈现给客户的成品之间,需要无数工业设计的打磨。例如,怎样设计能够确保良品率,怎样设计能减少装配和维修的成本,避免用户或维修人员的误操作。这段经历让我知道了所谓的“螺丝仙人”绝不是无中生有,哪怕是一些看起来再细节不过的东西,比如按钮向着哪边开、插头用什么形状、标识用缩写还是全称,其中都可能蕴含着多次打磨的设计(这种打磨经常是为了防呆,毕竟设计者对产品的了解远远高于用户和装配工人,很容易忽视面向没有开上帝视角的这些用户的易用性的问题)。这也是创客DIY和工业生产最大的不同。

虽然作为创客的我目前还不需要考虑这些问题,但在将产品以小批量投入市场时,已经感受到了量产与自用的差异。比如良品率控制:尽管组装第一台自用的机器时非常顺利,在给出售的机器焊接PCB时,却遇到了许多次辛辛苦苦焊完后却连最基本的测试都过不去的现象。这种现象非常令人沮丧,一度让我想要发个退款声明,但最后还是搞清楚了问题的所在。为了改善良品率、以及降低报废带来的损失,我的体会是一定要采取模块化设计和模块化测试。

以电化学工作站为例,其中最容易产生报废的是其中的电流测试模块,因为这上面有一个贴片式元件需要手动焊接,很容易产生虚焊或连焊。为此,我将它放在一块单独的PCB上,并且在面包板上搭了一个测试平台。焊接过程中,先焊分体式电流测试模块,然后去面包板上测试,测试通过后再和其他部分焊接起来。同时,每焊接一个新模块,就把PCB上电进行单元测试,这样只要有部分不合格就能立刻发现,减少整体报废的损失。

面包板测试平台、以及装配到不同程度的PCB

另一个考验个人创客的是供应链管理。在工程中,不同供应商的货物可能存在差异,如果要进行替换,首先需要进行一致性检测。这种差异可能出现在一些看起来十分不重要的地方:谁能想到换一批鳄鱼夹后就会出现接触不良的问题?当这个问题第一次出现时,我花了大功夫排查PCB是否有误,当发现原因竟然是新的鳄鱼夹接触不好时,已经浪费了整整一天时间。这件事给我的启示是,在工程实践中,供应链只要存在任何不一致,哪怕是看起来再细枝末节的不同,也必须进行一致性测试!

供应链管理除了质量外,还有数量。一个项目如果要量产、并且客户对时间有要求时,相关元件的库存管理就成为了确保按时交货的重中之重。当零件数量繁多时,就很容易出现装配到最后一步发现缺少某个部件,最后不得不延期的情况。对此,我采取了最朴素的方法:把库存数量写在白板上。虽然看起来科技含量较低,但醒目的大字反而更能提醒自己及时补货。

到目前为止,电化学工作站已经交付了11台,研发资金完全回收。

新的项目

在完成电化学工作站后,我的目光转向了新的项目。我要做实验室里最亟需的自动化设备:自动过柱机。它的本质是一个输液泵和一个紫外检测器的结合,让液体以可控的流速通过商品色谱柱,通过紫外检测器定量测试流出溶液对特定波长的吸收强度。与电化学工作站相比,这个项目在电子技术上的难度有所降低,但涉及到大量机械结构的设计。为此,我用几个小时的时间看视频熟悉了Solidworks的用法(这里强烈推荐b站up主“喵星考拉”,有许多Solidworks案例视频),很快就做出了人生中第一台CNC加工件:

紫外检测器的主体机械结构

我再次感叹理科生所受教育里工程教育的缺失:在此之前我根本没有听说过CNC,虽然听说过但并不清楚车削铣等各种加工操作的含义,甚至连“钣金”这个在街边五金店就能看到的词是什么意思都不知道。但没有关系,在实践中,遇到什么需求就去找,很快就能学会。

与电子制作相比,机械制作的成本明显更高。3D打印在各种加工方式中是最便宜的,但强度和精度往往不足。制作金属件时,CNC的加工费用一次动辄几十元,如果要多次返工修改,研发经费会迅速上涨。此外,CNC加工的周期很长,订货到收货需要一周以上。因此我倾向于先用3D打印做树脂模型,验证可行性后再做金属件。大家都说公差控制是机械设计的灵魂,在3D打印时已经有所体会:不同的3D打印机的公差可能有明显不同,自己家里的打印机和嘉立创的3D打印机的公差甚至能差0.5 mm左右,给一个打印机设计的图纸放到另一个打印机就不能用。在工程的王国里,一切都需要尝试。

就这样,我的第二个项目正在稳步推进中。我的创客生涯还在起步阶段,今后仍然会继续探索廉价可靠的自制科研仪器。我希望在一年后,能在少数派再写一文,讲述制造更多仪器过程中的曲折和体悟。