盧志浩,吳維華,雷菊陽
(1.上海工程技術(shù)大學 機械工程學院,上海 201620;2.上海儀器儀表研究所,上海 200082)
基于LabVIEW和單片機的稱重信號采集
盧志浩1,吳維華2,雷菊陽1
(1.上海工程技術(shù)大學 機械工程學院,上海 201620;2.上海儀器儀表研究所,上海 200082)
在稱重方案設(shè)計中,為了避免單片機和PC機通信時必須采用串口線連接或USB轉(zhuǎn)串口線連接的弊端,并且更好的適應(yīng)USB接口正逐步成為PC機的標準接口這一大的趨勢的要求。同時克服單片機的處理能力有限,難以滿足控制的需求的缺點,采用處理能力強及人機交互好的PC機作為上位機,對采集到的數(shù)據(jù)進行進一步分析和處理,以達到更高的要求。方便采集信號和實時顯示信號變化,更好地實現(xiàn)稱重信號采集過程中的的人機交互界面的功能,實現(xiàn)儀器智能化。以STC89C52單片機為下位機、PC機為上位機,基于LabVIEW2014 編寫上位機軟件,通過USB數(shù)據(jù)線直接連接單片機USB口與PC機USB口,實現(xiàn)單片機與PC機的串行通信過程,使測試方便、簡潔、人性化。包括下位機STC89C52單片機的最小系統(tǒng)設(shè)計、CH340通信電路設(shè)計、下位機單片機通信的軟件設(shè)計、上位機LabVIEW2014通信的軟件設(shè)計。實現(xiàn)稱重系統(tǒng)測試信號智能化。
LabVIEW2014;USB接口;通信;CH340;VISA;STC89C52
隨著全球范圍內(nèi)各種科學技術(shù)的發(fā)展,中國工業(yè)4.0的大力倡導(dǎo),工業(yè)領(lǐng)域自動化水平的逐漸提高。特別是進入信息時代以后,數(shù)字技術(shù)與信息技術(shù)大力發(fā)展、結(jié)合,稱重行業(yè)也迎來了好的發(fā)展機遇。傳統(tǒng)的稱重計量與控制系統(tǒng)中采用模擬技術(shù)的思路正逐步向應(yīng)用數(shù)字技術(shù)與數(shù)字系統(tǒng)的方向轉(zhuǎn)變。隨著對稱重技術(shù)的要求不斷提高,稱重設(shè)備將逐漸從傳統(tǒng)的模擬式向智能化、數(shù)字化的方向發(fā)展。對衡器行業(yè)提出了電子衡器數(shù)字化、智能化的要求[1]。
LabVIEW(又稱為G語言)是一種基于數(shù)據(jù)流的圖形化編程環(huán)境[2],由美國的NI公司開發(fā)的,它使用圖標的方式來創(chuàng)建程序[3]。設(shè)計者可以自主設(shè)計儀器面板,簡化了程序設(shè)計,提高了工作效率。目前被廣泛應(yīng)用于數(shù)據(jù)采集以及工業(yè)自動化儀器控制等方面[4]。近年來在檢測和控制領(lǐng)域得到了快速發(fā)展。因其程序是圖形化的框圖形式,在人機交互等方面具有天然的優(yōu)勢,已逐漸成為上位機編程軟件的不二選擇。
單片機等外部器件與PC機常選用串口通信方式進行通信。串口通信的定義是指PC機和外部器件是以控制線、地線、數(shù)據(jù)信號線等通信線按位操作進行數(shù)據(jù)傳遞的一種通訊方式[5]。串口通信的優(yōu)點是:通訊時使用少量數(shù)據(jù)線,節(jié)約了通信的投入成本,廣泛應(yīng)用在遠距離通信中。串口通信的缺點是:與并行通信相比,其傳輸速度慢,從而傳輸效率較低。
PC機和外部儀器設(shè)備之間的連接,比較常見的硬件接口是并口、串口以及USB口[6-7]。大多數(shù)計算機硬件部分采用針式串口作為常用的與外部設(shè)備進行通信連接的接口。大多數(shù)市場上銷售的計算機(除個人筆記本電腦)均包含一個以上基于RS-232的硬件串口。串口的應(yīng)用范圍不僅如此,串口作為通用的通信協(xié)議同時也大量應(yīng)用在儀器儀表設(shè)備的通信之中;越來越多的兼容GPIB的設(shè)備也都有基于RS-232的硬件串口。串口通信協(xié)議的另一個重要應(yīng)用是可以實現(xiàn)遠程設(shè)備的數(shù)據(jù)采集、傳輸,提高儀器智能化。在PC領(lǐng)域里以RS-232、RS-485協(xié)議為代表的串口通信因其通信穩(wěn)定、抗干擾能力強及成本低等優(yōu)點被普遍應(yīng)用在工業(yè)領(lǐng)域。
實際應(yīng)用中串口通信方案采用PC機RS-232端口通過串口線和單片機串口通信,或者是單片機的USB口通過USB轉(zhuǎn)串口線與PC機RS-232d端口通信。但目前的電腦都沒有串口接口,多以USB口代替,新型單片機也逐漸淘汰老式串口接口,以USB口來代替。
本文設(shè)計了一種基于LabVIEW和單片機的稱重方案,由于目前USB接口逐步成為PC機的標準接口,在本設(shè)計中,我們選擇USB接口來完成單片機與PC之間的通信,通過通用的USB數(shù)據(jù)線進行直接單片機和計算機通信的新方法,能實時顯示數(shù)值、直觀了解信號變化。使稱重測試智能化。
基于串口通信的單片機硬件電路設(shè)計,主要有單片機STC89C52最小系統(tǒng)設(shè)計、CH340通信模塊設(shè)計。以USB轉(zhuǎn)串口的方式實現(xiàn)上位機和下位機的通信,將下位機的串口經(jīng)過USB轉(zhuǎn)串口芯片轉(zhuǎn)換成USB接口來連接上位機[8-9]。上位機通過USB連接線就可以連接下位機。CH340芯片用以實現(xiàn)USB 總線的轉(zhuǎn)接的功能,實現(xiàn)USB口轉(zhuǎn)接打印口、USB口轉(zhuǎn)接IrDA 紅外、USB口轉(zhuǎn)接串口等。 當實現(xiàn)USB口轉(zhuǎn)接串口功能時,CH340 芯片可以提供通用的MODEM聯(lián)絡(luò)信號,以便為計算機擴展異步串口,或者將傳統(tǒng)的設(shè)備串口直接升級到USB總線。所以CH340可以實現(xiàn)USB轉(zhuǎn)串口的功能[10]。PC機的TXD線和RXD線分別與單片機的TXD管腳和RXD管腳實現(xiàn)交叉連接。通信連接示意圖如圖1所示[11]。
圖1 PC 機與單片機通過USB通信的線路連接
1.1 單片機STC89C52最小系統(tǒng)設(shè)計
STC89C5單片機最小系統(tǒng)設(shè)計包括STC89C5單片機主體、晶振實現(xiàn)電路、復(fù)位實現(xiàn)電路、電源實現(xiàn)電路。設(shè)計STC89C5單片機最小系統(tǒng)電路圖如圖2所示。
圖2 單片機STC89C52最小系統(tǒng)
1.2 CH340通信電路設(shè)計
CH340通信電路如圖3所示。
圖3 CH340通信電路
PC機通過USB與單片機初次連接時,連接前,需在PC上安裝USB轉(zhuǎn)串口的CH340芯片的WINDOWS驅(qū)動程序安裝包(支持WINDOWS 98/ME/2000/XP/Server 2003/VISTA/, Server 2008/Win7/Win8 32位/64位)。通過微軟數(shù)字簽名認證技術(shù),在計算機端將USB設(shè)備仿真為標準Serial串口設(shè)備COM, 包含識別CH34X串口號及監(jiān)視CH34X設(shè)備插拔的庫)。這樣PC機才會映射出一個連接串口,并與單片機串口相連接。成功安裝USB驅(qū)動安裝完成軟件驅(qū)動后,接入USB線,兩端是一樣的,一端接入開發(fā)板USB座,另一端接入電腦USB口,接入后電腦會發(fā)現(xiàn)新硬件。通過右鍵“我的電腦”,打開設(shè)備管理器,看到設(shè)備管理器里多出了一個COM端號。
本文中的通信的實質(zhì)是串口通信的方式。通信協(xié)議按照串口通信方式設(shè)計,采用的了UART異步串行接口方案。從機的串口通信是通過單片機在Keil C51環(huán)境下編程調(diào)用UART異步串口來實現(xiàn)的。而主機的串口通信則是在LabVIEW2014環(huán)境下編程實現(xiàn)的串口程序設(shè)計。
2.1 單片機程序設(shè)計
單片機以方式1(10位異步收發(fā))進行串口工作, 定時器T1 工作在方式2(8位自動重裝定時器)。
主程序如下:
void main()
{
int16ans;
TMOD = 0x21; // 定時器1工作在方式2(自動重裝)
SCON = 0x50; // 10位uart,允許串行接受
TH1 = 0xFD;
TL1 = 0xFD;
TR1 = 1;
while (1)
{
start_temp_sensor();
delay_ms (1000); // 延時1秒
ans=read_temp();
if (ans < 0)
{
UART_Send_Byte('-');
ans = -ans;
}
UART_Send_Dat(ans);
UART_Send_Byte(' ');
UART_Send_Byte(' ');
}
}
2.2 LabVIEW程序設(shè)計
使用LabVIEW進行程序設(shè)計,主要包括程序前面板設(shè)計、框圖程序設(shè)計以及程序調(diào)試這幾個部分的內(nèi)容[12]。
2.2.1 相關(guān)控件介紹
用LabVIEW實現(xiàn)串口通信前,第一步要安裝VISA驅(qū)動,最先版VISA驅(qū)動可以從LabVIEW官網(wǎng)上免費下載。LabVIEW實現(xiàn)串口通信的方式是讀取串口和寫入串口[13-14]。本文的研究工作主要是讀取數(shù)據(jù),也就是讀取外部單片機的操作。在LabVIEW程序設(shè)計之前,首先簡單介紹下與讀取外部單片機的操作有關(guān)的控件和函數(shù)[15]。
1) VISA資源名稱
位于LabVIEW 前面板—控件選板—新式—I/O—VISA資源名稱。VISA驅(qū)動安裝完成后,連接上外部器件,在該控件下會列出新讀取的所有COM口,選擇合適的COM口,即可與外部器件連接。
2) VISA配置串口函數(shù)
位于LabVIEW程序框圖—函數(shù)選項—儀器I/O—串口—VISA配置串口,完成相關(guān)參數(shù)配置,主要參數(shù)包括數(shù)據(jù)比特、波特率、奇偶校驗等[16]。
3) VISA讀取和VISA關(guān)閉函數(shù)
VISA讀取函數(shù)位于LabVIEW程序框圖—函數(shù)選項—儀器I/O—串口—VISA讀取,從VISA資源名稱所連接的設(shè)備或接口中讀取規(guī)定數(shù)量的字節(jié),并將返回數(shù)據(jù)至讀取緩沖區(qū)。
VISA關(guān)閉函數(shù)位于LabVIEW程序框圖—函數(shù)選項—儀器I/O—串口—VISA關(guān)閉,來關(guān)閉VISA資源名稱連接的事件對象或設(shè)備會話句柄。
2.2.2 前面板設(shè)計
根據(jù)本文的設(shè)計要求,在基于LabVIEW和單片機通信的稱重信號采集方案設(shè)計的前面板的設(shè)計窗口中,通過控件選板添加數(shù)字顯示控件、儀表顯示控件、實時圖形顯示控件、指示燈控件和串口資源檢測控件。LabVIEW程序前面板設(shè)計圖如圖4所示。
圖4 LabVIEW程序前面板
2.2.3 框圖程序設(shè)計
程序設(shè)計思路:讀單片機發(fā)送給PC的十六進制數(shù)據(jù),并轉(zhuǎn)換成十進制數(shù)據(jù)。
1)串口初始化框圖程序
采用順序結(jié)構(gòu),在順序結(jié)構(gòu)Frame 0中添加串口配置函數(shù),并將VISA資源名稱函數(shù)的輸出端口與VISA串口配置函數(shù)的輸入端口“VISA資源名稱”。相關(guān)參數(shù)設(shè)置(如波特率、奇偶校驗[17]等)與單片機串口程序參數(shù)一致。Frame 0框圖程序設(shè)計如圖5所示。
圖5 LabVIEW串口初始化框圖程序
2)讀取壓力值框圖程序
在順序結(jié)構(gòu)Frame 1中添加串口字節(jié)數(shù)函數(shù)、串口讀
取函數(shù)、字符串轉(zhuǎn)字節(jié)數(shù)組函數(shù)、索引數(shù)組函數(shù)、加號函數(shù)、乘號函數(shù)、數(shù)值常量。將各個端口對應(yīng)連接,F(xiàn)rame 1框圖程序設(shè)計如圖6所示。
圖6 LabVIEW讀取壓力值框圖程序
3)LabVIEW延時框圖程序
在順序結(jié)構(gòu)Frame 2中添加時鐘函數(shù)、數(shù)值常量,將對應(yīng)端口相互連接,F(xiàn)rame 2框圖程序設(shè)計如圖7所示。
圖7 LabVIEW延時框圖程序
通過USB數(shù)據(jù)線將單片機和PC機連接好,運行程序。給壓力傳感器加壓,程序畫面將顯示溫度測量值和曲線圖。程序運行畫面如圖8所示。
圖8 Labview程序運行界面
本文介紹了利用LabVIEW2014編寫程序?qū)崿F(xiàn)單片機與計算機的USB接口之間的通信,實現(xiàn)了稱重測量的人機交互界面的設(shè)計。方便稱重數(shù)值的讀取和觀看數(shù)值變化。此方案界面美觀,實現(xiàn)起來較容易,可以很方便地運用于各種測量系統(tǒng)中。具有一定的工程實踐意義。
[1] 韋康康.高精度電子天平的研究與設(shè)計[D].杭州:杭州電子科技大學,2011.
[2] 陳樹學,劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2011.
[3] 陳雨青, 基于LabVIEW的虛擬信號發(fā)生器[D].成都:電子科技大學,2010.
[4] 陶娟娟.基于Labview的計算機與單片機的通信設(shè)計[J].《科技展望》,2015,25(36):36-36.
[5] 徐超.LabVIEW在實時測控系統(tǒng)中的應(yīng)用研究[D].重慶:重慶大學,2005.
[6] 邵鶴帥.基于LabVIEW的單片機串口通信技術(shù)的研究[J]. 科技信息, 2009,26(34):34-34.
[7] 李燕杰.虛擬信號源的研究與設(shè)計[D].石家莊:河北師范大學,2007.
[8] 黃偉.基于單片機的蜂箱蜜蜂監(jiān)測系統(tǒng)設(shè)計[J].中國測試,2014,40(2):82-85.
[9] 李殿勛.基于工業(yè)用途的單片機多功能實驗系統(tǒng)設(shè)計與分析[J].中國電子商務(wù),2013,14(6):71-71.
[10] 陳海宴.51單片機原理及應(yīng)用[M].北京:北京航空航天大學出版社,2010.
[11] 蔡共宣. 基于LabVIEW的單片機USB數(shù)據(jù)采集系統(tǒng)設(shè)計[J]. 實驗科學與技術(shù), 2010, 8(1):57-59.
[12] 江興盟.胡代弟.LabVIEW在DDS信號發(fā)生器設(shè)計中的應(yīng)用[J].校長閱刊, 2013,10(33):33-33.
[13] 武東平.基于Labview平臺秸稈沼氣氣體成分檢測系統(tǒng)的設(shè)計[J].當代農(nóng)機,2013,42(2):78-80.
[14] 董志斌.虛擬儀器技術(shù)在機械電子工程專業(yè)綜合實驗中的應(yīng)用[J].科教文匯,2013(28):59-59.
[15] 曹衛(wèi)彬. 虛擬儀器典型測控系統(tǒng)編程實踐[M]. 北京:電子工業(yè)出版社,2012.
[16] 高亞,徐秋.LabVIEW與STC89C54單片機串口通信實現(xiàn)[J].電子世界,2013,35(22):21-21.
[17] BEYON JY.LabVIEW Programming,Data Acquisitionand Analysis [M].London:Prentice Hall,2000.
Acquisition of Weighing Signal Based on LabVIEW and Single Chip Microcomputer
Lu Zhihao1, Wu Weihua2, Lei Juyang1
(1.College of Mechanical Engineering, Shanghai University of Engineering Science, Shanghai 201620, China;2.Shanghai Instrument Research Institute, Shanghai 200082, China)
In the design of weighing schemes, PCs with strong processing ability and good man-machine interaction are used as upper computer for further analysis and processing of acquired data in conformity with higher requirement, so as to avoid the disadvantage that serial port line connection or USB plus serial port line connection has to be adopted for communication between the single chip computer and PC, to adapt to the general trend of USB interface becoming standard PC interface, and to overcome the shortcoming that limited processing ability of the single chip computer cannot meet control demand. Signal acquisition and real-time display of signal change are made easier, man-machine interaction is improved in the process of weighing signal acquisition, and instrument intellectualization is realized. Upper computer software is compiled by using STC89C52 single chip computer as lower computer, PC as upper computer and LabVIEW2014 as the base. The USB port of the single chip computer and USB port of the PC are connected directly through USB data line to realize serial communication between the single chip computer and PC for simple, easy and humanized testing. Following contents are included: minimum system design for STC89C52 single chip computer as lower computer, design of CH340 communication circuit, software design for communication of lower computer (single chip computer), and software design for the communication of upper computer LabVIEW2014. In this way, testing signals are intellectualized for the weighing system.
LabVIEW2014;USB interface; communication; CH340;VISA; STC89C52
上海市科學技術(shù)委員會應(yīng)用技術(shù)專項資金項目(2013-118)
10.3969/j.issn.1000-3886.2017.01.031
TN06
A
1000-3886(2017)01-0104-03
盧志浩(1990-),男,山東成武人,碩士生,研究方向為虛擬儀器、聲表面波、嵌入式系統(tǒng)。
定稿日期: 2016-07-12