国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于LabVIEW的恒溫箱溫度顯示系統(tǒng)

2018-07-12 10:42蔣星亦時群黃州
電腦知識與技術(shù) 2018年12期
關(guān)鍵詞:傳感器

蔣星亦 時群 黃州

摘要:以低功耗的微控制器STM32為硬件核心,以LabVIEW2015為軟件開發(fā)平臺,設(shè)計了專門用于恒溫箱的溫度顯示系統(tǒng)。由DS18B20傳感器進(jìn)行溫度采集,通過RS-232串口實現(xiàn)數(shù)據(jù)傳輸,用戶可通過人機(jī)交互界面實時監(jiān)測及設(shè)置溫度。實驗結(jié)果:設(shè)定溫度為17℃,精確度為±0.5℃,系統(tǒng)運行良好,通用性較強(qiáng),具有廣泛的用途。

關(guān)鍵詞:LabVIEW;STM32 ;傳感器

中圖分類號:TP319 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)12-0277-03

Abstract: Based on the low-power microcontroller STM32 as the core of hardware, and taking LabVIEW2015 as the software development platform, a temperature display system specially designed for thermostat is designed. The temperature is collected by the DS18B20 sensor and the data transmission is realized through the RS-232 serial port. The user can monitor and set the temperature in real time through the human-computer interaction interface. The experimental results: the set temperature is 17 C, the accuracy is 0.5 degrees C, the system runs well, the versatility is strong, and it has a wide range of uses.

Key words: LabVIEW; STM32; sensors

隨著計算機(jī)現(xiàn)代檢測和電子儀器等技術(shù)高速發(fā)展,虛擬儀器成為現(xiàn)今儀器發(fā)展的主流方向,由美國國家儀器公司研發(fā)的圖形編輯軟件LabVIEW操作簡單,在數(shù)據(jù)采集和界面控制方面具有明顯優(yōu)勢。

為了方便用戶對恒溫箱溫度的實時監(jiān)測和設(shè)置,設(shè)計了一種以STM32為硬件核心,由LabVIEW軟件開發(fā)的溫度顯示系統(tǒng),并結(jié)合了多種科學(xué)技術(shù),提高溫度采集的精確度和溫度顯示的及時性。利用圖形化編程語言LabVIEW,將數(shù)據(jù)的采集、處理和顯示推動到更高的智能化水平。

1系統(tǒng)總體設(shè)計

溫度傳感器DS18B20獲取箱內(nèi)溫度數(shù)據(jù)并轉(zhuǎn)換成數(shù)字信號,STM32對信號進(jìn)行存儲和處理,再通過RS-232串行通信接口進(jìn)行上位機(jī)與下位機(jī)之間的數(shù)據(jù)傳輸。利用LabVIEW設(shè)計的用戶界面包括了登錄、溫度設(shè)置和實時溫度顯示及存儲,系統(tǒng)框圖如圖1所示。

2系統(tǒng)的硬件

2.1溫度傳感器

本系統(tǒng)選用數(shù)字溫度傳感器DS18B20,其測量原理是基于溫度系數(shù)晶振振蕩率來判斷,以確定溫度變化改變振蕩率。 DS18B20 脈沖輸入會存放在計數(shù)器 2 中。計數(shù)器1和溫度寄存器有一個基數(shù)值,計數(shù)器1會根據(jù)振蕩率的變化計數(shù),低溫度系數(shù)脈沖計數(shù)器1做減法計數(shù),溫度寄存器的值會在計數(shù)器1減到 0時加1,然后計數(shù)器1會重新開始計數(shù)并且值會被重置,這個過程中計數(shù)器2也在不斷計數(shù),當(dāng)計數(shù)器2的值為0時,測量過程結(jié)束,當(dāng)前測量的溫度數(shù)值就存放在溫度寄存器中。

2.2 STM32控制

本系統(tǒng)使用基于Cortex-M3內(nèi)核的STM32F103系列MCU,其性能高、編程簡單;該內(nèi)核基于最新的ARMv7構(gòu)架,采用Thumb-2指令集,集成了分支預(yù)測、單周期乘法、硬件除法等眾多功能。內(nèi)核的內(nèi)部數(shù)據(jù)路徑寬度為32位,寄存器寬度為32位,存儲器接口也是32位,是典型的32位處理器內(nèi)核。內(nèi)核擁有獨立的指令總線和數(shù)據(jù)總線,取指和數(shù)據(jù)訪問可同時進(jìn)行。

2.3串口通訊

本系統(tǒng)采用RS-232串口通訊接口,下位機(jī)將采集到的溫度值以一序列的位元串來一個接一個傳給上位機(jī),傳輸線少,配線簡單,傳送距離可以較遠(yuǎn)。

上位機(jī)RS-232串行接口標(biāo)準(zhǔn):在電氣特征上,RS-232采用負(fù)邏輯,要求高低2個信號間有較大的幅度,標(biāo)準(zhǔn):邏輯1為-15V~-3V左右,邏輯0為+3V~+15V左右。

在下位機(jī)上自定義RS-232通信協(xié)議的相關(guān)參數(shù):波特率、 數(shù)據(jù)位、 奇偶校驗位和停止位等,與上位機(jī)相同。

3軟件設(shè)計

3.1軟件概述

借用LabVIEW開發(fā)平臺,采用模塊化設(shè)計,分為用戶登錄、溫度顯示和溫度設(shè)置三部分。

3.2應(yīng)用方法

3.2.1程序結(jié)構(gòu)

LabVIEW 的所有編程都是使用圖形化編輯語言G 語言,其中邏輯結(jié)構(gòu)就顯得十分重要,通過不同的結(jié)構(gòu)可以實現(xiàn)不同的功能,結(jié)構(gòu)中最常用到的是事件結(jié)構(gòu)和條件結(jié)構(gòu)。事件結(jié)構(gòu)是在事件發(fā)生時實現(xiàn)條件分支,以達(dá)到處理事件的目的。如果一個事件并沒有在指定時間內(nèi)完成,事件結(jié)構(gòu)也可以執(zhí)行超時動作,超時的默認(rèn)值為-1,也就代表在不更改超時值得情況下事件永不超時。盡管事件結(jié)構(gòu)可以處理多個事件,但也不能處理一些特殊事件,例如通知事件和過濾事件。本系統(tǒng)的用戶登錄程序主要是使用了事件結(jié)構(gòu)去執(zhí)行“登錄”和“取消”按鈕的按鈕功能,并且配置了登錄超時提醒。

條件結(jié)構(gòu)就是當(dāng)系統(tǒng)滿足指定的條件時就會執(zhí)行相應(yīng)的指令,為系統(tǒng)提供了選擇條件的功能,類似C語言中的switch語句。與事件結(jié)構(gòu)相似,條件結(jié)構(gòu)雖然可以有多個條件分支但每次只能執(zhí)行單個條件分支。

3.2.2數(shù)據(jù)校對

一個系統(tǒng)的安全性是十分重要的,用戶名密碼的數(shù)據(jù)比對就是其中的一個有力途徑。數(shù)據(jù)的校對主要是通過比較函數(shù)實現(xiàn)的。數(shù)據(jù)的證明是通過比較函數(shù)實現(xiàn)的。用戶輸入用戶名和密碼和用戶名密碼已經(jīng)設(shè)置為比較元素,再通過布爾函數(shù)與函數(shù)進(jìn)行邏輯與,也就是用戶名和密碼必須同時正確才可以登錄成功進(jìn)入主檢測程序。邏輯與函數(shù)和條件結(jié)構(gòu)的選擇接線端相連接,這樣就實現(xiàn)了在用戶名密碼輸入正確進(jìn)入主檢測程序和輸入錯誤重新輸入的功能。

3.2.3 VISA虛擬串口

LabVIEW提供的VISA節(jié)點,能連接計算機(jī)與儀器,其本質(zhì)其實就是虛擬儀器下的API,通過調(diào)用底層驅(qū)動對外部儀器實現(xiàn)互通,便于實現(xiàn)對儀器的程序控制,使用簡單。

VISA配置串口:初始化所選用的串行口,所要設(shè)置的參數(shù)由VISA資源名稱(COM1)、波特率(9600)、數(shù)據(jù)比特(8)、奇偶(None)、停止位(1)。

VISA Write:將寫入緩沖區(qū)的溫度值寫入VISA資源名稱指定的COM1串行接口中。

VISA Read:從VISA資源名稱指定的COM1串行接口中讀取4個字節(jié)數(shù)據(jù),并使數(shù)據(jù)返回至讀取緩沖區(qū)。

VISA Close:關(guān)閉VISA資源名稱指定COM1串口會話句柄或事件對象。

3.2.4數(shù)據(jù)顯示

系統(tǒng)主要是依靠VISA配置串口與單片機(jī)實現(xiàn)數(shù)據(jù)通信的。當(dāng)檢測儀檢測到環(huán)境溫度數(shù)據(jù)后,單片機(jī)通過VISA串口發(fā)送數(shù)據(jù)到上位機(jī),LabVIEW通過VISA 讀取控件將采集到的數(shù)據(jù)讀取下來,然后通過字符串控件顯示出來。字符串控件主要用于字符和文本輸入和顯示,我們可以設(shè)置字符串顯示的類型,比如 16 個甚至是密碼格式,系統(tǒng)使用文本格式顯示。同時將數(shù)據(jù)保存下來,可通過 I/O 選板的相應(yīng)函數(shù)將字符串導(dǎo)出,存儲于文本文件或者是電子表格中。

3.3 界面設(shè)計

3.3.1 用戶登錄

用戶在輸入正確的賬戶和密碼后,點擊進(jìn)入系統(tǒng),則將進(jìn)入系統(tǒng)顯示界面;若賬戶和密碼錯誤,則提示重新輸入。

3.3.2系統(tǒng)界面

系統(tǒng)核心包括三部分:設(shè)定溫度和實時溫度顯示框及溫度變化曲線顯示圖,清楚地反應(yīng)溫度變化。

4性能測試分析

針對恒溫箱的溫度控制性能,采用專業(yè)的溫度記錄儀,測試波形如下。LabVIEW界面顯示結(jié)果與之相同,由此說明本系統(tǒng)運行良好,符合預(yù)期設(shè)計效果。

5總結(jié)

本設(shè)計采用STM32單片機(jī)和溫度傳感器DS18B20相結(jié)合,以LabVIEW為軟件開發(fā)平臺,設(shè)計了溫度顯示系統(tǒng)。利用溫度傳感器獲取當(dāng)前溫度數(shù)據(jù),再通過RS-232串行通信接口送入到上位機(jī),實現(xiàn)溫度的采集與實時監(jiān)測。

由于LabVIEW強(qiáng)大的圖形處理功能,人性化的操作界面,用戶可通過波形圖了解所要檢測箱內(nèi)溫度值變化趨勢,同時為提高測量精確度,在STM32其余端口外設(shè)多個溫度傳感器,實現(xiàn)多點溫度檢測。經(jīng)實際驗證,本系統(tǒng)設(shè)計具有較強(qiáng)的通用性,運行穩(wěn)定。但還無法實現(xiàn)無線傳輸和手機(jī)端控制,有待進(jìn)一步優(yōu)化。

參考文獻(xiàn):

[1] 胡仁喜,高海賓. LabVIEW2010中文版虛擬儀器從入門到精通[M].北京:機(jī)械工業(yè)出版社,2012.

[2] 侯明,付興建,吳迎年,等.基于LabVIEW VISA智能車無線調(diào)試系統(tǒng)[J].國外電子測量技術(shù),2012,31(1):67-69,88.

[3] Michael J.Pont. 時間觸發(fā)嵌入式系統(tǒng)設(shè)計模式[M]. 北京:中國電力出版社,2004.

[4] Prata S. C Primer Plus[M].5版.人民郵電出版社,2014.

[5] 姚文詳. ARM CORTEX-M3權(quán)威指南[M]. 北京航空航天大學(xué)出版社,2009.

[6] 彭剛,秦志強(qiáng). 基于ARM Cortex-M3的STM32系列嵌入式微控制器應(yīng)用實踐[M]. 北京:電子工業(yè)出版社,2011.

[7] 范書瑞,李琦,趙燕飛.Cortex-M3嵌入式處理器原理與應(yīng)用[M]. 北京:電子工業(yè)出版社,2011.

[8] 盧有亮. 基于STM32的嵌入式系統(tǒng)原理與設(shè)計[M]. 北京:機(jī)械工業(yè)出版社,2014.

[9] 劉同法,陳忠平,彭繼衛(wèi). 單片機(jī)外圍接口電路與工程實踐[M]. 北京:北京航空航天大學(xué)出版社,2008.

[11] 王永虹,徐煒,郝麗萍. STM32系列ARM Cortex-M3微控制器原理與實踐[M]. 北京:北京航空航天大學(xué)出版社,2008.

猜你喜歡
傳感器
康奈爾大學(xué)制造出可拉伸傳感器
簡述傳感器在物聯(lián)網(wǎng)中的應(yīng)用
“傳感器新聞”會帶來什么
跟蹤導(dǎo)練(三)2
光電傳感器在自動檢測和分揀中的應(yīng)用
基于擴(kuò)展卡爾曼濾波的PMSM無位置傳感器控制
庄河市| 靖远县| 阿鲁科尔沁旗| 剑河县| 铁岭市| 南投市| 兴山县| 晋宁县| 五台县| 婺源县| 阳信县| 蕲春县| 万盛区| 景洪市| 遂溪县| 泗水县| 乡宁县| 南和县| 防城港市| 长沙县| 额尔古纳市| 瓦房店市| 广灵县| 临颍县| 阿坝| 武城县| 博野县| 赤壁市| 东辽县| 会泽县| 肇源县| 全州县| 政和县| 班玛县| 呼伦贝尔市| 南乐县| 丹江口市| 六枝特区| 锦屏县| 平南县| 永新县|