如何為更高電壓的微控制器測(cè)量選擇電阻
基本微控制器的例子特點(diǎn)是“軌內(nèi)”電壓測(cè)量。一個(gè)主要的例子是測(cè)量可變電阻的輸出。電阻的一端連接到微控制器的5.0電壓軌,另一端接地,雨刷器被發(fā)送到微控制器的模數(shù)轉(zhuǎn)換器(ADC)引腳。由此產(chǎn)生的電壓以接地和微控制器電壓軌為界。
本文引用地址:http://2s4d.com/article/202404/457753.htm本文提供了為測(cè)量軌外電壓的微控制器選擇電阻的指南。你將學(xué)習(xí)如何準(zhǔn)確地測(cè)量這些更高的電壓而不損壞你的微控制器。本文的重點(diǎn)是優(yōu)化電阻的選擇。
我們的討論僅限于一般小于30vdc的直流電壓。交流的考慮超出了這篇短文的范圍。此外,更高電壓的直流測(cè)量可能需要額外的安全考慮,這也超出了本文的范圍。
微控制器模擬輸入模型
讓我們從微控制器模擬輸入的模型開始。圖1給出了 Microchip (Atmel) ATmega4809 的簡(jiǎn)化模型。這是Arduino Nano Every 1上的一個(gè)流行微控制器。這個(gè)模型的主要組件是樣品和保持電容。在轉(zhuǎn)換開始之前,采樣信號(hào)必須存在于該電容上。
圖 1 :微控制器模擬輸入引腳相對(duì)于被測(cè)外部電壓的簡(jiǎn)化模型
技術(shù)貼士 :一個(gè)小錯(cuò)誤就會(huì)導(dǎo)致微控制器的毀滅。我們必須特別小心R1附近和較高的電源電壓。接線或探測(cè)錯(cuò)誤可能會(huì)無(wú)意中將高電壓發(fā)送到微控制器的I/O引腳。雖然軌道鉗位二極管提供了一小部分保護(hù),但它將與微控制器本身一起在瞬間被破壞。在極端情況下,較高的電壓將一路行進(jìn)到相關(guān)PC機(jī)上的UPS端口。如果幸運(yùn)的話,它會(huì)損壞PC機(jī)的端口。如果你運(yùn)氣不好,你將需要一臺(tái)新的PC。
這個(gè)采樣和保持(S/H)要求是各種微控制器結(jié)構(gòu)之間的復(fù)雜交互,包括:
模擬選擇器mux的操作。從Arduino的角度來(lái)看,當(dāng)你區(qū)分模擬輸入引腳(如A5和A7)時(shí),這種情況就會(huì)發(fā)生。
S/H電容的大小。ATmega 4809在Control C特殊功能寄存器中有一個(gè)采樣電容選擇(SAMPCAP)位。根據(jù)數(shù)據(jù)手冊(cè):“這個(gè)位選擇采樣電容,因此,輸入阻抗。最佳值取決于參考電壓和應(yīng)用的電性能?!?/p>
內(nèi)部的貢獻(xiàn)者。這包括與引腳的箝位二極管、電阻和相鄰引腳之間的電容性相互作用等元件相關(guān)的泄漏。
我們可以將電容器電壓/穩(wěn)定性要求可視化為時(shí)間常數(shù),重點(diǎn)是輸入阻抗。其結(jié)果就是圖2所示的簡(jiǎn)化模型。內(nèi)部微控制器結(jié)構(gòu)已被瞬時(shí)開關(guān)和S/H電容器所取代。外部電壓源和分壓器被替換為它們的Thévenin 等效電路。
圖 2 :微控制器輸入引腳與源相關(guān)的高級(jí)模型。
當(dāng)ADC轉(zhuǎn)換啟動(dòng)時(shí),瞬時(shí)開關(guān)將關(guān)閉一小段時(shí)間。這是S/H電容器充電到所需電壓的“采樣相位”。一段時(shí)間后,開關(guān)打開。這是“保持相位”,電容將保持(采樣)電壓呈現(xiàn)給ADC。
S/H時(shí)間與源的Thévenin 阻抗之間存在一定的關(guān)系。當(dāng)我們考慮τ=RC關(guān)系時(shí),為了精確測(cè)量,RTh必須提供一個(gè)小的時(shí)間常數(shù)。在這里,“小”一詞意味著S/H電容器將在瞬時(shí)開關(guān)閉合時(shí)的短時(shí)間內(nèi)充滿電。
技術(shù)貼士 :Thévenin 等效電路是一個(gè)強(qiáng)大的工具,其重要性類似于歐姆定律。它允許一個(gè)復(fù)雜電路被表征為一個(gè)理想電壓源(VTh)和一個(gè)串聯(lián)電阻(RTh)。然后可以使用該模型進(jìn)行簡(jiǎn)化計(jì)算。這包括本文中提到的時(shí)間常數(shù)。
在這一點(diǎn)上,我們將注意力回到ATmega4809數(shù)據(jù)手冊(cè)。我們得到了一些指導(dǎo)方針:
ADC針對(duì)源RTh小于10 kΩ進(jìn)行了優(yōu)化。
可以激活前面提到的SAMPCAP位,以將S/H電容器的尺寸從10 pF減小到5 pF。
采樣長(zhǎng)度(SAMPLEN)控制寄存器可用于增加阻抗較高的源的保持時(shí)間。
綜上所述,這些建議為我們的電阻選擇提供了一個(gè)很好的起點(diǎn)。
用于ADC縮放的分壓器
為了選擇合適的電阻,我們必須考慮要測(cè)量的電壓和Thévenin 電阻。
分壓器的定義為:
其中:
VOut是滿量程微控制器ADC輸入電壓。
VIn(最大)是要測(cè)量的最高電壓,包括任何浪涌或充電電壓。如果電壓異常高,ADC將飽和。例如,如果設(shè)置10位ADC來(lái)測(cè)量16 VDC(最大)信號(hào),則對(duì)于高于16 VDC的所有電壓,它將飽和并讀取1023。
分壓器的Thévenin 電阻為:
我們已經(jīng)簡(jiǎn)化了計(jì)算,假設(shè)分壓器不會(huì)明顯地負(fù)載源。也許我們可以在另一篇文章中探討源的Thévenin 等效電路上的負(fù)載。
技術(shù)貼士:Arduino的默認(rèn)ADC參考是正電壓軌本身,Arduino Nano Every的正電壓軌約為5 VDC。為了提高性能,可以通過(guò)調(diào)用analogReference(internal)來(lái)使用內(nèi)部1.1 VDC參考。也可以使用外部參考標(biāo)準(zhǔn),如LM4040AIZ-4.1/NOPB 1。這些器件在溫度系數(shù)小的情況下具有良好的耐受性。“滿量程”ADC輸入電壓分別為5.0、1.1和4.096。
電阻的選擇沒(méi)有限制;在這種情況下,我們可以選擇R1或R2,然后計(jì)算相應(yīng)的電阻。不幸的是,沒(méi)有完美的解決方案。我們能做的最好的是平衡源負(fù)載的競(jìng)爭(zhēng)需求,電池供電電路的分壓器中的能量耗散,需要保持在微控制器10 kΩ輸入阻抗以下,或者需要延長(zhǎng)ADC轉(zhuǎn)換時(shí)間以適應(yīng)高RTh。
設(shè)計(jì)實(shí)例
為了說(shuō)明電阻選擇過(guò)程,讓我們?cè)O(shè)計(jì)一個(gè)電路來(lái)測(cè)量與淹水鉛酸電池充電器相關(guān)的標(biāo)稱12 VDC系統(tǒng)。我們首先確定可能遇到的最高電壓。雖然該系統(tǒng)被稱為“12 VDC”,但涓流充電約為13.8 VDC,均衡充電可能高達(dá)14.7 VDC(請(qǐng)參閱電池?cái)?shù)據(jù)手冊(cè)以獲取準(zhǔn)確值)。如果我們?cè)试S10%的開銷,那么我們將設(shè)計(jì)為16 VDC(最大)電壓。
將微控制器配置為4.096 VDC外部參考。
通過(guò)收集變量,我們可以確定R1與R2的比值:
我們的目標(biāo)是找到一個(gè)盡可能接近這個(gè)比率的電阻對(duì),從而得到的Rth小于10 kΩ。
選擇電阻對(duì)本身就是一個(gè)引人入勝的話題。使用E-24(5%)系列上一篇文章中介紹的技術(shù),R1和R2最接近的匹配對(duì)分別為4.7 k和1.6 kΩ,比率為2.937。使用E-96(1%),我們可以選擇8.98 kΩ和3.09 kΩ,以獲得2.906的改進(jìn)比率。
在理想情況下,進(jìn)入ADC的滿量程電壓為:
在實(shí)際操作中,仍然存在一個(gè)錯(cuò)誤??梢钥隙ǖ氖?,1%的電阻改善了這種情況。然而,它們并不完美??紤]每個(gè)電阻的可接受值范圍:
8.8902 kΩ <R1<9.0698 kΩ
3.0591 kΩ <R2<3.1209 kΩ
當(dāng)應(yīng)用于分壓器時(shí),滿量程(16 VDC輸入)將從4.0355到4.1574 VDC變化。這個(gè)+/- 61 mV誤差歸因于所選擇的電阻公差。這種困境有幾種解決方案,包括使用低容差(高成本)電阻,手動(dòng)選擇電阻,安裝微調(diào)電阻,或在微控制器中應(yīng)用校準(zhǔn)校正。每種解決方案都有其自身的成本和時(shí)間損失。然而,這是提高精度不可避免的代價(jià)。
系統(tǒng)性能
一個(gè)公平的批評(píng)是,我們對(duì)電阻的選擇過(guò)于挑剔。當(dāng)我們考慮整個(gè)系統(tǒng)的性能時(shí),這種挑剔的選擇的原因就顯而易見了。
回想一下,我們?cè)嫉?0位ADC及其外部參考電壓被限制為1023的滿量程二進(jìn)制讀數(shù)。如果我們正確地選擇了分壓器,那么當(dāng)測(cè)量電壓達(dá)到16 VDC時(shí)就會(huì)發(fā)生這種情況。結(jié)果是系統(tǒng)現(xiàn)在具有大約16 mV的分辨率(最小可檢測(cè)電壓變化)。這是我們所能做的最好的,因?yàn)槲覀円呀?jīng)忠實(shí)地取了最大預(yù)期電壓,并將其降壓以匹配ADC的滿量程輸出。
讓我們考慮一個(gè)明顯的反例。假設(shè)我們選擇R1和R2,分別使用方便的10 kΩ到1 kΩ值。測(cè)量電壓需要達(dá)到45.1 VDC, ADC才能達(dá)到1023的滿量程計(jì)數(shù)。由于45.1 VDCX有1023步,分辨率惡化到44 mV。這是非常不希望的,因?yàn)槲覀儾辉倌軌虮鎰e測(cè)量電壓的微小變化。
技術(shù)貼士 :電壓參考值如1.024、2.048和4.096可能看起來(lái)很熟悉,因?yàn)殡妷号c2的冪(PO2)相關(guān),如1,2,4,…,512,1024,2048和4096。這些都是方便的值,特別是當(dāng)使用整數(shù)數(shù)學(xué)時(shí)。在我們的示例中,配備4.096 VDC基準(zhǔn)的10位ADC用于測(cè)量16 VDC(最大)信號(hào)。假設(shè)我們?yōu)榉謮浩鬟x擇了理想的電阻,每個(gè)位的變化與PO2電壓的變化一致。在這個(gè)例子中,每個(gè)ADC位代表1/64伏特。這可能對(duì)你的應(yīng)用有用,也可能沒(méi)用,因?yàn)槌朔梢允褂靡幌盗杏乙七\(yùn)算符來(lái)執(zhí)行。請(qǐng)注意,當(dāng)我們使用類型浮點(diǎn)值縮放這些獨(dú)特的電壓參考值時(shí),速度優(yōu)勢(shì)就會(huì)丟失。
回顧
微控制器可用于測(cè)量高于其5.0或3.3 VDC供電軌的電壓,前提是使用適當(dāng)?shù)姆謮浩鱽?lái)降低測(cè)量電壓。適當(dāng)?shù)碾娮柽x擇確保微控制器在考慮被測(cè)電壓和ADC參考電壓的情況下具有最佳可用分辨率。正確的電阻的選擇由之前的文章提供幫助,其中包括一個(gè)粗略的C程序,以幫助從標(biāo)準(zhǔn)值中找到最佳可用電阻對(duì)。
評(píng)論