基于A(yíng)VR和51單片機的機器魚(yú)語(yǔ)音控制系統設計與實(shí)現
模塊PCB板已經(jīng)將連接麥克風(fēng)的引腳接到模塊的MIC插座上,所以在連接電路的時(shí)候11~19和22~31引腳懸空不用。與51單片機連接時(shí),ICR_P0~ICR_P7(2和33-39引腳)必須連接在單片機的數據總線(xiàn)上,同時(shí)需要在P0-P7,以及RDB,MD,INTB,WRB,CSB這些控制管腳上焊接1K /10K的上拉電阻(上拉到3.3V即可),這樣可以輔助系統穩定運行。CLK引腳的連接有兩種選擇:1)直接將51單片機的晶振信號通過(guò)導線(xiàn)輸入到LD3320的CLK管腳,但是導線(xiàn)不宜過(guò)長(cháng)。2)將正方形有源晶振直接焊接在模塊上預留的連接點(diǎn),此時(shí)CLK管腳需要懸空。本文采用的第二種方法。
2.3 AVR控制部分
AVR是魚(yú)體的主控MCU,主要用來(lái)控制機器魚(yú)的的動(dòng)力部分。機器魚(yú)的動(dòng)力來(lái)自舵機,設計關(guān)節數為三個(gè),即有三個(gè)舵機。每個(gè)舵機由十五位的不同占空比的PWM波來(lái)控制轉動(dòng)不同的角度,三個(gè)舵機需要配合形成魚(yú)體波來(lái)控制魚(yú)體擺動(dòng)。魚(yú)體結構如圖3。
魚(yú)體波是利用桿系機器魚(yú)對真實(shí)魚(yú)游動(dòng)形態(tài)的擬合,可以認為魚(yú)體波曲線(xiàn)是魚(yú)體波幅包絡(luò )線(xiàn)和正弦曲線(xiàn)的合成,它開(kāi)始于魚(yú)體慣性力的中心,延伸至尾柄,其曲線(xiàn)方程可表示為
式中,yboby是魚(yú)體的橫向位移(背腹軸),x是魚(yú)體的軸向位侈(頭尾軸),c1是魚(yú)體波波幅包絡(luò )線(xiàn)的一次項系數,c2是魚(yú)體波波幅包絡(luò )線(xiàn)的二次項系數,k是波長(cháng)倍數(k=2π/λ),λ是魚(yú)體波的波長(cháng),w是魚(yú)體波的頻率(w=2πf=2π/T)。
由于計算機控制是一種離散的數字量,魚(yú)體波曲線(xiàn)也需要離散化,所以把時(shí)間參數t從魚(yú)體波運動(dòng)函數yboby(x,t)中分離出來(lái),方程即為
式中,i表示一個(gè)擺動(dòng)周期內的樣條曲線(xiàn)序列的第i個(gè)變量;N表示魚(yú)體波分辨率,即在一個(gè)擺動(dòng)周期內整個(gè)魚(yú)體波被離散的程度,其上限不能大于驅動(dòng)機構擺動(dòng)的最高頻率。
為了更好地表征魚(yú)體波動(dòng)的參數,提高魚(yú)體方向控制特別是轉彎過(guò)程中的靈活性,在方程2的特征參數基礎上,增加波長(cháng)倍數k相對于x的二次增益,修改后的方程如下
通過(guò)調整k1和k2的值,根據x的變化可以得到更多的魚(yú)體波曲線(xiàn)。同時(shí),在機器魚(yú)的設計過(guò)程中,可通過(guò)微調身體波參數來(lái)增加運動(dòng)的機動(dòng)性和靈活性。
評論