陳治伃,張榮鎮,王曉樂,梁 辰,蘇海濤
(桂林電子科技大學 電子工程與自動化學院,廣西 桂林 541004)
近年來,鋰電電動扳手廣泛應用于建筑、工業制造等行業[1]。電動扳手在制造完成出廠前需進行零件缺損檢測,傳統檢測常靠聽測人員對電動扳手運行時的聲音進行人耳聽音來進行評判,工作效率低且評判標準難以統一。借鑒人類聽覺系統優異的信號分析、處理與識別能力,基于聽覺模型的聲學檢測正在取代傳統的人工檢測[2],成為新型的電動扳手零件檢測方法。聲學檢測不僅可以有效規避人工受經驗、技術、身體與情緒狀況影響的弊端,而且極大降低檢測所需的人工成本。為實現基于聽覺模型的聲學檢測,本文針對電動扳手零件缺損檢測設計了一套自動聲學采集系統,可以實現對電動扳手工作聲音的非接觸式、自動化采集,為之后的聲學分析打下扎實基礎,大大提升了檢測效率。
自動聲學采集系統主要包括機械結構框架、下位機和上位機。機械結構框架固定硬件設備,為實現電動扳手的自動啟停提供機械保障;下位機采用STM32控制推桿實現電動扳手的自動啟停操作;上位機采用LabVIEW[3-5]編程,通過USB接口控制下位機工作,采用聲卡采集麥克風信號。整體系統組成框圖如圖1所示。

圖1 整體系統組成框圖Fig.1 Block diagram of the overall system composition
機械結構框架主要包括總體支架、工具底座、推桿電機、觸板與模擬開關,為電動扳手提供一個穩定的被測環境。總體支架負責各個器件間的連接,工具底座用于固定被測的電動扳手。推桿電機正轉用于啟動電動扳手,反轉用于停止電動扳手。模擬開關用以輸出標識信號,當觸板未碰到模擬開關時,代表推桿并未到達電動扳手開關處;當觸板碰到模擬開關時,代表推桿已經推至電動扳手開關處,電動扳手開始工作。機械結構示意圖、機械結構實物圖如圖2所示。結構中,各固定處均設有海綿軟墊,減少結構框架與電動扳手間的振動耦合。

圖2 機械結構框架Fig.2 Mechanical structure frame
硬件電路主要包括下位機主控電路、推桿電機驅動電路、模擬開關調理電路和聲音采集調理電路。主控電路采用STM32通過USB接口接收上位機的控制命令,實現推桿電機控制和模擬開關信號檢測,從而控制電動扳手的啟停動作。推桿電機采用直流電機,驅動電路實現電機正反轉;模擬開關調理電路采用去抖電路實現信號去抖;聲音采集使用CRY333傳聲器,通過供電電路和運放電路對傳聲器輸出信號進行放大調理,送至計算機聲卡進行采集。
下位機主控電路采用STM32F103VBT6[6]作為主控芯片。該芯片是32位的ARM微控制器,內部集成有USB模塊,如此簡化了硬件設計,外圍僅需配置幾個分立元件即可完成USB接口的硬件設計。同時該芯片具有豐富的I/O管腳,采用這些管腳可以直接控制推桿電機驅動電路和讀取模擬開關的輸出信號。另外,芯片內部集成有多個定時器模塊,可以直接用于電動扳手運行時間的設置。主控芯片強大的集成性,使得硬件電路得以進行非常簡化的設計。
推桿電機驅動電路中,使用兩個5V通用繼電器實現。推桿電機屬于直流電機,控制電機是否通電,可以實現電機的啟動和停止;控制電機通電的正負極性,可以實現電機的正轉和反轉。電機的兩個接線端分別連接兩個繼電器的COM公共端,電機供電電源的正極接兩個繼電器的NO常開端,供電電源的負極接兩個繼電器的NC常閉端。如此,當兩個繼電器均處于斷開不工作狀態時,電機不工作,推桿不運動;當其中一個繼電器處于工作狀態時,電機通電,推桿運行。此時,當兩個繼電器狀態相反時,電機通電極性相反,推桿運行方向即相反。如此實現了推桿電機啟停、正反轉工作的控制。繼電器接受STM32的控制,二者中間通過光耦進行物理隔離,如此可避免繼電器的反向電動勢對其它電路的干擾,使得硬件電路的穩定性更好。
模擬開關調理電路中,使用簡單的RC濾波電路進行信號調理,同時使用反相器進一步濾除掉輸出信號在變化瞬間的振蕩干擾,提高電路的抗干擾性能。信號在輸入STM32之前使用光耦進行物理隔離,進一步避免干擾竄入到其它電路,使得硬件電路在穩定性的性能上表現更出色,以適應工業現場的使用。
聲音采集中,使用CRY333傳聲器[7]進行聲信號到電信號的轉換。CRY333傳聲器是專為工業現場聲信號傳感所設計的。CRY333是自由場型的電容傳聲器,靈敏度為50mV/Pa,頻率響應范圍是10Hz~20kHz,動態范圍(基準20uPa)是15dB~130dB,動態范圍上限(基準20uPa)為≥138dB,等效噪聲(基準20uPa)為15dBA(250Hz),溫度系數為0.012dB/℃。良好的傳聲器性能保證了電動扳手運行時聲信號的準確獲取,為后續信號處理提供高質量的數據來源。
CRY333傳聲器的調理電路中,使用恒流二極管為其提供穩定的電流,采用2個2mA的恒流二極管并聯,二極管正端接12V電源,二極管負端接傳聲器的信號端接口,如此為傳聲器的正常工作提供電能。信號端接口通過電容進行交流信號耦合,從而輸出傳聲器所傳感得到的聲信號。由于傳聲器輸出信號微弱,所以采用了放大電路對信號進行了放大。放大電路采用OPA1688[8],該芯片是TI公司提供的低失真、高驅動軌到軌輸出音頻運算放大器,適用于聲信號帶寬的放大。專用音頻信號運算放大器的選擇保證了微弱信號的低失真調理,最大程度保持了數據來源的真實性。
除此之外,還設計了電源電路為各個模塊進行供電。其中電動推桿需要24V供電,CRY333傳聲器需要12V供電,模擬開關需要12V供電,繼電器需要5V供電,STM32需要3.3V供電,其他電路也需要5V和3.3V供電。為此,整個硬件電路采用24V DC供電,經過LM2596進行調壓輸出12V DC,12V DC經過LM2596-5V轉換為5V DC電壓,之后經過AMS1117-3.3電源芯片轉換為3.3V電壓。如此實現了電源電路的設計,保證了各個模塊的正常供電,為硬件在工業現場使用打下基礎。
軟件設計由上位機軟件與下位機軟件組成。上位機通過LabVIEW編程,操作人員按下采集按鈕后,上位機發送開始測試命令給下位機,同時控制計算機聲卡進行聲音采集,當上位機收到下位機電動扳手停止狀態后,結束聲音采集。采集過程中,上位機檢測下位機發送的電動扳手啟動狀態。若上位機未收到該狀態,則停止工作并進行報警。上位機界面同時具有波形顯示和本地保存功能。在上位機軟件的LabVIEW代碼設計過程中,采用模塊化思想實現設計。將整個軟件分為了通信模塊、聲卡采集模塊、數據分析模塊和人機交互模塊。
通信模塊設計中,采用NI公司所提供的VISA控件實現USB通信。在本系統中,上下位機的USB通信屬于USB HID設備類[9]。其中上位機對下位機進行數據寫入時,采用VISA寫入控件即可完成。當上位機讀取下位機數據時,需采用USB中斷事件控件進行讀取。
聲卡采集模塊中,首先使用配置聲音輸入控件對聲卡采集進行配置。其中采用96kHz采樣率對信號進行采樣,通道選擇左右雙聲道,數據選擇32位格式,采用有限長采樣模式,另外設備ID需要先使用LabVIEW查看計算機內聲卡的ID號,才能確定所選擇聲卡對應的ID填入控件的輸入端[10]。接下來采用讀取聲音輸入控件對信號進行讀取,讀取的數據長度可根據采集時長與采樣率的乘積計算得到。讀取完成后,使用聲音輸入清零控件釋放所選擇的資源,避免程序對資源長期占用所引起的錯誤。最后,使用簡易錯誤處理器對有可能的錯誤進行處理。
數據分析模塊中,對聲卡采集到的數據進行處理。上述聲卡采集模塊輸出的數據類型為波形數組。在數據分析模塊中,首先使用索引數組控件對波形數組進行索引,從而分別得到左右聲道的數據,讀取得到的數據需要轉換為聲壓值。轉換過程中,首先需要明確聲卡采集通道的量化系數,采用通用信號發生器產生一個標準的1kHz、100mV信號,直接接入聲卡,采集后查看信號幅值,從而得到量化系數。聲卡采集得到的數據除以量化系數從而得到信號的電壓值,該電壓值需要除以傳聲器調理電路的放大倍數從而得到傳聲器所輸出信號的信號電壓值,該電壓值再除以傳聲器的靈敏度即可將信號的單位轉換為聲壓單位(Pa)。轉換后,通過波形圖控件將時域數據進行顯示。軟件中還采用了傅里葉變換的方法查看信號的頻譜,此過程中使用LabVIEW的FFT控件實現數據從時域到頻域的轉換[11]。值得注意的是,波形數據類型可通過獲取波形成分控件獲取數據的初始采樣時間,時間分辨率和對應的信號數據。在此將信號數據送入FFT控件進行轉換,轉換得到的結果需要對其求絕對值獲得幅度譜,另外僅需取轉換數據的前一半部分即可得到傅里葉變換的全景頻譜。
人機交互模塊中,主要完成開始采集控制、報警處理、結束采集控制和文件保存。開始采集控制中,采用布爾輸入控件拾取操作人員的按鍵動作。當用戶按下開始采集按鍵后,上位機通過通信模塊發送數據幀到下位機。同時根據下位機所發送的狀態幀識別下位機狀態,若下位機控制失敗,返回失敗的狀態幀后進行報警處理;當下位機定時完成且退回推桿返回結束采集的狀態幀后,上位機停止聲卡采集。采用路徑輸入控件實現操作人員保存數據的路徑設置,當采集完成后將數據按照用戶所設置的路徑進行保存。
同時值得注意的是,在上位機的采集數據的格式中,聲卡采集后輸出的數據格式為波形數組格式,最后數據保存到用戶目錄下采用的是wav格式。在此使用了LabVIEW的簡易寫入聲音文件控件,實現數據格式的轉換和文件寫入[12]。由于LabVIEW提供了豐富的控件,使得上位機的編程得以快速完成,同時模塊化的設計使得代碼更加易于維護。
下位機軟件上電初始化后,下位機等待控制命令,接收到開始測試命令后控制推桿并檢測模擬開關狀態。當檢測到電動扳手啟動后,發送電動扳手啟動狀態至上位機,定時器延時一定時長后,控制推桿使電動扳手停止工作,并發送電動扳手停止狀態給上位機。
下位機編程中采用keil集成開發環境,由于ST公司提供了基本的函數庫,所以可很好地縮短開發周期。下位機程序分為初始化模塊、通信模塊、檢測及控制模塊和定時模塊。初始化模塊中,先對所使用的各個外設進行初始化。初始化通過后,程序才能進行正常運行狀態;通信模塊實現USB HID設備的通信;檢測及控制模塊僅需對I/O進行讀寫即可完成電動推桿的控制和模擬開關狀態的讀取;定時模塊中,設置定時器完成采集時長的設置。其中,采集時長已根據用戶要求進行了固化。電動扳手在出廠檢測中,由機器進行檢測僅需采集若干秒運行的聲信號即可完成零件缺損的檢測,比人工聽測時間縮短了一大部分,從而提高了出廠檢測效率。
現場測試后,上位機測量結果如圖3所示。在上位機中可正常顯示所測量得到的電動扳手運行聲音波形,通過傅里葉變換可以得到該波形所對應的頻譜信息,且可根據用戶選擇的路徑保存到對應的文件中,實現了電動扳手的自動聲信號采集。

圖3 系統現場測試上位機界面Fig.3 System on-site test host computer interface
本文通過對機械結構框架、下位機和上位機的聯合設計完成了對電動扳手工作聲音自動采集,為進一步地聲學分析提供數據支撐。所設計的系統可以應用于電動扳手生產企業的批量檢測中,能有效提高檢測效率,降低檢測成本,具有良好的應用前景。