模擬電壓控制數字電位器
硬件配置
圖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。
工程固件
本工程的固件在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位作為數據字節,傳送至I?C總線(xiàn)。此I?C信號用于控制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不斷閃爍。如果I?C出現故障,LED保持常亮。一旦故障排除, LED繼續正常工作。設計者可通過(guò)檢查器件地址是否正確、I?C總線(xiàn)是否連接,排除系統的故障。
此設計非常通用,類(lèi)似的方法可以用在多個(gè)系統。一些實(shí)例包括:
非線(xiàn)性傳遞函數(如,伽馬校準)可以使用可變電阻DS3906結合嵌入式查找表中存儲的恰當傳遞函數實(shí)現。
當環(huán)境溫度變化時(shí),可以在輸入端連接一個(gè)熱敏電阻,以改變I?C控制的電流型DAC (DS4402/DS4404)。
結論
本應用筆記描述了使用模擬電壓控制數字電位器的簡(jiǎn)易和低成本方法。該應用中的方法可以擴展至使用模擬電壓控制帶有I?C接口的任何器件。
評論