沈美麗
摘要:設(shè)計了一款以超低功耗MSP430芯片為主控制器,通過藍牙模塊實現(xiàn)手機APP控制發(fā)球機的整套系統(tǒng)。訓(xùn)練者通過APP軟件,直接發(fā)送命令給發(fā)球機的控制系統(tǒng),按照設(shè)定不必靠近發(fā)球機就能改變發(fā)球速度與旋轉(zhuǎn)模式。結(jié)果表明,手機APP發(fā)出命令,系統(tǒng)各部分均能正常工作。
關(guān)鍵詞:MSP430單片機;藍牙模塊;乒乓球發(fā)球機
傳統(tǒng)的乒乓球教練員訓(xùn)練方法存在許多弊端,使用乒乓球發(fā)球機可以很好地解決這些問題。本文設(shè)計了一套低功耗智能發(fā)球機,能夠發(fā)出不同初速度與旋轉(zhuǎn)方向的球,并可根據(jù)自己的訓(xùn)練水平進行調(diào)整。在訓(xùn)練時不必靠近發(fā)球機就通過語音識別改變發(fā)球速度與旋轉(zhuǎn)模式,運用藍牙通信,在智能手機APP實現(xiàn)對發(fā)球機的控制。
一、系統(tǒng)構(gòu)成
乒乓球發(fā)球機系統(tǒng)由主控電路模塊、語音識別模塊、藍牙模塊和電機驅(qū)動模塊等構(gòu)成。主控電路模塊以MSP430為核心處理器,控制算法執(zhí)行、產(chǎn)生PWM信號、調(diào)節(jié)電機轉(zhuǎn)速等工作。語音識別模塊使用LD3320芯片,采用關(guān)鍵詞列表技術(shù),聲音由外部咪頭采集模數(shù)轉(zhuǎn)換后通過內(nèi)部語音識別算法對語音信號進行識別,給出發(fā)球指令。而后用HC-06藍牙模塊與手機進行通信,配對后利用藍牙串行端口協(xié)議將藍牙的通信轉(zhuǎn)換為虛擬串口,完成通信[1]。為了同時控制多路電機,須使用電機驅(qū)動芯片L9110S,實現(xiàn)對電機的驅(qū)動。
二、乒乓球飛行過程分析
本文采用摩擦輪式乒乓球發(fā)球機,發(fā)球方式為2個相互對轉(zhuǎn)的摩擦輪,通過摩擦將乒乓球發(fā)射出去。發(fā)球機上半部為儲球機,由1根螺旋前進的推桿將乒乓球送入發(fā)射機構(gòu)。該發(fā)球機有左右2個出球口,可以同時發(fā)射2個旋轉(zhuǎn)方向、初速度不同的球。乒乓球的初速度是由2個對轉(zhuǎn)輪所提供的初速度經(jīng)過速度合成后得到的[2]。
根據(jù)不同發(fā)球模式設(shè)定參數(shù)值,包括:上旋、下旋、球速變化、出球速率等。上旋模式時,設(shè)定下轉(zhuǎn)輪勻速運動,上轉(zhuǎn)輪加速運動;下旋模式時,設(shè)定上轉(zhuǎn)輪勻速運動,下轉(zhuǎn)輪加速運動;球速變化模式時,設(shè)定上、下轉(zhuǎn)輪轉(zhuǎn)速同時變化;出球速率模式時,設(shè)定儲球機構(gòu)中螺旋桿的轉(zhuǎn)速變化。
三、 乒乓球發(fā)球機軟件設(shè)計
1. 總體設(shè)計
系統(tǒng)上電后進行初始化操作:包括單片機I/O口初始化,LD3320芯片初始化,串口初始化。而后,系統(tǒng)進入等待中斷狀態(tài),接收與藍牙模塊通信的中斷,當(dāng)手機向藍牙發(fā)消息,收到消息后通過串口向單片機發(fā)送,單片機進入中斷,通過中斷函數(shù)判斷執(zhí)行不同的操作;同時語音識別模塊產(chǎn)生中斷,當(dāng)采集到外部語音信號后,中斷引腳會送出一個低電平,單片機的中斷引腳接收到該中斷后立即進入中斷函數(shù),通過單片機判斷識別是否成功,成功后取識別結(jié)果,轉(zhuǎn)入相應(yīng)的用戶處理函數(shù)[3]。
2.PWM波
單片機輸出量為數(shù)字量,電機電壓為模擬量。想實現(xiàn)對電機的連續(xù)控制,需要利用單片機產(chǎn)生數(shù)字信號轉(zhuǎn)換為模擬信號,用不同占空比的方波實現(xiàn)對電壓的調(diào)節(jié)。因此,選用MSP430自身定時器的PWM波。先將PWM信號的周期值設(shè)定在定時器寄存器中,工作在增計數(shù)模式。當(dāng)計數(shù)值大于寄存器值時,I/O端口輸出值翻轉(zhuǎn),產(chǎn)生0、1跳變的PWM波。若要改變PWM信號的占空比,通過改變寄存器中的值就可以完成。當(dāng)語音識別模塊識別到命令后,在函數(shù)中實現(xiàn)對PWM占空比的設(shè)定,達到軟件控制電機轉(zhuǎn)速的目的。
3. 語音識別和藍牙模塊
系統(tǒng)供電后,對LD3320芯片進行初始化操作,初始化正常,就進入等待識別狀態(tài)。當(dāng)采集到外部語音信號后,開始自動識別,同時送出中斷,判斷是否識別成功,識別成功后,繼續(xù)讀取識別結(jié)果操作。若識別不成功,可能是雜音干擾,程序退出中斷,繼續(xù)等待下一次識別。MSP430與藍牙模塊通過串口連接,采用異步串口通信,雙方按照預(yù)定時鐘速率通信,沒有公共時間線。MSP430會將相鄰數(shù)據(jù)間加入一些數(shù)位進行分割,用戶需要設(shè)置串口初始化與串口配置。
4. 手機APP設(shè)計
手機APP主要功能為與藍牙模塊進行信息交互,語音模塊采集到信號并成功識別后,轉(zhuǎn)入相應(yīng)的用戶處理函數(shù),藍牙模塊接收到手機傳來的命令后,發(fā)出信號讓單片機進入中斷,實現(xiàn)對發(fā)球機的控制[4]。綜合所述,實現(xiàn)了通過語音命令和手機APP對發(fā)球機的控制。
四、 系統(tǒng)測試
測試所用到的設(shè)備Vivo X9和乒乓球發(fā)球機。整個裝置配置好后系統(tǒng)供電,先發(fā)一級口令“你好”,系統(tǒng)能夠正常識別,成功后等待下一步命令。一級口令的設(shè)置是為了防止誤識別、誤觸發(fā),提高系統(tǒng)工作的穩(wěn)定性;繼續(xù)發(fā)“開機”,電機開始轉(zhuǎn)動,發(fā)球機正常工作,將乒乓球發(fā)射出去。再通過手機APP發(fā)出開始、上旋、下旋、停止等命令,系統(tǒng)各部分正常工作,識別并做出相應(yīng)的動作,完成整個系統(tǒng)的工作。隨著發(fā)出語音命令距離的增大,識別率呈下降趨勢。這個識別率與麥克的距離相關(guān),距離越大,識別率越低。
五、結(jié)論
以MSP430G2為核心所設(shè)計的控制器功耗低、定時、喚醒速度快,可連藍牙實現(xiàn)手機控制通信,此乒乓球訓(xùn)練助手軟件方便快捷,能較好地實現(xiàn)人機交互、達到鍛煉身體的目的。
參考文獻:
[1] 李新明.自動乒乓球發(fā)球機設(shè)計及其控制系統(tǒng)的探究[J].電子測試,2014(S1)
[2] 金鑫,田犇.基于LD3320的語音控制系統(tǒng)設(shè)計實現(xiàn)[J].電腦與信息技術(shù),2011,19(6)
[3] 楊平,王威.MSP430系列超低功耗單片機及應(yīng)用[J].國外電子測量技術(shù),2008,27(12)
[4] 王臻.運用PWM技術(shù)對直流電機轉(zhuǎn)速的控制[J].工業(yè)儀表與自動化裝置,2013(6)