李海 王慧 趙浚堅 周志毅

摘要:紙張計數顯示裝置基于RT-Thread實時操作系統,硬件平臺采用STM32F103單片機為主控制器,以具有抗電磁干擾(EMI)架構的模塊作為電容采集傳感器,通過屏蔽雙絞線連接至兩銅極板,讀取采集的數據并進行相應判斷,應用觸摸屏和語音模塊進行狀態顯示與播報。
關鍵詞:CD4069;卡爾曼濾波;模糊算法;RT-Thread STM32
中圖分類號:TP83 文獻標識碼:A 文章編號:1007-9416(2020)06-0008-02
0 引言
紙張計數顯示裝置涉及的主要就是測頻率值,通過CD4069非門構成的非對稱式多諧振蕩器,頻率不會出現范圍跳動,相對穩定,非門構成的非對稱式多諧振蕩器的振蕩頻率理論上可以高達4M,實際我們測的話能達到2M左右,頻率越高,最后測紙數越多的時候它的區分度越好。通過主控芯實現計數功能、計時功能和頻率換算,之后進行算法編程,計算出紙張數量,最終實現人機交互,并由1602顯示[1]。
1 總體方案設計
本系統主要由電容式傳感器模塊、測量方案的論證與選擇、壓力式結構、控制系統組成,以STM32F103單片機為核心,利用單片機的計數定時功能實現頻率計數,并且采用加權平均算法,借鑒于卡爾曼濾波算法。其次,在模糊控制中有多重解模糊的方式:面積平分法、加權平均法(重心法)、平均最大隸屬度法等。根據系統的特性,我們選用平均最大隸屬度法進行解模糊運算。結合這兩個算法減小誤差,最終計算出紙張數量并送到顯示電路顯示。
2 硬件電路設計
本系統裝置系統結構框圖如圖1所示,裝置STM32模塊、電容極板(采集紙張數量模塊)、CD4069、驅動層、LCD顯示模塊組成。以STM32F103單片機作為主控芯片來完成該信標智能檢測系統。
2.1 測量和壓力式結構模塊
用放置重物壓緊,四周打定位孔用螺栓插入,使其相對面積基本保持不變。這種方式制做稍微繁瑣,但兩個極板之間的受力較為均勻,調試方便,穩定性較好[2]。
CD4069非門構成的非對稱式多諧振蕩器,頻率不會出現范圍跳動,相對穩定,非門構成的非對稱式多諧振蕩器的振蕩頻率理論上可以高達4M,實際測能達到2M左右,頻率越高,最后測紙數越多的時候它的區分度越好。
2.2 控制系統模塊
系統使用ST公司的STM32F103,STM32系列是一款基于Cortex-M3內核的中低端的32位ARM微控制器,最高工作頻率可達72MHz。內部帶有高速、高精度定時器,將其時鐘源配置為外部時鐘,就可以對外部脈沖信號進行脈沖計數,還帶有單周期乘法和硬件除法。為了保證系統的測量的精度和設計所限制時間,決定選用STM32F103單片機。
3 軟件設計
3.1 系統總體工作流程
軟件部分主要分成用戶交互設計以及數據處理算法設計,基于RT-Thread實時操作系統,利用系統的線程調度完成各個模塊的程序處理[3]。
3.2 程序設計思路
在整體軟件中,首先在觸摸屏菜單進行人機交互,進入不同的功能調用不同的控制函數與數據處理算法。程序線程調度,主要分為簡單任務以及核心算法算法任務。簡單任務為IO設備、觸摸屏、OLED屏幕、語音模塊、NB-IOT模塊等設備控制;核心控制算法任務為CD4069電容模擬值采集、卡爾曼濾波以及模糊求解最大可能性落點區間,從而得到當前紙張數量。
3.3 系統理論分析與計算
3.3.1 加權平均算法
本次設計中,軟件方面采用了加權平均算法,借鑒于卡爾曼濾波算法。根據觀察可以發現,下一秒的頻率值永遠比上一秒的頻率值更準確(在僅考慮間距的狀態下),因此可以分配給下一秒的頻率權重值更大,而上一秒的權重更小。在算法中,一共在一秒內采集5個數據(200ms定時采集一次),那么這5個數據一定有著不同的權重值。人為設定為第一秒權重為0.1;第二秒權重為0.1;第三秒權重為0.2;第四秒權重為0.3;第五秒權重為0.3,權重總和為1。那么這個新數據肯定是這五個數據的加權平均值。將新數據作為最終當前紙張的頻率值。
3.3.2 模糊算法
在模糊控制中有多重解模糊的方式:面積平分法、加權平均法(重心法)、平均最大隸屬度法等。根據系統的特性,我們選用平均最大隸屬度法進行解模糊運算。模糊推理結果為輸出論域上的模糊集,通過平均最大隸屬度法,取模糊集中具有最大隸屬度的所有點的平均值作為去模糊化的結果,由此可得到論域上的精確值[4]。
4 電路的測試結果集分析
測試數據分析:
(1)保持測試環境不變,采集50個樣本,通過MATLAB擬合出紙張頁數與傳感器原始數據的曲線關系。
(2)根據(1)中采集50個樣本,確定電容模擬值及紙張數論域,劃分模糊子集。
(3)根據(2)中劃分的模糊子集,保持測試環境不變,固定測量35張紙張,采集到的原始數據90%落入35張頁數所對應的區間[401.35,399.50]。
(4)根據(2)中劃分的模糊子集,保持測試環境不變,固定測量46張紙張,模擬值大部分落入46張頁數所對應的區間[383.6,382.7]。
分析與結論:根據上述測試數據可知,采集到的原始數據與紙張數大致呈冪函數關系,通過劃分規則控制表,確定每個區間的隸屬度,可推算出當前的紙張數量。隨著紙張數量的增加,頻率變化逐漸變小,造成紙張越過范圍后,測量誤差越大。
5 結論
本系統在完成了題目要求的同時,還增加觸摸屏進行人機交互,具有十分友善的GUI,并增加了語音提示功能。系統的穩定測量源于機械結構的創新特性,采用固定鉸鏈式抗干擾結構,確保上下極面的正對面積保持不變。整個系統的構建源于機械結構、電路設計、軟件設計的合理架構,最大亮點是基于RT-Thread實時操作系統進行線程調度,極大程度的利用了MCU的資源,使得系統響應快、穩定性高。此外,基于電容檢測的特性,增加了擴展功能以適應一些生活應用場景,包括材料識別,預先采集材料閾值,進行不同材料的區分;紙幣識別,識別不同紙幣的面額。
參考文獻
[1] 譚浩強.C程序設計[M].第2版.北京:清華大學出版社,1999.
[2] 周靜,鄭卉.C語言程序設計實例教程[M].北京:中國人民大學出版社,2011.
[3] 李良榮.現代電子設計技術:基于Multisim 7[M].北京:機械工業出版社,2015.
[4] 石偉,龍永紅.基于灰度投影法的硬板紙計數方法研究與實現[J].包裝學報,2015,25(4):47+51.