一種測量可變電阻阻值的電路及方法
【技術領域】
[0001] 本發明涉及電子電路測量領域,具體涉及一種測量可變電阻阻值的電路及方法。
【背景技術】
[0002] RC充放電電路是一種常用的基礎電路,通過基爾霍夫定律及高等數學可知電源E 通過電阻R向電容器C充電時,任意時刻電容器C上的電壓Vt可以通過公式Vt = VO + (Ve -V0)*[1 - exp(-t/RC)]得到。其中Ve為電源E的電壓,V0為電容器C充電開始之前 的初始電壓,當電容器C的初始電壓為0時,即V0=0時,上述公式可以簡化為:Vt = Ve *[1 -exp (-t/RC)] (1)。
[0003] 中國實用新型專利號201320780623. 6公開了一種利用上述原理來測量可變電阻 阻值的電路,其電路圖如附圖1所示。當可變電阻Rx所接單片機端口設置為輸入口,分壓R2 所接端口為輸出口時,當電容充電回路達到穩態時,電容C上電壓為Ve*R2ARl+R2),故在 電容C達到穩態前任意時刻t的電容電壓為Vt = Ve*R2ARl+R2) *[1 - exp(-t/R2C)], 為簡化起見,這里忽略了電容C通過校準電阻R1放電的效應;同理當R2所接單片機端口設 置為輸入口,Rx所接端口為輸出口時,當電容充電回路達到穩態時,電容C上電壓為Ve*Rx/ (Rl+Rx),故在電容C達到穩態前任意時刻t的電容電壓為Vt = Ve*RxARl+Rx) *[1 -exp (-t/RxC)],同樣忽略了電容C通過校準電阻R1放電的效應;假設單片機輸入端口的 "高","低"電平轉換總是在同一個電壓值(假設為1/2單片機供電電壓)發生,Rx所接單片 機端口為輸入端口時在T1時刻檢測到高電平,R2所接單片機端口為輸入端口時在T2時刻 檢測到高電平,則可以得到 Ve*RxARl+Rx) *[1 - exp(-T2/RxC)]=Ve*R2ARl+R2) *[1 -exp (-T1/R2C)],在這個方程式中由于!1,12,1?1,1?2及(:已知,可以通過求解方程式得 出可變電阻阻值Rx。該方法存在以下缺陷:該求解方式需經過復雜運算才能得到相對準確 的結果;忽略了在對電容充電時,通過R1的放電效應,求出的值在Rx接近R1時會有很大誤 差;當Rx大于校準電阻Rl,R2所接單片機端口設置為輸入口,Rx所接端口為輸出口時,單 片機R2接的輸入端口將永遠不會檢測到從低電平到高電平的轉換,局限性大。
[0004] 另一個更為實用的求可變電阻的方式如下:通過公式(1)求解R得出R = t/ [C*Ln(Ve/ (Ve-Vt))] ( 2 ),故可通過測量RC電路中電容器電壓從0到某個已知電壓Vt 的時間來間接測量RC電路中R的阻值大小。由于C的標稱值和實際值存在誤差,及其他 系統也在誤差,實際使用中通過利用R和t的線性比例關系,先后測量已知阻值電阻R1和 C的充放電回路的充電時間T1,和待測電阻Rx和C的充放電回路的充電時間T2,然后通過 Rx=Rl*T2/Tl來獲得待測電阻阻值。
[0005] 附圖2給出了目前在遙控航模控制手柄中常用的測量電容充放電時間來測量可 變電阻阻值的電路圖,GPO, GP1,GP2均為單片機MCU的普通輸入輸出端口,R1為阻值已知 的校準電阻,Rx為待測的可變電阻。
[0006] 這種測量方法也存在較大缺陷:實際使用中需要同時測量多個可變電阻的阻值, 一般會有四路或更多,同時為了減小測量時的偶然誤差,需要對同一回路做反復多次測量, 這樣為了滿足實時響應速度的要求,測量時間必須足夠小,即所選取的電容C值必須足夠 小,一般為0.0 luF或更小;在此類應用中,例如遙控航模控制手柄,所使用的單片機MCU的 成本限制,這些單片機的速度均在50M以下,其單個指令周期均不小于0.02uS,考慮到單 片機至少需要數個周期來完成單片機定時器的啟動、定時器的停止,輸入端口電平采集及 電平判斷,其測量時間誤差會在〇. luS以上,為得到可信的測量結果,測量的結果必須遠 大于測量誤差,一般在10倍以上,方可忽略誤差的影響,通過公式1可以知道當電容C為 0. 01uF,Vt為Ve的1/2,單片機MCU速度50M時,僅當電阻大于150歐姆時才能得到luS以上 測量時間的變化,為了能測到更小電阻,即更高的精度,必須選取更大的電容C,例如0. luF 或更大。
[0007] 綜上,可以看出目前公知的通過測量電容充放電時間來測量可變電阻阻值的電路 存在著測量精度和測量時間之間的矛盾,從而使該電路常用在一些精度要求不高或實時性 要求不高的場合,同時該公知電路當待測電阻較小時,由于電容充放電時間太短,例如,已 經接近或小于測量誤差時間,基本無法測量。
【發明內容】
[0008] 本發明的目的在于提供一種測量可變電阻阻值的電路,在解決目前公知的通過測 量電容充放電時間來測量可變電阻阻值電路中測量精度和測量時間的矛盾的同時,對較小 的待測電阻也能得到一個更為精確的測量結果。
[0009] 本發明采用以下方案實現:一種測量可變電阻阻值的電路,其特在于:包括單片 機、電容、待測可變電阻及校準電阻,所述電容的一端與所述單片機第一輸入輸出端口連 接,電容另一端接地;所述校準電阻的一端與電容的一端連接,所述校準電阻的另一端與所 述單片機第二輸入輸出端口連接;所述待測可變電阻的一端和單片機第三輸入輸出端口連 接,待測可變電阻另一端與校準電阻的另一端連接。
[0010] 進一步的,其所述校準電阻為精度不低于1%精密電阻。
[0011] 本發明還提供一種基于上述測量可變電阻阻值的電路的方法,其特征在于,包括 以下步驟:步驟S1 :將所述單片機的第二、第三輸入輸出端口分別設為輸入端口,第一輸入 輸出端口輸出"〇"給所述電容實現電容放電,將所述電容初始電壓復位為0伏;步驟S2 :將 第一、第三輸入輸出端口分別設為輸入端口,在第二輸入輸出端口輸出" 1"的同時啟動所述 單片機的定時器,然后在第一輸入輸出端口檢測到低電平到高電平跳變的同時,讀取單片 機定時器的值來獲取測量校準回路的時間T1 ;步驟S3:將所述單片機的第二、第三輸入輸 出端口分別設為輸入端口,第一輸入輸出端口輸出"〇"給所述電容實現電容放電,將所述 電容初始電壓再次復位為〇伏;步驟S4 :第一、第二輸入輸出端口分別設為輸入端口,在第 三輸入輸出端口輸出"1"的同時啟動所述單片機的定時器,然后在第一輸入輸出端口檢測 到低電平到高電平跳變的同時,讀取單片機定時器的值來獲取測量待測回路的時間T2 ;步 驟S5:通過公式:Rx = Rl*(T2 - T1)/T1,求出待測可變電阻的阻值,其中Rx表示待測可 變電阻的阻值,所述R1表示校準電阻的阻值。
[0012] 進一步的,在步驟Sl、S2之間及步驟S3、S4之間存在一個確保將所述電容初始電 壓復位為〇伏的延時。
[0013] 本發明還提供另一種基于上述測量可變電阻阻值的電路的方法,其特征在于,包 括以下步驟:步驟一:將所述單片機的第二、第三輸入輸出端口分別設為輸入端口,第一輸 入輸出端口輸出"1"使所述電容初始電壓為單片機供電電壓;步驟二:將第一、第三輸入 輸出端口分別設為輸入端口,在第二輸入輸出端口輸出"〇"的同時啟動所述單片機的定時 器,然后在第一輸入輸出端口檢測到高電平到低電平跳變的同時,讀取單片機定時器的值 來獲取測量校準回路的時間T1 ;步驟三:將所述單片機的第二、第三輸入輸出端口分別設 為輸入端口,第一輸入輸出端口輸出"1"使所述電容初始電壓為單片機供電電壓;步驟四: 第一、第二輸入輸出端口分別設為輸入端口,在第三輸入輸出端口輸出"0"的同時啟動所 述單片機的定時器,然后在第一輸入輸出端口檢測到高電平到低電平跳變的同時,讀取單 片機定時器的值來獲取測量待測回路的時間T2;步驟五:通過公式:Rx = R1*(T2 - T1)/ T1,求出待測可變電阻的阻值,其中Rx表示待測可變電阻的阻值,所述R1表示校準電阻的 阻值。
[0014] 進一步的,在步驟一、二之間及步驟三、四之間存在一個確保將所述電容初始電壓 復位為單片機供電電壓的短暫延時。
[0015] 在本發明一實施例,所述校準電阻為精度不低于1%的精密電阻。
[0016] 與現有技術相比,本發明具有以下優點:本發明在通過測量電容充放電時間來測 量可變電阻阻值Rx時,整個RC回路里的R是Rx和R1串聯得到的,這樣即使在可變電阻Rx 的阻值很小,接近0,的時候,整個RC回路中的電阻值依然不小于校準電阻R1的阻值,通過 選擇合適的校準電阻R1,可以保證測量所得的時間T2遠大于誤差時間,因而此時仍然可以 能得到一個較好的測量結果;同時由于校準電阻R1串接在Rx和電容C的回路中,避免了必 須通過增大C來提高測量精度的問題,從而較好的解決了現有測量電路中的測量精度和測 量時間的矛盾。
[0017] 為使本發明的目的、技術方案及優點更加清楚明白,以下將通過具體實施例和相 關附圖,對本發明作進一步詳細說明。
【附圖說明】
[0018] 圖1為中國發明專利號201320780623. 6可變電阻租值測量電路的電路圖; 圖2為目前遙控航模中廣泛使用的一種通過測量電容充放電時間來測量可變電阻值 的電路圖; 圖3為本發明的通過測量電容充放電時間來測量可變電阻值的電路圖; 圖4為本發明的通