韓春暉 梁西銀



摘? 要: 為解決傳統一卡通售飯方式弊端,提高餐廳售飯的自助化和智能化,提出一種基于ARM和WinCE平臺的稱量銷售式自助售飯系統設計方法。首先,運用傳感器、RFID、ARM、語音播放、無線WiFi等技術構建自助售飯機硬件系統;其次,在WINCE操作環境下,采用C++ 和SQL設計售飯機人機交互、數據上傳和后臺數據監管部分軟件系統;此外,為提高整機稱量性能,采用穩定識別算法對DL101傳感器模/數轉換數據進行穩定識別處理,采用最小二乘法對稱重數據進行非線性校正。測試分析表明,系統運行穩定,稱量精度高,支付便捷,操作簡單,具有較好的實用性。
關鍵詞: 自助售飯機; 稱量銷售; 人機交互; 系統設計; 數據處理; 測試分析
中圖分類號: TN603?34? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: A? ? ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)06?0043?04
Design of weighing and selling self?service rice vending machine
based on ARM and WinCE platform
HAN Chunhui, LIANG Xiyin
(College of Physics and Electronic Engineering, Northwest Normal University, Lanzhou 730070, China)
Abstract: A design method of weighing and selling self?service rice vending system based on ARM and WinCE platform is proposed, to solve the shortcomings of the traditional way of rice vending with one card and increase the self?service and intelligent restaurant sales vending. The hardware system of self?service rice vending machine is composed of the sensors, RFID, ARM, voice playing, wireless WiFi and other technologies. In the WINCE operating environment, the software systems of human?computer interaction, data uploading and background data monitoring parts of the self?service rice vending machine is designed by means of the C++ and SQL. The stable identification processing of the DL101 sensor′s analog?to?digital conversion data is performed by means of the stable identification algorithm, and the nonlinear correction of the weighting data is conducted by means of the least square method, after which the weighting performance of the whole machine is improved. The testing analyzes show that the system runs stably, and has high weighing accuracy, convenient payment and simple operation, which has a certain practicability.
Keywords: self?service rice vending machine; weighing selling; human?computer interaction; system design; data processing; testing analysis
0? 引? 言
隨著物聯網技術的發展,自助生活順勢而為,陸續出現了許多自助式的售飯機設計方案[1?9]。文獻[1?5]所提出的售餐機設計方案,效仿自助售貨機原理對不同種類的飯菜進行組合售賣,該方案按份銷售,總額收費,飯菜重量相對固定,購買者所買到的飯菜難以合乎自己的飯量,極易造成浪費。文獻[6?8]所設計的售飯機采用稱量銷售,自動化打飯設計,計量精確,提高了打飯效率,但僅適用于出售米飯,且機械設計結構較為復雜,造價較高。實地考察文獻[9]所提的自助打飯式售飯機,雖有效杜絕“阿姨手抖”人情打飯,減少浪費,節約人力資源,但僅限于校內人員刷卡消費,支付方式單一,“立柜式”售飯機,體積較大。
綜合以上考慮,本文提出了一種基于ARM和WINCE(Windows Compact Eidition)平臺的減法式稱量銷售自助售飯機系統設計方法。一飯一機,消費者自助打飯,通過微信掃碼或刷卡按飯量消費,有效杜絕人情打飯和浪費,支付便捷。售飯機通過WiFi連接后臺管理數據庫,簡化了傳統售飯系統網線布線的繁瑣,方便消費信息管理。售飯機托盤式設計,系統結構簡單,成本低廉,節省餐廳空間,增加了售飯機移動靈活性。
1? 系統基本構成
整個系統從結構層面可劃分為自助售飯機終端、網絡傳輸和后臺管理三個部分,如圖1所示。其中,售飯機終端用于用戶自助購飯、顯示消費信息、異常報警、消費查詢、獲取消費數據等,為整個系統提供數據支持;網絡傳輸部分通過WiFi模塊實現設備與網絡連接,將打包好的數據實時發送給云服務器并保存到對應數據庫中;后臺管理部分通過PC機連接云服務器,用于查詢遠程數據庫所上傳的相關信息并進行RFID卡的開戶、掛失、賬務結算、注銷等后臺監管工作。
2? 系統硬件設計
售飯機系統硬件由WiFi模塊、加熱模塊、語音模塊、主控模塊、帶觸控輸入顯示模塊、射頻讀寫模塊、稱重模塊和電源管理模塊等部分組成。
圖2為售飯機硬件結構框圖。主控模塊的中央處理器為主頻高達1 GHz的Cortex A8嵌入式ARM低功耗CPU。在本設計中主控模塊主要負責邏輯運算、數據處理和用戶指令的執行等任務,并且通過與各個模塊間的互相通信,實現系統整體的功能。稱重模塊內部包含量程0~40 kg的電阻應變式稱重傳感器和DL101模/數轉換傳感器,電阻應變式稱重傳感器受飯重作用發生彈性變形,通過內部惠斯登電橋電路完成飯重信號到電壓變量的轉換,DL101模/數轉換傳感器內置24位精度的A/D采樣模塊,可對微小的電壓變量進行放大、模/數轉換等操作,實現飯菜稱重模擬量轉換為能夠被主控制器處理的數字量。語音模塊采用MY1690?SOP16 MP3主控芯片、PAM8302A功率放大芯片和SD卡的組合設計,用于售飯提示和異常報警。WiFi模塊選用普聯技術有限公司生產的TL?WN725N微小型集成模塊,數據傳輸速度高達150 Mb/s,支持WinCE 6.0操作系統,用于售飯機聯網通信。此外,射頻讀寫模塊用于對消費者RFID卡數據信息讀取和更新,帶觸控輸入顯示模塊用于人機交互,加熱模塊和電源管理模塊分別用于飯菜的加熱及系統供電。
3? 系統軟件設計
3.1? 軟件設計總體概述
售飯機系統軟件設計主要包括基于售飯機終端的人機交互、數據上傳部分和基于后臺監管端的數據監管部分。人機交互部分用于實現售飯機系統參數設置、飯菜稱重、支付等信息采集、處理和顯示;數據上傳用于將售飯信息上傳到遠程服務器中的數據庫中;數據監管部分通過程序和數據庫進行數據傳輸,用于消費記錄的查看和售飯管理。此外,軟件開發工作是在Microsoft Visual Studio 2008編程開發環境中進行,使用的開發語言分別為適用面向對象的程序設計語言C++和方便對關系數據庫系統進行管理操作的SQL結構化查詢語言,軟件的運行環境為具有可定制性、開放性的32位嵌入式操作系統WINCE 6.0。售飯機軟件系統工作流程如圖3所示。
3.2? 觸發消費
觸發消費是依據售飯機飯菜載重的減少實現銷售重量和銷售金額等消費信息采集與計算的過程。用戶消費顯示界面如圖4a)所示。管理者可通過觸控圖4a)中“設置”選項輸入管理密碼完成“菜品”“單價”初始“銷售重量”校零等系統設置操作。“設置”操作界面如圖4b)所示。
3.3? 支付模式
用戶自助獲取飯菜后,不僅能夠通過后臺已授權的RFID卡進行刷卡支付,也可以使用微信進行掃碼支付。用戶刷卡支付界面如圖5a)所示,用戶刷卡扣費成功后,系統顯示用戶卡號和余額,此時銷售重量和銷售金額清零。當用戶采用微信支付時,點擊圖4a)中用戶消費界面“網付”按鍵,系統調用微信支付服務商所提供的API接口程序,按照微信支付的規則彈出如圖5b)所示包含消費信息的二維碼供用戶微信掃碼支付,支付完成后微信支付系統發送異步消息給自助售飯機反饋支付結果。
3.4? 數據上傳和查詢
為加強用戶消費信息查詢及后臺的監管工作,售飯機通過WiFi模塊連接到互聯網訪問遠程的服務器,將消費數據上傳到遠程服務器的數據庫中。本設計使用的服務器為騰訊云端服務器,在該服務器中安裝了 SQL Server 2008 R2 版本的數據庫開發環境,數據庫中建立了適用于后臺監管工作數據表,程序通過調用 ADO 接口連接數據庫,實現數據庫對售飯機上傳信息的實時分類存儲。以4號售飯機上傳數據為例,監管端人員通過PC機聯網查詢數據存儲情況如圖6所示。
4? 稱重算法分析
售飯機稱重原理就是把從稱重傳感器獲得的模擬信號量,通過 A/D 轉換模塊得到數字信號量并送達CPU,然后CPU通過穩定識別算法對其進行數字濾波并篩選出穩定的數字信號量,最后將這些穩定的數字信號量代入相應的稱重校準算法公式,得到載重數據。
4.1? 穩定識別算法
受打飯環境影響,高精度DL101模數轉換模塊數據輸出時不可避免地會出現抖動,這時系統需要對數據進行濾波處理,并對數據的穩定性進行識別。鑒于文獻[10]中對常用數字濾波算法優缺點的分析,本文運用去極值濾波算法思想對模/數轉換數據進行前期濾波處理,后期采用限幅濾波算法快速篩選出穩定數據,提出一種適用于售飯機系統的快速穩定識別算法。算法流程如下:
1) 連續采集DL101模塊輸出的K個數據,對這K個數據排序,去除排序隊列中的最大值和最小值,然后對剩余K-2個數據先求和再取平均,得到前期濾波處理后相對穩定的采樣數據。
2) 將上述濾波處理后數據輸入到長度為N的數據穩定判別隊列當中,將每次采集到的一個新數據放到隊列末尾,并去掉隊首的數據,實現數列的實時更新。
3) 設定一個用于判斷數據穩定的閾值,作為判斷數據是否穩定的依據。
4) 每更新一次數據,系統就將穩定判別隊列中的數據逐項作差,同時將差值與閾值進行比較,如果差值絕對值小于允許的最大偏差值,即視為本次采樣數據穩定,否則無效,待數列中的所有數據判斷完成后輸出穩定A/D轉換數據。
上述算法優點在于能有效抑制周期性干擾、隨機性脈沖干擾,避免需要占用較多運行時間的浮點運算,提高數據穩定識別速度。
4.2? 稱重校正算法
為改善稱重傳感器因受材質、工藝以及外界環境影響所存在非線性特性,需要對測量數據進行校正以提高售飯機稱重精度。在綜合考慮售飯機稱重量程、穩定性及實時性后采用最小二乘法擬合方程對稱重數據進行校正處理,核心是對經過上述穩定識別算法輸出的A/D 轉換值與實際重量關系曲線的擬合,使得測試所得數值與所擬合曲線上對應值的殘差平方和最小,算法實現如下:
1) 讓售飯機承受不同的標準重量,記錄不同重量下A/D轉換值,令A/D轉換值為自變量[x],對應實際標準重量為因變量[y],對于測量所得到的一組樣本數據([xi],[yi]),i=0,1,2,…,[m]中,設[xi]是準確的,[yi]可能含有不可避免的誤差;
2) 在線性無關的函數類Φ=span{[φ0(x)],[φ1(x)],[φ2(x)],…,[φn(x)]}中,尋找一個函數[f(x)],使其盡可能的靠近樣本點,記作:
3) 令[f(xi)-yi]為殘差,依據最小二乘法擬合原理,當其加權平方和為最小值時,[f(x)]即為樣本數據([xi],[yi])的擬合曲線,其殘差加權平方和可寫為:
通過對式(2)中[a0,a1,a2,…,an]求偏導,令其偏導為0,此時式(2)殘差加權平方和即為最小值,得到方程組:
4) 解方程組(3)得到多項式系數[a0,a1,a2,…,an],即可求得最小二乘法擬合方程[f(x)],將這個擬合方程固定到程序設計中,便可利用該方程式實現對售飯機的稱量值進行校正。
圖7為實驗測試15組稱重數據擬合前后實測重量與標準重量絕對誤差對比曲線。從圖中可以看出,經過最小二乘法擬合后數據的絕對誤差曲線的波動幅度整體明顯較小,稱重數據更為貼近真實值,有助于提高售飯機稱重的精度。
5? 結? 語
本文提出并實現了一種基于ARM和WinCE 6.0平臺稱量銷售式自助售飯機系統設計方法。該設計借助現有物聯網技術實現了售飯機自助式稱量售飯、刷卡及微信掃碼支付、上傳消費數據到云服務器等功能,有效杜絕人情打飯,減少浪費,方便后臺監管人員遠程訪問數據庫進行售飯信息的管理,降低了監管人員的勞動強度。該方案為自助式售飯機系統進一步的研究和設計做出了合理參考,具有一定的應用和推廣價值。
參考文獻
[1] 王克站.自動售餐機控制系統設計與研究[D].合肥:合肥工業大學,2017.
[2] 夏偉.基于3G網絡的自動售餐機系統設計與實現[D].長沙:中南大學,2013.
[3] 朱家誠,王克站,楊波,等.一種新型自動售餐機控制系統設計[J].裝備制造技術,2016(7):79?82.
[4] 楊波,朱家誠,王克站.一種采用集中驅動的新型自動售餐機的研制[J].機械工程與自動化,2017(1):191?193.
[5] 李海洋.基于“互聯網+”的智能售賣系統關鍵技術研究[D].鄭州:河南工業大學,2017.
[6] 常軍然,唐宏,馮新剛.全自動米飯計量售飯機創新設計與實現[J].工程設計學報,2012,19(3):231?235.
[7] 蘭興欣,楊秀峰,王文亮,等.基于SolidWorks的自動售飯機研制[J].機械工程師,2013(10):92?93.
[8] 張世昂,朱立學,陳杰煥,等.自動米飯售飯機的設計研究[J].機電產品開發與創新,2014,27(4):51?53.
[9] 路正社.高校食堂稱量銷售系統應用研究及意義:以陜西師范大學為例[J].高校后勤研究,2016(5):56?58.
[10] 王浩.車載稱重系統的研究與設計[D].西安:長安大學,2013.