0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于PIC單片機的仿生機器魚的舵機控制

2oON_changxuemc ? 來源:未知 ? 作者:胡薇 ? 2018-06-08 10:16 ? 次閱讀

仿生機器魚實驗平臺屬于教育部和北京郵電大學(xué)共同出資支持的一項“國家級大學(xué)生創(chuàng)新性實驗計劃”項目,是一個集光、機、電、流體、智能于一體的實驗平臺,研究內(nèi)容包括:仿生機器魚機械結(jié)構(gòu)的研究,推薦效率的研究以及控制性能的研究。

1. 仿生機器魚平臺簡介:

設(shè)計制作的機器魚模仿鲹科魚類的外形,頭部采用剛性結(jié)構(gòu)的塑料材料。其形狀采用流線型,模仿真魚魚頭的形狀和大小比例。在魚頭的內(nèi)部空間里安裝電源控制電路,并在魚頭兩側(cè)魚眼處及在頭前部的偏下側(cè)安裝了3 個紅外傳感器,構(gòu)成了一個探測左、前、右三個方向的傳感器網(wǎng)絡(luò),讓魚具有自助避障的功能。

使用鋁合金制作的魚骨架把三個舵機串聯(lián)起來,魚骨架支撐起套于舵機外面的橡膠魚皮,便構(gòu)成了了機器魚的魚身這個三關(guān)節(jié)的驅(qū)動系統(tǒng)。使用鋁合金制作的連接件將魚身通過螺紋連接的方式固定在在剛性魚頭上,魚身的橡膠魚皮使用熱熔膠粘在魚頭上,這樣便構(gòu)成了機器魚的整體結(jié)果。具體如圖1 所示。實驗證明,這種方法簡單易行,且方便拆卸和組裝。

機器魚技術(shù)指標:巡游速度:1.2~1.5m./s;全電量巡游距離:4.5~5.5 千米;轉(zhuǎn)彎半徑:15~20cm。

2.系統(tǒng)組成及工作原理

從功能上看,整個魚體的系統(tǒng)可以分成三大塊,分別是:感知區(qū),決策區(qū),行為區(qū)。感知區(qū)對應(yīng)著多紅外傳感器網(wǎng)絡(luò)和無限傳輸模塊,而決策區(qū)指的是主控芯片(MCU),動作區(qū)對應(yīng)著舵機串聯(lián)組成的三關(guān)節(jié)驅(qū)動系統(tǒng)。具體如圖2所示。本系統(tǒng)的最重要的工作集中在對多舵機的協(xié)調(diào)控制,因此主要圍繞舵機的控制工作進行細致詳盡的介紹。

3 舵機的控制

3.1 舵機的工作原理:

舵機主要由以下幾個部分組成:舵盤、減速齒輪組、比例電位器(位置反饋電位計)、直流電機(馬達)、控制電路板等。其工作原理:控制電路板接受來自信號線的控制信號,控制直流電機轉(zhuǎn)動,直流電機帶動一系列齒輪組,其齒輪組的輸出軸與一個線性的比例電位器相連,該電位器把輸出軸轉(zhuǎn)過的角度θ 轉(zhuǎn)換成比例的電壓反饋給控制電路,控制電路將其與輸入的控制脈沖信號比較,產(chǎn)生糾偏脈沖,并驅(qū)動馬達正向或反向地轉(zhuǎn)動,使齒輪組的輸出位置與期望值相符,令糾正脈沖趨于為0,從而達到使舵機精確定位的目的。舵機是一個典型閉環(huán)反饋系統(tǒng),其工作原理由圖3 所示。

舵機的輸入線共有三條,紅色中間,是電源線,一邊黑色的是地線,這兩根線給舵機提供最基本的能源保證,主要是電機的轉(zhuǎn)動消耗。電源有兩種規(guī)格,一是4.8V,一是6.0V,分別對應(yīng)不同的轉(zhuǎn)矩標準,另外一根線是控制信號線,一般為白色。

3.2 單舵機和多舵機的角度控制

3.2.1 單舵機的角度控制:

由舵機的工作原理可知,給舵機輸入一個周期在20ms 左右,脈沖寬度在0.5ms 至2.5ms 之間的周期性脈沖信號,驅(qū)動舵機輸出軸達到-90°到90° 之間的轉(zhuǎn)角,呈線性變化。并且無論外界轉(zhuǎn)矩怎樣改變,舵機的輸出軸都會保持在一個相對應(yīng)的角度上,直到給它提供一個另外寬度的脈沖信號,才會改變輸出角度到新的對應(yīng)的位置上。通過編程,借助單片機的輸出端口得到需要的周期性脈沖信號。

程序示例:(晶振為:4MHZ,脈沖從PORTDbits.RD0 輸出)

從上面的程序可知,通過改變delay 函數(shù)的形參j,可以根據(jù)需要,得到具有相應(yīng)脈沖寬度和周期的脈沖信號。例如,改變以上程序段的1 至4 行為:

得到輸出脈沖寬度為1ms,周期為20ms 的脈沖信號,然后借助for 循環(huán),將能得到所需要的周期性脈沖信號,驅(qū)動舵機輸出軸達到-90°到90° 之間的轉(zhuǎn)角。

3.2.2 多舵機不同角度的控制:

通過多舵機不同角度的控制,可以控制幾個舵機同時向不同角度扭轉(zhuǎn),以達到預(yù)期的控制目的。

具體的實現(xiàn)方法是:在定時器延時函數(shù)中設(shè)定一個計時值t(在程序中t 在初始化時值為0),使t 在每次定時器計時完畢時加1。例如,定時器一周期的定時時間為0.25ms,則t值每加1 就相當于0.25ms。當t 的代表值達到20ms 也就是當t 等于80 時清零,這樣就可以將脈沖周期控制在20ms,再通過使用if 語句查詢方式,可以調(diào)節(jié)同一周期脈沖的脈沖寬度,即能使多舵機同時向不同角度旋轉(zhuǎn)。

程序示例:(晶振為:4MHZ,脈沖從PORTDbits.RD0,PORTDbits.RD1,PORTDbits.RD2三個端口中輸出)

通過以上程序再配合for 循環(huán),便能在PORTDbits.RD0,PORTDbits.RD1,PORTDbits.RD2三個端口得到脈沖寬度分別為1ms,1.5ms,2ms,周期同為20ms 的三種周期脈沖信號,從而達到對三個舵機同時進行不同控制的要求。當然利用以上的方法,可以很輕松地對3 個以上的多個舵機同時進行控制。

3.3 舵機的速度控制

通過舵機的特性可以了解到舵機的瞬時運動速度是由其內(nèi)部的直流電動機和變速齒輪組的配合來決定的,在恒定的電壓驅(qū)動下,其數(shù)值是恒定的。但舵機的平均運動速度可通過分段停頓的控制方式來改變,例如,把動作幅度為90°的轉(zhuǎn)動細分為128 個停頓點,通過控制每個停頓點的時間長短來實現(xiàn)0°到90°變化的平均速度。也就是說,將90 度的連貫一步轉(zhuǎn)動變?yōu)?28 個停頓的步進轉(zhuǎn)動,通過每步之間的短暫停頓可實現(xiàn)減速的目的,因為停頓時間非常短因此可看做是90°的連貫轉(zhuǎn)動,由于篇幅的限制,這里不再給出相應(yīng)的程序?qū)嵗信d趣的讀者可以自己參考上面的程序?qū)嵗M行編寫。

4.結(jié)束語

本文介紹的這種方法產(chǎn)生的PWM 波形精度高,能夠很好的完成舵機的控制工作,舵機工作穩(wěn)定,我們設(shè)計制作的機器魚成功地實現(xiàn)了魚類的一些基本運動動作,如前游,加速,停止,前進中轉(zhuǎn)彎等,這也驗證了所采用的多關(guān)節(jié)驅(qū)動方式和對多舵機的控制方法是行之有效的。本文通過以仿生機器魚為載體進行撰文,意在拋磚引玉,希望對其它的舵機控制應(yīng)用起到幫助。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PIC單片機
    +關(guān)注

    關(guān)注

    64

    文章

    691

    瀏覽量

    101928
  • 仿生機器魚
    +關(guān)注

    關(guān)注

    1

    文章

    2

    瀏覽量

    1267

原文標題:基于PIC單片機的仿生機器魚的舵機控制

文章出處:【微信號:changxuemcu,微信公眾號:暢學(xué)單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    瑞士水下仿生機器人-Sepios

    瑞士聯(lián)邦理工學(xué)院 Pascal Buholzer 和他的學(xué)生設(shè)計的Sepios水下仿生機器人,解決螺旋槳推進器的水草纏繞和噪音問題。
    發(fā)表于 01-13 15:52

    【OK210申請】仿生機器與水產(chǎn)海洋生物生態(tài)系統(tǒng)建模、分析與調(diào)節(jié)

    復(fù)雜,對開發(fā)板的要求較高,您公司這款開發(fā)板性能滿足我們的要求,希望能試用。項目描述:我們與美國密歇根州立大學(xué)合作研發(fā)并在上海海洋大學(xué)研制了“微動力仿生機器”,在多個機器的定位、導(dǎo)航
    發(fā)表于 07-26 13:14

    ★★★DIY6足仿生蜘蛛機器人 51單片機 WIFI控制★★★

    ★★★DIY6足仿生蜘蛛機器人 51單片機 WIFI控制★★★網(wǎng)上的6足機器人都是用stm32或AVR
    發(fā)表于 04-15 15:54

    四足仿生機器

    本帖最后由 紅塵。破 于 2016-8-19 14:59 編輯 今天整理資料時發(fā)現(xiàn)了一年前做的四足仿生機器人,當時買了一個四足仿生機器人的骨架,畫了個板子,寫了個測試代碼,能完成簡單的行走,后面加了避障、顯示功能啥的,不過視頻資料沒了,只有簡單行走的視頻,優(yōu)酷鏈接在
    發(fā)表于 08-19 14:59

    自主仿生機器

    `博雅工道研發(fā)了一款智能仿生機器,該使用仿生技術(shù),以盒子為原型加以創(chuàng)造具有目標識別、智能跟隨、水聲遙控、代碼開源、防水技術(shù)、無線傳輸、
    發(fā)表于 10-25 18:00

    開源資料六足仿生機器人(原理圖+PCB+源碼等)

    有很多小伙伴喜歡在沒事的時候鼓搗一些機器人什么的,現(xiàn)在給大家分享一個仿生機器人開源資料,喜歡的小伙伴可以看看。六足機器人系統(tǒng)基于仿生學(xué)原理,采用六足昆蟲的機械結(jié)構(gòu),通過
    發(fā)表于 10-10 09:57

    如何設(shè)計一款基于STM32的仿生機械手

    研究目標設(shè)計一款基于STM32的仿生機械手:(1)基于STM32的仿生機械手實現(xiàn)無線控制和有線控制。 (2)實現(xiàn)串口指令控制
    發(fā)表于 01-07 06:55

    PIC單片機教程_PIC單片機學(xué)習(xí)要點

    PIC單片機是一種用來開發(fā)去控制外圍設(shè)備的集成電路(IC)。本內(nèi)容向廣大工程師全面的介紹了PIC單片機,涵蓋
    發(fā)表于 06-28 15:19
    <b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>教程_<b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>學(xué)習(xí)要點

    51單片機控制舵機

    利用簡單的51單片機的PWM的脈沖控制信號來很方便的控制舵機
    發(fā)表于 11-10 15:25 ?103次下載

    單片機實現(xiàn)舵機轉(zhuǎn)角控制

    單片機實現(xiàn)舵機轉(zhuǎn)角控制單片機實現(xiàn)舵機轉(zhuǎn)角控制單片機實現(xiàn)舵機轉(zhuǎn)角
    發(fā)表于 04-28 14:57 ?24次下載

    仿生機器_斌小狼的畢業(yè)設(shè)計

    還針對仿生機器的運動特點,利用單片機進行硬件系統(tǒng)設(shè)置,其中不僅有遙控發(fā)射接收電路,而且還有串行通訊電路和舵機控制等,盡力起來一個完整的硬件
    發(fā)表于 06-16 16:51 ?8次下載

    51單片機控制舵機程序

    僅提供參考 51單片機控制機器人數(shù)字舵機的示例程序。程序比較簡單,但演示了控制的方法。作為入門級的學(xué)習(xí),還是可以參考的。
    發(fā)表于 06-23 18:14 ?171次下載

    使用51單片機設(shè)計六足仿生機器人的詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是使用51單片機設(shè)計六足仿生機器人的詳細資料說明。
    發(fā)表于 07-03 17:42 ?12次下載
    使用51<b class='flag-5'>單片機</b>設(shè)計六足<b class='flag-5'>仿生機器</b>人的詳細資料說明

    仿生機器人分為哪幾類_仿生機器人研究現(xiàn)狀

    按照使用環(huán)境的不同,又可以將機器人分為水下仿生機器人,空中仿生機器人和地面仿生機器人。
    發(fā)表于 12-14 16:10 ?1.3w次閱讀

    基于PIC單片機仿生機器舵機控制

    仿生機器實驗平臺屬于教育部和北京郵電大學(xué)共同出資支持的一項“國家級大學(xué)生創(chuàng)新性實驗計劃”項目,是一個集光、、電、流體、智能于一體的實驗平臺,研究內(nèi)容包括:仿生機器
    發(fā)表于 02-11 17:14 ?8次下載
    基于<b class='flag-5'>PIC</b><b class='flag-5'>單片機</b>的<b class='flag-5'>仿生機器</b><b class='flag-5'>魚</b>的<b class='flag-5'>舵機</b><b class='flag-5'>控制</b>