變阻器是一種簡單且隨處可見的電路元件,主要組件就是一個電位器,該電位器連接兩端成為一個可調的電阻。手動電位器的阻值范圍從歐姆到兆歐姆,因此很容易選擇最適合的標稱電阻。但是,當某個應用需要數字電位器(Dpot)時,問題就變得棘手了。
與手動電位器相比,Dpot的電阻范圍較窄,并且它們通常還存在游標電阻和電阻公差過高的問題,這些限制使得Dpot難以實現精密的變阻器。最近的EDN設計實例(DI)通過各種策略和拓撲解決了一系列Dpot相關的問題。
不過這些設計都是只能解決Dpot的一小部分問題,沒有一個方案能解決所有問題,有些設計本身還會帶來麻煩。例如,交叉失真、對電阻公差的敏感度未降低、編程電阻的非線性會降低分辨率等,以及純粹變得更加復雜。
新的設計
圖1的電路也不是完美的解決方案。但它合成了一個精確的編程電阻,該電阻等于參考電阻R1線性的乘以U1的Rbw/Rab數字設置(端子B與游標電阻和總元件電阻之間的比率)。

圖1:精密數字變阻器,可合成精確的編程電阻,該電阻等于參考電阻R1與U1的Rbw/Rab線性乘積。
它的工作原理如下。
R = (Va – Vb)/Ia
R = R1/(Raw/Rbw + 1) = R1 Rbw/Rab
Rab = Raw + Rbw = 5k-10k(通常)
其中,R為編程合成電阻,R1為參考電阻,Raw為A端與游標端之間的電阻,Rbw為B端與游標端之間的電阻,Rab為元件總電阻。
U1工作在“分壓器”(電位器)模式下,用于設置反相放大器A2的增益。電位器模式使增益不受U1的游標電阻(Rw)和Rab的影響。它們實際上并不重要—請參閱Microchip MCP41XXX/42XXX datasheet數據手冊中的圖4-4。
對圖1的方程進行數學推導,我們得到:
Ga2 = Raw/Rbw
其中,Ga2為A2的增益。此外,
R1兩端的電壓 = (Va – Vb) + Ga2(Va – Vb) = (Raw/Rbw + 1)(Va – Vb) = Rab/Rbw(Va – Vb)
流過R1的電流 = Ia = Rab/Rbw(Va – Vb)/R1
那么,由于R=(Va–Vb)/Ia:
R = R1*Rbw/Rab
Va的負載很小,因為A1的輸入偏置約為10 pA,因此R1的阻值范圍可以從幾百歐姆到幾兆歐姆,具體取決于應用。阻值應該是精確的,公差肯定是1%或更好,然后,開始編程和進行上述數學運算。
圖2繪制了R和Rbw之間的線性關系。

圖2:R和Rbw之間的線性關系表明電路合成了一個精確的編程電阻,該電阻等于參考電阻R1與U1的Rbw/Rab線性乘積。
對于圖1中所示的A2和U1的組件選擇,可能不需要補償電容器(C1)。但如果選擇速度更快的放大器或電阻更大的Dpot,則10pF至20pF的補償電容可能會比較穩妥。
同時,我認為這一設計在同類產品中具有競爭力。但正如我之前所說它并不完美,那么除了是單端子拓撲外,它還有哪些地方不能完全解決數字變阻器(Digistat)的問題?
缺點
如圖3所示,當R的編程值下降時,A2的增益(Ga2)必須上升。從右到左看,我們可以看到增益隨著R從R1下降到R1/4才開始迅速上升,此時,Rbw/Rab=64/256 增益=3。這往往會夸大輸入偏移、有限GBW和其他運算放大器的非理想性誤差,同時在相對較低的信號電平下造成A2過早飽和的可能性。
圖3:Ga2(紅色)和R/R1(黑色)與x軸上的Rbw/Rab的關系圖。當R的編程值下降時,Ga2必須上升。
這些缺點影響設計效用的嚴重程度(無論是輕微、嚴重還是致命)將取決于您需要將R/R1降低到多低,以及應用的其他具體情況。因此,它肯定不是完美的,但也許在某些方面還是有用的。
雙端子設計
關于單端子問題,如果你的應用必須要雙端子可編程電阻,你可以考慮圖4。根據外部電路的不同,它可能不會產生振蕩。

圖4:復制并交叉連接圖1的電路,以獲得雙端子可編程電阻。
責編:Ricardo
-END-
掃碼加入硬件交流群
