大约2003年的时候,我在一家做IC卡收费系统的公司担任开发部经理。当时非接触式IC卡应用还不普遍,记得当时只有少数公交车上装了一卡通,地铁也好像还是用磁条卡。我当时所在公司是最早将非接触式IC卡用于公共澡堂计费管理的公司之一。当时主流的技术方案就是飞利浦和爱特梅尔的方案。
有一天上午10点来钟的样子,我们工程安装部的经理小陈过来找我,说有个单子,上海大学松江新校区准备用我们的系统,但是他们原先有电磁阀,这个电磁阀成本蛮高,大约7,80元一个,所以希望能继续使用,如果我们能够做到这点,这个单子就让我们做。可是他们的电磁阀是脉冲式的,而我们的读卡器控制的模式是电平式,二者并不兼容。脉冲式电磁阀的工作原理是来一个正向电流脉冲,电磁阀打开;再来一个反向电流脉冲,电磁阀关闭;当电磁阀处于打开状态时,再来一个正向脉冲不会有任何影响,同样当电磁阀处于关闭时,再来一个反向脉冲也不会有任何影响。电平式电磁阀的原理则是靠电流维持阀门的打开状态,一旦电流停止,阀门立即关闭,和电磁铁的原理是一样的。
听了他的要求,我感觉这个很简单么,板子改改好了。你的电磁阀需要什么样的驱动方式,我给你什么驱动方式好了,大不了再做一个转接板不就好了么?可是接下来他的话让我感觉有点难度,现在是10点钟,下午客户下班之前搞定,成本增加不能超过2块钱,最好在1元钱之内解决;要么能做,要么不能做。能做就拿出具体方案和样品,明天到客户处演示,签合同。不能做就不能做,看着到手的订单让别人做,或者客户的电磁阀全部作废(如果我们不能做的话,估计多半要作废的,因为当时其他公司基本上都是电平式电磁阀的方案),损失也不小的,总共将近400个电磁阀,每个80元,32000元成本,难怪客户要提出这个要求了。
这么一讲,这倒是有点难办了,从技术上来说,其实也是蛮简单的,无非把板子割一割线,插入些电路元件,然后修改单片机程序,不就好了么。脉冲和电平互换,搞一些74系列IC、最多用些PLD芯片,实在不是什么高深的东西了。
且慢,预算只有2块钱呢。如果使用IC、或者PLD,能做到么?够呛,哦,等等,不是够呛,而是肯定要超,另外加上修改板子的人工、重新做板的费用、调试等等,来得及么?呵呵,不行,此路不通。
这时,我让做硬件工程师把电路图拿给我看,突然,一个想法跳入脑海,搞什么数字电路?用得着什么PLD么?一个简单的微分电路就可搞定。
首先,我们看看电平式驱动的电路,如图1所示:
原理如下:电磁阀通过限流电阻R1和继电器的动触点相连,单片机的P1.5口作为驱动信号;当该口为高电平时,三极管Q1导通,继电器K1线圈通电,继电器吸合,12V电源给电磁阀加电,电磁阀打开。当该口为低电平时,三极管Q1截止,继电器线圈没有电流,于是继电器的动触点和常闭触点相连,电磁阀没有电流通过,处于关闭状态。
现在,假如我们把J1的1脚和R1之间的连接断开,插入一个大电解电容,形成一个微分电路会怎样?修改后的电路如图2所示。
假设在某一瞬间,P1.5变成高电平,这时继电 器线圈得电导通,继电器的动触点和常开触点相连,12V电源通过R1、电磁阀内阻对C1充电,经过大约R1*C1的时间(忽略电磁阀内阻),充电电流迅速下降,最终流过电磁阀的电流为0,而C1的两端充满了12V的电荷。在对电容充电的过程中,同时也满足了电磁阀的打开条件,于是电磁阀处于打开状态。当单片机P1.5口输出为低电平的时候,三极管Q1截止,继电器线圈没有电流,于是继电器的动触点和常闭触点相连,也就是电容C1、电阻R1、电磁阀形成了一个回路,在这个回路中,由于C1已经充电到12V了,于是形成了一个放电回路,放电的方向和充电的方向刚好相反,于是电磁阀得到一个反向的电流脉冲,处于关闭状态。
好了,原理上没问题了,做过实验验证一下吧。说干就干,我和硬件工程师小索拿了一套读卡器、电磁阀、IC卡若干,来到浴室,接上水管、电磁阀,检查、通电,IC卡放上去测试,好了继电器卡塔一声通电了,电磁阀开始放水了,不错,真的不错。好了,现在试试关闭,把卡拿掉,ok,继电器卡塔一声,放开了,咦!怎么回事?那个水管还在放水呀?哦,看来电容小了,好的,我加大就是了,咦?怎么还是不行,再加大,嗯好点了。还有没有再大一点的?“哦,经理,没有了,我们仓库最大容量的电容就这么大了”,呵呵,再瞧瞧?大家看看那个图2,那个电阻R1好像是个限流电阻吧,是不是可以改小一点呢?当然可以,马上改小试试,哎,效果不错,再小一点,好像效果更好了,要不把它拿掉吧,也可以吧,12V电源本身有内阻、电容也有内阻、电磁阀也有内阻,没必要再加限流电阻了吧?嗯,有点道理,将R1取消,短路,再试,这些继电器吸合放开、电磁阀打开关闭,非常干脆利索了。既然如此,电容能不能再减小一点呢?好像可以,那就再减小,减小。哈哈,不能再减了吧,还是取个中间值好了,留30-50%的余量吧。
最终的结果是:1、R1取消,短路。2、C1取值大约1000-4700uF,具体值记不起了,大概2毛钱的样子吧。3、单片机软件完全不用修改。
后来小索又做了几百次测试,全部通过。
第二天工程部经理带上样品到客户处去演示,完全成功,客户马上签约了。最终这个单子成交了385套读卡设备,每套480元,共计184800元,加上软件系统、几千张IC,合计将近30万。按照这个方法生产的设备,在我离开这家公司的时候,运行2年时间,十分稳定可靠。
所以呢,做产品,有时还是简单点好。