找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 8447|回復(fù): 17
打印 上一主題 下一主題
收起左側(cè)

STC8/15系列單片機(jī)ADC阻抗匹配問題

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:612392 發(fā)表于 2021-2-16 17:20 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
50黑幣
大家新年好,請(qǐng)教各位一個(gè)問題。
我最近用STC15W408AS單片機(jī),檢測(cè)10-15V電壓,利用電阻串聯(lián)分壓方式進(jìn)行,采用4個(gè)68K電阻串聯(lián),ADC IO采最后一個(gè)電阻分壓,理論上ADC采得電壓應(yīng)該是在2.5-3.75V 之間。
實(shí)際我在測(cè)試過程中發(fā)現(xiàn),當(dāng)被檢電壓在14V以上(檢測(cè)值在3.55V以上)時(shí),ADC檢測(cè)到的電壓非常接近萬用測(cè)的真實(shí)值(誤差小于1個(gè)字),當(dāng)電壓低于14V時(shí),ADC檢測(cè)到的電壓會(huì)有明顯偏離,電壓越低時(shí)偏離越明顯,電壓<12.8V的時(shí)候,萬用表檢測(cè)電壓已經(jīng)是3.2V,但ADC檢測(cè)到的電壓還有3.45V。

已經(jīng)排除68K電阻本身差異,方法是,我不接單片機(jī)IO,直接用萬用表測(cè)量,10-15V范圍內(nèi),最后一個(gè)電阻分壓基本是總壓的1/4,而且線性度非常好。

自己思考了一下,應(yīng)該是ADC功能需將IO配置為高阻模式,與分壓電阻并聯(lián)后,影響了分壓電阻的整體電阻?那么我應(yīng)該選多少的阻值是合適的呢,同時(shí)要兼顧功耗,太小的阻值功耗太大;蛘哒fSTC系列的ADC內(nèi)部阻抗是多少,外部輸入阻抗怎么匹配?

采用電壓跟隨器的方案就不用說了,就談電阻分壓的方案。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2021-2-17 07:11 | 只看該作者
樓主遇到的這個(gè)問題與ADC端口的內(nèi)部輸入阻抗基本無關(guān)。ADC端口配置為高阻模式其輸入阻抗不小于5M,其影響微乎其微。排除外界因素導(dǎo)致,最有可能是特殊功能寄存器設(shè)置不當(dāng)或AD結(jié)果算法不當(dāng)。當(dāng)然VCC不穩(wěn)也是重要因素。
以0通道ADC為例相關(guān)寄存器設(shè)置
P1M1 = 0x01;//設(shè)置P1.0高阻:0000 0001 ADC輸入高阻
P1M0 = 0x00;//設(shè)置P1.0高阻:0000 0000 ADC輸入高阻
P1ASF= 0x01;//設(shè)置P1的0通道端口作為模擬輸入

十位ADC結(jié)果換算成10進(jìn)制(4舍5入)
毫伏=(參考電壓*十位ADC結(jié)果*10000/1024+5)/10
強(qiáng)制轉(zhuǎn)換數(shù)據(jù)類型(32位)運(yùn)算,得到(4舍5入)mV
ADC_V=(VCC_V*(long)ADC_RESX*10000/1024+5)/10;
因1/4分壓,需放大4倍等于實(shí)際電壓
ADC_V=(VCC_V*(long)ADC_RESX*10000/1024+5)/10*4;
回復(fù)

使用道具 舉報(bào)

板凳
ID:213173 發(fā)表于 2021-2-17 10:25 | 只看該作者
還有一種算法:取4次ADC之和再按12位ADC4096計(jì)算,既相當(dāng)于平均值濾波,也相當(dāng)于12位ADC,結(jié)果直接代表實(shí)際電壓,不必再*4。
回復(fù)

使用道具 舉報(bào)

地板
ID:612392 發(fā)表于 2021-2-17 14:30 | 只看該作者
wulin 發(fā)表于 2021-2-17 07:11
樓主遇到的這個(gè)問題與ADC端口的內(nèi)部輸入阻抗基本無關(guān)。ADC端口配置為高阻模式其輸入阻抗不小于5M,其影響微 ...

我壓根就沒在MCU里去做這個(gè)計(jì)算,我直接把ADC采到的數(shù)據(jù)用串口傳出來,自己用公式算的。電壓高的時(shí)候是對(duì)的,精度很好,低的時(shí)候就不對(duì),越低偏離越大。
如果高阻狀態(tài)是5M以上,那么確實(shí)跟外部輸入阻抗不相關(guān),我再看看是怎么回事。
回復(fù)

使用道具 舉報(bào)

5#
ID:491577 發(fā)表于 2021-2-18 12:48 | 只看該作者
ADC對(duì)電源要求很高,你直接USB取電精度肯定是低呀。另外你的分壓電阻4個(gè)68k太大,你換成5k試試效果應(yīng)該好一點(diǎn),至于功耗大就看你的取舍了,想要精度高用STC8單片機(jī),ADC電源是獨(dú)立的,12位,精度比STC15要高很多。
回復(fù)

使用道具 舉報(bào)

6#
ID:298011 發(fā)表于 2022-11-25 09:15 | 只看該作者
學(xué)習(xí)下,我也是發(fā)現(xiàn)采樣來的電壓與實(shí)際偏差有點(diǎn)大,沒打到原因
回復(fù)

使用道具 舉報(bào)

7#
ID:619173 發(fā)表于 2023-2-7 00:18 | 只看該作者
macadam 發(fā)表于 2022-11-25 09:15
學(xué)習(xí)下,我也是發(fā)現(xiàn)采樣來的電壓與實(shí)際偏差有點(diǎn)大,沒打到原因

我也遇到類似問題:單片機(jī)(STC8)AD 12位采樣時(shí),小于2.5v時(shí),采樣還算精準(zhǔn),當(dāng)電壓大于2.5后,AD誤差比較大,大于30mv(在一段電壓范圍內(nèi),采樣值大,在另一段范圍內(nèi),采樣值。韵雴枂枺裁丛蜓
回復(fù)

使用道具 舉報(bào)

8#
ID:65956 發(fā)表于 2023-2-7 08:43 | 只看該作者
我建議你用900K+100K方式分壓,這樣大小電壓都合適,這樣配置可測(cè)到50V,我所有項(xiàng)目都是這樣配置電阻的,大小電壓都能測(cè)到,基準(zhǔn)源也是用這個(gè)芯片的內(nèi)部基準(zhǔn)源計(jì)算的,很穩(wěn)定的,如果可以也可以采用中值濾波法去計(jì)算會(huì)更穩(wěn)定的
回復(fù)

使用道具 舉報(bào)

9#
ID:1034262 發(fā)表于 2023-2-7 10:13 | 只看該作者
STC15W408AS的ADC整個(gè)量程范圍精度大約0.5%,就是最大誤差大約5個(gè)字,并且出現(xiàn)在中間以上部分。
樓主的測(cè)量范圍是20V則在10V以上最大誤差約0.1V,但是樓主數(shù)3.2V時(shí)還有0.25V的誤差,我覺得要查一下應(yīng)用電路。ADC輸入口要對(duì)地接一個(gè)10nF~100nF電容。
回復(fù)

使用道具 舉報(bào)

10#
ID:879348 發(fā)表于 2023-2-7 10:38 | 只看該作者
批量一般可以做到3%精度,大于這個(gè)就要檢查硬件或軟件,軟件采樣太快,頻繁切換也可能有這個(gè)問題
回復(fù)

使用道具 舉報(bào)

11#
ID:150722 發(fā)表于 2023-7-23 23:35 來自手機(jī) | 只看該作者
STCAD跡513.6KС齵跡
回復(fù)

使用道具 舉報(bào)

12#
ID:1085441 發(fā)表于 2023-7-24 01:47 | 只看該作者
https://blog.csdn.net/shawn_shao/article/details/108508131
推薦你看這篇文章,我想單片機(jī)的ADC的原理都是一樣的,肯定要考慮ADC的輸入阻抗問題,還是應(yīng)該接一個(gè)跟隨器,從根本上避免阻抗不匹配的影響。
回復(fù)

使用道具 舉報(bào)

13#
ID:879348 發(fā)表于 2023-7-24 09:51 | 只看該作者
應(yīng)該不會(huì)這么離譜,當(dāng)在ADC端口并電容,就可以忽略ADC輸入阻抗了,你的電路是不是沒有電容
回復(fù)

使用道具 舉報(bào)

14#
ID:150722 發(fā)表于 2023-7-24 10:06 | 只看該作者
輸入阻抗513.6K
回復(fù)

使用道具 舉報(bào)

15#
ID:150722 發(fā)表于 2023-7-24 10:06 | 只看該作者
有時(shí)候可能還要更小
回復(fù)

使用道具 舉報(bào)

16#
ID:1088185 發(fā)表于 2023-7-24 16:20 | 只看該作者
有轉(zhuǎn)換通道?還是只采樣同一通道, 采樣頻率是多少?
如果說, 只采樣一個(gè)通道, 采樣頻率很低, 在ADC口并個(gè)104電容可以解決你的問題。
回復(fù)

使用道具 舉報(bào)

17#
ID:1087948 發(fā)表于 2023-8-2 14:56 | 只看該作者
根據(jù)您的描述,問題可能是由于單片機(jī)的IO配置為高阻模式時(shí),與分壓電阻并聯(lián)導(dǎo)致整體電阻變化。這可能會(huì)影響到ADC的測(cè)量準(zhǔn)確性。

針對(duì)這個(gè)問題,您可以嘗試以下方法來改進(jìn):

選擇合適的分壓電阻值:選擇較大的分壓電阻值可以減少功耗,但同時(shí)也會(huì)增加電阻本身的誤差。您可以嘗試使用更小的電阻值,例如10K或20K,以減少電阻的影響。

使用運(yùn)放進(jìn)行緩沖:在ADC輸入引腳之前添加一個(gè)運(yùn)放作為緩沖,以提供更高的輸入阻抗和穩(wěn)定的信號(hào)。這樣可以避免分壓電阻對(duì)整體電阻產(chǎn)生影響,并提高測(cè)量準(zhǔn)確性。

考慮ADC的參考電壓:確保ADC的參考電壓穩(wěn)定且準(zhǔn)確,以保證測(cè)量的準(zhǔn)確性。您可以使用外部參考電壓源,如穩(wěn)壓器或者精密參考電壓芯片,來提供穩(wěn)定的參考電壓。

此外,建議您參考STC15W408AS的數(shù)據(jù)手冊(cè),查找關(guān)于ADC輸入阻抗和工作范圍的具體信息。如果問題仍然存在,您可以咨詢STC15W408AS的技術(shù)支持或者其他專業(yè)人士,以獲取更具體的幫助和建議
回復(fù)

使用道具 舉報(bào)

18#
ID:236035 發(fā)表于 2023-8-2 15:07 | 只看該作者
先排除問題,把阻值降下來,看精度。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表