魏克輝,徐帥,洪柯雯
(杭州蕭山技師學院,浙江杭州,311201)
目前市場上有一些灌裝機采用定時灌裝,這種灌裝方式準確度不高,不能滿足本設計要求。還有一種是采用稱重的方式進行灌裝,這種方式灌裝準確度高,但是稱重傳感器價格昂貴,面對多路灌裝需求布線復雜,適用性不足。本文在現有灌裝機的基礎上,根據企業要求,設計一套對六個香水瓶同時進行灌裝的自動化香水罐裝機,并且可以選擇罐裝瓶的容量,保證罐裝精度并把實時數據在數碼管上顯示出來,同時操作面板上可以實現參數的調整。
本文提出了一種基于STC15W4K64S單片機控制的六路香水灌裝機系統方案,可以實現100ml和300ml兩種不同容量精油瓶的灌裝,每一個灌裝口的灌裝精度控制在±1%。在罐裝開始前可以實現參數設置等人機交互,并使用數碼管和指示燈進行狀態和參數顯示。采用單片機控制六個蠕動泵進行灌裝,灌裝過程中非接觸式液位傳感器進行液位測量,測得信號經由單片機運算和處理,當香水灌裝完成后,單片機控制蠕動泵停止灌裝,并驅動推桿電機將推桿推出,進行人工換瓶。

圖1 系統硬件框圖
本系統包括單片機、蠕動泵驅動器、液位傳感器、電源、數碼管顯示、指示燈、輸入按鍵等部分組成。在系統中電源電路采用雙電源設計,將主控板內部供電與外部傳感器、按鍵以及數碼管指示燈等供電分開,傳感器輸入電路的設計,輸出電路的設計,獨立按鍵電路的設計都采用光電隔離,以最大限度地減少電源干擾,增加系統穩定性。
本系統中用到的STC15W4K64S系列單片機內部集成了6路各自獨立的PWM波形發生器,芯片擁有眾多的資源,包括4KB程序存儲器空間,128B隨機數據存儲空間,眾多的輸入輸出口,可以滿足本系統設計要求。本系統中存在自動模式、手動模式的選擇,在不同的模式下還有一些參數的設置,比如運行模式記憶、灌裝容量、灌裝時間、等待時間、灌裝循環次數、灌裝數量、灌裝頻率建立時間、灌裝頻率下降時間、灌裝修正頻率、灌裝修正時間、灌裝修正次數等需要斷電存儲的參數。該單片機可以提供足夠的EEPROM空間用來存儲系統中所涉及的參數。
本系統中使用的蠕動泵型號為KKTS-24B17A,步距角為1.8°,在測試中發現泵管的直徑、泵管的管壁厚度、步進電機的運動參數共同決定蠕動泵泵送液體的最小分辨率及取樣精確[1]。
在測試過程中為了保證罐裝速度和蠕動泵轉速的穩定性,綜合考慮選擇800Hz頻率作為驅動脈沖。當步距角為1.8°時,200脈沖蠕動泵旋轉一圈,所以800Hz時步進電機速度為一秒鐘轉4圈。在實際控制中為了提高控制精度,將角度細分數調節至16,在16細分下一圈的脈沖數=需走角度/步距角*細分數=360/1.8×16=3200,速度不變的情況下需要3200×4=12.8kHz頻率,所以該系統設計中PWM最大頻率采用12.8kHz頻率。頻率的不同就代表了蠕動泵的旋轉速度不同,速度不同代表香水的灌裝速度不同。

圖2 STC15W4K64S單片機
單片機發出六組獨立的時鐘脈沖信號給六臺步進電機驅動蠕動泵,從而控制六臺蠕動泵不同的灌裝速度、灌裝容量、灌裝時間、可以實現不同灌裝口的啟停單獨控制。每一路的灌裝過程都采用多段速的形式進行灌裝,減少灌裝中液位波動,提高傳感器信號的準確性,提高控制精度[2]。
本系統中采用液位傳感器作為灌裝完成的反饋信號,液位傳感器安裝在精油瓶的支撐架上面,液位傳感器型號為DSW.1002. 007A。此液位傳感器為非接觸性電容式傳感器,輸出信號為開關量信號,有信號輸出時為邏輯0,無信號時輸出為邏輯1,可以滿足灌裝完成反饋,但是準確度欠佳,在液位波動較大時,容易出現信號反復,另外當灌裝液位大于灌裝線時信號都是邏輯0。液位傳感器的使用中,外圍電路并聯一個100μF的電容,傳感器的外圍輸入電路與單片機I/O口之間都有光電隔離進行抗干擾處理。當液位傳感器檢測到位時輸出信號yw1為0,經光電隔離后可以實現相同邏輯輸出,同時還添加了電源隔離。

圖3 蠕動泵驅動電路
本系統中每個灌裝口都采用3聯數碼管顯示,灌裝口上有18個數碼管,加上設置部分一共有24位數碼管顯示。每一位數碼管在設計中考慮到提高亮度的原因都是采用74HC595芯片驅動靜態顯示。電路圖設計如圖5所示,每一個74HC595芯片采用級聯的方式,極大地減少了單片機控制IO口的資源,系統中共使用了4個IO口實現了24位數碼管的單獨控制。

圖4 液位傳感器外圍電路

圖5 數碼管驅動電路
系統上電完成初始化后,首先讀取單片機EEPROM中數據,數據包括:運行模式、灌裝容量、灌裝時間、等待時間、灌裝循環次數、灌裝數量、灌裝頻率建立時間、灌裝頻率下降時間、灌裝修正頻率、灌裝修正時間、灌裝修正次數等。系統在沒有外界干預的情況下,根據之前設置的參數進行運行,然后判斷工作環境以及是否含有報警信息。首次上電運行需要通過鍵盤設置灌裝的各類參數,數碼管顯示設置參數以及灌裝瓶子數量。選擇手動模式則每次放好瓶子都需要按下啟動按鈕,機器只會完成當次罐裝流程。當選擇自動模式時,系統根據設置的推桿縮回時間以及循環次數來完成罐裝流程[3~5]。
本設計中對灌裝精度要求是比較高的,蠕動泵的開環精度控制在±2%,不能滿足控制要求,所以本設計中使用液位傳感器用來提升控制精度。傳感器在使用中由于濾波的需要外圍電路并聯100μF電容,在一定程度上犧牲了響應時間,其中液位傳感器的響應時間為100ms,當有反饋信號給到單片機的時候,信號會由于香水在灌裝線上下的波動而出現信號反復。
影響灌裝控制系統精度的因素不僅包括流量傳感器的反饋誤差,還包含有控制系統,執行操作等環節的誤差[2]。在控制中考慮到以上問題的存在,本文系統中采用了多段速控制,借鑒于PID算法中比例運算的思想,單片機控制蠕動泵的灌裝速度在完成上升時間以后,采用最大速度灌裝,通過灌裝時間的控制預期,提前完成速度下降,采用低速繼續灌裝,等待傳感器反饋信號完成灌裝動作。通過低速灌裝,既減少了香水的波動,又提高了灌裝的控制精度。

圖6 程序流程圖
本設計中每個灌裝口灌裝時間需要單獨記憶,系統通過記錄每個口每次的灌裝時間,對其進行數據處理和優化,得到更加精準的灌裝時間。在使用中系統會對數據進行分析,主動拋棄重新上電的首幀數據以及一些差距過大的數據。當每個灌裝口的灌裝時間100次后,對這100次記錄的時間數據進行排序,排序好的數據去掉最大和最小的一部分偏移數據,對其他時間數據取平均值,此平均值用來修正現在所使用的時間數據。通過每次灌裝時間的記錄以及灌裝時間的修正,提高了灌裝時間控制精度,每個灌裝口的灌裝時間數據可以掉電存儲,以備下次上電使用。同時也可以通過人機交互清空灌裝時間或者重新設定時間,系統會根據已有時間進行灌裝,使用傳感器對其進行重新優化。通過時間控制以及傳感器反饋的雙重控制,在蠕動泵低速的情況下完成最后的灌裝過程,從而提高灌裝效率以及精度[6]。
本設計在整個項目調試中遇到諸多問題,包括:電源啟動功率不夠、灌裝泵接口漏氣、灌裝管徑的厚度選擇、長時間暫停后的再啟動問題、蠕動泵失步、灌裝精度不高等。首先在硬件上多次作出調整,針對蠕動泵與灌裝管的連接進
行了加固處理;灌裝管也根據蠕動泵進行了管子管徑的重新選取;每個蠕動泵使用的開關電源也采用了單獨的供電;步進電機的驅動器細分最終采用16細分;傳感器的安裝位置調整。硬件調整好后是軟件的反復調試以及多次現場實驗驗證,最終實現100ml和300ml兩種灌裝容量下多次灌裝精度平均誤差控制在0.9g以下,可以滿足控制精度在1±%的要求。
本文采用單片機內部的六路獨立PWM控制蠕動泵的形式完成了香水灌裝機的基本要求,使用按鍵和數碼管顯示的方式完成模式的選擇,參數的設置,灌裝時間的顯示,灌裝數量的記錄等功能。在精度的提高上采用蠕動泵的多段速控制從而提高后一段的傳感器的反饋信號的準確度。通過記錄多次灌裝時間來優化每一個口的灌裝時間,從而達到精度以及效率的雙提升[7~8]。