读书是一种心态,分享是一种快乐。
2 上工治末病
..............................
以我的观点来看,无论是电子设计、人体健康等方面,在出现大问题之前一般都会有小的征兆出现。如果能发现这些小的征兆,并加以控制和扑灭,就可以非常有效地降低大问题出现的频率。
..............................
2.1 大问题,是因为根基没有做好
..............................
这个世界虽然有很多的不足和不合理,但是有时候改变自己,去适应这种不足,比去试图改造这些不足更合理。
前些年有熟人拉我去诊断一个他们设计的绣花机的工业控制系统,他们说,这个系统从诞生以来就毛病不断,可靠性非常差。我去了之后,看过他们的机器实物,调阅他们的图纸和软件,发现了很多问题:
硬件方面:
1.CPU控制部分和220V的开发电源设计在一个电路板上。这样做的缺点是难以生产。220V的AC/DC电源模块在电子市场一抓一大把,像这样没有多少产量、售价高的系统,自己去做电源,给人的感觉就是造飞机的人还要自己去设计螺丝钉、X钉一样。。不仅增加了采购和制造的难度,也增加了电源带来故障的隐患,因为自己做的小批量电源,其可靠性很难超越市面销售的、大量生产的品牌电源的可靠性。
2.用示波器看,CPU电源的纹波很大,达到150MVPP,这个也能降低硬件的可靠性。
3.
CPU 电路板和电动机的控制电路板之间采用SPI端口连接,两个电路板之间用一个1.5M的电缆连接。CPU和外设通信用SPI端口不是不可以,但是电缆这么长的话,很容易出现本书“搞定噪声”一章中所提及的“注意你的高速数字信号”讲到的问题.(他们自己也讲,有时候通信不可靠)虽然用我说的方法可以解决一些问题,但我的方法并不能对付一个1.5M长、而且跑高速数字信号的SPI电缆.如果要解决这个问题,必须重新设计硬件接口。
4. 电路板上有很多输入输出口上,都没有ESD保护,这样也会大大降低硬件的可靠性,尤其在拔插连接器的时候。
5. 有些电机控制的机械部件,总是不能精确定位,虽然加入了一些传感器后,CPU多次调整后可以达到精确定位,但是付出的四件的代价,也就是降低了机器的生产效率。
.....................................
软件方面:
1. 主控制电路板的单片机软件,一共4000多行,没有按照模块分割,全部写在一个文件里面。
2. 公共变量比较多,一般像4000多行的软件,公共变量在10个以下的,还基本算正常,她居然达到了160多个。
3. 软件的注释极少。
4. 软件的变量名和函数名很多是采用没有意义的字母或者拼音,晦涩难懂。
.......................................