智能電壓表剖析_第1頁
智能電壓表剖析_第2頁
智能電壓表剖析_第3頁
智能電壓表剖析_第4頁
智能電壓表剖析_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上智能儀器設計報告 姓 名:學 號:班 級:時 間: 南京理工大學紫金學院電光系目錄摘 要 13硬件模塊 3.3 LED顯示 7 4.3顯示函數流程圖11 55.1仿真測試13參考文獻 20 摘 要隨著電子學的發展,程控電子測量備受廣大電子工程師的重視,測量精度和功能的要求也越來越高。本次課程設計是電壓表硬件由單片機系統、ADC0809芯片、OP07芯片、74HC4052芯片構成。代碼由C語言編程編寫,上位機界面Labview構成。本設計闡述了基于單片機和Labview的智能數字電壓表。電壓表設計要求分成三檔0100mV;100mV1V;15V,為了實現電壓的自動換擋,

2、提高測量精度,利用程控增益放大器改變放大器的放大倍數,將各檔內的輸入電壓依次放大50倍,5倍,1倍,程控放大器的輸出端經ADC0809進行A/D轉換,轉換結果傳輸給STC89C51(實際硬件電路采用STC89C58RD+),STC89C51根據結果將信息反饋給多路選擇器從而改變放大器放大倍數的,并利用串行通信發送給上位機,在Labview上實現測量數據的顯示。關鍵詞 數字電壓表 單片機 程控放大電路 Labview 專心-專注-專業1系統方案 在電量的測量中,電壓、電流和頻率是最基本的三個被測量,其中電壓量的測量最為經常。而且隨著電子技術的發展,更是經常需要測量高精度的電壓,所以數字電壓表就成

3、為一種必不可少的測量儀器。1.1設計原理采用STC89C51(實際為STC89C58RD+)單片機作為系統的控制單元,通過A/D轉換將被測值轉換為數字量送入單片機中 再由單片機來送顯。采用ADC0809轉換芯片,其中A/D轉換器用于實現模擬量數字量的轉換,單電源供電。它是具有8路模擬量輸入(實際只選一路),8位數字量輸出功能的A/D轉換器,轉換時間大約為100us,模擬輸入電壓范圍為0V5V。1.2系統流程該設計主要由滑動變阻器采集信號,送入信號放大模塊,實現自動切換變檔功能,變檔功能由單片機控制多路選擇開關CD4052實現不同的測量檔位;模擬信號送入A/D轉換得到的數字信號經單片機進行判斷處

4、理后,再由單片機控制共陰數碼管顯示電壓值,并通過串口上傳至abview顯示。主要由信號采集模塊、信號放大模塊、多路模擬開關、A/D轉換模塊、單片機控制模塊、智能儀器顯示模塊、數碼管顯示模塊組成。1.3模塊基本原理 (1)信號采集模塊(產生輸入信號):設計中主要采用分壓電路實現,由兩個電阻組成,一個為標稱電阻,一個為滑動變阻器,滑動變阻器接在電路以產生不同電壓。 (2)信號放大模塊:信號放大部分主要由集成運放OP07組成,構成電路的三種測量倍率,分別為:1倍、5倍、50倍,配合多路模擬開關實現不同倍率的輸出。 (3)多路模擬開關:通過單片機控制多路開關CD4052的地址位,順序循環選擇不同阻值的

5、反饋電阻來確定電路模塊的放大倍率,輸出給A/D模塊進行轉換。 (4)A/D轉換模塊:接收信號模塊產生的模擬信號由單片機控制進行適當延時,保證輸出數據顯示不會產生跳動,得到的數字信號送單片機處理。 (5)單片機模塊:此模塊為系統的控制中心,通過循環選擇多路模擬開關輸出不同倍率的模擬信號,通過控制A/D轉換得到不同倍率的數字信號,進行邏輯判斷,若得到的數據超過A/D的最大輸出量程0XFF,則認為此組數據無效,繼續進行下一倍率轉換,直到數據在A/D測量量程內,則認為此組數據為實際測量所需值。 (6)Labview顯示模塊:待單片機得到實際所需的測量值,通過串口發送到虛擬儀器,上位機界面由Labvie

6、w軟件設計,所得數據經過Labview編程處理,在界面上得到對應的電壓值。 (7)數碼管顯示模塊:待單片機得到實際所需的測量值,通過數據口將數據經過處理,發送給數碼管,從而使數碼管顯示電壓值。1.4元器件的選擇(1)集成運放在集成運放中選用OP07具有輸入偏置電流低(OP07A為±2nA)和開環增益高(對于OP07A為300V/mV)的特點,這種低失調、高開環增益的特性使得OP07特別適用于高增益的測量設備和放大傳感器的微弱信號等方面。 (2)多路模擬開關在多路模擬開關中選用OP07是因為CD4052是一個雙4選一的多路模擬選擇開關,有A、B兩個二進制控制輸入端和INH輸入,具有低導

7、通阻抗和很低的截止漏電流。符合本次設計需求。所以選擇該芯片。 (3)A/D轉換ADC0809芯片為A/D轉換芯片,在本次設計中選擇此芯片是因為AD0809轉換速率高單(通道轉換時間僅為116us)、電路簡單,易于控制;并且還帶有三態輸出鎖存器,轉換結束時,可由MCU 打開三態門,讀出8 位的轉換結果,輸出數據穩定。所以設計中選擇了該芯片。 (4)STC89C58RD+此次設計中的核心芯片選擇了51單片機系列中的STC89C58RD+,STC89C58RD+與傳統51單片機相比具有超低功耗,正常工作模式下典型功耗為47mA,空閑模式下功耗小于2mA。并且該芯片還具有超強抗干擾能力,每個I/O口都

8、對VCC和GND進行了保護措施。因此輸入電壓范圍寬,不怕電源抖動。STC89C58RD+相比于傳統的AT89C51存儲容量更大,不需另加外擴存儲器,且下載方便,用官方軟件STC-ISP即可燒錄程序,所以此次設計選擇STC89C58RD+為核心芯片。2.1 電路的仿真與分析該仿真圖由在Proteus背景下完成的,由信號采集模塊、信號放大模塊、多路模擬開關、A/D轉換模塊、單片機控制模塊、上位機顯示模塊、數碼管顯示模塊等共同構成。智能電壓表仿真如圖2.1.1所示,實際電路圖如圖2.1.2所示。圖2.1.1程控電壓表仿真圖2.1.2實際電路圖3硬件設計3.1 OP07放大電路模塊程控放大器實現多個放

9、大倍數,確保輸出電壓在05V之間,能有效輸入到ADC0809。其中R1=5K,R2=5K,R4=20K,R5=250,根據多路選擇器的A,B端的輸入,RF選擇0、R4、 R5之中的一個,為放大器的反饋電阻,從而起到改變放大器放大倍數的作用。放大倍數 A B 圖示 50 0 0 3.1.1 5 1 0 3.1.2 1 0 1 3.1.3 圖3.1.1放大50倍電路 圖3.1.2放大5倍電路圖3.1.3放大1倍電路3.2 COMPIM串口電路模塊該電路的功能是把單片機處理后的數據,經過該電路送至虛擬儀器(Labview)上顯示,使用的電平轉換芯片為Max232。串口電路如圖3.2.1 圖3.2.1

10、串口電路3.3 LED顯示電路模塊該電路是由單片機處理過的數據,進而控制共陰數碼管顯示電壓值,顯示的電壓值跟電路中所要測的電壓值相同,數據口A-G接單片機P1.0-P1.7端口。電路如圖3.3.1所示。圖3.3.1數碼管顯示電路3.4 A/D采集電路模塊A/D采集電路中包括啟動、等待、采集數據。ADC0809系列內部含有三八譯碼電路,以控制分別選通八個模擬輸入通道,首先確定ADDA、ADDB、ADDC值,選通IN0-IN7中的一路(IN0),在clock信號下降該地址鎖存在AD0809內部的地址鎖存器中,經譯碼后選通指定的模擬通道。然后在START引腳上輸出一個脈沖以啟動A/D轉換。EOC端上

11、電平在A/D轉換期間為低,轉換后變成高電平,可作為查詢中斷信號使用。A/D采集電路如圖3.4.1所示。圖3.4.1 A/D采集電路3.5 STC89C58RD+控制模塊此模塊為系統的控制中心,通過循環選擇多路模擬開關輸出不同倍率的模擬信號,通過控制A/D轉換得到不同倍率的數字信號,進行邏輯判斷,若得到的數據超過A/D的最大輸出量程,則認為此組數據無效,繼續進行下一倍率轉換,直到數據在A/D測量量程內,則認為此組數據為實際測量所需值。單片機控制模塊如圖3.5.1所示。圖3.5.1單片機控制模塊4軟件設計4.1主函數流程圖功能函數實現的功能為:先用放大50倍方式獲取電壓值,判斷是否滿量程,如果沒有

12、滿量程,則經串口發送數據到虛擬儀器,電壓值顯示在labview上。如果滿量程,到下一次條件判斷電壓值是否大于0.1V-1V,若滿足,則經5倍方式串口發送數據到虛擬儀器,電壓值顯示在labview上。如果不滿足條件,則經1倍方式串口發送數據到上位機,電壓值顯示在屏幕上。主函數流程圖如圖4.1.1所示。主函數代碼:void main() uchar i; vart_uint(); while(1) tx_voltage(); for(i=0;i<50;i+) delay(500); c=result*;p=c/;q=c/10000%10;m=c/1000%10;n=c/100%10;x=c/

13、10%10;y=c%10; xianshi(p,q,m,n,x,y); 4.2 A/D轉換函數流程圖功能函數實現的功能為:判斷放大倍數是否滿足條件,不滿足條件,轉到判斷是否滿足其他放大倍數。判斷好倍數,開始AD轉換,判斷是否AD轉換結束,若滿足AD轉換結束,計算出電壓值。A/D轉換函數流程圖如圖4.2.1所示功能函數代碼:void tx_voltage() float adc_data; CD4052_A=0; CD4052_B=0; delay(200); adc_data=read_adc0808(); if (adc_data<0XFF) result = result/50; v

14、art_tx(adc_data,50); else CD4052_A=1; CD4052_B=0; delay(200); adc_data=read_adc0808(); if(adc_data<0XFF) result = result/5.0;vart_tx(adc_data,5);else CD4052_A=0; CD4052_B=1; delay(200); adc_data=read_adc0808(); if(adc_data<0XFF) result= esult/1.07;vart_tx(adc_data,1); 4.3顯示函數顯示模塊進行位選,段選通過單片機P2

15、口顯示void xianshi(uint p,q,m,n,x,y) P20=1;P21=0;P22=0;P23=0;P24=0;P25=0; P1=LEDp;delay(25); P20=0;P21=1;P22=0;P23=0;P24=0;P25=0; P1=LEDq;delay(25); P20=0;P21=0;P22=1;P23=0;P24=0;P25=0; P1=LEDm;delay(25); P20=0;P21=0;P22=0;P23=1;P24=0;P25=0; P1=LED10;delay(25); P1=LEDn;delay(25); P20=0;P21=0;P22=0;P23=

16、0;P24=1;P25=0; P1=LEDx;delay(25); P20=0;P21=0;P22=0;P23=0;P24=0;P25=1; P1=LEDy;delay(25); P20=0;P21=0;P22=0;P23=0;P24=0;P25=0; 4.4虛擬儀器設計 虛擬儀器前面板以及程序框圖都由NI公司開發的Labview軟件設計完成,其中前面板包括了串口設置模塊、電壓當前值顯示模塊、數字電壓表圖形顯示模塊、按鍵啟動、停止控制模塊以及電壓值實時狀態圖形顯示模塊組成。虛擬儀器如圖4.3.1所示。圖4.3.1虛擬儀器 Labview由串口接收四組數據,前兩組為規定的通信數據幀頭和效驗,后兩

17、組為單片機發送的電壓值的對應的放大倍數,然后用電壓值除以放大倍數后除以255乘以5得到正確的測量值送至數字電壓表顯示模塊顯示。55.1仿真測試5.1.1放大50倍當輸入電壓為0.05V時,電壓表應該選擇第一檔,即放大50倍,串口發送數據,82/32這兩組數據分別是放大后的電壓的AD轉換值以及放大倍數,82的十進制轉換為130,130/255*5=2.55,得到放大后的電壓為2.55V,而32的10進制轉換為50,2.55/0.05=50,所以放大倍數為50倍,得到串口發送數據與實際數據相符。5.1.2放大5倍當輸入電壓為0.30V時,電壓表應該選擇第二檔,即放大5倍,串口發送數據如圖,4D/05這兩組數據分別是放大后的電壓的AD轉換值以及放大倍數,4D的十進制轉換為77,77/255*5=1.50,得到放大后的電壓為1.50V,而05的10進制轉換為5,1.50/0.30=5,所以放大倍數為5倍,得到串口發送數據與實際數據相符。5.1.3放大1倍當輸入電壓為2.00V時,電壓表應該選擇第三檔,即放大1倍,串口發送數據如圖,68/01這兩組數據分別是放大后的電壓的AD轉換值以及放大倍數,68的十進制轉換為104,104/255*5=2.00,得到放大后的電壓為2.00V,而01的10進制轉換為1,2.03/2.00=1,所以放大倍數為1倍,得到串口發送數據與

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論