一、實驗目的???????????????????????????????????????????????????????????????????????????????
1.了解晶體管PN結作為溫度傳感器的測溫原理。
2.進一步理解雙積分A/D轉換的工作原理。
3.掌握溫度檢測與控制方法。
4. 掌握基于Labview的虛擬溫度檢測與控制儀的軟件設計。
1.學習溫度檢測和控制電路的原理。
2.使用Labview,設計溫度檢測和控制的程序,要求:
(1)設計用戶界面;
(2)控制A/D轉換,測量電壓計算轉換為溫度;
(3)溫度控制到設定溫度;
(4)顯示溫度隨時間的變化曲線。
3.調試和測試溫度檢測和控制儀,記錄和分析實驗結果。
1.計算機???????????????????????????????????????? 1臺
2.SJ-8002B電子測量實驗箱???????????????????????? 1臺
3.SJ7005溫度檢測實驗板 ????????????????????????? 1塊
?? 4.1.PN結溫度二極管的測溫原理
?? 二極管的正向特性與溫度有關,溫度升高時,正向伏安特性曲線左移,規律是:溫升1℃,曲線左移(2~2.2)mV。
?
圖1 溫度對二極管伏安特性的影響
?? 4.2.溫度檢測和控制原理
溫度二極管上的電壓V輸入給ADC7109的正輸入端,另外檢測電路產生V0,輸入給ADC7109的負輸入端測量,采集ADC7109的A/D轉換后的輸出數據,即可計算出實際溫度T,它們之間的關系為:
??? T=K0-K1×(V-V0)
T為測試溫度,(V-V0)為ADC7109測量的差分電壓。經過實驗測試,取K0=71,K1=500,溫度每變化1℃,V變化0.002mv。
????????????????????????? 圖2????? 溫度檢測與控制系統原理框圖
?? 溫度自動控制原理:實驗選擇自動控制方式時,若實際溫度超過設定值,控制電路發出信號,使繼電器動作,斷開燈泡的加熱電壓,停止加熱。由于保溫盒向外散熱,盒內空氣溫度下降,當下降到低于設定值時,控制電路發出接通繼電器的信號,使燈泡通電加熱,盒內空氣溫度上升,如此周而復始的測控操作,使盒內空氣溫度維持在設定值附近。
4.3 溫度實驗板的電路原理圖
?????? ???????? ??????? ??????? ?????????? 圖3 ? 溫度實驗電路圖
4.4 雙積分A/D轉換器ICL7109工作原理和通道增益
?? 如圖4為雙積分A/D轉換器ICL7109實驗電路圖。待測模擬信號從實驗箱的外部接線端7109+和7109-輸入。
?? 7109的A/D轉換關系為:
式中, —— A/D轉換器輸入電壓;
—— A/D轉換結果的12bit數字量;
?? —— A/D轉換器外部參考輸入電壓,調節為
=2.048V;
由上式可知,若=2.048V ,則
即為以mv單位表示了
,即
??????????????????????????????? 圖4?? 雙積分式A/D轉換器7109測量電壓原理
(3) 增益選擇電路
??? 待測模擬信號經過兩級測量放大器進行信號放大,前級放大器的增益有3檔,分別為1、10、100,后級放大器的增益有4檔,分別為0.5、1、2、5,通過模擬開關CD4052選擇放大器反饋電阻,即可進行兩級放大器的增益組合選擇,設置了10檔量程: 40mV、80mV、200mV、400mV、800mV、2V、4V、8V,對應增益:×100 、× 50、× 20、×10、×5、×2、×1、×0.5。選擇的依據是輸入信號經過放大后的電壓范圍為-4V~+4V。
五、設計指導
5.1.方案設計
??? 本實驗基于“SJ8002B電子測量實驗箱”的模擬輸入通道A/D轉換和基于PC機的虛擬儀器軟件平臺(Labview)構建測量方案,實現溫度檢測和控制。其過程是7109轉換,加熱的啟動及停止控制,傳感器電壓檢測以及放大,電壓值通過計算轉換為溫度值,當前時間/溫度及初始時間/溫度值獲取。
?? (1)整個程序為循環結構,循環內部采取順序結構,依次實現系統的初始化,溫度檢測,加熱控制,溫度顯示和時間顯示。設計思路流程圖如圖5:
?
?
?
?
?
?
?
?
????????????????? 圖5 設計總流程圖???????????????????? 圖 6 溫度檢測流程圖
?? (2)溫度檢測的流程圖如圖6:
?? (3)加熱工作模式分為手動和自動兩種。加熱控制的流程圖如圖7:
?
?
?
?
?
?
?
?
? ????? ? ?????????????????????????? 圖7 加熱控制流程圖
?? (4)總的系統簡化結構如圖8所示:
?
?
?
?
????????????????????????????????? 圖8 系統設計總圖
5.2.功能與前面板界面設計
??? 虛擬溫度監控儀主要完成溫度板溫度的測量、顯示及控制。因此,在虛擬儀器界面上需有多個布爾控件,如加熱/加熱方式控制,退出選擇;同時需要數字輸入和接受控件,如溫度,電壓,實驗相關信息的輸入和測量值獲取等;以及溫度計和表格顯示控件,溢出指示。
??? 圖9為前面板設計的參考。啟動虛擬儀器labview軟件開發環境,建立新的工程文件,打開front Panel設計界面,并存儲,由界面文件自動生成相關流程圖框架。
?
?
?
?
?
?
?
?
?
?
????????????????????????????????? ???????????
?
圖9? 軟件界面
?? 本程序中需要用到的前面板控件有:
?????????????????????????????????????? 表1 前面板控件
控件類別 |
控件位置 |
控件名及作用 |
控件圖標 |
輸入控制類 |
All Controls>Numeric>Numeric Control |
起始溫度 |
|
Text Ctrls>String Control |
實驗日期 |
| |
實驗人員 |
| ||
按鍵控制類 |
All Controls>Classic Controls>Classic Boolean>Horizontal Switch |
加熱方式選擇 |
|
All Control>Classic Controls>Classic Boolean>Labeled Oblong Button |
手控/自控加熱控制 |
| |
Buttons>Stop Button |
程序退出控制 |
| |
數字顯示類 |
Num Inds>Num Indicator |
傳感器電壓/放大后電壓 |
|
Num Inds>Num Indicator |
開始時間/當前時間/經歷時間/實驗日期 |
|
指示類 |
LEDS>Round LED |
加熱狀態指示 |
|
All Controls>Numeric>Vertical Fill Slide |
溫度計指示 |
||
Graph Inds>Waveform Chart |
溫度波形變化指示 |
||
裝飾控件 |
All Controls>Decorations |
美觀 |
5.3.動態鏈接庫調用
?? 本程序設計的主要實現已經做成底層fp函數(用Labwindows/CVI實現),在程序實現時可直接調用實驗箱提供的驅動函數動態鏈接(即.dll函數),驅動函數I原型及常數和變量在t_control.prj中,因此,程序設計時,應加入動態鏈接t_control.dll。另外,本程序調用了兩個個Labview自帶的時間函數:獲取當前日期/時間:All Controls>Time&Diaglogue>Get Date/Time String;計算經歷時間:All Controls>Time&Dialogue>Elapsed Time。實現溫度檢測及控制的驅動函數如下表:
?????????? ?????? ???????? ??????? ???? 表2? 動態鏈接調用
序號 |
fp函數 |
實現功能 |
輸入參數 |
輸出參數 |
返回值 |
動態鏈接圖標 |
1 |
void __stdcall epp_init(void) |
初始化EPP接口 |
無 |
無 |
無 |
|
2 |
int__stdcall epp_read_check (void) |
EPP讀數檢查 |
無 |
無 |
0:EPP可正常讀數;1:EPP不能讀數 |
|
3 |
int __stdcall run_7109 ( unsigned char m_what, unsigned char gain_cw,double vref, double *rult) |
運行7109,實現7109的讀數及轉化 |
m_what:測試對象 |
rult:測量結果 |
0:讀數有效;2:讀數無效,正溢出;3:讀數無效,負溢出;4: EPP不能讀數 |
|
4 |
void __stdcall amp_7109 (unsigned char gain_cw, double *gain, int *showdot) |
根據量程設置增益和顯示位數 |
gain_cw: 量程控制字 |
gain:量程的增益 howdot:該量程的有效位數(V為單位,showdot為小數點后的位數) |
無 |
|
5 |
void__stdcall indicator_7109 (unsigned char gain_cw, double *indicator_gain,double *indicator_max) |
根據量程設置7109輸入增益,電壓表表最大顯示數字 |
gain_cw: 量程控制字 |
gain:量程的增益 |
無 |
|
6 |
void __stdcall start_7109 (void) |
啟動7109 |
無 |
無 |
無 |
|
7 |
int __stdcall led_display(double display_data) |
LED顯示 |
display_data:顯示數據 |
無 |
成功執行后,返回值為0 |
|
8 |
void __stdcall turn_on(unsigned char heat_cw) |
控制溫度板的燈點亮/熄滅 |
heat_cw:亮/滅控制 (加熱) |
無 |
無 |
|
動態鏈接調用舉例: int? led_display(double display_data):
? 在block panel中點擊右鍵:All functions>Advanced>Call library function node.
? ?????????????????????????????? 圖10? 動態鏈接調用界面
雙擊出現如圖11:
????????????????????????????????????? 圖11 動態鏈接調用
? 此時可根據調用函數的路徑,參數及名稱進行設置進行得到圖12:
?
?
?
?
?
?
?
?
????????????????????????????????????? 圖12 動態鏈接設置
??? 這樣就完成了動態鏈接的調用及設置。
5.4.流程圖設計
?? (1)整個程序要求由 “退出”按扭來控制程序的運行與否,因此主框架可以設計為structure中的while循環。 整個程序分為三個部分:溫度測量,加熱控制及溫度顯示,時間顯示。因此可在總循環 內部采取順序結構以實現以上功能。
? (2)溫度測量:在初始化系統以后,要測量溫度是依靠運行7109實現的。將7109測到的電壓通過溫度電壓的轉換公式溫度(℃)=71-500*電壓(mV),即可以得到當前溫度。同時取選初值作為起始溫度。注:此處需要調用兩個動態鏈接:run_7109和led_display來實現溫度的檢測及顯示。
? (3)加熱控制及溫度顯示:
?? 加熱控制實現的方式包括兩種:自動加熱方式和手動加熱方式。可以通過case結構來判斷前面板布爾量進行選擇加熱方式 “設定溫度”框中填入值是要求達到的目標溫度;實驗過程中,溫度值通過“當前溫度”顯示框顯示,或者由“溫度指示”的模擬溫度計顯示。加熱過程中溫度隨時間變化的曲線可由右邊的GRAPH顯示屏顯示。“加熱狀態”指示燈的紅色代表正在加熱,白色代表停止加熱。
注意:“溫度設定”的范圍是:
???????????????????????????????? ????????????????? 表3 加熱控制
判斷控件 |
位置 |
布爾值 |
意義 |
注釋 |
加熱方式 |
左邊 |
FALSE |
自動控制方式 |
設定溫度>當前溫度時加熱啟動 |
右邊 |
TRUE |
手動控制方式 |
手動控制加熱及顯示 |
?? <1> 自動加熱:
?? 自動加熱方式時,當“自控開始”按下,且設定溫度<當前溫度:啟動加熱,并將當前溫度送到顯示。
?? 自動加熱方式時,當“自控開始”按下,但設定溫度〈當前溫度,加熱停止,但溫度仍然送顯示。直到當前溫度〈當前溫度,重復上一步,再次加熱。如此循環。
?? 自動加熱方式時,當“自控結束”按下,停止加熱,溫度值不再送顯。
?? <2> 手動加熱:與自動加熱方式相同的是,手動方式也需判斷“手控開始”按下與否,但手動方式中不用判斷當前溫度與設定溫度之間的關系。
?? 手動加熱方式中,當“手控開始”按下時,即開始加熱,并將當前溫度送顯。
手動加熱方式中,當“手控停止”按下時,停止加熱,但溫度仍然送顯。
? (3)時間顯示:本程序最后一個步驟是將當前時間與初始時間送顯。基于LavVIEW自身強大的功能,我們可以通過調用后面板中 AllFunctions>Time&Dialogue>Elapsed Time來實現。
?六、測試和調試
? 6.1.硬件連線
? 硬件連線如圖16。在開電源前插卡和連線:
??????????????????? 圖13 溫度檢測與控制實驗硬件連線圖
- 將溫度檢測實驗板插在J001位置;
- 連接溫度檢測實驗板電源接口J2和電子測量實驗箱左上角的JP004的AC 9V;
- 連通實驗箱和計算機EPP并行接口。
- 跳線S101向左邊(連接到DC-)。
6.2.程序功能檢查
? (1)溫度測量檢查: 運行程序,不加熱,這時測量的溫度值為室溫,左上角顯示的“傳感器電壓”范圍在0.09V~0.13V之間,顯示的放大后電壓=5×傳感器電壓。
?(2)加熱控制檢查
?? 手控方式時,點擊“手控加熱”,燈泡點亮,溫度上升;關閉“手控加熱”,燈泡滅,溫度下降。
?? 自控方式時,點擊“自控開始”,當設定溫度>當前溫度時,燈泡點亮,溫度上升;當設定溫度≤當前溫度時,燈泡滅,溫度下降。
6.3 溫度檢測與控制實驗
表4? 自動加熱溫度檢測實驗板的數據記錄表
實驗人員 |
? |
設定溫度(℃) |
40 |
室溫(℃) |
? |
實驗日期 |
? | ||||||||||||
時間(S) |
0 |
10 |
20 |
30 |
40 |
50 |
60 |
70 |
80 |
90 |
100 |
110 |
120 | ||||||
溫度(℃) |
? |
? |
? |
? |
? |
? |
? |
? |
? |
? |
? |
? |
? | ||||||
時間(S) |
130 |
140 |
150 |
160 |
170 |
180 |
190 |
200 |
210 |
220 |
230 |
240 |
250 | ||||||
溫度(℃) |
? |
? |
? |
? |
? |
? |
? |
? |
? |
? |
? |
? |
? |
由表4的數據和程序記錄的溫度-時間曲線,計算出溫度的上升時間、穩定時間、穩定度、超調量。
附:溫度檢測實驗板溫度校正方法
評論