程序员“趣”事一箩筐 | 做个勇敢的小马,亲自探探河水的深浅

  • comment1
  • 2015/01/30

 

有位同事曾经说过这样一句话:“事情没有难或者不难,只有你会和不会”。难题也许没有那么难,简单的问题或许是一个陷进,而且深不见底。

在我刚刚从事电子工程师的职业时,在一家农业设备生产公司工作。领导让我参与一个简单的项目。项目功能非常简单。就是使用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%的水平甚至超越。由此可见,年轻人凭借新技术完全可以挑战权威,可见新技术的爆发力...

——————插播广告———————

 

【征稿启事】:我遇到的“猪”一样的队友

欢迎来稿吐槽,有稿费呦!

 

 

人工客服
(售后/吐槽/合作/交友)
  • 器件型号:LTC1966IMS8#TRPBF
    • 数量 1
    • 建议厂商 Analog Devices Inc
    • 器件描述 Precision Micropower ΔΣ RMS-to-DC Converter
    • 参考价格 $90.09
    • 风险等级
    • ECAD模型

      ECAD模型

      下载ECAD模型
    • 数据手册
    • 查看更多信息
  • 器件型号:TG110-E055N5LF
    • 数量 1
    • 建议厂商 Halo Electronics Inc
    • 器件描述 Datacom Transformer, 10/100 BASE-TX; ETHERNET Application(s), 1CT:1CT; 1CT:1CT, LEAD FREE AND REACH COMPLIANT
    • 参考价格 $7.45
    • 风险等级
    • ECAD模型
    • 数据手册
    • 查看更多信息
  • 器件型号:CR1225FH-LF
    • 数量 1
    • 建议厂商 The Swatch Group Ltd
    • 器件描述 Primary Battery, Lithium Manganese Dioxide, 1225, 3V
    • 参考价格 $2.54
    • 风险等级
    • ECAD模型
    • 数据手册
    • 查看更多信息

相关资讯

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
  6. 6.
  7. 7.
  8. 8.
  9. 9.
  10. 10.
  11. 11.
  12. 12.
  13. 13.
  14. 14.
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19.
  20. 20.
查看全部20条内容