AD7705 采用SP I Q SP I兼容的三線串行接口,能夠方便地與各種微控制器和DSP 連接, 也比并行接口方式大大節省了CPU的 I O口。那么AD7705與51單片機的數字電壓表是怎么表示的我們一起來看看。
摘要:在比賽中我們通過 A/D 芯片(AD7705)對外部電壓值 進行采集, 經轉換后傳輸給單片機 (89C52) , 使用液晶 (1602) 輸出測量得到的電壓值。該實驗板可以測量不同增益下對應 范圍的電壓值,并使部分量程下精確度理論上達到 8 增益。 對于-20~20V,增益值為 1。在拓展中,我們根據閉合電路歐 姆定律,改進程序及實驗板,使之能夠測量電流、電阻,同 時能對短路狀態做出檢測。
總設計流程圖
方案比較
本次比賽基礎要求設計量程為 0-5V,精確度至少為 0.02V 的電壓表。根據精確度計算公式:精確度=量程/2^n(n 為 ADC 的位數) ,結合擴展的 25V,做出以下方案比較:
? ? ? ? 方案一:使用 STC12C51 進行模數轉換,但由于其內置 ADC 精度 不夠(8 位) ,勉強能夠滿足基礎要求,但無法達到擴展要求。 故舍棄此方案。
? ? ? ? 方案二:ADC 選用 AD7705,單片機采用 89C52,使用 AD780 提 供基準電壓。16 位 AD 處理 25V 時精度為 0.0004。同時使用繼電 器完成自動量程轉換,但由于電路的復雜程度和比賽時間,最終 我們沒有做此擴展。
?
? ? ? ? 方案三:ADC 選用 AD7705,單片機采用 89C52,使用 AD780 提 供基準電壓。 充分利用 89c52 的豐富 I/O 口及 AD7705 的高精度、 雙極性特性將作品設計成擁有五檔電壓測量、五檔電流測量、七 檔電流測量及短路檢測的多用表。 最終我們組決定使用方案三完成比賽。
各單元設計原理
1、供電電壓選取
? ? ? ? ? 由于實驗要求使用 A/D 測量 0~5V 電壓, 使用 DC Power Supply 提供外部供電電壓,或以 USB 接口給系統上電,經過 AD780 芯 片,對 A/D 輸入適合工作的基準電壓,為 AD7705、單片機提供 穩定的 2.5V 工作電壓。
2、AD7705 對模擬量的采集及轉換(測量電壓)
? ? ? ? ?(1)AD7705 為 16 位雙極性模數轉換器,它包括一個Σ -Δ (或 電荷平衡)ADC、片內帶靜態 RAM 的校準微控制器、時鐘 振蕩器、數字濾波器和一個雙向串行通信端口。該器件的電 源電流僅為 320μ A,使得它理想地用于電池供電的儀器中。 器件具有兩種可選電源電壓范圍分別是 2.7~3.3V 或 4.75~ 5.25V。它具有高精度校準、測量的能力,適應電壓表的精 度要求。
? ? ? ? (2)設計實驗板共有 5 個量程,分別為: -200mV~200mV -2~2V -20~20V -200~200V -500~500V 對應增益值為 8 對應增益值為 1 對應增益值為 1 對應增益值為 1 對應增益值為 1
(3)實驗通過開關使不同阻值分壓電阻接入電路來改變電壓表量程。開關抬起有效。如圖連接 A/D 與單片機,對 A/D 進行初始 化, 設置為雙極性、 無緩沖、 增益為 1、 濾波器不工作、 自校準、 更新速率為 20Hz 的狀態。通過編譯的讀、寫程序,完成 A/D 對 外部模擬量的采集和處理,并將數據傳送給單片機。
3、單片機數據處理(直流電壓)
? ? ? ? (1)本作品設計有五個電壓檔位。在程序中我們通過設置 switch 語句實現對不同檔位的選取和控制,AD 轉換后的數 據被傳輸至單片機中對應檔位的數據處理函數, 單片機根據 相應檔位的參數設置將數據處理還原為真實電壓值, 并轉換 為可被液晶讀取的 2 進制形式。
?。?)測量直流電壓的公式為: 電壓真值=數據 V/增益值*對應的檔位參數
? ? ? ?4、1602 液晶顯示器
? ? ? ?(1)對 1602 進行初始化,設置相關功能。
1602 液晶初始化程序:
顯示器模塊原理圖:
?。?)關于顯示正負號及小數點,本次顯示 000.00000 精度
(3)關于數據處理之后的輸出,將經過單片機處理得到的數 據 V 發送至 1602 液晶,通過 display 函數(部分程序如下) ,實 現液晶對數據的顯示。同時設計保護數據,當測得數據大于檔位 上限時,系統輸出檔位上限值。
? ? ? ? void display() (部分程序)
{
chardisp[9]=“12345678”;
? ? ? ? disp[0]= (v/10000000)+0x30; v%=10000000; disp
? ? ? ?[1]= (v/1000000)+0x30; v%=1000000;disp
? ? ? ?[2]= (v/100000)+0x30; v%=100000; disp
? ? ? ?[3]= (v/10000)+0x30; v%=10000; disp
? ? ? ? ?[ 4]= (v/1000)+0x30; v%=1000;disp
? ? ? ? [5]= (v/100)+0x30; v%=100; disp
? ? ? ? [6]= (v/10)+0x30; v%=10;disp
? ? ? ? [7]= (v/1)+0x30;
……
擴展部分
1、電流測量
? ? ? ?m利用閉合電路歐姆定律,在測電壓的基礎上可以實現對電流 的測量。實驗中共有五個檔位,分別為: -2~2mA -20~20mA -200~200mA -2~2A -15~15A 對應增益值為 8 對應增益值為 8 對應增益值為 8 對應增益值為 8 對應增益值為 1
對于電流數據的處理,將 AD 采集到的數據 v 輸入單片機后, 根據計算公式對 v 進行處理,以第一檔程序舉例:
其中對數據處理的公式為: 電流真值=數據/增益值*對應的檔位參數
? ? ? ? 2、電阻測量
? ? ? (1)本次比賽的電阻測量在說明中并沒有,我們組為了充分 利用 AD7705 資源、 鍛煉組員的能力, 額外做了電阻測量和短 路檢測的拓展。
? ? ? (2)電阻測量的原理為:根據閉合電路歐姆定律 R=U/I,由 于前兩步已完成對電壓與電流的測量,所以此處只需要在數 據處理時,使用某檔位電壓/對應檔位流過待測電阻的電流值 即可。
?
? ? ? ?(3)電阻測量的檔位及對應增益值 0~20Ω 0~200Ω 0~2kΩ 0~20kΩ 0~200kΩ 0~2MΩ 0~100MΩ 對應增益值為 2 對應增益值為 2 對應增益值為 2 對應增益值為 2 對應增益值為 2 對應增益值為 2 對應增益值為 1
?。?)電阻測量的數據處理(20Ω 檔為例)
電阻測量的數據處理公式為: U/Rx=2.5/(Rx+Ro) Ro:相應電阻檔的已知串聯電阻 3、短路檢測 在 P2.5 連接蜂鳴器系統,當表筆兩端電阻小于 15Ω 時,P2.5 賦低電平,蜂鳴器工作。
評論
查看更多