模擬電壓控制數(shù)字電位器
硬件配置
圖1顯示了使用PIC12F683的控制電路原理圖。微控制器6個GPIO中的4個用于控制SDA、SCL的輸出信號、單個LED,并接收一路模擬輸入。
GP5、GP4和GP0分別分配至信號輸出SDA、SCL和LED。SDA和SCL具有4.7kΩ上拉電阻至VDD,直接連接至DS1803的SDA和SCL引腳。微控制器的GP1 IO分配為模擬輸入引腳。通過跳線可選擇地址引腳、分離共用的VCC (VDD)、隔離SDA和SCL。
工程固件
本工程的固件在MPLAB IDE (7.40版本)環(huán)境下,由匯編語言編寫。此編譯工具目前由Microchip免費提供。全部程序僅占用小于450字節(jié)的程序空間(Flash)和8字節(jié)的數(shù)據(jù)空間(RAM)。
程序首先初始化PIC的多個配置位,包括ADC和內(nèi)部振蕩器。程序配置ADC為從GP1輸入,并設(shè)置轉(zhuǎn)換時鐘為使用內(nèi)部125kHz振蕩器。
固件運(yùn)行一個循環(huán):ADC持續(xù)轉(zhuǎn)換模擬輸入端的電壓,一旦轉(zhuǎn)換完畢,10位ADC輸出的高8位作為數(shù)據(jù)字節(jié),傳送至I?C總線。此I?C信號用于控制DS1803。程序設(shè)置為一同控制DS1803的2個電位器;但通過改變固件,可以實現(xiàn)由PIC12F683的2個不同的模擬輸入獨立的控制2個數(shù)字電位器。
固件在這里提供下載:下載。
多種功能
程序允許用戶通過改變PIC12F683 GP1輸入端的電壓,控制數(shù)字電位器。GP1端電壓的持續(xù)變化會引起數(shù)字電位器電阻的相應(yīng)變化。輸出電阻(ROUT)可以看作是輸入電壓的函數(shù)。
設(shè)計中使用的DS1803端到端電阻為:50kΩ
VCC的允許范圍:2.7V至5V
輸入電壓變化范圍為0V至VCC
輸出電阻將會遵循:
ROUT (kΩ) = (50/VCC (kΩ)) × 輸入電壓
ADC運(yùn)行期間,LED不斷閃爍。如果I?C出現(xiàn)故障,LED保持常亮。一旦故障排除, LED繼續(xù)正常工作。設(shè)計者可通過檢查器件地址是否正確、I?C總線是否連接,排除系統(tǒng)的故障。
此設(shè)計非常通用,類似的方法可以用在多個系統(tǒng)。一些實例包括:
非線性傳遞函數(shù)(如,伽馬校準(zhǔn))可以使用可變電阻DS3906結(jié)合嵌入式查找表中存儲的恰當(dāng)傳遞函數(shù)實現(xiàn)。
當(dāng)環(huán)境溫度變化時,可以在輸入端連接一個熱敏電阻,以改變I?C控制的電流型DAC (DS4402/DS4404)。
結(jié)論
本應(yīng)用筆記描述了使用模擬電壓控制數(shù)字電位器的簡易和低成本方法。該應(yīng)用中的方法可以擴(kuò)展至使用模擬電壓控制帶有I?C接口的任何器件。
評論