陳治伃,張榮鎮(zhèn),王曉樂,梁 辰,蘇海濤
(桂林電子科技大學(xué) 電子工程與自動化學(xué)院,廣西 桂林 541004)
近年來,鋰電電動扳手廣泛應(yīng)用于建筑、工業(yè)制造等行業(yè)[1]。電動扳手在制造完成出廠前需進(jìn)行零件缺損檢測,傳統(tǒng)檢測??柯牅y人員對電動扳手運(yùn)行時的聲音進(jìn)行人耳聽音來進(jìn)行評判,工作效率低且評判標(biāo)準(zhǔn)難以統(tǒng)一。借鑒人類聽覺系統(tǒng)優(yōu)異的信號分析、處理與識別能力,基于聽覺模型的聲學(xué)檢測正在取代傳統(tǒng)的人工檢測[2],成為新型的電動扳手零件檢測方法。聲學(xué)檢測不僅可以有效規(guī)避人工受經(jīng)驗(yàn)、技術(shù)、身體與情緒狀況影響的弊端,而且極大降低檢測所需的人工成本。為實(shí)現(xiàn)基于聽覺模型的聲學(xué)檢測,本文針對電動扳手零件缺損檢測設(shè)計(jì)了一套自動聲學(xué)采集系統(tǒng),可以實(shí)現(xiàn)對電動扳手工作聲音的非接觸式、自動化采集,為之后的聲學(xué)分析打下扎實(shí)基礎(chǔ),大大提升了檢測效率。
自動聲學(xué)采集系統(tǒng)主要包括機(jī)械結(jié)構(gòu)框架、下位機(jī)和上位機(jī)。機(jī)械結(jié)構(gòu)框架固定硬件設(shè)備,為實(shí)現(xiàn)電動扳手的自動啟停提供機(jī)械保障;下位機(jī)采用STM32控制推桿實(shí)現(xiàn)電動扳手的自動啟停操作;上位機(jī)采用LabVIEW[3-5]編程,通過USB接口控制下位機(jī)工作,采用聲卡采集麥克風(fēng)信號。整體系統(tǒng)組成框圖如圖1所示。
圖1 整體系統(tǒng)組成框圖Fig.1 Block diagram of the overall system composition
機(jī)械結(jié)構(gòu)框架主要包括總體支架、工具底座、推桿電機(jī)、觸板與模擬開關(guān),為電動扳手提供一個穩(wěn)定的被測環(huán)境??傮w支架負(fù)責(zé)各個器件間的連接,工具底座用于固定被測的電動扳手。推桿電機(jī)正轉(zhuǎn)用于啟動電動扳手,反轉(zhuǎn)用于停止電動扳手。模擬開關(guān)用以輸出標(biāo)識信號,當(dāng)觸板未碰到模擬開關(guān)時,代表推桿并未到達(dá)電動扳手開關(guān)處;當(dāng)觸板碰到模擬開關(guān)時,代表推桿已經(jīng)推至電動扳手開關(guān)處,電動扳手開始工作。機(jī)械結(jié)構(gòu)示意圖、機(jī)械結(jié)構(gòu)實(shí)物圖如圖2所示。結(jié)構(gòu)中,各固定處均設(shè)有海綿軟墊,減少結(jié)構(gòu)框架與電動扳手間的振動耦合。
圖2 機(jī)械結(jié)構(gòu)框架Fig.2 Mechanical structure frame
硬件電路主要包括下位機(jī)主控電路、推桿電機(jī)驅(qū)動電路、模擬開關(guān)調(diào)理電路和聲音采集調(diào)理電路。主控電路采用STM32通過USB接口接收上位機(jī)的控制命令,實(shí)現(xiàn)推桿電機(jī)控制和模擬開關(guān)信號檢測,從而控制電動扳手的啟停動作。推桿電機(jī)采用直流電機(jī),驅(qū)動電路實(shí)現(xiàn)電機(jī)正反轉(zhuǎn);模擬開關(guān)調(diào)理電路采用去抖電路實(shí)現(xiàn)信號去抖;聲音采集使用CRY333傳聲器,通過供電電路和運(yùn)放電路對傳聲器輸出信號進(jìn)行放大調(diào)理,送至計(jì)算機(jī)聲卡進(jìn)行采集。
下位機(jī)主控電路采用STM32F103VBT6[6]作為主控芯片。該芯片是32位的ARM微控制器,內(nèi)部集成有USB模塊,如此簡化了硬件設(shè)計(jì),外圍僅需配置幾個分立元件即可完成USB接口的硬件設(shè)計(jì)。同時該芯片具有豐富的I/O管腳,采用這些管腳可以直接控制推桿電機(jī)驅(qū)動電路和讀取模擬開關(guān)的輸出信號。另外,芯片內(nèi)部集成有多個定時器模塊,可以直接用于電動扳手運(yùn)行時間的設(shè)置。主控芯片強(qiáng)大的集成性,使得硬件電路得以進(jìn)行非常簡化的設(shè)計(jì)。
推桿電機(jī)驅(qū)動電路中,使用兩個5V通用繼電器實(shí)現(xiàn)。推桿電機(jī)屬于直流電機(jī),控制電機(jī)是否通電,可以實(shí)現(xiàn)電機(jī)的啟動和停止;控制電機(jī)通電的正負(fù)極性,可以實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)和反轉(zhuǎn)。電機(jī)的兩個接線端分別連接兩個繼電器的COM公共端,電機(jī)供電電源的正極接兩個繼電器的NO常開端,供電電源的負(fù)極接兩個繼電器的NC常閉端。如此,當(dāng)兩個繼電器均處于斷開不工作狀態(tài)時,電機(jī)不工作,推桿不運(yùn)動;當(dāng)其中一個繼電器處于工作狀態(tài)時,電機(jī)通電,推桿運(yùn)行。此時,當(dāng)兩個繼電器狀態(tài)相反時,電機(jī)通電極性相反,推桿運(yùn)行方向即相反。如此實(shí)現(xiàn)了推桿電機(jī)啟停、正反轉(zhuǎn)工作的控制。繼電器接受STM32的控制,二者中間通過光耦進(jìn)行物理隔離,如此可避免繼電器的反向電動勢對其它電路的干擾,使得硬件電路的穩(wěn)定性更好。
模擬開關(guān)調(diào)理電路中,使用簡單的RC濾波電路進(jìn)行信號調(diào)理,同時使用反相器進(jìn)一步濾除掉輸出信號在變化瞬間的振蕩干擾,提高電路的抗干擾性能。信號在輸入STM32之前使用光耦進(jìn)行物理隔離,進(jìn)一步避免干擾竄入到其它電路,使得硬件電路在穩(wěn)定性的性能上表現(xiàn)更出色,以適應(yīng)工業(yè)現(xiàn)場的使用。
聲音采集中,使用CRY333傳聲器[7]進(jìn)行聲信號到電信號的轉(zhuǎn)換。CRY333傳聲器是專為工業(yè)現(xiàn)場聲信號傳感所設(shè)計(jì)的。CRY333是自由場型的電容傳聲器,靈敏度為50mV/Pa,頻率響應(yīng)范圍是10Hz~20kHz,動態(tài)范圍(基準(zhǔn)20uPa)是15dB~130dB,動態(tài)范圍上限(基準(zhǔn)20uPa)為≥138dB,等效噪聲(基準(zhǔn)20uPa)為15dBA(250Hz),溫度系數(shù)為0.012dB/℃。良好的傳聲器性能保證了電動扳手運(yùn)行時聲信號的準(zhǔn)確獲取,為后續(xù)信號處理提供高質(zhì)量的數(shù)據(jù)來源。
CRY333傳聲器的調(diào)理電路中,使用恒流二極管為其提供穩(wěn)定的電流,采用2個2mA的恒流二極管并聯(lián),二極管正端接12V電源,二極管負(fù)端接傳聲器的信號端接口,如此為傳聲器的正常工作提供電能。信號端接口通過電容進(jìn)行交流信號耦合,從而輸出傳聲器所傳感得到的聲信號。由于傳聲器輸出信號微弱,所以采用了放大電路對信號進(jìn)行了放大。放大電路采用OPA1688[8],該芯片是TI公司提供的低失真、高驅(qū)動軌到軌輸出音頻運(yùn)算放大器,適用于聲信號帶寬的放大。專用音頻信號運(yùn)算放大器的選擇保證了微弱信號的低失真調(diào)理,最大程度保持了數(shù)據(jù)來源的真實(shí)性。
除此之外,還設(shè)計(jì)了電源電路為各個模塊進(jìn)行供電。其中電動推桿需要24V供電,CRY333傳聲器需要12V供電,模擬開關(guān)需要12V供電,繼電器需要5V供電,STM32需要3.3V供電,其他電路也需要5V和3.3V供電。為此,整個硬件電路采用24V DC供電,經(jīng)過LM2596進(jìn)行調(diào)壓輸出12V DC,12V DC經(jīng)過LM2596-5V轉(zhuǎn)換為5V DC電壓,之后經(jīng)過AMS1117-3.3電源芯片轉(zhuǎn)換為3.3V電壓。如此實(shí)現(xiàn)了電源電路的設(shè)計(jì),保證了各個模塊的正常供電,為硬件在工業(yè)現(xiàn)場使用打下基礎(chǔ)。
軟件設(shè)計(jì)由上位機(jī)軟件與下位機(jī)軟件組成。上位機(jī)通過LabVIEW編程,操作人員按下采集按鈕后,上位機(jī)發(fā)送開始測試命令給下位機(jī),同時控制計(jì)算機(jī)聲卡進(jìn)行聲音采集,當(dāng)上位機(jī)收到下位機(jī)電動扳手停止?fàn)顟B(tài)后,結(jié)束聲音采集。采集過程中,上位機(jī)檢測下位機(jī)發(fā)送的電動扳手啟動狀態(tài)。若上位機(jī)未收到該狀態(tài),則停止工作并進(jìn)行報(bào)警。上位機(jī)界面同時具有波形顯示和本地保存功能。在上位機(jī)軟件的LabVIEW代碼設(shè)計(jì)過程中,采用模塊化思想實(shí)現(xiàn)設(shè)計(jì)。將整個軟件分為了通信模塊、聲卡采集模塊、數(shù)據(jù)分析模塊和人機(jī)交互模塊。
通信模塊設(shè)計(jì)中,采用NI公司所提供的VISA控件實(shí)現(xiàn)USB通信。在本系統(tǒng)中,上下位機(jī)的USB通信屬于USB HID設(shè)備類[9]。其中上位機(jī)對下位機(jī)進(jìn)行數(shù)據(jù)寫入時,采用VISA寫入控件即可完成。當(dāng)上位機(jī)讀取下位機(jī)數(shù)據(jù)時,需采用USB中斷事件控件進(jìn)行讀取。
聲卡采集模塊中,首先使用配置聲音輸入控件對聲卡采集進(jìn)行配置。其中采用96kHz采樣率對信號進(jìn)行采樣,通道選擇左右雙聲道,數(shù)據(jù)選擇32位格式,采用有限長采樣模式,另外設(shè)備ID需要先使用LabVIEW查看計(jì)算機(jī)內(nèi)聲卡的ID號,才能確定所選擇聲卡對應(yīng)的ID填入控件的輸入端[10]。接下來采用讀取聲音輸入控件對信號進(jìn)行讀取,讀取的數(shù)據(jù)長度可根據(jù)采集時長與采樣率的乘積計(jì)算得到。讀取完成后,使用聲音輸入清零控件釋放所選擇的資源,避免程序?qū)Y源長期占用所引起的錯誤。最后,使用簡易錯誤處理器對有可能的錯誤進(jìn)行處理。
數(shù)據(jù)分析模塊中,對聲卡采集到的數(shù)據(jù)進(jìn)行處理。上述聲卡采集模塊輸出的數(shù)據(jù)類型為波形數(shù)組。在數(shù)據(jù)分析模塊中,首先使用索引數(shù)組控件對波形數(shù)組進(jìn)行索引,從而分別得到左右聲道的數(shù)據(jù),讀取得到的數(shù)據(jù)需要轉(zhuǎn)換為聲壓值。轉(zhuǎn)換過程中,首先需要明確聲卡采集通道的量化系數(shù),采用通用信號發(fā)生器產(chǎn)生一個標(biāo)準(zhǔn)的1kHz、100mV信號,直接接入聲卡,采集后查看信號幅值,從而得到量化系數(shù)。聲卡采集得到的數(shù)據(jù)除以量化系數(shù)從而得到信號的電壓值,該電壓值需要除以傳聲器調(diào)理電路的放大倍數(shù)從而得到傳聲器所輸出信號的信號電壓值,該電壓值再除以傳聲器的靈敏度即可將信號的單位轉(zhuǎn)換為聲壓單位(Pa)。轉(zhuǎn)換后,通過波形圖控件將時域數(shù)據(jù)進(jìn)行顯示。軟件中還采用了傅里葉變換的方法查看信號的頻譜,此過程中使用LabVIEW的FFT控件實(shí)現(xiàn)數(shù)據(jù)從時域到頻域的轉(zhuǎn)換[11]。值得注意的是,波形數(shù)據(jù)類型可通過獲取波形成分控件獲取數(shù)據(jù)的初始采樣時間,時間分辨率和對應(yīng)的信號數(shù)據(jù)。在此將信號數(shù)據(jù)送入FFT控件進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換得到的結(jié)果需要對其求絕對值獲得幅度譜,另外僅需取轉(zhuǎn)換數(shù)據(jù)的前一半部分即可得到傅里葉變換的全景頻譜。
人機(jī)交互模塊中,主要完成開始采集控制、報(bào)警處理、結(jié)束采集控制和文件保存。開始采集控制中,采用布爾輸入控件拾取操作人員的按鍵動作。當(dāng)用戶按下開始采集按鍵后,上位機(jī)通過通信模塊發(fā)送數(shù)據(jù)幀到下位機(jī)。同時根據(jù)下位機(jī)所發(fā)送的狀態(tài)幀識別下位機(jī)狀態(tài),若下位機(jī)控制失敗,返回失敗的狀態(tài)幀后進(jìn)行報(bào)警處理;當(dāng)下位機(jī)定時完成且退回推桿返回結(jié)束采集的狀態(tài)幀后,上位機(jī)停止聲卡采集。采用路徑輸入控件實(shí)現(xiàn)操作人員保存數(shù)據(jù)的路徑設(shè)置,當(dāng)采集完成后將數(shù)據(jù)按照用戶所設(shè)置的路徑進(jìn)行保存。
同時值得注意的是,在上位機(jī)的采集數(shù)據(jù)的格式中,聲卡采集后輸出的數(shù)據(jù)格式為波形數(shù)組格式,最后數(shù)據(jù)保存到用戶目錄下采用的是wav格式。在此使用了LabVIEW的簡易寫入聲音文件控件,實(shí)現(xiàn)數(shù)據(jù)格式的轉(zhuǎn)換和文件寫入[12]。由于LabVIEW提供了豐富的控件,使得上位機(jī)的編程得以快速完成,同時模塊化的設(shè)計(jì)使得代碼更加易于維護(hù)。
下位機(jī)軟件上電初始化后,下位機(jī)等待控制命令,接收到開始測試命令后控制推桿并檢測模擬開關(guān)狀態(tài)。當(dāng)檢測到電動扳手啟動后,發(fā)送電動扳手啟動狀態(tài)至上位機(jī),定時器延時一定時長后,控制推桿使電動扳手停止工作,并發(fā)送電動扳手停止?fàn)顟B(tài)給上位機(jī)。
下位機(jī)編程中采用keil集成開發(fā)環(huán)境,由于ST公司提供了基本的函數(shù)庫,所以可很好地縮短開發(fā)周期。下位機(jī)程序分為初始化模塊、通信模塊、檢測及控制模塊和定時模塊。初始化模塊中,先對所使用的各個外設(shè)進(jìn)行初始化。初始化通過后,程序才能進(jìn)行正常運(yùn)行狀態(tài);通信模塊實(shí)現(xiàn)USB HID設(shè)備的通信;檢測及控制模塊僅需對I/O進(jìn)行讀寫即可完成電動推桿的控制和模擬開關(guān)狀態(tài)的讀??;定時模塊中,設(shè)置定時器完成采集時長的設(shè)置。其中,采集時長已根據(jù)用戶要求進(jìn)行了固化。電動扳手在出廠檢測中,由機(jī)器進(jìn)行檢測僅需采集若干秒運(yùn)行的聲信號即可完成零件缺損的檢測,比人工聽測時間縮短了一大部分,從而提高了出廠檢測效率。
現(xiàn)場測試后,上位機(jī)測量結(jié)果如圖3所示。在上位機(jī)中可正常顯示所測量得到的電動扳手運(yùn)行聲音波形,通過傅里葉變換可以得到該波形所對應(yīng)的頻譜信息,且可根據(jù)用戶選擇的路徑保存到對應(yīng)的文件中,實(shí)現(xiàn)了電動扳手的自動聲信號采集。
圖3 系統(tǒng)現(xiàn)場測試上位機(jī)界面Fig.3 System on-site test host computer interface
本文通過對機(jī)械結(jié)構(gòu)框架、下位機(jī)和上位機(jī)的聯(lián)合設(shè)計(jì)完成了對電動扳手工作聲音自動采集,為進(jìn)一步地聲學(xué)分析提供數(shù)據(jù)支撐。所設(shè)計(jì)的系統(tǒng)可以應(yīng)用于電動扳手生產(chǎn)企業(yè)的批量檢測中,能有效提高檢測效率,降低檢測成本,具有良好的應(yīng)用前景。