黃春平,陳幗鸞,田森平,王偉濤
(1.中山職業(yè)技術(shù)學(xué)院信息工程學(xué)院,廣東 中山 528404;2.華南理工大學(xué)自動(dòng)化科學(xué)與工程學(xué)院,廣東 廣州 510641;3.中山市自動(dòng)化研究所音響工作室,廣東 中山 528400)
黑膠唱片采用模擬錄音,動(dòng)態(tài)范圍廣,作為音源載體能真實(shí)記錄音樂信號(hào)。黑膠唱機(jī)影響音質(zhì)好壞的關(guān)鍵因素是轉(zhuǎn)速,黑膠唱機(jī)常見轉(zhuǎn)速有每分鐘16.6666轉(zhuǎn)、33.3333轉(zhuǎn)、45轉(zhuǎn)、78轉(zhuǎn),在使用黑膠唱機(jī)前,都必須調(diào)校好黑膠唱機(jī)轉(zhuǎn)速,傳統(tǒng)的調(diào)速借助測速刻度盤和人眼進(jìn)行辨別,這樣的辨別需要豐富的經(jīng)驗(yàn)且易產(chǎn)生誤差。為了更方便調(diào)整黑膠唱機(jī)轉(zhuǎn)速,設(shè)計(jì)了一種基于紅外對(duì)射感應(yīng)[1]能準(zhǔn)確測試黑膠唱機(jī)轉(zhuǎn)速的測速儀,確保唱機(jī)轉(zhuǎn)速和黑膠唱片的規(guī)格一致。
方案1在黑膠唱機(jī)外圍貼一白紙,已知白紙的長度S,機(jī)子轉(zhuǎn)動(dòng)后通過紅外傳感器測出通過這段白紙用了多少時(shí)間T,用公式計(jì)算出線速度V,進(jìn)而求出角速度ω,也就求出了最終結(jié)果。但不同的黑膠唱機(jī)半徑大小不同,而產(chǎn)品最終的設(shè)計(jì)代碼是固定的,所以當(dāng)換了一些半徑不同的機(jī)子的時(shí)候就會(huì)出現(xiàn)誤差,造成了計(jì)算結(jié)果的不精準(zhǔn),所以就排除了這個(gè)方案。
方案2在黑膠唱機(jī)上邊貼一長方形長條白紙,從圓心起點(diǎn)向外圍貼上去,白紙的長度是經(jīng)過調(diào)研市面各種黑膠唱片機(jī)而計(jì)算出的長度,然后再通過方案一的計(jì)算方法計(jì)算出角速度ω,因?yàn)榘准埖拈L度是固定的,也是從圓心向外開始貼的,所以就解決了不同機(jī)子半徑不同的問題。但如果采用這種方案需要人工測出白紙的長度,人工的測量總是會(huì)出現(xiàn)誤差的,所以這樣測量的結(jié)果也會(huì)不精準(zhǔn)。
方案3在黑膠唱機(jī)中心的軸上插入一個(gè)特制的圓形碼盤,碼盤里開有四等分的1 mm溝槽,然后讓紅外對(duì)射感應(yīng)每兩個(gè)溝槽間的時(shí)間,再通過單片機(jī)的算法算出最終的轉(zhuǎn)速,這也是本次設(shè)計(jì)最終方案。
黑膠唱機(jī)測速儀結(jié)構(gòu)圖如圖1所示,主要包括測定黑膠唱機(jī)電機(jī)轉(zhuǎn)速的碼盤裝置1、單片機(jī)處理模塊、顯示器4、固定外殼2、中間傳輸管5和碼盤塞子6。為減輕附著在黑膠唱機(jī)的測速儀重量,同時(shí)也為了方便操作,將碼盤裝置和單片機(jī)處理模塊在結(jié)構(gòu)上分成兩塊,碼盤裝置可轉(zhuǎn)動(dòng)地放置在固定外殼21內(nèi)部,單片機(jī)處理模塊安裝在固定外殼22內(nèi)部,中間通過傳輸管5連接。顯示器安裝在處理模塊固定外殼22的頂部,顯示實(shí)時(shí)轉(zhuǎn)速。
碼盤裝置包括測速碼盤和紅外傳感器,如圖2所示,測速碼盤包括上下兩個(gè)圓盤和中間圓柱,上邊是一個(gè)小圓盤10,下邊是一個(gè)大圓盤11;中間的圓柱是中空的,它是碼盤的轉(zhuǎn)軸13,可套進(jìn)唱片機(jī)中間的轉(zhuǎn)軸,碼盤轉(zhuǎn)軸將大小圓盤連為一體。碼盤的大圓盤在測速時(shí)能夠附著在唱片機(jī)上,使碼盤能跟著唱片機(jī)帶著轉(zhuǎn)動(dòng);小圓盤沿著圓心到圓邊均勻開了4條寬為1 mm寬的溝槽12,目的是為紅外傳感器測速使用。紅外傳感器采用了兩個(gè)槽型紅外光耦傳感器模塊,由槽型光耦和LM393處理電路組成,30是槽型光耦的紅外發(fā)射光源,31是槽型光耦的紅外接收探頭[2]。用螺栓把槽型紅外光耦傳感器模塊固定到碼盤裝置外殼兩側(cè),使小圓盤位于槽的中間,兩個(gè)槽型紅外光耦傳感器模塊對(duì)稱地固定在碼盤的兩側(cè)。測速時(shí)碼盤轉(zhuǎn)軸套在黑膠唱機(jī)中心電機(jī)的轉(zhuǎn)軸上,當(dāng)黑膠唱機(jī)電機(jī)轉(zhuǎn)動(dòng)時(shí),能帶動(dòng)碼盤大小圓盤轉(zhuǎn)動(dòng),小圓盤轉(zhuǎn)動(dòng)時(shí)因?yàn)闇喜奂t外傳感器能周期性地感知紅外光遮擋信息,根據(jù)這個(gè)信息單片機(jī)處理模塊能精準(zhǔn)測出黑膠唱機(jī)轉(zhuǎn)速。
圖1 黑膠唱機(jī)轉(zhuǎn)盤測速儀的結(jié)構(gòu)示意圖和實(shí)物圖
圖2 測速儀碼盤和紅外傳感器示意圖
紅外傳感模塊,如圖3(a)圖所示,固定在碼盤裝置外殼的內(nèi)側(cè)壁上,通過傳輸管將紅外測速信息送到另一端的單片機(jī)處理模塊,傳輸線設(shè)置在傳輸管內(nèi)連接碼盤裝置和單片機(jī)處理模塊。碼盤模塊,如圖3(b)圖所示,是測速裝置的關(guān)鍵模塊,中間的圓柱將上下兩個(gè)圓盤連為一體,大圓盤的半徑是28 mm,小圓盤的半徑是18 mm。由于碼盤裝置是可轉(zhuǎn)動(dòng)地放置在固定外殼內(nèi)部的,不測速期間,碼盤因?yàn)闆]有黑膠唱機(jī)轉(zhuǎn)軸的支撐易滑落,從而與槽型紅外光耦傳感器模塊發(fā)生碰撞,導(dǎo)致槽型光耦損壞,為此在碼盤裝置外側(cè)壁上設(shè)置了一個(gè)起固定支撐小圓盤的碼盤塞子,如圖3(c)圖所示。在不使用測速儀期間,推進(jìn)碼盤塞子支撐小圓盤,為了方便碼盤塞子的推拉操作,設(shè)計(jì)了一個(gè)凸起的小抓手。
圖3 黑膠唱機(jī)測速儀幾個(gè)關(guān)鍵模塊
硬件電路框圖如圖4所示,考慮到碼盤裝置和單片機(jī)處理模塊是分開的,信號(hào)傳輸?shù)木嚯x遠(yuǎn),使用了光電耦合器來提高抗干擾能力。STM32F103C8T6單片機(jī)7通過第二光耦9調(diào)整好顯示器的最佳顯示效果;通過第一光耦8啟動(dòng)紅外對(duì)射裝置和LCD顯示,紅外對(duì)射裝置將碼盤轉(zhuǎn)速信息送到單片機(jī)輸入捕捉引腳,當(dāng)發(fā)生邊沿觸發(fā),單片機(jī)進(jìn)入中斷,進(jìn)行捕捉計(jì)數(shù),經(jīng)過周期測速法和擬合算法,精準(zhǔn)測出黑膠唱機(jī)轉(zhuǎn)速顯示在LCD1602顯示器4上。5 V電源通過USB接口輸入給到可充放電管理IC 19控制可充式鋰電池18,為單片機(jī)提供電源。
圖4 硬件電路總體框圖
如圖5所示,主芯片使用的是48腳STM32F103-C8T6單片機(jī),外接8 MHz無源晶振,CPU系統(tǒng)頻率達(dá)到72 MHz,擁有64 KB FlashROM。該單片機(jī)擁有3個(gè)16位通用定時(shí)器,本設(shè)計(jì)將PB0設(shè)置成通用定時(shí)器3通道3輸入捕捉引腳,PB8設(shè)置成通用定時(shí)器4通道3輸入捕捉引腳[3]。把按鍵和單片機(jī)相連,當(dāng)按下按鍵時(shí)單片機(jī)產(chǎn)生中斷,不同的按鍵產(chǎn)生不同的中斷,從而實(shí)現(xiàn)不同的功能,S7連接PB10控制LCD的顯示偏壓,按一下就調(diào)節(jié)一下LCD的對(duì)比度,共有十個(gè)檔位,S8連接PB11控制紅外對(duì)射和LCD的電源,按下則開始測速并開啟LCD,通過Stm32低功耗配置和中斷控制保證黑膠測速儀供電充足。指示燈的作用是,當(dāng)按下S7時(shí),每調(diào)節(jié)一次對(duì)比度指示燈便閃爍一次,按下按鍵但指示燈沒閃爍證明對(duì)比度沒有調(diào)節(jié)到,需要重新按,這樣作用便確保了按鍵的使用和對(duì)比度的調(diào)節(jié)。
圖5 Arm控制模塊單元
為了測速使用方便,不需要外接電源線,采用了TP4057的充放電電路,內(nèi)部配有鋰離子電池,如圖6所示。TP4057電路由USB接口輸入5 V電源,芯片會(huì)自動(dòng)檢測BAT引腳電壓,低于2.9 V時(shí),進(jìn)入涓流充電模式;高于2.9 V時(shí),進(jìn)入恒定電流模式;為4.2 V時(shí),進(jìn)入恒定電壓模式,且充電電流開始減小。不同充電狀態(tài)會(huì)亮不同的指示燈。
圖6 TP4057鋰電池充電IC電路
紅外對(duì)射測速傳感電路如圖7所示,采用槽型紅外光耦傳感器[4],當(dāng)槽有物體遮擋時(shí),二極管發(fā)出的紅外光不能傳輸?shù)焦饷羧龢O管,LM393比較器輸出為TTL高電平;相反的,當(dāng)槽沒物體遮擋時(shí),輸出為:TTL低電平。光耦傳感器輸出引腳直接連接STM32F103C8T6單片機(jī)的輸入捕捉引腳。
圖7 槽型光耦傳感器原理圖和實(shí)物圖
STM32F103C8T6單片機(jī)的PB5輸出經(jīng)光耦A(yù)QY212S來控制紅外對(duì)射測速傳感電路開啟和關(guān)閉,如圖8所示。AQY212是光耦合器,抗干擾能力很強(qiáng),當(dāng)PB5為高電平時(shí),光耦合器內(nèi)部的發(fā)光二極管陰陽兩端為高電平,二極管截止不發(fā)光,場效應(yīng)管截止;當(dāng)PB5為低電平時(shí),光耦合器內(nèi)部的發(fā)光二極管導(dǎo)通發(fā)光,場效應(yīng)管導(dǎo)通,此時(shí)VCCIR約等于VCC,從而達(dá)到開啟紅外檢測的功能。通過編程控制PB5,實(shí)現(xiàn)按鍵控制開關(guān)。開啟檢測時(shí),測速儀隨著黑膠唱機(jī)轉(zhuǎn)動(dòng),紅外對(duì)射傳感器把檢測到的信號(hào)送入STM32F103C8T6單片機(jī)PB0和PB8進(jìn)行輸入捕捉計(jì)數(shù),再通過擬合公式算出精準(zhǔn)的轉(zhuǎn)速,并在LCD顯示屏上顯示。
圖8 紅外對(duì)射處理單元
黑膠唱機(jī)速度從16.6666 rad/min到78 rad/min,屬于低速,宜采用測周期T法,通過測量小碼盤相鄰兩個(gè)溝槽之間的時(shí)間再換算成周期,從而求出轉(zhuǎn)速[5]。利用定時(shí)器3,4的輸入捕捉模式可以精確地測出兩次上升沿或下降沿之間的時(shí)間,可算出頻率。測頻原理如圖9所示。采用Stm32通用定時(shí)器3和定時(shí)器4的通道3進(jìn)行輸入捕捉測量,將72 MHz系統(tǒng)主頻進(jìn)行7200分頻變成10 kHz,并以這個(gè)頻率采樣計(jì)數(shù);配置控制寄存器1使輸入濾波器不濾波,濾波器采樣頻率fDTS跟FCK_INT一致,并以fDTS對(duì)TIM3_CH3 、TIM4_CH3上的邊沿信號(hào)進(jìn)行采樣。配置選擇輸入端 IC3映射到TI3上;當(dāng)定時(shí)器3和定時(shí)器4的通道3有邊沿變化時(shí)候,會(huì)觸發(fā)定時(shí)器將TIM3_CNT,TIM4_CNT的值鎖存到TIM3_CCR3,TIM4_CCR3中去;并會(huì)對(duì)TIM3_SR,TIM4_SR的CC3IF置位從而產(chǎn)生中斷。
圖9 通用定時(shí)器通道3測頻原理框
由于碼盤的小圓盤開有四條1 mm的溝槽,通過測量相鄰兩個(gè)溝槽脈沖的時(shí)間來測量速度。小圓盤隨著黑膠唱機(jī)旋轉(zhuǎn),當(dāng)旋轉(zhuǎn)到溝槽時(shí)輸出低電平,其他時(shí)候?yàn)楦唠娖?而四條溝槽是均勻分布的,黑膠唱機(jī)旋轉(zhuǎn)一周所需時(shí)間由四個(gè)相等高低波形構(gòu)成,如圖10所示。只要測出一個(gè)高低波形的時(shí)間即可求出黑膠唱機(jī)旋轉(zhuǎn)周期,頻率和轉(zhuǎn)速。
圖10 T法測速原理圖
T=4×mTc
(1)
式中,T是黑膠唱機(jī)旋轉(zhuǎn)一周時(shí)間;Tc是內(nèi)部高速脈沖周期;m為高頻時(shí)基對(duì)高電平的計(jì)數(shù)值。
(2)
式中,f是黑膠唱機(jī)頻率;fc是內(nèi)部高速時(shí)基;m為高頻時(shí)基對(duì)高電平的計(jì)數(shù)值。
(3)
式中,n是黑膠唱機(jī)轉(zhuǎn)速,單位為轉(zhuǎn)/每分鐘;N為碼盤孔數(shù),為4。
(4)
由于:
(5)
所以:
Δn/n=Δfc/fc-Δm/m
(6)
黑膠唱機(jī)轉(zhuǎn)速誤差的最大值為:
(Δn/n)max=±(|Δfc/fc|+|Δm/m|)
(7)
式中,Δn/n為轉(zhuǎn)速的相對(duì)誤差;Δm/m為計(jì)數(shù)值的相對(duì)誤差;Δfc/fc為頻率的相對(duì)誤差。Δm/m誤差主要是由于內(nèi)部高速脈沖和按鍵啟動(dòng)測速時(shí)刻可能存在相差一個(gè)脈沖,此誤差常被稱為“±1誤差”[6]。
Δfc/fc誤差產(chǎn)生:Δfc/fc主要取決于晶體振蕩器的穩(wěn)定度G。
碼盤小圓盤半徑為18 mm,它的周長是113.09724 mm,碼盤上面的小圓盤開有四條1 mm的溝槽,因溝槽導(dǎo)致的誤差為4/113.09724=0.035367795。
Δm/m誤差即“±1誤差”,要減小Δm/m誤差,就要增大m,增大m就要增大采樣頻率fc,本設(shè)計(jì)Stm32內(nèi)部時(shí)鐘為72 MHz,通過7200分頻,內(nèi)部高速時(shí)基設(shè)置為10 kHz,因此這項(xiàng)誤差可以達(dá)到0.01%。
Δfc/fc誤差取決于單片機(jī)無源晶振的穩(wěn)定度,經(jīng)過多次實(shí)驗(yàn),通過補(bǔ)償一個(gè)常數(shù)1.0000552可基本消除此項(xiàng)誤差。
測速儀工作圖如圖11所示,經(jīng)過大量實(shí)驗(yàn)數(shù)據(jù)分析,LCD顯示的轉(zhuǎn)速與實(shí)際的轉(zhuǎn)速之間的關(guān)系接近純比例關(guān)系,主要與Δfc/fc誤差和溝槽未計(jì)數(shù)導(dǎo)致誤差相關(guān),通過直線方程n=n測×1.025425進(jìn)行擬合補(bǔ)償[7],補(bǔ)償前后數(shù)據(jù)如表1所示。
圖11 黑膠測速儀測速工作圖
表1 補(bǔ)償前后測試結(jié)果表
針對(duì)人工辨別黑膠唱機(jī)轉(zhuǎn)速誤差大的問題,通過測速碼盤關(guān)鍵結(jié)構(gòu)設(shè)計(jì),能對(duì)不同尺寸、不同轉(zhuǎn)速黑膠唱機(jī)精準(zhǔn)測速;采用紅外傳感技術(shù)、周期測速法、Stm32輸入捕捉測頻技術(shù)及擬合誤差算法使轉(zhuǎn)速誤差穩(wěn)定在0.4 % 以內(nèi);Stm32低功耗配置、鋰離子電池充電技術(shù)使測試儀便攜可靠。黑膠唱機(jī)測速儀操作使用簡單,建議在此基礎(chǔ)上配上黑膠唱機(jī)電機(jī)調(diào)速模塊,實(shí)現(xiàn)全自動(dòng)調(diào)速將具有更好的市場推廣價(jià)值。