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

?

基于USB的LabvieW溫度監(jiān)測系統(tǒng)設計

2020-07-04 02:13劉玉玲
電腦知識與技術 2020年13期
關鍵詞:單片機

劉玉玲

摘要:以Labview、單片機和DSl8820為核心,設計了一款溫度監(jiān)測系統(tǒng)。該系統(tǒng)通過DSl8820溫度傳感器采集溫度信號,經(jīng)單片機的串口轉USB,再由USB接口將信號發(fā)送Labview,可以實現(xiàn)溫度的實時采集、處理、顯示及報警,同時在Lab-view中可設置溫度的上下限,查看溫度曲線以及調(diào)出歷史數(shù)據(jù)等功能。該系統(tǒng)的下位機采用的是單片機最小系統(tǒng),外加溫度傳感器,串口轉USB模塊,上位機采用的是NI公司的一款圖形化編程軟件Labview,整體簡單易行,卻很好地實現(xiàn)了溫度的監(jiān)測功能。設計中,可更換傳感器實現(xiàn)不同參數(shù)的監(jiān)測,如濕度監(jiān)測、粉塵監(jiān)測、煙霧監(jiān)測等,使得該系統(tǒng)可以應用到各種不同的場合。

關鍵詞:Labview;單片機;USB

中圖分類號:TP391 文獻標識碼:A

文章編號:1009-3044(2020)13-0007-04

在很多場合,溫度的變化對生產(chǎn)或生活都會產(chǎn)生極大的影響,比如智能溫室大棚、多個機臺設備的生產(chǎn)車間、名貴魚的魚缸等,溫度恒定是保證產(chǎn)品質(zhì)量的重要前提,因此溫度數(shù)據(jù)的采集和監(jiān)測意義重大。

本監(jiān)測系統(tǒng)可以對監(jiān)測場所的溫度數(shù)據(jù)實時采集,繪制溫度曲線,當溫度高于上限或低于下限均可實現(xiàn)報警,并可以查看相關的歷史數(shù)據(jù)。整個系統(tǒng)成本較低,非常適合學生在實驗室中設計開發(fā)。

1系統(tǒng)的硬件部分

系統(tǒng)的硬件由溫度傳感器DS18820、51單片機AT89S51、USB轉接芯片CH340組成,其硬件框圖如圖1所示。數(shù)字溫度傳感器可將溫度值直接轉換成數(shù)字量發(fā)送至單片機,單片機對該溫度信號進行處理后,通過串口轉USB的轉接芯片將數(shù)據(jù)送至計算機,計算機的Labview軟件處理后以人機界面的窗口形式,直觀地展示數(shù)據(jù)曲線。

1.1溫度傳感器DSl8820

DSl8820是一款常用的溫度傳感器,它的優(yōu)勢是低功耗、抗干擾能力強的單總線數(shù)字溫度傳感器,該傳感器在使用過程中無需外加AD。從DS18820到主控芯片僅連接一條線,硬件電路簡單,而且每個DS18820有唯一的系列號,因此多個可以存在于同一條單線總線上,有利于系統(tǒng)后續(xù)拓展成多路的溫度監(jiān)測。

DS18820提供9位溫度讀數(shù),測量范圍是-55°C至125°C,增量值位0.5℃。

1.2單片機AT89S51

系統(tǒng)的主控芯片選用了AT89S51,此單片機功能簡單、價格低廉,單片機有4K的片內(nèi)程序存儲器,可以外擴至64K,128B片內(nèi)數(shù)據(jù)存儲器,64K片外數(shù)據(jù)存儲器,AT89S51支持在線編程下載,極大地方便了調(diào)試。

1.3串口轉USB接口模塊

由于目前大部分筆記本電腦未配置串口,故需要將串口信號轉換成更為通用的USB接口信號,選用的芯片是CH340。CH340是USB總線轉接芯片,可以實現(xiàn)USB轉串口、IrDA紅外或打印口。芯片內(nèi)置了USB上拉電阻、復位電路,內(nèi)置了獨立的收發(fā)緩沖區(qū),支持單工、半雙工或者全雙工異步串行通訊。

2系統(tǒng)的軟件部分

2.1下位機軟件

系統(tǒng)軟件的編寫是在Keil uVision4的集成開發(fā)環(huán)境下,用C語言編寫的,整個軟件實現(xiàn)了硬件初始化、溫度采集、數(shù)據(jù)轉換、上下位機通信4個模塊。系統(tǒng)的主程序流程圖如圖2所示。

2.2上位機軟件

上位機使用虛擬儀器完成溫度數(shù)據(jù)的讀取、轉換和處理,溫度上下限的設置,實時曲線圖的繪制,歷史曲線的查看。Labview虛擬儀器程序由前面板和程序框圖構成,前面板是人機交互界面,用來輸入輸出,程序框圖是用戶以框圖的形式編制的代碼。

1)上位機的前面板

系統(tǒng)上位機前面板如圖3所示,包括三個數(shù)據(jù)輸入控件,用來輸入VISA資源端口名稱以及上下限溫度;兩個布爾量的圓形指示燈,當溫度超過上下限時,相應指示燈點亮;一個溫度值顯示的儀表控件,可以更加直觀讀取當前溫度值;三個數(shù)值顯示控件,分別顯示接收數(shù)據(jù)的字符型、數(shù)值型和接收數(shù)據(jù)的長度;兩個布爾量的開關按鈕,一個控制采集數(shù)據(jù)的啟停,一個退出整個監(jiān)測界面;一個波形圖表的圖形顯示控件,顯示當前采集溫度的實時曲線。

2)串口通信模塊

上位機框圖中所采用的串口是NI_VISA串口Serial函數(shù)來訪問和控制串口的,VISA(Virtual Instrument Software Architec-ture,簡稱為“Visa”)為虛擬儀器軟件結構。函數(shù)的打開如圖4所示,程序框圖面板a儀器I/Oa串口。串口函數(shù)常用的四個子函數(shù)分別為:VISA配置串口、VISA寫入、VISA讀取、VISA關閉。VISA配置串口是完成串口參數(shù)的初始化設置,包括串口資源的名稱、波特率、數(shù)據(jù)比特、奇偶校驗、停止位等,停止位的典型值是1、1.5、2位,但在初始化時停止位的輸人應配置成10、15、20。

VISA讀取子函數(shù)是每次從串口讀取一定字節(jié)數(shù)的數(shù)據(jù),VISA關閉子函數(shù)是當程序停止前,把使用的串口設備關閉,若不關閉,該串口就一直被占用。

在設計串口時,應最先安裝VISA驅動,該驅動并不在軟件安裝程序中,若不安裝,前面板運行時,串口資源名稱無法從下拉框獲取,程序無法運行。安裝成功后,下拉框就可以看到相應的COM口。

3)數(shù)據(jù)采集處理模塊

該模塊將單片機的數(shù)據(jù)進行采集和處理,以便實時顯示。VISA讀取子函數(shù)中左邊輸入有個VISA的字節(jié)總數(shù),如圖5所示,因此在讀取前必須指定這個個數(shù)。VISA讀取函數(shù)的“讀取字節(jié)數(shù)”的輸入端口設置十分必要,在串口通信中,如果當前緩沖區(qū)的數(shù)據(jù)量小于指定的字節(jié)數(shù),程序會一直停在VISA讀取上,在超時的時間(默認是10秒)內(nèi)無法滿足數(shù)據(jù)量時,程序會“Time out”如果超時時間設置過長,有可能導致程序停止在VISA讀取這個節(jié)點上。

使用“Bytes at Port”串口的屬性節(jié)點,可以很好地解決以上問題。在儀器I/O子面板下,如圖6所示,程序框圖面板a儀器I/O&VISA&高級VISA&VISA屬性節(jié)點5Serial Setting&Number ofBytes atSerialPort。

也可以在資源線上右鍵a創(chuàng)建aInstr類的屬性aSerial Set-tings&Number ofBytes atSerialPort,如圖7所示。

此屬性節(jié)點可以很好地把當前緩沖區(qū)字節(jié)數(shù)匹配到vI—sA讀取的“讀取字節(jié)數(shù)”這個輸入端上,緩沖數(shù)即為讀取字節(jié)數(shù),無任何等待。

目前串口的收發(fā)大致有兩種類型:一種是主動型的,即上下位機相互通信,上位機發(fā)指令,下位機響應,并返回數(shù)據(jù)給上位機;另一種是被動型,即下位機一直往上位機發(fā)送數(shù)。本系統(tǒng)采用的是被動接收,定時器設置每ls接收一次數(shù)據(jù)。

單片機發(fā)送的溫度值為6字節(jié),首字節(jié)表示正負,后五個字節(jié)表示最大三位數(shù),精度小數(shù)點后一位的溫度值,如+103.5。為了保證接收的數(shù)據(jù)幀不錯亂、不丟包,當且僅當接收數(shù)據(jù)為6個字節(jié)的數(shù)據(jù)包,系統(tǒng)才會保存和顯示。

4)顯示、報警和存儲模塊

實時顯示包括數(shù)值顯示、曲線顯示。為了使曲線的橫坐標與系統(tǒng)時間相同,需要修改波形圖表的橫坐標屬性。程序框圖如圖8所示,獲取系統(tǒng)的時間標識,按名稱解除捆綁,分別得到時、分、秒,計算((60*時)+分)*60+秒,得到曲線橫坐標的off-set,XScale.Offset最后鏈接至波形圖表。運行程序,波形圖的坐標軸顯示如圖9所示。

從VISA讀取子函數(shù)接收到的是字符型數(shù)據(jù),為了直觀顯示和畫圖,將其用十進制數(shù)字符至數(shù)值轉換,轉換成十進制數(shù)值,此數(shù)據(jù)在前面板有三種顯示方式:數(shù)值控件顯示、儀表盤顯示、曲線顯示。前面板設定溫度的上下限,比較器比較后輸出至上下限指示燈。程序框圖如圖10所示。

系統(tǒng)還可以查詢歷史溫度數(shù)據(jù),點擊圖形控件,右鍵導出數(shù)據(jù)至Excel,可查看歷史記錄。圖11是記錄的是10:51-10:52的后半分鐘內(nèi)的溫度值。與此對應的前面板監(jiān)測界面圖,如圖3所示。系統(tǒng)可保留一天的數(shù)據(jù)。更改坐標軸的offset,可以保留不同時間的數(shù)據(jù)??傮w的上位機軟件程序框圖如圖12所示。

3總結

該課題簡單易行,成本較低,適合學生在實驗室中設計開發(fā)。課題本身靈活性高,可進行相關拓展,如需檢測濕度、煙霧等信號,只需要將溫度傳感器對應的更換為濕度傳感器或煙霧傳感器;若通信距離較遠或者想擺脫線纜的束縛,可將通信方式由串口的有線傳輸改為無線通信,例如采用zigbee模塊CC2430或無線收發(fā)模塊NRF24L01。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現(xiàn)
基于單片機的層次漸變暖燈的研究
基于單片機的多功能智能插排
基于單片機的便捷式LCF測量儀
小議PLC與單片機之間的串行通信及應用
MSP430單片機在仿真中要注意的幾點問題
基于單片機的平衡控制系統(tǒng)設計
基于單片機的三維LED點陣設計
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統(tǒng)的仿真設計