辛王毅
(上海海事大學 商船學院,上海 201306)
基于Proteus與LabVIEW的溫度測控系統(tǒng)
辛王毅
(上海海事大學 商船學院,上海 201306)
溫度是與人們生活息息相關的參數(shù),在民用設備中具有空調溫控系統(tǒng),在工業(yè)設備中具有電機測溫和發(fā)動機測溫系統(tǒng),則溫度的準確性顯得越來越重要.將Proteus軟件與LabVIEW虛擬儀器相結合,形成了一套準確的溫度測量系統(tǒng),通過RS-232串口通信,實現(xiàn)了溫度的液晶顯示與計算機數(shù)據(jù)管理功能.
虛擬儀器;串口通訊;單片機;Proteus;溫度測試
針對傳統(tǒng)測溫系統(tǒng)顯示精度較低、沒有數(shù)據(jù)管理的缺陷,本文將虛擬機與單片機相結合,通過串口通信,實現(xiàn)了溫度的液晶顯示與計算機同時顯示的功能,通過LabVIEW軟件中的寫入文本文件與讀取文本文件功能,實現(xiàn)了溫度的定時保存.
虛擬儀器在工業(yè)測控中占有重要地位,利用其可外接CAN與RS-232總線的優(yōu)勢,將單片機與虛擬儀器相結合形成一套測控系統(tǒng),通過DS18B20溫度傳感器可以實現(xiàn)環(huán)境溫度顯示與電機溫度測控功能,本文將從虛擬儀器、單片機開發(fā)與綜合測試三部分做重要介紹.
1.1虛擬儀器介紹
虛擬儀器是一種圖形化語言,它將C語言的功能用方框圖表示,被成為“G語言”,主要由前面板的人機交互和后面板的程序編寫框圖組成,前面板主要進行測量值顯示、波形圖繪制、控件操作等功能;在后面板程序框圖中主要進行串口通信建立、數(shù)據(jù)處理、數(shù)據(jù)保存等程序編寫,通過后面板的程序編寫可以實現(xiàn)前面板的功能.
1.2虛擬儀器開發(fā)
為了實現(xiàn)計算機與單片機通訊需要添加一個虛擬串口,為虛擬串口添加通信參數(shù)常量,分別為波特率、數(shù)據(jù)奇檢驗、停止位、數(shù)據(jù)位;為了連續(xù)讀取單片機的測量溫度需要添加一個while循環(huán)結構;為了判斷當按下關閉按鈕時,串口關閉,添加了一個條件判斷結構,為了實現(xiàn)虛擬儀器給單片機發(fā)送指令添加了一個數(shù)據(jù)寫入函數(shù),為了實現(xiàn)虛擬儀器接受單片機發(fā)送回來的溫度指令,添加了一個串口讀取指令函數(shù),為了以一定周期讀取溫度,添加了一個可供選擇周期的延時函數(shù),最后將通信設置函數(shù)的輸出端分別與讀字節(jié)函數(shù)輸入端、寫字節(jié)函數(shù)輸出端、關閉串口的輸入端相連,連接好的框圖程序如圖1所示.
圖1 讀取溫度程序框圖Fig.1 Block diagram of temperatare reading
2.1硬件電路設計
圖2 控制芯片硬件實物圖Fig.2 Physical map of control chip hardware
硬件電路中主芯片選用STC系列的STC89C52RC單片機,通過外部P2^7端口與溫度傳感器相連,通過單片機P1端口引腳控制液晶溫度寫入操作,液晶顯示中時序指令RS、R/W、E分別與單片機的P2^0、P2^1、P2^2相連,串口通信主要通過數(shù)據(jù)轉換芯片完成,單片機的數(shù)據(jù)接收引腳與串口中的接受引腳相連實現(xiàn)數(shù)據(jù)的接受功能,單片機的數(shù)據(jù)輸出引腳與串口中的輸出引腳相連實現(xiàn)數(shù)據(jù)的發(fā)送功能,制作好的控制芯片如圖2所示.
2.2軟件編寫
軟件編寫主要完成了傳感器控制、數(shù)據(jù)發(fā)送與1602液晶顯示等功能,在測溫控制程序中首先主芯片發(fā)送啟動溫度轉換指令,傳感器接收到主芯片的指令后將溫度的低八位與高八位發(fā)送給主芯片,然后主芯片通過計算實現(xiàn)真實溫度;數(shù)據(jù)發(fā)送是通過數(shù)據(jù)緩沖區(qū)進行的,首先主芯片將換算好的溫度值賦給SBUF緩沖區(qū),等待發(fā)送,當緩沖區(qū)為空時,單片機將換算好的溫度值通過串口發(fā)送給上位機;1602液晶顯示主要進行了液晶初始化,數(shù)據(jù)換算與寫數(shù)據(jù)操作,將溫度初始化與讀取溫度程序展示如下:
void Init_ temperature (void) //初始化ds1820
{
unsigned char flag=0;
DQ = 1; //DQ復位
選取2016年1月~2018年1月本院收治的老年功能性便秘患者80例作為研究對象,將其隨機分為兩組,各40例。其中,對照組男18例,女22例,年齡65~83歲,平均(74.88±4.19)歲,病程7~26個月,平均(15.88±5.80)月;研究組男21例,女19例,年齡65~85歲,平均(75.20±4.25)歲,病程8~27個月,平均(16.17±5.96)月。兩組患者的一般資料比較,差異無統(tǒng)計學意義(P>0.05)。
Delayns(8); //稍做延時
DQ = 0; //單片機將DQ拉低
Delayns(80); //將數(shù)據(jù)總線拉低500ns
DQ = 1; //拉高總線
Delayns(14);
flag=DQ; //短暫延時過后 如果flag=0單片機與傳感器連接正常
flag=1單片機與傳感器連接失敗
Delayns(20);
unsigned int Readds18b20(void) //讀取溫度函數(shù)
{
unsigned char a=0;
unsigned char b=0;
unsigned int c=0;
float cc=0;
Init_DS18B20();
Write_cmd(0xCC); // 不讀取傳感器序列號操作
Write_cmd(0x44); // 啟動溫度轉換
Init_DS18B20();
Write_cmd(0xCC); //不讀取傳感器序列號操作
Write_cmd(0xBE); //讀取溫度寄存器
a=ReadOChar(); //讀低8位
b=ReadOChar(); //讀高8位
c=b;clt;lt;=8;c=c|a;
cc=c*0.0625;
c= cc*10+0.5; //換算出溫度最終結果
return(c);
}
圖3 Proteus與虛擬儀器的測控系統(tǒng)仿真Fig.3 Simulation of measurement and control system of Proteus and virtual instrument
通過Kile軟件實現(xiàn)了C語言程序編寫,通過在線調試,最終生成后綴為.hex的文件,在Proteus軟件中通過Component Mode功能將51單片機、DS18B20傳感器、液晶顯示屏放置于操作區(qū),根據(jù)原理圖將線路連接好,虛擬儀器與單片機RS-232串口通信需要借助虛擬儀器串口軟件,在串口軟件中添加成對COM口,波特率的設置為9 600,虛擬儀器串口配置中選擇COM1口,在單片機的虛擬串口中選擇COM2口,波特率設置為9 600,通過DS18B20傳感器設定溫度,實現(xiàn)了溫度的液晶顯示與虛擬儀器的溫度測控功能,Proteus與虛擬儀器的測控系統(tǒng)仿真如圖3所示.
圖4 實際測試實物圖Fig.4 Physical map of actual test
根據(jù)仿真原理,制作了最終的產品,將軟件模擬與實際操作相結合,縮短了產品開發(fā)周期,測試好的測溫系統(tǒng)如圖4所示.
基于Proteus與LabVIEW的溫度測控系統(tǒng)完成了在線軟件模擬與實際測量過程,通過液晶顯示被測對象的真實溫度,通過串口通訊實現(xiàn)了溫度數(shù)據(jù)的記錄與保存功能,通過虛擬儀器的Web發(fā)布工具可以實現(xiàn)溫度的網絡共享功能,通過互聯(lián)網即可隨時觀測溫度變化.
利用仿真軟件對實驗進行了提前驗證,通過模擬與實物對照的方法,避免了實驗過程中遇到的問題,加快了產品開發(fā)周期,具有一定的借鑒作用.
[1] 辛王毅,李宇棟.基于C#與Proteus雙輪電機串口通信系統(tǒng)仿真[J].湖北民族學院學報(自然科學版),2017,35(1):59-62.
[2] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業(yè)出版社,2009:342-349.
[3] 譚浩強.C程序設計[M].北京:清華大學出版社,2010:114-120.
[4] 許維鎣,鄭榮煥.Proteus電子電路設計及仿真[M].北京:電子工業(yè)出版社,2014.
[5] 李毅,余少輝,周步洲.基于DS18B20的測溫系統(tǒng)設計[J].電子技術,2009(1):11-13.
[6] 葉挺秀,張伯堯.電工電子學[M].北京:高等教育出版社,2008:78-90.
[7] 胡翔駿.電路分析[M].北京:高等教育出版社,2016:100-106.
[8] 薛青.多功能電子鐘的設計與實現(xiàn)[J].黑龍江科技信息,2017(9):95.
[9] 孫培君.基于單片機的溫濕度測控系統(tǒng)設計[J].電子技術與軟件工程,2016(24):256-257.
[10] 張海龍.基于DS18B20的單片機測溫系統(tǒng)[J].電子制作,2016(21):25+27.
[11] 吳海濱.基于單片機控制的糧倉測溫及通風系統(tǒng)設計[J].電子測試,2016(13):28-29.
[12] 李江全.LabVIEW虛擬儀器從入門到測控應用130例[M].北京:電子工業(yè)出版社,2013:315-342.
[13] 劉小群.一種基于LabVIEW的焊接溫度監(jiān)測系統(tǒng)的設計[J].機電一體化,2016(10):45-47.
責任編輯:時凌
TemperatureMeasurementandControlSystemBasedonProteusandLabVIEW
XIN Wangyi
(College of Merchant Marine,Shanghai Maritime University,Shanghai 201306,China)
Temperature is a parameter that is closely related to people’s life,and it has become more and more important to have the accuracy of temperature in the civil equipment with air conditioning,motor temperature measurement and engine temperature measurement system in the industrial equipment.In this paper,a set of accurate temperature measurement system is formed by combining Proteus software with LabVIEW virtual instrument,which achieves the liquid crystal display of the temperature and computer data management through RS-232 serial communication.
virtual instrument; serial communication; SCM; Proteus; temperature test
2017-05-07.
國家自然科學基金項目(NSFC61403250).
辛王毅(1990-),男,碩士生,主要從事嵌入式開發(fā)的研究.
1008-8423(2017)04-0445-04
10.13501/j.cnki.42-1569/n.2017.12.020
TM33
A