<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AVR和51單片機(jī)的機(jī)器魚語音控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          基于AVR和51單片機(jī)的機(jī)器魚語音控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2012-09-02 來源:網(wǎng)絡(luò) 收藏

          b.jpg


          模塊PCB板已經(jīng)將連接麥克風(fēng)的引腳接到模塊的MIC插座上,所以在連接電路的時(shí)候11~19和22~31引腳懸空不用。與51連接時(shí),ICR_P0~I(xiàn)CR_P7(2和33-39引腳)必須連接在的數(shù)據(jù)總線上,同時(shí)需要在P0-P7,以及RDB,MD,INTB,WRB,CSB這些控制管腳上焊接1K /10K的上拉電阻(上拉到3.3V即可),這樣可以輔助系統(tǒng)穩(wěn)定運(yùn)行。CLK引腳的連接有兩種選擇:1)直接將51的晶振信號(hào)通過導(dǎo)線輸入到LD3320的CLK管腳,但是導(dǎo)線不宜過長。2)將正方形有源晶振直接焊接在模塊上預(yù)留的連接點(diǎn),此時(shí)CLK管腳需要懸空。本文采用的第二種方法。
          2.3 控制部分
          是魚體的主控MCU,主要用來控制魚的的動(dòng)力部分。魚的動(dòng)力來自舵機(jī),關(guān)節(jié)數(shù)為三個(gè),即有三個(gè)舵機(jī)。每個(gè)舵機(jī)由十五位的不同占空比的PWM波來控制轉(zhuǎn)動(dòng)不同的角度,三個(gè)舵機(jī)需要配合形成魚體波來控制魚體擺動(dòng)。魚體結(jié)構(gòu)如圖3。

          f.jpg


          魚體波是利用桿系魚對(duì)真實(shí)魚游動(dòng)形態(tài)的擬合,可以認(rèn)為魚體波曲線是魚體波幅包絡(luò)線和正弦曲線的合成,它開始于魚體慣性力的中心,延伸至尾柄,其曲線方程可表示為
          c.jpg
          式中,yboby是魚體的橫向位移(背腹軸),x是魚體的軸向位侈(頭尾軸),c1是魚體波波幅包絡(luò)線的一次項(xiàng)系數(shù),c2是魚體波波幅包絡(luò)線的二次項(xiàng)系數(shù),k是波長倍數(shù)(k=2π/λ),λ是魚體波的波長,w是魚體波的頻率(w=2πf=2π/T)。
          由于計(jì)算機(jī)控制是一種離散的數(shù)字量,魚體波曲線也需要離散化,所以把時(shí)間參數(shù)t從魚體波運(yùn)動(dòng)函數(shù)yboby(x,t)中分離出來,方程即為
          d.jpg
          式中,i表示一個(gè)擺動(dòng)周期內(nèi)的樣條曲線序列的第i個(gè)變量;N表示魚體波分辨率,即在一個(gè)擺動(dòng)周期內(nèi)整個(gè)魚體波被離散的程度,其上限不能大于驅(qū)動(dòng)機(jī)構(gòu)擺動(dòng)的最高頻率。
          為了更好地表征魚體波動(dòng)的參數(shù),提高魚體方向控制特別是轉(zhuǎn)彎過程中的靈活性,在方程2的特征參數(shù)基礎(chǔ)上,增加波長倍數(shù)k相對(duì)于x的二次增益,修改后的方程如下
          e.jpg
          通過調(diào)整k1和k2的值,根據(jù)x的變化可以得到更多的魚體波曲線。同時(shí),在機(jī)器魚的過程中,可通過微調(diào)身體波參數(shù)來增加運(yùn)動(dòng)的機(jī)動(dòng)性和靈活性。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();