有位同事曾经说过这样一句话:“事情没有难或者不难,只有你会和不会”。难题也许没有那么难,简单的问题或许是一个陷进,而且深不见底。
在我刚刚从事电子工程师的职业时,在一家农业设备生产公司工作。领导让我参与一个简单的项目。项目功能非常简单。就是使用MCU驱动一个继电器,继电器输出一个干接点,向外部提供闭路和开路控制信号,采购方出是一家国营企业,要货量很大,订单额让老板喜笑颜开,于是他很高兴地承接了这个项目,对方要求EMC实验一定要在正负4kV,并且程序120秒能稳定工作。
这个要求对我们来说不是大问题,因为我们以前的产品都可以满足这项要求,而且我们的项目负责人对此类实验非常熟悉。由于我从事电子工程师的职业时间很短,所以安排我编写软件。
当然软件也确实没什么工作量,我一个上午就编写完成了。单位在此类硬件设计上积累了比较丰富的经验,项目负责人已经安排了实验。当客户开始催着交货时,我们仿佛看到了钞票飞进来了。
但是,不巧的是这个项目出问题了。为了减轻产品重量我们采用了一家公司生产的AC-DC电源,EMC实验中正负2kV没有任何问题,正负4kV会出现继电器接触点跳动。事情就从这里开始了,项目负责人赶紧查找问题,并且反复实验,但是问题始终没有找到。于是项目负责人联系了AC-DC的生产厂家,厂家的答复是他们的电源质量很可靠。并且在工业环境中使用案例非常多。
因为与对方合作已经非常时间了,他们的答复我们还是很相信的。可是问题还是找不出来。
——————插播广告———————
欢迎来稿吐槽,有稿费呦!
因功能非常简单,我对自己写的程序还是蛮有信心,后来项目负责人建议降低工作频率。我按照他的意见改写了程序,情况并没有明显改善。项目负责人当时也是抱着试试看的想法,他也没有认为软件可以解决这个问题,一连两天在硬件上下工夫,增加电源前端的电容容量和耐压,在电源的后端加电感,非但问题没有改善,有时候会更加糟糕。几天下来,全组的人都要崩溃。
这是一个大项目,公司不愿意轻易放弃。于是总工亲临指导了,方法还是增加电容、增加电感,经过一天奋斗依然没有进展。实在没办法了,总工建议在220V的交流线增加磁环,问题确实解决了,可以肯定一定电源导致MCU复位的了。
但是,如果增加磁环成本会增加,这是可以接受的,但是体积和重量都会增加,这点客户不允许。问题就在这里,一开始大家都认为简单的问题,现在变得复杂了。总工的意见是,可能是AC-DC有问题,过滤干扰的能力不够,还是换公司传统的电源方案,220V进变压器,然后采用电桥整流,然后应该能解决问题。但是变压器太重,不满足用户对重量的要求。
老板和客户沟通多次,结果是用户对重量、体积、抗干扰的技术不作出丝毫的让步。这时问题变得复杂起来。这个简单的电路板好像和我们几个人作对一样。我们开始怀疑这个项目是不是要放弃了!?老板当然不会轻易放弃,于是找出他能找到的外援,但是只有结论没有办法。结论是由于电源引起MCU复位,我们更换好几家的AC-DC电源,问题依旧。
因为我当时刚入行不久,在老板眼里是一个新手,水平一般,所以这些问题都轮不到我来解决。因此在全公司都在为这个问题头疼的这段时间里,我反倒置身事外了。于是我趁机开始学习电路设计基础,通过一个月的学习,我没有发现除过AC-DC以外电路设计存在问题。接着我开始学习单片机入门,在这个过程中我仍然没有找到解决问题的办法。最后我将200页MCU的说明书细读了一边。
本来计划最多一个月解决的问题,现如今已经一个半月了。问题还是原来的问题,并且已经成了项目负责人的噩梦。
一天下午,我和同学李某去吃饭,没想到在饭桌上看到了问题的转机。李同学在一家生产安防设备的企业工作,职务也是电子工程师。但是他一毕业就开始从事电子产品设计,工作经验比我多出六年之久。而且李同学的专业水平在他们单位也是执牛耳的,聊天中我们无意中聊到怎么提高产品的抗干扰能力上。“MCU上电启动、看门狗复位启动、电压异常复位启动,复位源的寄存器一定会不同有标志,这样就可以确定系统复位原因,如果使用铁电存储器每20毫秒将系统的运行状态参数保存一次,这样如果是异常复位就可以读取铁电存储器中保存的运行状态参数,将系统复位到上一次的断点处,如果是慢速设备就好像系统一直正常运行一样。。。”。李同学娓娓道来,像是在背一篇烂熟的小学课文。听到这儿我心里不由得颤抖,MCU的手册中有这些介绍,我有一点印象,当时还想这些有什么作用。按照李同学的说法好像也能解决我们遇到问题。我恍然大悟。
——————插播广告———————
欢迎来稿吐槽,有稿费呦!
第二天,我查看了MCU手册,确实有电源异常、时钟丢失标志。我们的产品上面有一个记录产品运行时间的铁电存储器。于是我在主循环中添加了一个每隔20毫秒存储一次运行状态任务。在主程序的入口处添加了系统复位检查函数,如果是异常启动,那么就把铁电存储器中运行状态数据,系统可以从上次断点处运行。实验运行状况非常好,我心里也十分惊喜。
下午,我将生产的十个样品中3个MCU程序重新下载了一下。在办公室找到3个470uF的电容将产品上一个220uF的电容换了。第二天,项目负责人拿了一个我更改过的一个产品去做实验,继电器再也没有跳动,试验通过了。他当场惊呆了,于是又连续试验好几遍结果都一样。
他急匆匆跑进办公室,拿了五、六个样品去实验室。一个多小时后才走出实验室。下楼问我:“骆驼,470uF电容的都没问题,这个电容是不是你换的?”
“是的”我心中窃喜。
“你运气真好,换一个电容就好了,看来就是这个问题。”
“我...”
“不错,你把剩下的电容全换成470uF,试验试试。”
“好的。”
我把剩下的电容全部替换并且重新下载了程序。交给项目负责人,试验全部通过。
“问题解决了,真没想到是电容的问题!白折腾这么长时间,明天给老板汇报一下,可以给用户列出供货计划。”项目负责人非常高兴。
如果你觉得问题非常简单,那么就要注意陷阱。
我们还是来温习一下小马过河的故事吧,老牛说河水很浅,松鼠说河水很深,小马听完就矛盾了,开始认真思考:河水到底是深还是浅?我能不能过去?
我遇到的这个问题也是一样,自己能不能解决?是不是资历浅就不能解决?还是要试一试才知道。当然要先有基础,如果我没有仔细研读MCU手册,在和李同学聊天的时候也听不出问题的端倪,也找不到解决问题的方法。
遇到困难要敢于寻找解决问题的方法,做个敢于尝试的小马。
与非网原创内容,谢绝转载!
往期回顾:
摘要:小李是我们单位的资深工程师,产品量产以后,小李的工作只需要维护即可,于是日子变得清闲起来,每天网络小说度日,有一天良心发现需要学习新知识,跟上技术更新的步伐,可是迟迟不肯开始....
摘要:老板的亲戚来公司上班,还是名牌大学的硕士,听说资历很深,可是不喜欢和人交流,拿出一个小项目做实践,一个很小的板子焊接了三天,后来他竟然问了这样一个问题...
摘要:老板的外甥保送了西安某大学的研究生,想趁暑假来公司实习,顺便学习点实际知识,于是老板把他托付给了骆驼,结果这小子基础知识没有,还不想踏实补充基础,好高骛远,只想一下子学到真本事....
摘要:一位参加工作3-5年的工程师,凭借目前的新技术,其工作能力可以达到工作30年的老工程师90%的水平甚至超越。由此可见,年轻人凭借新技术完全可以挑战权威,可见新技术的爆发力...
——————插播广告———————
欢迎来稿吐槽,有稿费呦!