文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190306
中文引用格式: 李緯良,,肖輝,,方鵬飛. 基于STM32的揚聲器定心支片順性測量系統(tǒng)設計[J].電子技術應用,2019,,45(7):102-106,,116.
英文引用格式: Li Weiliang,Xiao Hui,,Fang Pengfei. Design of a loudspeaker spider compliance measuring system based on STM32[J]. Application of Electronic Technique,,2019,45(7):102-106,,116.
0 引言
定心支片是揚聲器的核心部件之一,,它用于保證揚聲器工作時,音圈在磁隙中處于正確的位置,,并且保證音圈在振動過程中僅沿軸向作往復運動[1-2],。受到制作材料和設計形狀的影響,在揚聲器工作時,,定心支片會產生一定程度的非線性失真,。因此,要求在有效的振動范圍內,,定心支片的受力和形變需要有良好的線性關系,。
揚聲器行業(yè)中用定心支片的順性來表征一個定心支片的特性,即定心支片彈性系數的倒數,。較為普遍的測量方法是施加固定負載(50 g或者100 g標準砝碼)后根據定心支片的變位來判斷定心支片的順性[3-4],。傳統(tǒng)的定心支片順性測量儀通常基于這一方法來實現,,但是使用過程中,,只能粗略地判斷一個定心支片的線性范圍,不能反映定心支片運動過程中的受力情況,,且不能測量定心支片的最大線性范圍,,對于后續(xù)的研究與分析具有很大的局限性。
針對以上問題,,本文結合前人的工作,,基于STM32F407單片機開發(fā)了一種定心支片順性測量系統(tǒng)。該系統(tǒng)結合步進電機,、數顯游標卡尺和壓力傳感器,,實現了自動控制定心運動并檢測位移和受力大小的功能,并使用滑動均值濾波算法和最小二乘擬合算法對數據進行處理,,使得測量結果更加精確,。最后通過對順性曲線進行計算來查找被測定心支片的線性范圍。
1 硬件設計
1.1 系統(tǒng)結構設計
定心支片在持續(xù)受到一個方向的外力作用時會產生一定的塑性形變而無法自動復原,,而在揚聲器工作中,,定心支片的受力的大小與方向實際上是一個持續(xù)變化的過程,因而需要動態(tài)地對其進行測量,,才能準確反映其運動時的真實受力情況,。基于以上分析,,本系統(tǒng)使用步進電機和線性滑軌對測量系統(tǒng)進行搭建,,既可以模擬定心支片運動的過程,,又可以通過單片機對運動狀態(tài)進行控制,來模擬不同的工作場景,。另外,,在運動過程中通過單片機對各模塊進行數據采集和計算,即可得到揚聲器工作時定心支片的運動參數,。
系統(tǒng)的結構示意圖如圖1所示,,使用精度為0.01 mm的數顯游標卡尺與滑軌連接,用于采集定心支片的位移數據,。壓力傳感器固定于滑軌之上,,用于采集壓力數據。另外,,使用高精度的滾珠絲桿作為步進電機和滑軌的聯動軸使得系統(tǒng)運行更加精確。
1.2 電路設計
本系統(tǒng)的硬件電路的設計從性能,、功耗,、穩(wěn)定性與可靠性這幾個方面來綜合考慮,并按照實現的功能對電路模塊進行了分類,,使用模塊化的設計方法降低了電路系統(tǒng)設計的風險,,并且易于修改和測試。電路整體設計框圖如圖2所示,,電路系統(tǒng)以STM32F407單片機作為主控芯片,,對各類模塊進行控制。其中數據采樣模塊使用了低紋波的線性直流穩(wěn)壓電源,,來降低電源噪聲對采樣電路的影響,,而功耗較大的TFT驅動模塊和步進電機驅動模塊則使用了開關型穩(wěn)壓電源,降低了電路系統(tǒng)的整體功耗,。
1.2.1 線性穩(wěn)壓電源設計
采樣電路供電模塊的穩(wěn)定性決定了采樣結果的正確性,,因此,需要低電壓紋波的線性直流穩(wěn)壓電源來為數據采樣模塊供電[5],。本系統(tǒng)的線性直流穩(wěn)壓電源使用增加電壓壓降的設計方式來提升輸出電壓的穩(wěn)定性,,并且使用多路級聯的方式來分散熱功耗對單個穩(wěn)壓模塊的影響。另外針對工作過程中可能出現的負載波動,,設計了較寬的電流范圍,,并且使用三極管對穩(wěn)壓芯片進行并聯擴流,既提升了電路的帶負載能力,,又不會增加芯片的發(fā)熱量,,提升了電路的可靠性。
線性直流穩(wěn)壓電源的設計如圖3所示,,使用集成三端穩(wěn)壓芯片LM317為核心,,并使用可控精密穩(wěn)壓源TL431作為基準穩(wěn)壓源來對直流穩(wěn)壓電源進行設計。兩者都具有低噪聲、高紋波抑制比的優(yōu)點,,非常適合線性穩(wěn)壓電源的設計,。前級電路使用NPN管Q1對LM317芯片進行擴流,可有效降低芯片的熱功耗,,后級電路使用TL431芯片作為基準,,降低了輸出電壓紋波。另外,,使用PNP管Q2與負載并聯,,降低了負載波動對穩(wěn)壓效果的影響,提升了電路的帶負載能力,。
1.2.2 壓力采樣電路設計
本系統(tǒng)的壓力傳感器為平行梁式鋁合金測力傳感器SBT430,,該傳感器為壓阻式應變傳感器,其輸出信號為一微弱的差分信號,,需要對其進行放大和濾波處理后才能進行A/D轉換,。
壓力采樣電路使用單一模塊的設計方式,避免了多路放大與A/D轉換模塊級聯帶來的噪聲疊加和溫度漂移,。選擇集成有低噪聲可編程放大器,、穩(wěn)壓電源以及片內時鐘振蕩器的HX711芯片來進行設計,可以直接控制STM32F407單片機對其進行采樣,,既提高了采樣穩(wěn)定性,,又簡化了電路設計。壓力信號采集電路如圖4所示,。
1.2.3 步進電機驅動電路設計
系統(tǒng)的運動使用57系列步進電機來進行運動控制,,該系列步進電機具有運行平穩(wěn)、可靠性高的特點,。工業(yè)生產中常使用集成驅動塊來對步進電機進行驅動,,使用撥碼開關對其工作模式進行設定可以應對大部分的工作場景,但是本系統(tǒng)的運動控制需要有較高的靈敏度和更加多樣的工作方式,。為此,,本文使用驅動芯片加STM32F407單片機直接驅動的方式來對步進電機的驅動電路進行設計和優(yōu)化,針對不同的工作狀態(tài),,使用單片機來自動選擇不同的細分方式,、驅動電流和驅動電壓頻率,使得控制方式更加靈活,。步進電機驅動電路如圖5所示,。
2 軟件設計
本文的軟件系統(tǒng)主要實現的功能有數據采集、數據發(fā)送和系統(tǒng)校正,。根據不同電路模塊的驅動特點和工作方式的需要,,使用模塊化編程的思想對各驅動模塊,、運動控制模塊和采樣模塊進行設計和組合,節(jié)省了開發(fā)時間,,而且便于后期調試和維護,。系統(tǒng)設計中將數據采集模塊和數據發(fā)送模塊進行分離,避免了數據發(fā)送中的時延對采樣等待時間造成的影響,,使得采樣速度更快,。另外,使用自動校正壓力傳感器壓力值和定心支片起始點的設計,,節(jié)省了儀器校準的時間,,并使得系統(tǒng)的輸出結果更加準確。系統(tǒng)的軟件設計流程如圖6所示,。
2.1 壓力采樣值濾波
受電源噪聲和外界電磁干擾的影響,,對一固定負載進行連續(xù)采樣時,HX711芯片的輸出值會有較大波動,。使用數字濾波法來對數據噪聲進行濾波處理可以快速去除數據中的噪聲干擾,,并且不會占用過多的系統(tǒng)資源。常用的數字濾波法有限幅濾波法,、中位值濾波法、算術平均法,、滑動均值濾波法以及幾種方法組合之后的濾波方法[6-8],。結合各濾波法的優(yōu)缺點和本系統(tǒng)的采樣特點,本文采用滑動均值濾波法和中位值濾波法相結合的方式來對壓力信號進行處理,。濾波算法的實現過程是構建一個長度為N的FIFO(First Input First Output)存儲空間,,對采樣值進行存儲,每獲得一次數據就對存儲空間中的數據做一次中位值濾波(去掉N個數據中的最大值和最小值后,,對剩下的N-2個數據做一次算術平均),,其結果就為此次濾波后的結果。此方法對信號中的脈沖干擾有很好的抑制效果,,且實現簡單,,占用系統(tǒng)資源較少。
2.2 數據擬合算法設計
由于實驗數據的離散性,,采集的數據常需要進行擬合或者插值等處理后才能得到反映變量之間相互關系的曲線,。本文使用最小二乘法對數據進行擬合[9-12],可以降低數據誤差帶來的影響,,提高擬合優(yōu)度,。
為找出壓力值p與位移l之間的關系曲線,需要依據s個實驗樣本來構造一個函數(l),,使得壓力計算值
(li)與實測值pi的偏差的平方和達到最小,。
設n次多項式擬合函數為:
則s個實驗樣本與擬合函數的殘差為:
2.3 最大線性位移查找算法設計
系統(tǒng)計算得到擬合函數后,,使用最大線性位移查找算法可以計算得到定心支片的最大線性位移。該算法使用線性逼近法來實現,,將順性曲線的與其切線進行對比,,計算得出低于誤差閾值ε(ε>0)的最大位移值,即為定心支片的最大位移,。
設定心支片的順性曲線為:
從0 mm開始,,以0.01 mm為最小單位,對式(9)進行計算,,便可以計算出低于誤差閾值的最大位移,。另外,通過最大線性位移和擬合曲線可以計算出最大線性受力范圍,。該方法實現速度快,,通過修改閾值可以應用于不同的場合,可移植性好,。
2.4 上位機軟件設計
本系統(tǒng)的上位機軟件設計使用Visual Stdio2010軟件來實現,,并從系統(tǒng)控制、數據接收和系統(tǒng)通信三個方面來進行設計,。系統(tǒng)控制和數據接收主要完成用戶指令獲取和數據保存的功能,。系統(tǒng)通信主要完成上位機軟件與單片機之間的指令和數據的傳輸功能,設計中使用了將數據變量轉換成對應的字符進行傳輸的方法來對數據進行傳輸,,并使用特殊符號標記的方法來區(qū)分不同的指令和數據,,避免了字符串擾帶來的影響,提高了數據傳輸的可靠性,。上位機軟件設計界面如圖7所示,。
3 系統(tǒng)測試
3.1 整體測試
使用本系統(tǒng)對一個5英寸的定心支片進行采樣測試來檢驗系統(tǒng)的測量功能。在上位機軟件中設置采樣范圍為-2.00 mm~2.00 mm,,設置線性判斷誤差閾值為0.004 N,,使用上位機軟件控制系統(tǒng)進行采樣,并對數據進行接收,。采樣結果和擬合曲線如圖8所示,,右側的文本窗顯示了被測定心支片的線性范圍。
可以得到在線性誤差閾值為0.004 N時,,該定心支片的位移線性范圍為-0.62 mm~0.85 mm,,線性受力范圍為-0.419 N~0.552 N,可見該定心支片在該閾值下的線性范圍并不是上下對稱,。
3.2 壓力測量誤差分析
為檢驗壓力采樣的準確性,,將壓力測量值與實際值進行比較。使用不同質量的標準砝碼來檢測壓力采樣的精度,,采樣結果如表1所示,。通過對比可知,,采樣值的最大誤差為0.15 g,即壓力采樣值的誤差在0.002 N以內,,具有較高的壓力采樣精度,。
4 結論
本文介紹了一種基于STM32F407單片機的揚聲器定心支片順性測量系統(tǒng),該系統(tǒng)使用動態(tài)測量的方式解決了傳統(tǒng)定心支片順性測量儀對定心支片的運動狀態(tài)把握不準確以及無法獲得定心支片的最大線性范圍的問題,,方便揚聲器設計人員對其進行后續(xù)的研究和分析,,具有一定的使用價值。
參考文獻
[1] 王以真.實用揚聲器技術手冊[M].北京:國防工業(yè)出版社,,2003.
[2] 王以真.實用揚聲器工藝手冊[M].北京:國防工業(yè)出版社,,2006.
[3] 王文建,沙家正.揚聲器定心支片的非線性失真研究[J].應用聲學,,1999(5):24-28.
[4] 閆秉耀.揚聲器定心支片的順性測量儀[J].電聲技術,,2006(5):29-32,36.
[5] 李承煒,,韓俊南,,杜欣,等.基于ADS1293的穿戴式心電檢測裝置設計與實現[J].電子技術應用,,2017,,43(9):8-12.
[6] 郭健忠,程峰,,謝斌,,等.改進型限幅遞推平均濾波法在燃油表中的應用[J].科學技術與工程,2018,,18(16):62-67.
[7] 周繼裕,陳思露,,符少文.基于均值滑動濾波算法和STM32電子秤的設計[J].現代電子技術,,2017,40(10):10-12,,15.
[8] 郭富智,,杜紅棉,李肖姝,,等.乒乓球/羽毛球運動狀態(tài)識別手表的設計[J].電子技術應用,,2018,44(4):73-76.
[9] 田子林,,陳家新.基于最小二乘法與霍夫變換的虹膜定位算法[J].電子技術應用,,2019,45(2):75-79.
[10] 王淳,,郭靜波,,劉紅旗,,等.基于最小二乘的極低頻微弱信號實時檢測方法[J].儀器儀表學報,2009,,30(12):2468-2473.
[11] 黃靜,,劉琴琴.基于曲線擬合改進算法的水質生物毒性研究[J].儀表技術與傳感器,2017(7):105-107,,120.
[12] 賈小勇,,徐傳勝,白欣.最小二乘法的創(chuàng)立及其思想方法[J].西北大學學報(自然科學版),,2006(3):507-511.
[13] 同濟大學數學系.線性代數[M].北京:高等教育出版社,,2007.
作者信息:
李緯良,肖 輝,,方鵬飛
(武漢大學 物理科學與技術學院,,湖北 武漢430072)