在某些應用中,帶有I2C 接口必須由連續變化的模擬信號控制。本應用筆記滿足了這一要求,并提供了一個簡單的設計解決方案。這里介紹的原理是通用的,可用于多種應用。
介紹
本應用筆記介紹了一種使用外部模擬電壓改變數字電位器電阻的簡單方法。Microchip PIC12F683微控制器用于從模擬電壓轉換為I電壓2C流,然后用于控制數字電位計。DS1803數字電位器用作示例器件,本應用使用最少數量的外部元件。這里提出的想法可以應用于其他控制輸入和其他數字電位計/電阻。
硬件配置
圖1所示為使用PIC12F683的控制電路原理圖。微控制器的六個 GPIO 中的四個用于控制 SDA、SCL 和單個 LED 上的輸出信號,并接受一個模擬輸入。
SDA、SCL 和 LED 上的輸出信號分別分配給 GP5、GP4 和 GP0。SDA 和 SCL 具有 4.7kΩ 上拉電阻至 VDD并直接連接到DS1803的SDA和SCL引腳。微控制器的GP1 IO被指定為模擬輸入引腳。提供跳線用于選擇地址引腳,分隔共享的V抄送(五DD),并隔離 SDA 和 SCL。
圖1.示意圖示出數字電位器的模擬電壓控制。
項目固件
該項目的固件是使用 MPLAB IDE(版本 7.40)用匯編語言編寫的。該工具目前可從Microchip免費獲得。整個程序由少于450字節的程序空間(閃存)和數據空間(RAM)8字節組成。
程序首先初始化PIC中的各種配置位,包括ADC和內部振蕩器。該程序將ADC配置為接受來自GP1的輸入,并將轉換時鐘設置為使用125kHz的內部振蕩器。
固件在環路中運行,ADC連續轉換模擬輸入端的電壓。轉換完成后,10位ADC輸出的8 MSB用作通過I發送的數據字節2C總線。這個我2然后使用C信號控制DS1803。該程序設置為控制DS1803上的兩個電位器;但是,通過更改固件,可以使用PIC12F683上的兩個不同模擬輸入單獨控制電位計。
多功能
該程序允許用戶通過改變PIC12F683的GP1輸入上的電壓來控制電位計。GP1上連續變化的輸入將導致電位計電阻的相應變化。輸出電阻(R外) 可以計算為輸入電壓的函數:
設計中使用的DS1803端到端電阻:50kΩ
Vcc允許范圍:2.7V 至 5V
輸入電壓范圍為 0V 至 V抄送
觀察到的輸出電阻為:
R外(kΩ) = (50 (kΩ)/Vcc) ×輸入電壓
當ADC運行時,LED不斷閃爍。指示燈保持亮起,以防出現 I2發生 C 錯誤。糾正錯誤后,LED 將恢復正常功能。設計人員可以通過檢查設備地址是否正確以及 I2C 總線已連接。
這種設計非常通用,類似的方法可用于各種應用。一些例子包括:
非線性傳遞函數(例如伽馬校正)可以通過使用DS3906可變電阻來實現,并在嵌入式查找表中實現正確的傳遞函數。
可以在輸入端連接一個熱敏電阻,以改變I的輸出2環境溫度變化時的C控制電流DAC(DS4402/DS4404)。
圖2.
結論
本應用筆記介紹了一種利用模擬電壓控制數字電位器的簡單且經濟高效的機制。應用概念可以擴展為使用模擬電壓來控制任何具有I2C 接口。
審核編輯:郭婷
-
微控制器
+關注
關注
48文章
7649瀏覽量
152106 -
led
+關注
關注
242文章
23355瀏覽量
663174 -
電位器
+關注
關注
14文章
1013瀏覽量
66975
發布評論請先 登錄
相關推薦
評論