一切都是从这句看来单纯无害的话开始:「你能帮我们把一颗螺丝拆下来吗?」
我猜想是因为那位实验室成员没有正确的螺丝起子,这应该会是一件只要花五分钟就能完成的简单任务;但我的运气没那么好,还动用了碳化合金牙科钻头在已经凹陷的螺丝头上切出一个新的槽,好让螺丝能顺利拆卸。
而当我拆下螺丝钉,这才发现为何那个实验想这么做──螺丝锁住的那台仪器的外壳下,全是干涸的盐份以及腐蚀
在这里我应该要告诉你更多关于这台仪器的信息,它是用来量测液态样本的四种物理特性;待测样本透过独立的帮浦,以高压(700PSI)、恒定流速(每分钟1.0 ml)供应。仪器内的一个烤箱配置了关键的传感器、毛细管、过滤器以及相关的管路,由比例-积分-微分控制器(PID)将温度控制在摄氏37度。
我清理了仪器并在一团糟中找到了两个泄漏腐蚀的阀门,然后用一颗500美元的价格订购了替换品;在此同时,我还打磨了锈蚀的钢板表面并重新上漆,以避免进一步被腐蚀。
把到货的新阀门安装好之后,我将系统中的空气排出,确认没有泄漏。一开始的测试显示其中三项量测功能运作良好,但第四项的黏性(viscosity)量测功能却显示不稳定的基线:出现了奇怪的正弦波干扰(sinusoidal disturbance),且持续30分钟。
那是什么导致了这种干扰?打电话给仪器制造商询问之后,得到的回答是:「如果有两个阀门是坏的,那第三个可能也是;」我绕过所有三个阀门,但这个改变没有什么不同,不是阀门的问题。我又绕过了好几个其他管路零件,一次一个,正弦波干扰仍顽固地存在。
仔细阅读用户手册,里面指出系统内未排出的空气可能导致基线不稳定;但拆卸与清理之后也没有什么差别。这个测试似乎排除了系统内部空气这个原因的可能性,而且气泡怎么会导致正弦波干扰?
抽离这个难题一个星期时间,能让我有一些时间可以思考;我再一次自己问自己:「什么原因会导致长时间的正弦波?」会是混迭(aliasing)吗?不太像,或许根本不是这台仪器本身的问题;又或许是向仪器供应流体的帮浦,在低流速时有30分钟的振荡?一样不太可能。
我认为唯一可能导致这种低速干扰的原因与温度有关,这种想法在稍早之前也曾出现过几次,但温度控制器显示的温度一直是37°C;或许我不应该信任该读数。用独立的温度计测出那个烤箱的温度在30分钟的时间内,呈现42°C至44°C之间的正弦变化;我终于可能找对了方向!
显然我是遇到了一个欠阻尼(underdamped)、「临界稳定」(marginally stable)控制回路--临界稳控制回路振荡,振幅不会随着时间放大或减小(如下图)。
?
看来是温度控制器出了问题;在拆解硬件之前,我决定先尝试软件解决方案--自动调节控制回路,强迫控制器计算该过程的最佳PID参数;这种重新调整有效,温度振荡消失了,黏度量测基线回归稳定,最后让使用者十分满意。
但是记得在很久以前我上过的第一堂电路设计课程,被教导的是「别自满于你的电路设计成果,找出它顺利运作的原理。」我还是很疑惑为何PID参数必须被改变,我觉得我只是把一个硬件问题掩盖住了;除此之外,我担心的问题是烤箱温度还是比设定点高了6度。
接着我恍然大悟:似乎是温度传感器并没有在温度上与烤箱正确耦合,现在看来是拆解硬件的时候了。就是这样!拆解与检测显示,传感器的固定螺丝不见了,因此温度传感器维持在稳定的37°C,不过烤箱温度却比较高而且一直振荡。
我大概永远不会知道那颗固定温度传感器的螺丝跑去哪了,甚至它何时不见的也不会知道;但正确地将传感器固定之后,所有的问题都解决了。烤箱的温度稳定维持在37°C,更重要的是,仪器的黏度量测功能基线也完全稳定了。
在这个案子学到的教训是:别相信所有你读到的,甚至是仪表读数;还有,如果有一个「错误」是长时间常数,在本质上大概就是温度。