调试笔记
2赞这两天都在调试出问题的产品。现在基本告一段落了,可以说问题都出在电路上。
话说,自己读书时候学的是电子信息、电路系统,工作之后反而没怎么做硬件,前几年功夫都在软件上,最近才开始捣鼓硬件,发现有点尴尬。感觉自己积累的东西太少,没能长期专注于一方面,会的东西太过驳杂,没有专长。感觉自己的水平就像是一句俗语讲的那样:“一瓶子不满半瓶子咣当”。
做硬件突显了自己不够细心的毛病,最近做的几块PCB,有一块封装做小了一点,使焊接难度很大;有一块板子原理图元件和PCB封装引脚没有对应好;
在做小信号调理的时候,三运放差分放大电路设计的也有问题,犯了过于相信仿真软件的错误,实际使用时,发现供电电压不足,导致输入信号被拉低很多,这是在仿真时没有出现的;
回过头来看看,这些都不是很难的点,只是自己的积累太少了些...
今天解决的一个问题,最终是功耗的问题。产品使用了一款新的传感器,供电电压由原先的24V变为现在的12V,生产部在更换了电源模块之后,发现首次上电可以进行测试,退出测试界面,再次测试时会自动关机。刚开始推测说是程序有问题,改了几版程序,出现了一个有意思的故障,下载程序后,测试正常,多次测试时也不会自动关机,但是关机之后开不了机。测量了开关电路几个关键点的电压,发现没什么问题,但是按下开机键之后,三极管就是无法导通,或者也可能是导通之后又自动关机。这个版本的问题程序还没有分析,如果说和程序有关吧,关机后,MCU压根不工作,用于控制外设的IO也没有办法影响控制对象...如果说和程序无关,通过别的方式给电路加电,更换程序之后,是可以开机的...
开关机电路核心是8550和8050一对三极管。调试的时候,仓库同事给我4个8550,其中3个S8550,1个C8550,当时也没当回事。今天碰到一个奇葩问题,最后发现是C8550导致。这个问题是在使用仿真器下载程序时,连接MCU时,产品会自动关机...而S8550和C8550的区别仅在于前者功耗是0.625W,后者耗散功率是1W,少了0.375W的功耗,解决了刷机时链接都无法建立的问题。
同样的,使用C8550时,进入测试界面,仪器自动关机。换成S8550后,情况好转,在电量充足的前提下,基本不会自动关机。
在解决了这个问题后,感觉应该是功耗的问题,更换大容量电池后,发现自动关机现象好转,进一步拆除传感器电路板上两个大电容,自动关机现象消失。至此,这个bug调试才算是有了一个比较像样的结果。
有时间喘口气,想想最近这些琐碎的东西,有必要记一下,所以至此...