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