甘輝,詹麗萍,呂美妮,勞梅蘭
(1.梧州學院,廣西梧州 543000;2梧州醫學高等專科學校,廣西梧州 543002)
稱重系統的應用領域非常廣泛,包括工業生產、交通運輸、醫療保健、環境監測[1]等方面。目前,國內外研究人員主要關注稱重系統在智能制造、物流管理[2]、健康監測等領域的應用研究。由于各個領域對稱重系統的要求越來越高,但是影響稱重系統的因素有很多[3],傳統的方法主要從傳感器技術、信號處理技術、系統設計優化技術等方面進行研究,由于硬件方面的研究成本高、難度大,因此從軟件方面補償稱重系統能更好地優化系統和節約成本。
為了更好地研究稱重系統在各種環境下的精度波動,以整個稱重系統作為研究對象,實時采集稱重系統的重量數據、溫度數據。靈活調整系統在不同環境及不同精度需求下的補償算法,進一步減小稱重系統的誤差,因此開發稱重補償系統控制界面是不錯的解決方案。
本文針對稱重系統補償的應用需求,以Qt為軟件平臺開發設計了一套通信穩定可靠,可跨平臺控制的稱重補償系統。通過系統界面,可以定時獲取稱重數據、溫度數據,可以選擇多種補償算法對稱重系統進行補償。保證稱重系統在不同的環境及不同需求下有較好的稱重精度和穩定性。
根據稱重補償系統的需求分析,在Qt軟件平臺中,搭建了模塊化控制界面。將系統界面分為四個功能模塊,其結構見圖1所示。四個功能模塊分別為通信模塊、稱重模塊、波形曲線模塊、表格顯示模塊。通信模塊作為上位機界面和下位機數據交互的核心,稱重模塊用于稱重的相關參數設定,為了方便觀察參數數據,可視化部分數據在波形曲線模塊和表格顯示模塊中。

圖1 功能模塊結構圖
通信模塊是用于控制界面與上位機數據交互的核心,整個界面的數據來源于下位機稱重采集系統,下位機會根據控制界面設置的參數按照通信協議發送數據。
通信界面如圖2所示。界面左邊主要是串口通信功能的參數設置,點擊檢測串口,在串口號中選中連接的串口,分別設置波特率為9600、數據位為8位,停止位為1 位,無校驗位[4-5]。點擊打開串口,如果串口存在,則顯示串口打開成功,否則提示失敗。接收控制功能:可以接收兩種字符格式的數據,ASCII、HEX,接收窗口顯示接收的數據。發送控制功能:與接收控制相同,可以設置兩種接收數據的格式,在發送窗口輸入數據,點擊發送數據按鈕數據就會通過串口發送出去。
通信模塊不僅能實現有線串口數據的收發,也能實現串口藍牙模塊的數據交互,使得數據采集更加靈活。通信模塊的整個界面設計為調試上、下位機數據交互提供了方便。

圖2 通信界面
稱重控制模塊,主要有幾個功能:稱重操作、標定操作、去皮操作、稱重顯示、濾波設置。稱重界面如圖3所示。
稱重操作:主要用于完成系統數據讀取和保持的操作。1)手動讀取數據:點擊一次手動讀取按鈕,系統將向下位機發送一次讀取數據指令。2)定時讀取數據:在定時串口輸入定時時間,時間單位最小為1ms,如圖設置數值為1000,再點擊定時讀取按鈕,系統將1000ms 給下位機發送一次讀取數據命令請求。3)顯示稱重:勾選顯示稱重,稱重顯示區域會定時刷新數據。4)數據存儲:勾選數據存儲,系統將會自動存儲以下數據:采集時間、實時溫度、實時重量、實時內碼、標零內碼等數據入Excel 表格中供用戶查詢,如圖4所示。
標定操作:為了保證稱重系統的精度,在使用稱重系統前要先完成標定零點、砝碼標定的工作。1)零點標定:點擊零點標定按鈕將當前稱重系統的重量值標定為0g 并記錄對應此刻重量數據的對應的模數轉換值。2)標定工作:在稱重系統中放上標準砝碼,比如2000g的砝碼,然后在界面內輸入標定砝碼的重量,該單位為g,在這里輸入2000,再點擊“砝碼標定”,系統會記錄2000g 砝碼所測量到的模數轉換器數值,最后根據標零和標定的數值重新計算得到新的稱重比例參數。
去皮操作:“去皮操作”:點擊“去皮”按鈕,將當前系統的重量設定為0g,“取消去皮”按鈕,將去皮之前的重量重新加上。
稱重顯示:主要有實時溫度、實時重量、實時內碼、零點內碼、標定內碼。1)實時溫度:顯示的是系統采集到下位機的溫度數據,單位為攝氏度,精度為0.1攝氏度。2)實時重量:顯示的是系統采集后計算得到的最終稱重重量。單位為g。3)實時內碼:稱重系統發送回來的10 進制的模數轉化器的數值,下位機模數轉換精度為24 位,數值范圍是0~16777216。4)零點內碼:顯示系統標零時,模數轉換器的數值,數值范圍是0~16777216。5) 標定內碼:顯示系統砝碼標定時,模數轉換器的數值,數值范圍是0~16777216。
濾波設置:主要功能是對稱重數據進行數字濾波,保證稱重系統的精度和穩定性。界面提供了3種稱重補償方式,均值濾波、IIR 濾波、BP神經網絡溫度補償。1)均值濾波[6]:均值濾波是常用的濾波方式,能較好地抵抗系統周期性的干擾,濾波次數越大,系統穩定性和精度也就越高,但是系統的靈敏度也就越低,要根據具體需求選擇不同的濾波系數。界面設計了濾波系數填寫,便于實際修改。勾選“均值濾波”,填寫濾波次數,實現對稱重重量的均值濾波功能。2)IIR 濾波[7]:IIR 低通濾波器能夠有效地濾除稱重系統的高頻干擾,靈敏度比均值濾波好,是稱重系統理想的濾波器。本系統設置了四階IIR 低通濾波器,濾波截止頻率為4Hz,能滿足大多數需求。勾選“IIR 濾波”,系統將對稱重原始數據進行IIR 濾波,濾波后對數據幅值會按比例減小,為了正常使用需要重新完成一次標定工作。3) BP 神經網絡濾波[8]:BP 神經網絡濾波能融合稱重系統多個環境因素進行系統補償,是稱重系統補償有效的研究方向。由于稱重系統容易受到溫度變化的影響,系統通過采集同一時刻溫度數據、重量數據,利用MATLAB 神經網絡工具進行神經網絡訓練,最后將最佳模型參數導入系統中,從而實現了稱重系統實時溫度補償。勾選“BP 神經網絡濾波”,系統將實時采集的溫度數據、稱重重量數據進行神經網絡補償。

圖3 稱重界面

圖4 數據存儲excel格式
波形顯示模塊主要用來觀察稱重系統數據走勢,可分別單獨觀察稱重數據、溫度數據的波動情況,也可以觀察同一時刻不同溫度情況下對稱重的影響。如圖5 所示,橙色為稱重數據曲線,綠色為溫度數據曲線。為了方便查看數據曲線,可以點擊“放大”按鈕觀察曲線波形細節,點擊“縮小”按鈕,可以查看更多的數據,點擊“恢復”按鈕,可以恢復到曲線1:1 的原始顯示比例。點擊“保存”按鈕:目的是保存當前曲線的圖片,系統彈出保存曲線圖片路徑對話框,用戶選擇保存路徑,填寫保存名字,選擇保存圖片類型,默認類型是png 格式。

圖5 波形顯示
數據表格。如圖6 所示為了方便用戶觀察數據:該功能將采用表格顯示4 類參數:當前溫度、補充前重量、補償后重量、稱重誤差。系統設置了15 行、4 列的表格用來顯示最近15 個時間節點的數據,如果超過15 行,系統會從第一行開始重新覆蓋數據。

圖6 數據表格界面
系統界面主要功能運行流程如圖7 所示,根據系統設定的定時時間,向下位機發送讀取數據指令,等待下位機發送回來的數據包,解釋數據包,然后根據選定的濾波補償功能,對數據進行處理,最后顯示在指定區域,或存儲數據到Excel表格中。

圖7 整體界面流程圖
本文設計了基于QT 的稱重補償系統界面,描述了界面的相關布局和功能模塊,特別對稱重模塊進行了詳細說明,為研究稱重系統補償提供了可視化的操作平臺,結合多種濾波算法供選擇使得稱重補償能高效滿足各種需求。本文的設計后期還會加入各種濾波算法的訓練,動態選擇最優算法參數,進一步提高系統的實用性。