標(biāo)題: STC單片機(jī) ADC通道互相串?dāng)_的問題 [打印本頁]

作者: haiming8685    時(shí)間: 2021-5-26 22:17
標(biāo)題: STC單片機(jī) ADC通道互相串?dāng)_的問題
用stc15w408AS驅(qū)動(dòng)數(shù)兩個(gè)4位碼管,分別顯示兩路ADC的電壓值,在調(diào)整其中一路輸入電壓時(shí),另一路沒調(diào)整輸入電壓的數(shù)碼管顯示數(shù)值,也會(huì)有一定的變化,正常情況下應(yīng)該是調(diào)整輸入電的一路顯示電壓變化,而另一路沒調(diào)整輸入電壓的顯示值不變才對(duì),不知道為什么顯示會(huì)產(chǎn)生一定的變化,但用萬用表測(cè)量輸入電壓沒變化。


作者: 18701931930    時(shí)間: 2021-5-27 08:07
兩路AD導(dǎo)線離得太近是會(huì)干擾的。還有就是有沒有進(jìn)行軟硬件濾波。
作者: wulin    時(shí)間: 2021-5-27 08:20
這款單片機(jī)在實(shí)際應(yīng)用中表現(xiàn)還算不錯(cuò)。樓主所遇問題可能是軟硬件有缺陷,導(dǎo)致ADC的轉(zhuǎn)換電壓值不穩(wěn)定。沒有原理圖和代碼,只是泛泛而談解決不了實(shí)際問題。
作者: paladina    時(shí)間: 2021-5-27 09:11
建議樓主AD切換通道后 空采一次丟棄,避免ADC采樣電路切換通道后殘余電壓影響
作者: 小黑屋525    時(shí)間: 2021-5-27 09:40
VCC加去耦電容,最好是47uF+10uF再加3個(gè)0.1uF這種。
作者: xkdigital    時(shí)間: 2021-5-27 10:35
要做硬件濾波和軟件濾波,不然,手上的電勢(shì)都會(huì)對(duì)弱信號(hào)進(jìn)行干擾。
作者: Y_G_G    時(shí)間: 2021-5-27 10:42
估計(jì)是跟STC的ADC結(jié)構(gòu)有關(guān)
它實(shí)際上只有一個(gè)ADC,然后通過通道選擇IO來實(shí)現(xiàn)多路ADC
樓上已經(jīng)有人告訴你了,你可以試一下空采樣,然后不要這個(gè)結(jié)果,再進(jìn)行一次ADC
如果ADC是中斷方式進(jìn)行,要進(jìn)行兩次中斷ADC,而不是進(jìn)入中斷之后在中斷里面進(jìn)行兩次ADC

作者: jhczy    時(shí)間: 2021-5-27 16:08
請(qǐng)樓主提供電路原理圖,實(shí)際硬件電路也很簡(jiǎn)單,程序也很簡(jiǎn)單,不用多復(fù)雜的,我用15W408AS這樣的ADC形式檢測(cè)4-6路,也沒有串?dāng)_
作者: 高人是高人    時(shí)間: 2021-5-28 09:28
建議添加濾波電容
作者: 高人是高人    時(shí)間: 2021-5-28 09:29
硬件添加濾波電容或者軟件添加冒泡、去極值濾波算法
作者: hhh402    時(shí)間: 2021-5-28 11:46
首先硬件STC單片機(jī)只有一路真實(shí)的ADC,通過模擬開關(guān)切換來實(shí)現(xiàn)多路ADC。剛剛切換I/O的時(shí)候電壓是不穩(wěn)定的,要延時(shí)1ms以上電壓才能夠穩(wěn)定。軟件編寫的時(shí)候要注意,前面幾次ADC是不準(zhǔn)確的一定丟棄。
作者: haiming8685    時(shí)間: 2021-6-20 08:35
謝謝大家熱心幫助,我試了電路硬件沒多大問題,軟件做了修改把兩個(gè)通道讀取與顯示分開來,效果得到很大改善,晚點(diǎn)抽時(shí)間發(fā)相關(guān)圖上來,大家再給指點(diǎn)一下。
作者: lmn2005    時(shí)間: 2022-12-30 15:19
我用STC單片機(jī)中 ADC,如果用短線接入模擬電阻測(cè)試,數(shù)據(jù)很穩(wěn)定,但是接入具體線路,線比較長(zhǎng)些,就不穩(wěn)定,上竄下跳,接入RC濾波或軟件濾波均沒有解決問題。
作者: ggg503    時(shí)間: 2022-12-30 15:48
使用示波器檢測(cè)一下
作者: ggg503    時(shí)間: 2022-12-30 15:48
使用示波器
作者: lmn2005    時(shí)間: 2022-12-31 10:01
沒有示波器

作者: coody_sz    時(shí)間: 2022-12-31 16:37
hhh402 發(fā)表于 2021-5-28 11:46
首先硬件STC單片機(jī)只有一路真實(shí)的ADC,通過模擬開關(guān)切換來實(shí)現(xiàn)多路ADC。剛剛切換I/O的時(shí)候電壓是不穩(wěn)定的, ...

要延時(shí)1ms以上電壓才能夠穩(wěn)定?如果是這樣,那STC的ADC就沒辦法用了,真的這樣嗎?
ADC在采樣時(shí)才會(huì)接通輸入信號(hào),采樣結(jié)束就會(huì)斷開,所以跟延時(shí)無關(guān)。采樣時(shí)間很短的,對(duì)于STC15W08AS,輸入沒有緩沖的,直采,大約占ADC總時(shí)間的1/10。內(nèi)部采樣的RC常數(shù)有3us就足夠了。如果使用90T的速度,則切換通道后先做兩次ADC并丟棄,第三次ADC開始采用。
所以,沒有要延時(shí)1ms的說法,你不做ADC,延時(shí)多久都沒有用,因?yàn)锳DC并不連接輸入信號(hào)。外接的ADC比如TLC2543(TI的11通道12位電容式SAR)就是非常經(jīng)典的,輸入沒有緩沖,直采,切換通道先丟棄兩次,切記!90年代我就是如此用啦,這個(gè)IC當(dāng)年超貴。

到了STC8系列和STC32G系列,ADC就做得很靈活了,精度高,采樣時(shí)間、通道保持時(shí)間等等都可以設(shè)置,切換通道后就不需要采樣丟棄了。
作者: 張國(guó)民    時(shí)間: 2022-12-31 21:58
coody_sz 發(fā)表于 2022-12-31 16:37
要延時(shí)1ms以上電壓才能夠穩(wěn)定?如果是這樣,那STC的ADC就沒辦法用了,真的這樣嗎?
ADC在采樣時(shí)才會(huì)接通 ...

最近也想用這款芯片五路檢測(cè)電壓,看了帖子內(nèi)容,,毫無頭緒。。。有沒有設(shè)計(jì)的案例學(xué)習(xí)一下
作者: coody_sz    時(shí)間: 2023-1-1 15:10
張國(guó)民 發(fā)表于 2022-12-31 21:58
最近也想用這款芯片五路檢測(cè)電壓,看了帖子內(nèi)容,,毫無頭緒。。。有沒有設(shè)計(jì)的案例學(xué)習(xí)一下

ADC是很簡(jiǎn)單的應(yīng)用,STC官方也有完整例程源碼。
作者: zgrfox110    時(shí)間: 2023-1-9 08:01
用DMA轉(zhuǎn)換,自動(dòng)去掉錢曬
作者: Dxiaofeng    時(shí)間: 2023-2-9 07:37
Y_G_G 發(fā)表于 2021-5-27 10:42
估計(jì)是跟STC的ADC結(jié)構(gòu)有關(guān)
它實(shí)際上只有一個(gè)ADC,然后通過通道選擇IO來實(shí)現(xiàn)多路ADC
樓上已經(jīng)有人告訴你了, ...

使用adc中斷法采集多路測(cè)量,中斷里面怎么進(jìn)行多次中斷
作者: herui2128    時(shí)間: 2023-2-9 11:12
STC15W408AS,AD采集時(shí),IO口懸空時(shí),AD口采集的AD是波動(dòng)的呀,接上電壓就好了。STC90C514AD采集時(shí),AD口懸空是一直顯示255的AD值。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1