潘春玲
?
基于樹莓派和LabVIEW的電子秤設計
潘春玲
(泉州經(jīng)貿(mào)職業(yè)技術(shù)學院 信息系,福建 泉州 362000)
提出了一種基于樹莓派和LabVIEW的電子秤設計,包括稱重硬件和LabVIEW顯示兩部分。稱重硬件包括樹莓派控制器、電阻應變式傳感器、HX711模數(shù)轉(zhuǎn)換芯片等模塊;LabVIEW可顯示物體重量、輸入物體單價、顯示總價及測量時間等信息,同時將信息記錄表單,本系統(tǒng)具有操作簡單、測量精度高、可移動性強、實時性好等優(yōu)點。
樹莓派; LabVIEW; 電子秤
由于傳統(tǒng)電子秤體積大、電線長、接線亂等問題,使得傳統(tǒng)電子秤的使用很不方便[1-2]。采用樹莓派和LabVIEW技術(shù)設計了一款新型電子秤,樹莓派和LabVIEW通過WiFi無線網(wǎng)絡以TCP/IP協(xié)議進行通信,在一定距離內(nèi)實現(xiàn)電子稱與PC上位機數(shù)據(jù)信號的傳輸,省去了傳統(tǒng)電子秤電線的長、亂等問題,使電子秤使用起來簡潔、方便。與普通電子秤相比,新型電子秤在移動稱重上擁有更好的效果,只要樹莓派和LabVIEW在同一網(wǎng)絡內(nèi),在任何地方都能夠使用電子秤,并可將數(shù)據(jù)直接傳入計算機,通過Excel軟件進行相關(guān)數(shù)據(jù)的存儲和處理。
本系統(tǒng)主要由數(shù)據(jù)采集模塊、信號處理模塊、樹莓派控制器和數(shù)據(jù)顯示模塊組成。設計框圖如圖1所示。
圖1 系統(tǒng)設計框圖
樹莓派控制器是系統(tǒng)的核心,本系統(tǒng)選用的樹莓派型號為3代B+型,此型號的樹莓派基于ARM架構(gòu),可運行LINUX操作系統(tǒng),具有有線網(wǎng)絡、無線網(wǎng)絡、藍牙等功能,其尺寸僅為:82 * 56*19.5 mm,重量50 g,具有體積小、重量低、功能齊全的優(yōu)點。并具有GPIO口和音頻輸出口,GPIO口具有若干個輸入口和輸出口。樹莓派的GPIO口上有40個接口,此40個接口中除去專用的電源與地接口,至少還有26個通用I/0口。用戶只要使用軟件編程,就可通過GPIO接口,輕松實現(xiàn)樹莓派與各類傳感器的通信。
數(shù)據(jù)采集模塊采用電阻應變式傳感器,當有重物放置其上時,傳感器會發(fā)生機械形變,根據(jù)金屬的應變效應,該傳感器能將機械形變轉(zhuǎn)化為相應電阻值的變化,從而引起電阻兩端輸出電壓的變化,該輸出電壓為一模擬電壓,須經(jīng)A/D變換后才能被樹莓派控制器處理,根據(jù)電壓的變化量進行相應換算,便可獲得物體的重量[3-4]。
為了使樹莓派能夠處理電阻應變式傳感器的輸出電壓,需要接入信號處理模塊,該模塊采用的是高精度的24位A/D轉(zhuǎn)換芯片HX711,其內(nèi)部集成了時鐘振蕩、信號放大和A/D轉(zhuǎn)換等外圍電路,芯片的控制信號由樹莓派的管腳來驅(qū)動,數(shù)據(jù)傳輸采用串口通信方式。
數(shù)據(jù)顯示模塊采用的是裝有LabVIEW軟件的PC機。LabVIEW是一種廣泛應用于工業(yè)控制、學術(shù)研究和實驗室研究的開發(fā)環(huán)境,采用圖形化編程語言,將樹莓派和LabVIEW置于同一局域網(wǎng),樹莓派控制器利用其無線模塊,通過TCP/IP協(xié)議與LabVIEW進行通信,LabVIEW可實時顯示樹莓派傳輸過來的數(shù)據(jù),實現(xiàn)了一定距離內(nèi)的數(shù)據(jù)傳輸[5]。
具體的實施過程為:首先將物體放置于電阻應變式傳感器上,使傳感器產(chǎn)生一個與重量有關(guān)的模擬電壓,該模擬電壓需經(jīng)HX711芯片進行A/D轉(zhuǎn)換,樹莓派通過驅(qū)動程序讀取HX711芯片傳輸進來的數(shù)據(jù),經(jīng)過相關(guān)的算法得出重物的重量,接著樹莓派作為服務端,LabVIEW作為客戶端,利用WiFi無線網(wǎng)絡,通過TCP/IP協(xié)議進行網(wǎng)絡通信,樹莓派將得出的數(shù)據(jù)傳輸給LabVIEW,LabVIEW上就可顯示物體的重量,用戶還可根據(jù)實際情況輸入物體的單價,利用LabVIEW的數(shù)據(jù)處理功能和文件處理功能,計算總價,并將每次測量的數(shù)據(jù)保存在Excel表格中,方便用戶過后查閱。
軟件設計包括樹莓派上的數(shù)據(jù)采集程序、數(shù)據(jù)處理程序、TCP通信服務端發(fā)送程序,以及LabVIEW上的用戶圖形界面設計,TCP/IP、電子表格等庫函數(shù)的調(diào)用。系統(tǒng)程序流程圖如圖2所示。
程序開始運行后,樹莓派首先對系統(tǒng)進行初始化設置,接著讀取HX711芯片傳過來的數(shù)據(jù),計算后得出重物的重量,為了有足夠的稱重時間和精度,設置了10次的數(shù)據(jù)采集和數(shù)據(jù)處理循環(huán)操作,最后取10次重量的平均值作為本次測量的最終結(jié)果;接著樹莓派通過無線模塊發(fā)起TCP監(jiān)聽,當接收到LabVIEW的主動連接信號后,立即發(fā)送本次測量的重量值。但由于LabVIEW使用TCP/IP協(xié)議,只支持字符串格式,因此樹莓派在發(fā)送數(shù)據(jù)之前要進行數(shù)據(jù)格式的轉(zhuǎn)換,發(fā)送結(jié)束后關(guān)閉連接。而LabVIEW端需調(diào)用TCP/IP庫函數(shù)進行網(wǎng)絡連接和數(shù)據(jù)接收,然后數(shù)據(jù)在面板上進行顯示,同時寫入Excel表格。
2.2.1.數(shù)據(jù)處理程序設計
數(shù)據(jù)處理程序流程如下:首先初始化各功能模塊,接著采集電阻應變式傳感器信號,選擇HX711芯片的放大增益,啟動其模數(shù)轉(zhuǎn)換功能,待模數(shù)轉(zhuǎn)換結(jié)束后,根據(jù)模數(shù)轉(zhuǎn)換原理,計算出物體的重量。
圖2 系統(tǒng)程序流程圖
2.2.2.服務端程序設計
服務端程序采用C語言編寫,服務端程序使用了套接字(socket)組件,該組件提供bind(),listen(),accept(),send()等函數(shù),利用該組件的函數(shù)和類定義可生成通過網(wǎng)絡通信的程序[6]。主要步驟如下:
1.創(chuàng)建socket;
2.指定主機地址和端口號,綁定socket;
3.通過listen()開始TCP監(jiān)聽,等待連接;
4.通過accept()等待LabVIEW連接;
5.連接成功,通過send()傳輸重量數(shù)據(jù);
6.數(shù)據(jù)傳輸完畢,關(guān)閉連接。
2.2.3.LabVIEW設計
在LabVIEW軟件平臺下,系統(tǒng)由前面板和后面板兩部分構(gòu)成,前面板即是用戶界面,由各種輸入控件和顯示控件組成,用于輸入數(shù)據(jù)和顯示各種測量參數(shù)[7],前面板的輸入部分包含樹莓派IP地址輸入、遠程端口輸入、單價輸入,顯示部分包含重量顯示、總計顯示以及測量的日期和時間顯示,前面板設計如圖3所示。
圖3 前面板設計
后面板也就是程序框圖,本系統(tǒng)采用層疊式順序結(jié)構(gòu),分為兩幀,第一幀為TCP通信模塊,調(diào)用了LabVIEW的TCP/IP庫函數(shù),用于接收樹莓派發(fā)送的重量數(shù)據(jù)并顯示,第二幀包括總價計算模塊、測量日期時間顯示模塊和寫入Excel表單模塊。第二幀程序流程如下:首先使用條件結(jié)構(gòu)判斷LabVIEW是否接收到數(shù)據(jù),如果條件為真,則輸入單價,進行總價計算、顯示測量日期時間,最后將重量、單價、總價、日期、時間全部轉(zhuǎn)化為字符串,按順序?qū)懭隕xcel表單。而如果條件為假,則不進行任何操作。后面板程序框圖如圖4所示。
本系統(tǒng)實現(xiàn)的功能有:測量顯示物體的重量;設置物體單價;顯示計算的總價;顯示測量的日期時間;支持將每次測量的重量、單價、總價、日期和時間記錄進Excel表格,方便用戶過后查閱。
數(shù)據(jù)采集模塊采用帶有托盤的電阻應變式傳感器,信號處理模塊采用HX711數(shù)模轉(zhuǎn)換芯片,數(shù)據(jù)顯示模塊采用的是裝有LabVIEW軟件的PC機。控制模塊采用樹莓派3代B+型。當有重物放置在托盤上時,傳感器會發(fā)生形變,結(jié)合相關(guān)模塊運轉(zhuǎn),可以在PC機上顯示測量結(jié)果(圖5)。
圖5 實際效果
為了驗證電子秤和LabVIEW通過WiFi無線網(wǎng)絡傳輸數(shù)據(jù)的可靠性,本實驗將電子秤和PC機放置在間隔分別為5 m、20 m和50 m的位置,選用50 g、200 g、500 g的標準砝碼進行測量,測量結(jié)果如表1所示。可知,5 m、20 m和50 m距離的測量結(jié)果一致,表明通過WiFi無線網(wǎng)絡,電子秤可以在一定距離內(nèi)實現(xiàn)與PC機信號數(shù)據(jù)的可靠傳輸,在實際使用場合,可解決傳統(tǒng)電子秤電線的長、亂等問題,使用更簡潔、方便。誤差均在±1%內(nèi),能很好地實現(xiàn)物體的稱重功能,滿足一般場合對測量儀器精度的要求,可應用于快遞物流、農(nóng)貿(mào)市場、醫(yī)藥化工等領域。
表1 測量結(jié)果
Tab. 1 measurement results
本設計的基于樹莓派和LabVIEW技術(shù)的電子秤,借助WiFi網(wǎng)絡,實現(xiàn)了電子秤和電腦上位機的連接;采用TCP/IP作為通信協(xié)議,數(shù)據(jù)傳輸實時性好;采用了電阻應變式傳感器,其反應靈敏、適應性強,適用范圍廣;A/D轉(zhuǎn)換器是24位的HX711芯片,其轉(zhuǎn)換精度高;LabVIEW作為數(shù)據(jù)顯示模塊,提供了豐富的輸入控件和顯示控件,可按用戶需求靈活設計人機交互界面,擴展性好,測量的數(shù)據(jù)直接寫進Excel表格,可方便地實現(xiàn)一些高級功能,如記錄/累計/平均/各種數(shù)值統(tǒng)計分析等。下一步將繼續(xù)擴展稱重的可移動性,通過LabVIEW的網(wǎng)絡服務發(fā)布共享變量,在手機上使用Data Dashboard for LabVIEW軟件來實現(xiàn)稱重。
[1] 吳玉林,方鵬斌,嚴黎華.簡易數(shù)字電子秤的設計[J].咸寧學院學報,2010,30(12):11-12.
[2] 王艷春,于曉敏,楊欣宇.便攜式電子秤的設計[J].齊齊哈爾大學學報:自然科學版,2003,19(4):44-46.
[3] 程望斌.多功能智能電子秤的設計與實現(xiàn)[J].湖南理工學院學報:自然科學版,2017,30(4):28-31.
[4] 張慧,胡志剛.電阻應變式傳感器的電子秤設計[J].常州信息職業(yè)技術(shù)學院學報,2014,13(4):17-20.
[5] 茆玉辰.基于LabVIEW的智慧實驗室的設計與實現(xiàn)[J].電腦知識與技術(shù),2017,13(16):46-48.
[6] 曾磊,張海峰,侯維巖.基于WiFi的無線測控系統(tǒng)設計與實現(xiàn)[J].電測與儀表,2011,48(7):81-83.
[7] 章蔚中,王穎.基于LabVIEW的智能電子秤設計[J].南昌水專學報,2007,26(6):67-69.
Design of Electronic Scale based on Raspberry Pie and LabVIEW
PAN Chunling
( Information Institute, Quanzhou Vocational & Technological College of Economy & Trade, Quanzhou 362000, Fujian, China )
An electronic scale design based on raspberry pie and LabVIEW is presented, including two parts: weighing hardware and LabVIEW display. The weighing hardware includes the raspberry pie controller, the resistance strain sensor, the A/D conversion chip HX711 and other modules. The LabVIEW can display the information of the weight of the object, the unit price of the object, the total price, the time and date of the display, and the form of the information. The system has a simple operation, high precision, and strong mobility, good real-time and so on.
raspberry pie, LabVIEW, electronic scale
TP368.2
A
1673-9639 (2018) 09-0054-04
2018-06-19
潘春玲(1982-),女,福建永春人,碩士,講師,研究方向:應用電子技術(shù)。
(責任編輯 田 波)(責任校對 謝 勇)