數字電壓表的設計和開發(fā),已經有多種類型和款式。傳統(tǒng)的數字電壓表各有特點,它們適合在現(xiàn)場做手工測量,要完成遠程測量并要對測量數據做進一步分析處理,傳統(tǒng)數字電壓表是無法完成的。然而基于PC通信的數字電壓表,既可以完成測量數據的傳遞,又可借助PC,做測量數據的處理。所以這種類型的數字電壓表無論在功能和實際應用上,都具有傳統(tǒng)數字電壓表無法比擬的特點,這使得它的開發(fā)和應用具有良好的前景。
新型數字電壓表的整機設計
該新型數字電壓表測量電壓類型是直流,測量范圍是-5~+5V。整機電路包括:數據采集電路的單片機最小化設計、單片機與PC接口電路、單片機時鐘電路、復位電路等。下位機采用AT89S51芯片,A/D轉換采用AD678芯片。通過RS232串行口與PC進行通信,傳送所測量的直流電壓數據。整機系統(tǒng)電路如圖1所示。
數據采集電路的原理
在單片機數據采集電路的設計中,做到了電路設計的最小化,即沒用任何附加邏輯器件做接口電路,實現(xiàn)了單片機對AD678轉換芯片的操作。
AD678是一種高檔的、多功能的12位ADC,由于其內部自帶有采樣保持器、高精度參考電源、內部時鐘和三態(tài)緩沖數據輸出等部件,所以只需要很少的外部元件就可以構成完整的數據采集系統(tǒng),而且一次A/D轉換僅需要5ms。
在電路應用中,AD678采用同步工作方式,12位數字量輸出采用8位操作模式,即12位轉換數字量采用兩次讀取的方式,先讀取其高8位,再讀取其低4位。根據時序關系,在芯片選擇/CS=0時,轉換端/SC由高到低變化一次,即可啟動A/D轉換一次。再查詢轉換結束端/EOC,看轉換是否已經結束,若結束則使輸出使能/OE變低,輸出有效。12位數字量的讀取則要控制高字節(jié)有效端/HBE,先讀取高字節(jié),再讀取低字節(jié)。整個A/D操作大致如此,在實際開發(fā)應用中調整。
圖1 數字電壓表的電路圖
由于電路中采用AD678的雙極性輸入方式,輸入電壓范圍是-5~+5V,根據公式Vx=10(V)/4096*Dx,即可計算出所測電壓Vx值的大小。式中Dx為被測直流電壓轉換后的12位數字量值。
RS232接口電路的設計
AT89S51與PC的接口電路采用芯片Max232。Max232是德州儀器公司(TI)推出的一款兼容RS232標準的芯片。該器件包含2個驅動器、2個接收器和1個電壓發(fā)生器電路提供TIA/EIA-232-F電平。Max232芯片起電平轉換的功能,使單片機的TTL電平與PC的RS232電平達到匹配。
串口通信的RS232接口采用9針串口DB9,串口傳輸數據只要有接收數據針腳和發(fā)送針腳就能實現(xiàn):同一個串口的接收腳和發(fā)送腳直接用線相連,兩個串口相連或一個串口和多個串口相連。在實驗中,用定時器T1作波特率發(fā)生器,其計數初值X按以下公式計算:
波特率=*(T1的溢出率)
=*
串行通信波特率設置為1200b/s,而SMOD=1,fosc=6MHz,計算得到計數初值X=0f3H。在編程中將其裝入TL1和TH1中即可。
為了便于觀察,當每次測量電壓采集數據時,單片機有端口輸出時,用發(fā)光二極管LED指示。
軟件編程
軟件程序主要包括:下位機數據采集程序、上位機可視化界面程序、單片機與PC串口通信程序。單片機采用C51語言編程,上位機的操作顯示界面采用VC++6.0進行可視化編程。在串口通信調試過程中,借助“串口調試助手”工具,有效利用這個工具為整個系統(tǒng)提高效率。
單片機編程
下位機單片機的數據采集通信主程序流程如圖2所示、中斷子程序如圖3所示、采集子程序如圖4所示。單片機的編程仿真調試借助WAVE2000仿真器,本系統(tǒng)有集成的ISP仿真調試環(huán)境。
圖2 單片機采集通信主程序
在采集程序中,單片機的編程操作要完全符合AD678的時序規(guī)范要求,在實際開發(fā)中,要不斷加以調試。最后將下位機調試成功而生成的.bin文件固化到AT89S51的Flash單元中。
圖3 中斷服務子程序 圖4 采集子程序
人機界面編程
打開VC++6.0,建立一個基于對話框的MFC應用程序,串口通信采用MSComm控件來實現(xiàn)。其他操作此處不贅述,編程實現(xiàn)一個良好的人機界面。數字直流電壓表的操作界面如圖5所示。運行VC++6.0編程實現(xiàn)的Windows程序,整個樣機功能得以實現(xiàn)。
功能結果
根據上面所述工作原理及實施方案,在實踐中很好地實現(xiàn)了整個樣機的功能,各項指標達到了預先的設計要求。電路工作穩(wěn)定,每次測量均伴有LED發(fā)光指示,可視化界面顯示也正常。
圖5 數字電壓表的人機界面
AD678轉換精度是12位,它的分辨率為1/4096。這為整機系統(tǒng)的高精度提供了保障。為了提高測量精度,運用了AD678自帶的校準電路,這樣使其A/D轉換精度更高。在實際測量中,整機測量精度達到了0.8%。