陳國杰,吳 靜,傘吉強
(遼寧工業大學 電氣工程學院, 遼寧 錦州 121001)
直流電壓、電流信號在工業自動化控制、測控及儀器儀表、各高校實驗室、研究所、電子測量等領域使用頻非常廣泛[1]。直流信號多數范圍在0~10 V,0~100 mV,0~20 mA[2]。市面上針對這些常用的直流信號源分為兩個極端:高檔的在萬元以上,低檔的精度不高,售價也在千元左右而且綜合直流電壓、電流源的少見,操作方式大多是電位器旋轉調整模式。在各高校實驗室一般不配備或少量配備[3]。直流信號在很多應用場合特別是大學實驗室多數用穩壓電源和一些外圍電子器件搭配來獲得,這樣的直流信號準確度、負載能力、穩定度低,操作還繁瑣。基于上述等利用價位低廉、通用MCS-51系列的8 bit單片機、8 bit數模轉換D/A電路、專用鍵盤顯示電路8279等成功研制了準確度高(可達0.05%)、操作方便、穩定度及負載能力較高的數字式直流信號源。
數字式直流信號源由8 bit單片機AT89S55為CPU。AT89S55內置有20 KByte可串行下載Flash存儲器、256 Byte片內RAM、4個8 bit的雙向可尋址I/O口,一個全雙工UART的串行接口、3個16 bit的定時器/計數器、多個優先級的嵌套中斷結構,以及一個片內振蕩器和時鐘電路[4],AT89S55與2片8 bit D/A芯片DAC0832、8279可編程鍵盤顯示器接口電路、精密電源電路、V/I轉換電路、供電電源等構成。工作原理為:在CPU的控制下,將需要輸出的直流電壓或直流電流值經過鍵盤操作在LED數碼管上顯示,按直流電壓、電流輸出功能鍵后經過CPU內部軟件判斷、計算、修正后控制2片DAC0832轉換為16 bit D/A輸出、精密加法放大器及直流分壓電路組成的電路輸出直流0~10 V電壓,V/I轉換電路輸出0~20 mA。輸出電壓、電流信號在數字式直流信號源前面板輸出。實際電路原理圖如圖1所示。

圖1 數字式直流信號源原理圖
數字式直流信號源供電電源是整個電路的基礎,選取合適的供電電壓滿足內部電路的要求。3端集成穩壓器是在分立元件的串聯型直流穩壓電路的基礎發展起來的,它的內部電路是由基準電壓源、比較放大器、調整電路、采樣電路和保護電路等部分組成。它具有體積小,使用調整方便,性能穩定,而且成本低的特點[5]。本信號源的電源選用3端集成穩壓電源MC7805、MC7818、MC7918、MC7815、MC7915。數字電路部分是+5 V供電。由于D/A芯片DAC0832的輸出電壓是-5 V,運算放大器電路需要±15 V電源供電[6]。電流部分考慮到負載能力選用+18 V供電。為了保證D/A轉換精度其基準參考電壓必須在精度、穩定度要達到0.01%,輸出5.000 V,基準參考電壓的穩定度對穩壓電源的穩定度是至關重要的。因此選擇穩定度高的LM399H作為基準電壓。LM399H工作溫度范圍是0~70 ℃,電壓穩定系數的典型值為0. 3 ×10-6/ ℃。基準參考電源用LM399H經過精密電阻分壓得到[7]。具體電源電路及參數如圖2所示。

圖2 供電電源電路
鍵盤是實現人機通信的輸入部分,是數字式操作的關鍵[8]。鍵盤顯示電路選用專用芯片8279。8279既具有按鍵處理功能,,又具有自動顯示功能。在單片機系統中應用廣泛[9]。其能自動消除鍵抖動并具有雙鍵鎖定保護功能,顯示器RAM 容量為16×8,顯示器最大配置可達16 bit LED 數碼顯示。本信號源設計5位顯示數字,2位由字符管顯示V 、mV、 mA。數字式鍵盤設計15個鍵,其中0~9為數字鍵,鍵值為00H~09H。功能鍵有小數點、V輸出、mV輸出、mA輸出、Clr清除,鍵值為0AH、0BH、0CH、0DH、0EH。具體電路如圖3所示。

圖3 鍵盤顯示電路
直流信號源產生的直流電壓是CPU控制2片8 bit D/A芯片DAC0832經過精密、低噪聲運放uA714放大后所得[10]。用8 bit低分辨率的D/A 芯片實現高分辨率16 bit D/A,顯然是一種性價比較高的方法。DAC0832 芯片是市面常見的8 bit D/A 轉換器,價格便宜,也是大家熟悉的常用芯片,是工程上應用最為廣泛和典型的數模轉換芯片[11]。2片8 bit D/A中高8 bit D/A輸出是低8 bit D/A輸出的1/256的關系,最終得到16 bit D/A輸出。實際電路如圖4。
由于直流信號源的輸出是經過鍵盤設定后經過單片機內部軟件處理后得到的,軟件部分設計主要是在Visual C + + 6. 0 的子編程環境進行程序設計的[14]。軟件設計包括主程序、鍵盤中斷子程序、2片8 bit D/A轉16 bit D/A子程序、顯示子程序等,詳細程序代碼暫不給出。圖6為主程序框圖。

圖5 V/I轉換電路

圖6 主程序框圖
鍵盤輸入規定:按大于10 V、大于20 mA輸出無效,比如按11.5 V或25 mA。大于10 mV輸出必須按0.XXX V輸出有效,如需輸出15.5 mV要按15.5 mV,小于等于10 mV輸出需要換到mV輸出端子。想要輸出的值最多只能按5個數字多按無效,如想要輸出2.555 5 V。信號源在上電或復位后顯示0.的時候可以按V檔、mV檔、mA檔輸出,輸出值為0。圖7為鍵盤中斷子程序框圖。
算法原理:DAC0832的8 bit D/A參考電壓為5.000 V,即5 000 mV,每個碼對應5 000/256=19.531 25 mV。8 bit數據范圍是00H~FFH對應0~255。16 bit D/A數據范圍是0000H~FFFFH對應0~65535。在鍵盤輸入的數據經過計算得到16 bit的數據,16 bit數據中的高8 bit轉換輸出V01、低8 bit轉換輸出V02,接在加法器反相輸入端進行加法計算。16 bit的數據轉換結果為:
V03=-(數據高8 bit轉換輸出V01+
數據低8 bit輸出V02×1/256 )=
-(V01+V02×1/256 )[15]

圖7 鍵盤中斷子程序框圖
本信號源設計最大輸出10.000 0 V,對應16 bit二進制是FFFFH即65535。每個碼對應0.655 35mV。鍵盤的設定值×0.655 35=需要輸出的16 bit數據。例如鍵盤設定2.67 V輸出,則算法是:
26 700×0.655 35=17 497.845轉換16進制=4459H,高8 bit 44H送低8 bit D/A,得到輸出44H(68)×19.531 25 mV=1 328.125 mV,低8 bit 59H送高8 bit D/A,得到輸出59H(89)×19.531 25 mV=1 738.281 25 mV。低8 bit的D/A與高8 bit的D/A進行加法放大2倍運算得到:(1 328.125+1 738.281 25/256)×2=(1 328.125+6.790)×2=2 669.830 mV。為了計算方便需要將數據進行整數計算得到。此算法是保證信號源輸出精度的關鍵所在。
根據設計的硬件電路接口低8 bit D/A和高8 bit第一級鎖存器地址為BFFFH、DFFFH。兩片8 bit D/A的D/AC 寄存器擁有一個共同的地址7FFFH。
按照上述的軟硬件設計,選用市面上的塑料外殼并加工成實際的PCB板焊接組裝成完整的數字式直流信號源如圖8所示。

圖8 數字式直流信號源實物
將研制成功的信號源通電進行測試,測試標準電壓表選用5位半FLUKE 8520A數字多用表,該表測量電壓準確度等級優于0.003%。測試數據如表1~3。

表1 直流電壓V檔輸出 V

表2 直流電壓mV檔輸出 mV

表3 直流電流mA檔輸出(采用0.01%精度100 Ω標準電阻間接測量) mA
由以上研制成功的實際信號源測試結果可見達到設計目標,準確度在0.05%以上,準確度、穩定性優良。圖9、10所示是實際測試的結果。

圖9 電壓V檔實際測試結果

圖10 電壓mV檔實際測試結果
本文對數字式直流信號源的硬件電路、軟件程序、測試結果進行了完整詳細的闡述。研制一臺數字式直流信號源,成本在幾百元人民幣,具有性價比高、操作直觀方便靈活、準確度、穩定度高等優點,適合許多應用領域,特別適用各個高校的實驗室配備,具有很高的實用和推廣價值。有條件制成便攜式前景更加廣闊。