注册 登录
电子技术论坛 返回首页

正点原子的个人空间https://bbs.elecfans.com/?701087[收藏][复制][分享][RSS]

博客

一款电源控制板设计中的问题与分析(STM32主芯片)

热度60已有 3680 次阅读2012-7-13 15:27

  一、问题现象

  功能:电源控制板可以单独控制5V/12V/24V三路电压的输出,并测量其电流和电压。

  电源控制板所选CPU为STM32F103C8T6@72Mhz.

  电源控制板所选继电器为:24V@12mA.

  电源控制板所有电解电容均为2200uF.

  电源控制板2.0PCB如下图所示:

                      图1

  下面是地线回路:

                    图2

  打样焊接后,测试时发现如下问题:

  1,stm32控制K3导通(K3控制12V的输出。),导致STM32异常重启。重启2~3次之后,可以正常控制K3导通。

  2,K3导通后,在VCC12处人为短路,导致STM32重启,但是电流显著增加(之前为20ma,之后为350ma),同时STM32发热严重。但是STM32运行正常(持续观察数分钟无异常)。

  二,原因分析

  先看问题2.

  根据现象我进行了如下检测:

  1,STM32正常工作,在电源输入口直接短路12v,现象不能重复。

  2,STM32正常工作,将K3强行导通,在12V输出口短路,现象被重复。

  3,STM32进B00TLOADER模式,将K3强行导通, ,在12V输出口短路,现象被重复。

  仔细检查PCB后,发现问题可能是出在地线回路,如图3所示:

                    图3

  我这样设计的本意是VSSA的地和STM32的其他地是分开的,为了ADC准确,我特地把VSSA和模拟部分的地连在一起,而STM32的其他地则连到另外一个地线网络,如图3所示。

  采取措施如下,如图4所示:

                     图4

  在A处,将底层的地线割开,在B处,用焊锡连接两个地线网络。在做同样测试,未重现问题2,而问题1依旧。问题2得到解决。

  再看问题1.

  根据问题2的解决方法,问题1的问题,也有可能出在地线。

  在解决问题2之后,地线网络分为上下两层。没有连接在一起(没有形成地线环)。我认为干扰可能来自ULN2003,于是把ULN2003的地线割开,直接连接到电源输入点的地。如图5所示:

图5

  在C处割开,断开ULN2003与下方地网的连接,直接连接在地线输入端。

  经测试,问题依旧。

  进一步查看,发现图6所示电流圈:

                    图6

  这样5V-》3.3V-》GND回路就形成了一个环,并且刚好将12V的输出圈在里面,当输出短路的时候,瞬间电流变化很大,谐波很多,对环路会形成很大干扰。因此导致STM32死机。(这里可以预测5V短路应该也会导致STM32死机,只是如果5V短路了,STM32就没电源了,不好观测现象)。

  解决办法如图7:

                    图7

  在D处,将地线割断,直接从E处飞线连接F处。再测试,问题得到解决。

  至此,问题1得到解决。

  此时,更进一步,测试短接24V输出,产生很大火花(电容2个2200uF并联,比较足),同时导致STM32死机,原因同样是形成了电源回路,导致死机。

  解决办法如图8:

图8

  在G处,将地线网络断开,连接H处和E处。再测试,24V短路也无法导致STM32重启。问题得到解决。

  二,总结

  1. 对STM32的内部电源理解薄弱,想当然的认为VSSA和GND无任何联系。

  2. 虽然参加了电磁兼容的培训,但是实际经验严重不足,导致设计缺陷明显。

  3. 说某个芯片的看干扰性能不行,多半是自己电路设计不行。电路设计的差,再好的芯片也是百搭。

  4. 问题解决期间,试过在PCB下面放一块铜板(覆铜PCB),同时连接到GND,发现对问题解决没多大帮助(问题依旧),不要指望覆铜解决所有干扰的问题.

返回顶部