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