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