基于舵機控制的仿生魚設計
從上述舵機轉角的控制方法可看出,舵機的控制信號實質是一個可變寬度的方波信號(PWM)。一般采用MCU作為控制器。目前采用單片機作為舵機控制器的方案比較多,現(xiàn)利用單片機提出另一種編程方法,利用T0T1定時器中斷來實現(xiàn)PWM。該方案將20 ms的周期信號分為兩次定時中斷來完成。
上述已知1.5 ms為中心位置,0.5 ms為-90°位置,2.5 ms為+90°位置,并且在此定義一個脈沖周期為20 ms。定時器T1定時20 ms,時間一到波形取反,T0定時器起到了脈寬調節(jié)功能,如圖5所示。
根據舵機的轉動角度可知PWM波形的波動范圍,最低是在0.5 ms,最高是在2.5 ms,同時存儲器最大為256 B,現(xiàn)定義最大的數字為250,則有公式(3):
定時器T1定時20 ms,定時器T0定時0.01 ms,在存儲器R3單元中放入立即數50并與定時器T0中斷次數相比較,當定時器T0定時發(fā)生50次后即與R3相等,產生脈寬為0.5 ms,即為最小脈寬;當在R3單元中放入立即數250并與定時器T0中斷次數相比較,當定時器T0定時發(fā)生250次后即與R3相等,產生脈寬為2.5 ms,即為最大脈寬。
由此可知對存儲器R3不斷進行加1操作,方波的脈寬可以從0.5 ms變化到2.5 ms,然后對立即數進行減操作,方波的脈寬會減至0.5 ms,再進行不斷的循環(huán),產生脈寬在0.5 ms~2.5 ms不斷變化的PWM信號。這樣就能控制舵機在-90°~90°之間變化。由此,給出3個不同的存儲器R3、R4、R5來控制3個舵機的轉角,讓3個存儲器的數值模擬正弦變化,就能夠實現(xiàn)本文的波動推進理論。
同時采用E18-D80NK漫反射式光電傳感器作為魚的左右眼睛,分別來判斷障礙。當距離80 cm時就能檢測到障礙物,此時讓R3、R4轉動一定的角度,并且尾部舵機R5往復擺動,就能實現(xiàn)仿生魚的轉向。因此舵機在PWM控制下,由脈沖寬度的調節(jié)可實現(xiàn)舵機的前進和轉向,并可根據仿生魚的不同的運動狀態(tài),來調用不同的子程序。主程序流程圖如圖6所示。
4 仿生魚總調試和總結
在完成仿生魚裝配的基礎上對仿生魚運動進行調試。將魚體、控制電路板、供電電源整合在一起,并且在其表面裹上防水膠布,保證與水隔離。通過示波器觀察波形,調試過程中首先做到仿生魚運動軌跡基本符合要求,接下來進行微調。由于各個舵機絕對位置都有偏差,并且軟件定時不夠準確,因此就要根據實際情況更改脈沖值,直至仿生魚運動軌跡準確。
下水實驗時,實驗的第一點是靜態(tài)平衡實驗。由于魚體各個部位選用的材料不同,并受裝配電路板、舵機、電池等元件的影響,魚體的重心不易確定,因此把魚體放入水中,觀察后在適當部位進行配重,直至魚體靜止時在水中保持平衡。第二點就是動態(tài)平衡實驗,即魚體在運動時保持運動的穩(wěn)定性。動態(tài)平衡首先受靜態(tài)平衡的影響,因此在保證靜態(tài)平衡的條件下盡量滿足動態(tài)平衡。另一調節(jié)動態(tài)平衡就是通過程序控制,包括魚體運動的頻率、幅度。實物效果圖如圖7所示。
通過反復進行調整裝配與調試,基本實現(xiàn)了仿生魚在水中的運動狀態(tài)。但目前還沒有解決仿生魚在游動過程中的加減速的問題,實際上根據魚類推進公式已經制定出了加減速方案。本項目是大學生創(chuàng)新項目,也是教師科研項目,該項目根據魚類的游動姿態(tài),利用機電控制等對水下載體和作業(yè)裝備提供了新的設計思路。
參考文獻
[1] 梁建宏,王田苗,魏洪興.水下仿生機器魚的研究進展I—魚類推進機理[J].機器人ROBOT,2002,24(2):107-111.
[2] 梁建宏,王田苗,魏宏興.仿生機器魚技術研究進展及關鍵問題探討[J].機器人技術與應用,2003(3):14-19.
[3] 宋天麟,黃烈?guī)r.仿生機器與系統(tǒng)設計研究[J].機械制造與自動化,2005,34(5):82-83,87.
[4] 駱涵秀,李世倫,朱捷.機電控制[M].杭州:浙江大學出 版社,1994:31-63.
評論