![]() |
發(fā)布時間: 2017-4-4 17:22
正文摘要:本帖最后由 dzbj 于 2017-4-4 17:24 編輯 我用兩個電阻分壓 然后8位AD采集分壓 再用計算反推 分壓電阻用的都是千分之一精度 請教一下 為什么到15v后誤差突然變那么大 分壓不是比例的么 輸入電壓 是萬用表實測 ... |
由于單片機ADC口有輸入阻抗的要求,在精度較高的場合下最好加一級跟隨器,使前后隔離。 |
ADC對輸入阻抗有要求的,電阻不合適,會導(dǎo)致采集到的電壓值與實際值有誤差。。。 |
電阻分壓后,加一個rail to rail 運放射誰放大器。 |
有沒有超過那個單片機采集口的上限電壓啊 |
dzbj 發(fā)表于 2020-11-11 18:40 關(guān)鍵不是這個,這個其實大家都懂的,采樣端口有輸入阻抗,大家都懂,關(guān)鍵是為什么不同的阻值會有不同的誤差 |
liujianzhi_1992 發(fā)表于 2020-11-11 15:44 好久之前我發(fā)的了 感謝兄弟回復(fù) 你說的這個解釋我認(rèn)為最接近 也合理 |
這個跟ADC的采樣精度有關(guān)系,不過還可以通過多次采樣取平均值來降低誤差 |
電阻分壓之后進8位的AD,AD里面有輸入阻抗的,比如100K,實際AD輸入阻抗與電阻分壓的下端電阻進行并聯(lián),輸入電壓越大,測量誤差越大。。。。。。。。。。。。。! |
與你的電阻功率有關(guān),功率小了,電壓高,發(fā)熱就越大,阻值會隨著溫度變化而變化。那就不會線性變化,而是非線性變化 |
學(xué)習(xí)一下 |
zl2168 發(fā)表于 2017-4-7 09:42 感謝前輩回帖 我試試更大的然后來匯報 |
在上樓提醒下,我看了一下樓主貼出的分壓電路,上樓說得很有道理,該分壓電阻取值太小,造成電阻中電流過大,電阻發(fā)熱,阻值隨之變化。建議將R103改為R104~R204. |
使用精密電阻 |
有可能是電流增大之后電阻隨著溫度增加改變了,所以15V之后電流超過了電阻恒定值區(qū)間,所以往后電阻成指數(shù)級改變 |
zl2168 發(fā)表于 2017-4-6 18:07 感謝前輩回復(fù) 我再試試然后來報告 下次附上目前的電路圖 實在太小白了 不太會畫還 |
本帖最后由 zl2168 于 2017-4-6 18:08 編輯 實例86 ADC0832串行A-D(虛擬CLK) 先Proteus仿真一下,確認(rèn)有效。 ![]() ![]() 以上摘自張志良編著《單片機實驗實訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版.。書中電路和程序設(shè)計有詳細說明,程序語句條條有注解 |
本帖最后由 zl2168 于 2017-4-6 18:06 編輯 實例85 ADC0832串行A-D(TXD輸出CLK) 先Proteus仿真一下,確認(rèn)有效。 ![]() ![]() 以上摘自張志良編著《單片機實驗實訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版.。書中電路和程序設(shè)計有詳細說明,程序語句條條有注解 |
過來學(xué)習(xí)一下 |
本帖最后由 zl2168 于 2017-4-6 18:01 編輯 我給你提供一個案例,供你參考辨析。AD信號源都是電阻分壓 并行ADC0809及其接口電路 實例81 ADC0808中斷方式A-D(ALE輸出CLK) 實例82 ADC0808查詢方式A-D(ALE輸出CLK) 實例83 ADC0808延時方式A-D(ALE輸出CLK) 實例84 ADC0808并行A-D(虛擬CLK) 先Proteus仿真一下,確認(rèn)有效。 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 以上摘自張志良編著《80C51單片機仿真設(shè)計實例教程——基于Keil C和Proteus》清華大學(xué)出版社ISBN 978-7-302-41682-1.書中電路和程序設(shè)計有詳細說明,程序語句條條有注解。 |
電源波動是會產(chǎn)生AD誤差的,鑒別方法是在同一電源電壓下多次重復(fù)AD,若誤差不大,說明不是電源電壓;若誤差較大,則證明電源電壓波動較大,應(yīng)檢查電源問題,或三端穩(wěn)壓,或其他穩(wěn)壓電源。但我提醒你,穩(wěn)壓電源輸出端的濾波電容用0.1uf是大大不夠的應(yīng)用100uf +0.1uf。 |
zl2168 發(fā)表于 2017-4-5 23:28 感謝前輩再次提醒 是因為我小白 絞盡腦汁想不出原因了 所以來求助 按說電路挺簡單啊 就是分個壓然后AD采集一下 而且8~13v的AD都還可以 暈 暈 暈 濾波電容用的0.1uf 前輩覺得濾波電容會對電壓有影響嗎 我用可調(diào)三端穩(wěn)壓做輸出時遇到過類似問題 可調(diào)三端穩(wěn)壓不也是個分壓的道理么 加個小電容在分壓上輸出就不對 前輩覺得呢 |
你表格中出現(xiàn)的誤差,與分壓電阻精度無關(guān),因為是在同一分壓電阻下產(chǎn)生的誤差。另外該誤差ad精度也關(guān)系不大,8位AD分辨率為1/255,即0.00392,你的誤差大大超出。此前我已提醒你另有原因。 |
dzbj 發(fā)表于 2017-4-5 21:44 這個我也不是很清楚哈 |
dzbj 發(fā)表于 2017-4-5 21:35 ![]() |
imxuheng 發(fā)表于 2017-4-5 14:26 感謝前輩 請教前輩 同樣0603封裝的電阻 1%精度和0.1%精度的耐壓會不一樣嗎 我百度查的pdf資料說0603耐壓是50v 功率是1/16w |
0755雅俗共賞 發(fā)表于 2017-4-5 10:05 感謝前輩回復(fù) 關(guān)于AD 采集 首先要做好兩個問題。 第一個就是基準(zhǔn)電壓。 你的基準(zhǔn)電壓怎么樣,準(zhǔn)不準(zhǔn) 穩(wěn)定不。 要求不高 可用電源的5V 。 。。我用的是經(jīng)過穩(wěn)壓后的系統(tǒng)供電 我只有萬用表 沒有更好的設(shè)備 兩個萬用表測都是5v電壓 700mA輸出能力 模塊用了30mA 我覺得這點消耗應(yīng)該不會引起壓降 第二, 你分壓部分 的電路穩(wěn)定不, 建議你在輸出做成穩(wěn)壓源。 。。這個我比較小白 整個電路就是從電源輸入端分壓后用一個0.1uf電容濾波然后到單片機的AD口 AD口設(shè)置成高阻模式 從測試數(shù)據(jù)看 14v以前比較準(zhǔn)確 主要是14~15v誤差突然增加 有點莫名其妙了 我不懷疑單片機AD口的能力 因為同一個片子的其它AD通道也在采集電壓 沒有出現(xiàn)無法理解的誤差 最后一個關(guān)系不是特別的就是 溫飄和熱量。 你要求精度不高 可以不考慮。 建議用水泥電阻 或者 一些低溫漂的電阻來做分壓 。。感謝前輩建議 我那板子很小 實在放不下 現(xiàn)在用的0604封裝 想用0402可我只是業(yè)余愛好不是干這個的 沒有設(shè)備可以焊接 我個人手工的極限也就到0603了 |
感謝前輩回復(fù) 按你給的公式做excel計算了 在14v和15v之前和采樣的測試值很接近 |
g753388438 發(fā)表于 2017-4-5 08:51 感謝前輩 1、 5/255*DEC 公式中 應(yīng)該除以255 , 8位ad測的電壓最大數(shù)字量是0xff,0xff 的十進制數(shù)是255 。。收到 用255計算了 0.0196 比原來大0.0001 我重新計算了 整體數(shù)值沒什么改變 2、計算過程中注意一下浮點型和整型的運算 可以試一下 5/21 和 5.0/21 和1.0*5/21 這幾個是的運算結(jié)果 。。我求倍率的目的是為了盡量不進行浮點運算 用DEC×倍率得整數(shù) 反推的公式是 (DEC×倍率-10)×2 比如10:3.32K時12v對應(yīng)的DEC是153 反推后結(jié)果是1204 然后用這個取余和求模得到每一個位去顯示 -10是為了彌補把0.0196變成0.02(×2)的誤差 無論用-10還是用196計算 12v時誤差都可以接受 我不明白的是到15v為什么誤差那么大 我小白 見笑 3、采樣電阻最好用高精低溫漂的 。。謝謝提醒 這個我注意了一下 環(huán)境溫度24℃ 持續(xù) 沒有其它溫度影響 4、分壓電阻選擇的盡可能大一點,不然當(dāng)你的輸入電壓大的時候,采樣電阻可能會發(fā)燙,導(dǎo)致阻值發(fā)生變化,這樣就測的不準(zhǔn)了 。。謝謝提醒 我用的0603封裝0.1%電阻 極限電壓是20v 用單片機自帶的AD 端口設(shè)置為高阻 我計算看 20v/13320Ω是0.0015A 是這么算電流么 如果是 我覺得這個電流不會影響吧 查了一下0603的電阻 耐壓是50v 1/16W 那么0603電阻理論上可以忍受0.0625A電流 兩個差距很大 應(yīng)該不會引起電阻升溫 5、關(guān)于第4,你可以找兩個500Ω(只要小阻值就行)的電阻分壓測試,仿真的話測得電壓應(yīng)該沒問題,但是實際測試的時候電阻會發(fā)燙的,阻值會變化,分壓也會不準(zhǔn)確 。。我把對這點的回復(fù)合并在“4”里回復(fù)了 麻煩前輩再給分析分析 |
參與人數(shù) 1 | 黑幣 +50 | 收起 理由 |
---|---|---|
![]() | + 50 | 贊一個! |
dzbj 發(fā)表于 2017-4-5 01:14 說不定是你的精密電阻耐壓能力不夠強,你用高倍率的采集方式試試,讓精密電阻分得的電壓更小, |
關(guān)于AD 采集 首先要做好兩個問題。 第一個就是基準(zhǔn)電壓。 你的基準(zhǔn)電壓怎么樣,準(zhǔn)不準(zhǔn) 穩(wěn)定不。 要求不高 可用電源的5V 。 第二, 你分壓部分 的電路穩(wěn)定不, 建議你在輸出做成穩(wěn)壓源。 最后一個關(guān)系不是特別的就是 溫飄和熱量。 你要求精度不高 可以不考慮。 建議用水泥電阻 或者 一些低溫漂的電阻來做分壓。 |
參與人數(shù) 1 | 黑幣 +40 | 收起 理由 |
---|---|---|
![]() | + 40 | 回帖助人的獎勵! |
有點誤差是正常的,但你的誤差太大,不正常,必定另有原因。 |
電阻分壓公式 |
360截圖-3385923.jpg (22.4 KB, 下載次數(shù): 175)
電阻分壓公式
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎勵! |
dzbj 發(fā)表于 2017-4-4 20:39 1、 5/255*DEC 公式中 應(yīng)該除以255 , 8位ad測的電壓最大數(shù)字量是0xff,0xff 的十進制數(shù)是255 2、計算過程中注意一下浮點型和整型的運算 可以試一下 5/21 和 5.0/21 和1.0*5/21 這幾個是的運算結(jié)果 3、采樣電阻最好用高精低溫漂的 4、分壓電阻選擇的盡可能大一點,不然當(dāng)你的輸入電壓大的時候,采樣電阻可能會發(fā)燙,導(dǎo)致阻值發(fā)生變化,這樣就測的不準(zhǔn)了 5、關(guān)于第4,你可以找兩個500Ω(只要小阻值就行)的電阻分壓測試,仿真的話測得電壓應(yīng)該沒問題,但是實際測試的時候電阻會發(fā)燙的,阻值會變化,分壓也會不準(zhǔn)確 |
參與人數(shù) 1 | 黑幣 +50 | 收起 理由 |
---|---|---|
![]() | + 50 | 回帖助人的獎勵! |
imxuheng 發(fā)表于 2017-4-4 21:20 你好 單片機用AD采集了當(dāng)前電壓 通過串口發(fā)送給另一個板子 那是顯示板 由顯示板計算并顯示 計算過程是 用接收到的8位值×0.0195就是分壓后的電壓 再×4倍 理論上應(yīng)該是原始電壓吧 對嗎 |
參與人數(shù) 1 | 黑幣 +20 | 收起 理由 |
---|---|---|
![]() | + 20 | 回帖助人的獎勵! |
反推是怎么做的 |
g753388438 發(fā)表于 2017-4-4 19:10 謝謝回復(fù) 為什么到15v時誤差突然變的很大 從8~13還在可接受范圍 到14就有點不對勁了 每種搭配都是到15很大 |
Powered by 單片機教程網(wǎng)