礦用金屬探測儀系統的軟件流程中,單片機通過AD采樣讀取來自硬件電路中的信號調整電路中的輸出信號,經過轉換過的信號再進行單片機的處理。先對接收到的信號進行數字濾波的處理,也是為了去除一些低頻的干擾信號以及單片機自身可能會產生的一些隨機信號。其次在進行數字濾波之后,再對接收到的信號進行探測算法,這一步是為了提升整個金屬探測的正確率。單片機將處理后的數據同時傳送到云服務器中的數據庫以及主控板。
二、數字濾波軟件設計:
因為信號中仍然會出現干擾的低頻信號,所以從軟件的角度就是采用數字濾波的方法去除干擾。本課題選用了防脈沖干擾濾波法。該算法的流程為,先是連續采取N個數據,對這N個數據進行求平均值。將這個平均值和上次的平均值做差值,判斷這個差值是否在范圍內。當在范圍內時,將本次采樣值移入到數據表中;而不在這個范圍內時,放棄本次采樣值,將上次的采樣值移入到數據表中。在對數據表中的數據進行冒泡排序。經過排序后的數據去掉較大值和較小值,并對N-2個數據進行求平均值。末后將這個平均值作為下次比較的采樣值。
冒泡排序的算法:礦用金屬探測儀的排序采用的是冒泡排序法,因為考慮到一次采集的數據并不會很多,并且冒泡排序的穩定度是比較高的,所以采用的是冒泡排序的方式。該算法的排序原理是比較相近的兩個元素,如果頭一個元素比后一個元素要大,則交換他們的位置。同理對每一對相近的元素做同樣的操作。這樣,較大的數就會排序到末后。同理,除了末后一個元素,在對所有元素進行重復比較。繼續減少比較的元素個數,直到沒有數據需要比較為止。
三、信號探測軟件設計:
信號探測軟件的設計主要為了提高整體金屬探測的正確率,主要判斷信號的脈寬和幅值的大小來判斷是否有金屬。信號探測軟件的流程為:先連續采取10個數據,將這10個數據進行求平均值得到S1,S1先跟基準電壓進行比較?;鶞孰妷杭礊樾盘栒{整電路中的直流偏置電路所添加的電壓分量。通過對上下閾值進行多次判斷是否有金屬物體。
礦用金屬探測儀的信號探測思路為:通過判斷信號高過上閾值的脈寬和低于下閾值的脈寬同時滿足需求時,則判斷探測到金屬物體。而脈寬的時間判斷原則為連續10次平均值高過上閾值和低于下閾值,兩個同時需要滿足要求。金屬探測的輸出信號為接收線圈1#和接收線圈2#的差分信號。原因在于金屬物體穿過線圈時,先通過接收線圈1#,此時的輸出信號高過基準電壓,而當通過接受線圈2#,此時的輸出信號低于基準電壓。
上一條: 剖析強磁除鐵器程序控制的實現
下一條: 強磁除鐵器無法投入使用的檢查處理