總線伺服舵機(jī)實(shí)際上可以理解為數(shù)字舵機(jī)的衍生品,數(shù)字舵機(jī)與模擬舵機(jī)相比而言是控制系統(tǒng)設(shè)計(jì)上的顛覆,而總線伺服舵機(jī)對(duì)于舵機(jī)而言則是在功能和運(yùn)用上的顛覆。舵機(jī)的運(yùn)用方式實(shí)際上只能發(fā)揮出總線伺服舵機(jī)非常小的一部分功能。
rgb(51, 51, 51); font-family: arial, 宋體, sans-serif; font-size: 14px; line-height: 24px; background-color: rgb(255, 255, 255);">總線伺服舵機(jī)實(shí)際上可以理解為數(shù)字舵機(jī)的衍生品,數(shù)字舵機(jī)與模擬舵機(jī)相比而言是控制系統(tǒng)設(shè)計(jì)上的顛覆,而總線伺服舵機(jī)對(duì)于舵機(jī)而言則是在功能和運(yùn)用上的顛覆。舵機(jī)的運(yùn)用方式實(shí)際上只能發(fā)揮出總線伺服舵機(jī)非常小的一部分功能。
sic-info cmn-clearfix" style="margin: 20px 0px 35px; clear: both; color: rgb(51, 51, 51); font-family: arial, 宋體, sans-serif; font-size: 12px; line-height: 18px; background: url("http://baike.bdimg.com/static/wiki-lemma/widget/lemma_content/mainContent/basicInfo/img/basicInfo-bg_7819f20.png") rgb(255, 255, 255);">
- idth: 395px; float: left;">
- 總線伺服舵機(jī)
- 電話
- 數(shù)字舵機(jī)的衍生品
- 設(shè)置各種保護(hù)、功能參數(shù)
nitial; background-attachment: initial; background-size: initial; background-origin: initial; background-clip: initial; background-position: initial; background-repeat: initial;">解決方法
編輯abel-module="para" style="font-size: 14px; word-wrap: break-word; color: rgb(51, 51, 51); margin-bottom: 15px; text-indent: 2em; line-height: 24px; zoom: 1; font-family: arial, 宋體, sans-serif; background-color: rgb(255, 255, 255);">總線伺服舵機(jī)。我們先來(lái)看一下我們現(xiàn)在使用舵機(jī)和數(shù)字舵機(jī)時(shí)遇見的問(wèn)題。
1、我們利用舵機(jī)(不論數(shù)字還是模擬)搭建一個(gè)仿人機(jī)器人,用了 20 個(gè)自由度,用了20 個(gè)舵機(jī)。每根舵機(jī)都要接到控制卡上,有的線還需要延長(zhǎng),所有的線加起來(lái)有超過(guò) 30 根,像團(tuán)海草一樣把機(jī)器人整個(gè)身體纏了個(gè)遍,機(jī)器人在走動(dòng)的時(shí)候突然發(fā)現(xiàn)舵機(jī)線被拉松了,機(jī)器人一個(gè)趔趄把脖子都摔斷了??刂瓶ㄉ闲枰龀?20 個(gè)PWM 信號(hào)接口(我們一直在為這個(gè)技術(shù)問(wèn)題發(fā)愁,現(xiàn)在或許好一點(diǎn)),那可是長(zhǎng)長(zhǎng)的一排插針啊。健忘的我還很容易忘記哪個(gè)插針對(duì)應(yīng)哪個(gè)舵機(jī),好不容易接上后,一通電,機(jī)器人腿轉(zhuǎn)到背后去了,一排查發(fā)現(xiàn)腿關(guān)節(jié)接到肩關(guān)節(jié)了。當(dāng)我們需要給機(jī)器人加些傳感器時(shí),突然發(fā)現(xiàn) IO 口都被用掉了,定時(shí)器不夠用了,真是噩夢(mèng)。
2、舵機(jī)的每一個(gè)舵機(jī)的參數(shù)不一定一樣,不時(shí)還會(huì)出現(xiàn)中位偏差比較大的,好不容易裝出機(jī)器人來(lái)后發(fā)現(xiàn)舵機(jī)的中位不一致,和理論計(jì)算得出來(lái)的機(jī)器人步態(tài)不相匹配。這回麻煩大了,需要對(duì)每一個(gè)舵機(jī)設(shè)置中位,在發(fā)送舵機(jī)控制信號(hào)的時(shí)候還需要對(duì)每一個(gè)舵機(jī)都單獨(dú)加入這個(gè)修正值,而不能統(tǒng)一調(diào)用某一個(gè)通用的 PWM 產(chǎn)生函數(shù),一個(gè)步態(tài)就是 20 行代碼。當(dāng)然,程序員都是勤勞和嚴(yán)謹(jǐn)?shù)?,并不覺得這是辛苦的事情。而有些人會(huì)買可以通過(guò)編程器調(diào)節(jié)和設(shè)置中位的舵機(jī),當(dāng)然,可能會(huì)很貴。
3、機(jī)器人步態(tài)的編寫是件非常麻煩的事,我們?cè)诰帉懖綉B(tài)的時(shí)候給舵機(jī)的初始值基本上都是有偏差的,比如我想肩關(guān)節(jié)轉(zhuǎn)到 180 度位置,我給的是 255 的控制值,但由于舵機(jī)個(gè)體差異的問(wèn)題,這個(gè)值已經(jīng)讓舵機(jī)處于堵轉(zhuǎn)狀態(tài)。過(guò)一會(huì)之后,我們發(fā)現(xiàn)機(jī)器人一只胳膊不能用了,可憐的機(jī)器人啊,還不知道到底發(fā)生了什么事。檢查的時(shí)候我們發(fā)現(xiàn)機(jī)器人肩關(guān)節(jié)堵轉(zhuǎn)時(shí)間過(guò)久,導(dǎo)致電機(jī)過(guò)熱,讓舵機(jī)外殼融化,然后導(dǎo)致減速齒輪箱錯(cuò)位,舵機(jī)就失效了,機(jī)器人的一只胳膊就殘廢了。
第一點(diǎn)我們可以這么理解,現(xiàn)在的舵機(jī)都是并聯(lián)控制的,線都需要接到控制板上,我們可以幻想,如果舵機(jī)可以串聯(lián)就好了。腳腕關(guān)鍵的舵機(jī)串到膝關(guān)節(jié),一直串到髖關(guān)節(jié),最后一根線直接接到控制卡上,甚至可以把所有的舵機(jī)都串進(jìn)去。我們可以驚喜的發(fā)現(xiàn),只需要1 接口,最多 4 個(gè)接口就可以搞定 20 個(gè)舵機(jī)了。
第二點(diǎn)的根源在于舵機(jī)自己不能存儲(chǔ)中位修正值,修正值需要我們發(fā)控制脈沖的時(shí)候補(bǔ)進(jìn)去。我們可以想象,如果我告訴舵機(jī):您好,放松,我要修正您的頭部位置,它有點(diǎn)歪了。然后舵機(jī)就放松下來(lái),我們把它的頭擺正,然后告訴它:這是您頭部的正確方向,您以后需要以這位置為正前方,然后舵機(jī)就把這個(gè)位置記下來(lái)了,當(dāng)我告訴它轉(zhuǎn) 60 度它就以這個(gè)位置為初始位置轉(zhuǎn) 60 度,不多不少。
第三點(diǎn)可以理解為機(jī)器人缺少神經(jīng)系統(tǒng),根本不知道疼痛。如果各個(gè)關(guān)節(jié)能給控制卡提供力矩、電流、電壓、溫度、轉(zhuǎn)角等反饋信息,那么機(jī)器人缺胳膊少腿的問(wèn)題都可以解決。這么說(shuō)好像有點(diǎn)神奇了。
其實(shí)一點(diǎn)不神奇,自從總線伺服舵機(jī)出現(xiàn)后,這些幻想都可以瞬間變成現(xiàn)實(shí)。總線伺服舵機(jī)是針對(duì)機(jī)器人運(yùn)用而設(shè)計(jì)的,所以也稱為機(jī)器人舵機(jī)。
內(nèi)容來(lái)自百科網(wǎng)