一,問題現(xiàn)象
功能:電源控制板可以單獨(dú)控制5V/12V/24V三路電壓的輸出,并測量其電流和電壓.
電源控制板所選CPU為STM32F103C8T6@72Mhz.
電源控制板所選繼電器為:24V@12mA.
電源控制板所有電解電容均為2200uF.
電源控制板2.0PCB如下圖所示:
圖1
下面是地線回路:
圖2
打樣焊接后,測試時(shí)發(fā)現(xiàn)如下問題:
1,stm32控制K3導(dǎo)通(K3控制12V的輸出.),導(dǎo)致STM32異常重啟.重啟2~3次之后,可以正忱常控制K3導(dǎo)通.
2,K3導(dǎo)通后,在VCC12處人為短路,導(dǎo)致STM32重啟,但是電流顯著增加(之前為20ma,之后為350ma),同時(shí)STM32發(fā)熱嚴(yán)重.但是STM32運(yùn)行正常(持續(xù)觀察數(shù)分鐘無異常).
二,原因分析
先看問題2.
根據(jù)現(xiàn)象我進(jìn)行了如下檢測:
1,STM32正常工作,在電源輸入口直接短路12v,現(xiàn)象不能重復(fù).
2,STM32正常工作,將K3強(qiáng)行導(dǎo)通,在12V輸出口短路,現(xiàn)象被重復(fù).
3,STM32進(jìn)B00TLOADER模式,將K3強(qiáng)行導(dǎo)通, ,在12V輸出口短路,現(xiàn)象被重復(fù).
仔細(xì)檢查PCB后,發(fā)現(xiàn)問題可能是出在地線回路,如圖3所示:
圖3
?我這樣設(shè)計(jì)的本意是VSSA的地和STM32的其他地是分開的,為了ADC準(zhǔn)確,我特地把VSSA和模擬部分的地連在一起,而STM32的其他地則連到另外一個(gè)地線網(wǎng)絡(luò),如圖3所示.
?采取措施如下,如圖4所示:
圖4
在A處,將底層的地線割開,在B處,用焊錫連接兩個(gè)地線網(wǎng)絡(luò).在做同樣測試,未重現(xiàn)問題2,而問題1依舊.問題2得到解決.
再看問題1.
根據(jù)問題2的解決方法,問題1的問題,也有可能出在地線.
在解決問題2之后,地線網(wǎng)絡(luò)分為上下兩層.沒有連接在一起(沒有形成地線環(huán)).我認(rèn)為干擾可能來自ULN2003,于是把ULN2003的地線割開,直接連接到電源輸入點(diǎn)的地.如圖5所示:
圖5
?在C處割開,斷開ULN2003與下方地網(wǎng)的連接,直接連接在地線輸入端.
?經(jīng)測試,問題依舊.
?進(jìn)一步查看,發(fā)現(xiàn)圖6所示電流圈:
圖6
?這樣5V->3.3V->GND回路就形成了一個(gè)環(huán),并且剛好將12V的輸出圈在里面,當(dāng)輸出短路的時(shí)候,瞬間電流變化很大,諧波很多,對環(huán)路會(huì)形成很大干擾.因此導(dǎo)致STM32死機(jī).(這里可以預(yù)測5V短路應(yīng)該也會(huì)導(dǎo)致STM32死機(jī),只是如果5V短路了,STM32就沒電源了,不好觀測現(xiàn)象).
?解決辦法如圖7:
圖7
在D處,將地線割斷,直接從E處飛線連接F處.再測試,問題得到解決.
至此,問題1得到解決.
此時(shí),更進(jìn)一步,測試短接24V輸出,產(chǎn)生很大火花(電容2個(gè)2200uF并聯(lián),比較足),同時(shí)導(dǎo)致STM32死機(jī),原因同樣是形成了電源回路,導(dǎo)致死機(jī).
解決辦法如圖8:
圖8
在G處,將地線網(wǎng)絡(luò)斷開,連接H處和E處.再測試,24V短路也無法導(dǎo)致STM32重啟.問題得到解決.
二,總結(jié)
1.?對STM32的內(nèi)部電源理解薄弱,想當(dāng)然的認(rèn)為VSSA和GND無任何聯(lián)系.
2.?雖然參加了電磁兼容的培訓(xùn),但是實(shí)際經(jīng)驗(yàn)嚴(yán)重不足,導(dǎo)致設(shè)計(jì)缺陷明顯.
3.?說某個(gè)芯片的看干擾性能不行,多半是自己電路設(shè)計(jì)不行.電路設(shè)計(jì)的差,再好的芯片也是百搭.
4.?問題解決期間,試過在PCB下面放一塊銅板(覆銅PCB),同時(shí)連接到GND,發(fā)現(xiàn)對問題解決沒多大幫助(問題依舊),不要指望覆銅解決所有干擾的問題.
資料下載:https://weidian.com/item.html?itemID=2209655941&spider_token=2fc4