昨天解了一個(gè)BUG,一個(gè)低級(jí)錯(cuò)誤導(dǎo)致的BUG,一個(gè)冗余電路導(dǎo)致的BUG,寫(xiě)寫(xiě)做個(gè)記錄。
先說(shuō)問(wèn)題現(xiàn)象:產(chǎn)品偶爾溫度采集異常,溫度不準(zhǔn),系統(tǒng)獲取到錯(cuò)誤信息,導(dǎo)致出現(xiàn)問(wèn)題。溫度采集電路超級(jí)簡(jiǎn)單,如下圖,熱敏電阻和普通電阻分壓后送入單片機(jī)的ADC管腳采集電壓,然后軟件換算為溫度值。掛上示波器,監(jiān)聽(tīng)溫度采集管腳電壓,現(xiàn)象明確,出現(xiàn)異常時(shí),ADC管腳出現(xiàn)異常波動(dòng)。電路超級(jí)簡(jiǎn)單兩個(gè)電阻分壓,分壓電源也正常,怎么會(huì)有波動(dòng)?雖然心里堅(jiān)信熱敏電阻不會(huì)損壞,但是抱著一絲希望,更換一個(gè)熱敏電阻還失敗。不斷嘗試復(fù)現(xiàn)問(wèn)題,發(fā)現(xiàn)一個(gè)規(guī)律,只要板上7伏高壓電打開(kāi),溫度采集就出現(xiàn)異常,不知為何7伏電壓把溫度采集管腳電壓抬高了許多。就是這個(gè)溫度采集不準(zhǔn)問(wèn)題,軟件推硬件,說(shuō)硬件電路設(shè)計(jì)有問(wèn)題,硬件推軟件,說(shuō)只有兩個(gè)分壓電阻,不可能是硬件問(wèn)題,扯皮了兩天,真是無(wú)語(yǔ)了。
這時(shí)候就發(fā)揮我軟硬都"精通"的優(yōu)勢(shì)了,跟硬件要了原理圖從頭到尾看了一遍發(fā)現(xiàn)一個(gè)冗余電路,這個(gè)電路屬于預(yù)留設(shè)計(jì),并未使用。原理是在7V電壓存在的情況下,經(jīng)過(guò)兩個(gè)電阻分壓后三極管導(dǎo)通,送入單片機(jī)的ADC采集管腳,這里明顯超范圍了,單片機(jī)供電為3.3V,嚴(yán)重超標(biāo)。管腳不損壞已經(jīng)是幸運(yùn)了。這個(gè)電路以前是測(cè)量3.3V電源的,直接復(fù)制粘貼就出了問(wèn)題。
這個(gè)電壓采集和溫度采集并不是同一個(gè)管腳,采集電壓有問(wèn)題怎么會(huì)導(dǎo)致溫度采集不準(zhǔn)呢。一般單片機(jī)的GPIO內(nèi)部都有以下兩個(gè)保護(hù)二極管,7V高壓進(jìn)入單片機(jī)后經(jīng)過(guò)上面的二極管頂高了VCC電壓,進(jìn)而導(dǎo)致內(nèi)部ADC模塊出現(xiàn)異常,另外一個(gè)ADC管腳電壓抬升。
拆除三極管后溫度采集正常。
-
三極管
+關(guān)注
關(guān)注
145文章
3655瀏覽量
124378 -
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44962瀏覽量
648976 -
熱敏電阻
+關(guān)注
關(guān)注
14文章
1195瀏覽量
102738 -
adc
+關(guān)注
關(guān)注
99文章
6673瀏覽量
548747 -
BUG
+關(guān)注
關(guān)注
0文章
156瀏覽量
15993
發(fā)布評(píng)論請(qǐng)先 登錄
傳統(tǒng)冗余電源隔離方案及分類(lèi)

冗余電源詳解及與雙電源的差異性
LTC4416冗余電源帶負(fù)載時(shí)無(wú)法切換
冗余電源是什么意思
什么是交換機(jī)冗余,關(guān)于冗余電源的詳細(xì)說(shuō)明
工業(yè)交換機(jī)的冗余電源設(shè)計(jì)

評(píng)論