<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于舵機控制的仿生魚(yú)設計

基于舵機控制的仿生魚(yú)設計

作者: 時(shí)間:2011-12-01 來(lái)源:網(wǎng)絡(luò ) 收藏

從上述舵機轉角的控制方法可看出,舵機的控制信號實(shí)質(zhì)是一個(gè)可變寬度的方波信號(PWM)。一般采用MCU作為控制器。目前采用單片機作為器的方案比較多,現利用單片機提出另一種編程方法,利用T0T1定時(shí)器中斷來(lái)實(shí)現PWM。該方案將20 ms的周期信號分為兩次定時(shí)中斷來(lái)完成。
上述已知1.5 ms為中心位置,0.5 ms為-90°位置,2.5 ms為+90°位置,并且在此定義一個(gè)脈沖周期為20 ms。定時(shí)器T1定時(shí)20 ms,時(shí)間一到波形取反,T0定時(shí)器起到了脈寬調節功能,如圖5所示。

根據舵機的轉動(dòng)角度可知PWM波形的波動(dòng)范圍,最低是在0.5 ms,最高是在2.5 ms,同時(shí)存儲器最大為256 B,現定義最大的數字為250,則有公式(3):

定時(shí)器T1定時(shí)20 ms,定時(shí)器T0定時(shí)0.01 ms,在存儲器R3單元中放入立即數50并與定時(shí)器T0中斷次數相比較,當定時(shí)器T0定時(shí)發(fā)生50次后即與R3相等,產(chǎn)生脈寬為0.5 ms,即為最小脈寬;當在R3單元中放入立即數250并與定時(shí)器T0中斷次數相比較,當定時(shí)器T0定時(shí)發(fā)生250次后即與R3相等,產(chǎn)生脈寬為2.5 ms,即為最大脈寬。
由此可知對存儲器R3不斷進(jìn)行加1操作,方波的脈寬可以從0.5 ms變化到2.5 ms,然后對立即數進(jìn)行減操作,方波的脈寬會(huì )減至0.5 ms,再進(jìn)行不斷的循環(huán),產(chǎn)生脈寬在0.5 ms~2.5 ms不斷變化的PWM信號。這樣就能控制舵機在-90°~90°之間變化。由此,給出3個(gè)不同的存儲器R3、R4、R5來(lái)控制3個(gè)舵機的轉角,讓3個(gè)存儲器的數值模擬正弦變化,就能夠實(shí)現本文的波動(dòng)推進(jìn)理論。
同時(shí)采用E18-D80NK漫反射式光電傳感器作為魚(yú)的左右眼睛,分別來(lái)判斷障礙。當距離80 cm時(shí)就能檢測到障礙物,此時(shí)讓R3、R4轉動(dòng)一定的角度,并且尾部舵機R5往復擺動(dòng),就能實(shí)現仿生魚(yú)的轉向。因此舵機在PWM控制下,由脈沖寬度的調節可實(shí)現舵機的前進(jìn)和轉向,并可根據仿生魚(yú)的不同的運動(dòng)狀態(tài),來(lái)調用不同的子程序。主程序流程圖如圖6所示。

4 仿生魚(yú)總調試和總結
在完成仿生魚(yú)裝配的基礎上對仿生魚(yú)運動(dòng)進(jìn)行調試。將魚(yú)體、控制電路板、供電電源整合在一起,并且在其表面裹上防水膠布,保證與水隔離。通過(guò)示波器觀(guān)察波形,調試過(guò)程中首先做到仿生魚(yú)運動(dòng)軌跡基本符合要求,接下來(lái)進(jìn)行微調。由于各個(gè)舵機絕對位置都有偏差,并且軟件定時(shí)不夠準確,因此就要根據實(shí)際情況更改脈沖值,直至仿生魚(yú)運動(dòng)軌跡準確。
下水實(shí)驗時(shí),實(shí)驗的第一點(diǎn)是靜態(tài)平衡實(shí)驗。由于魚(yú)體各個(gè)部位選用的材料不同,并受裝配電路板、舵機、電池等元件的影響,魚(yú)體的重心不易確定,因此把魚(yú)體放入水中,觀(guān)察后在適當部位進(jìn)行配重,直至魚(yú)體靜止時(shí)在水中保持平衡。第二點(diǎn)就是動(dòng)態(tài)平衡實(shí)驗,即魚(yú)體在運動(dòng)時(shí)保持運動(dòng)的穩定性。動(dòng)態(tài)平衡首先受靜態(tài)平衡的影響,因此在保證靜態(tài)平衡的條件下盡量滿(mǎn)足動(dòng)態(tài)平衡。另一調節動(dòng)態(tài)平衡就是通過(guò)程序控制,包括魚(yú)體運動(dòng)的頻率、幅度。實(shí)物效果圖如圖7所示。

通過(guò)反復進(jìn)行調整裝配與調試,基本實(shí)現了仿生魚(yú)在水中的運動(dòng)狀態(tài)。但目前還沒(méi)有解決仿生魚(yú)在游動(dòng)過(guò)程中的加減速的問(wèn)題,實(shí)際上根據魚(yú)類(lèi)推進(jìn)公式已經(jīng)制定出了加減速方案。本項目是大學(xué)生創(chuàng )新項目,也是教師科研項目,該項目根據魚(yú)類(lèi)的游動(dòng)姿態(tài),利用機電控制等對水下載體和作業(yè)裝備提供了新的設計思路。
參考文獻
[1] 梁建宏,王田苗,魏洪興.水下仿生機器魚(yú)的研究進(jìn)展I—魚(yú)類(lèi)推進(jìn)機理[J].機器人ROBOT,2002,24(2):107-111.
[2] 梁建宏,王田苗,魏宏興.仿生機器魚(yú)技術(shù)研究進(jìn)展及關(guān)鍵問(wèn)題探討[J].機器人技術(shù)與應用,2003(3):14-19.
[3] 宋天麟,黃烈巖.仿生機器與系統設計研究[J].機械制造與自動(dòng)化,2005,34(5):82-83,87.
[4] 駱涵秀,李世倫,朱捷.機電控制[M].杭州:浙江大學(xué)出 版社,1994:31-63.


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 舵機控制 仿生魚(yú)設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>