Arduino入門(mén)到精通例程18_第1頁(yè)
Arduino入門(mén)到精通例程18_第2頁(yè)
Arduino入門(mén)到精通例程18_第3頁(yè)
Arduino入門(mén)到精通例程18_第4頁(yè)
Arduino入門(mén)到精通例程18_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、舵機(jī)控制實(shí)驗(yàn)舵機(jī)(英文叫 Servo):它由直流電機(jī)、減速齒輪組、傳感器和控制電路組成的一套自動(dòng)控制系統(tǒng)。 通過(guò)發(fā)送信號(hào),指定輸出軸旋轉(zhuǎn)角度。舵機(jī)一般而言都有最大旋轉(zhuǎn)角度(比如180 度。)與普通直流電機(jī)的區(qū)別主要在,直流電機(jī)是一圈圈轉(zhuǎn)動(dòng)的, 舵機(jī)只能在一定角度內(nèi)轉(zhuǎn)動(dòng),不能一圈圈轉(zhuǎn)(數(shù)字舵機(jī)可以在舵機(jī)模式和電機(jī)模式中切換,沒(méi)有這個(gè)問(wèn)題)。普通直流電機(jī)無(wú)法反饋轉(zhuǎn)動(dòng)的角度信息,而舵機(jī)可以。用途也不同,普通直流電機(jī)一般是整圈轉(zhuǎn)動(dòng)做動(dòng)力用,舵機(jī)是控制某物體轉(zhuǎn)動(dòng)一定角度用(比如機(jī)器人的關(guān)節(jié))。適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。舵機(jī)有很多規(guī)格,但所有的舵機(jī)都有外接三根線,分別用棕、紅、橙三種

2、顏色進(jìn)行區(qū)分,由于舵機(jī)品牌不同,顏色也會(huì)有所差異,棕色為接地線,紅色為電源正極線,橙色為信號(hào)線。舵機(jī)的轉(zhuǎn)動(dòng)的角度是通過(guò)調(diào)節(jié)PWM(脈沖寬度調(diào)制)信號(hào)的占空比來(lái)實(shí)現(xiàn)的,標(biāo)準(zhǔn) PWM(脈沖寬度調(diào)制) 信號(hào)的周期固定為 20ms(50Hz),理論上脈寬分布應(yīng)在 1ms到 2ms 之間,但是,事實(shí)上脈寬可由 0.5ms到 2.5ms 之間,脈寬和舵機(jī)的轉(zhuǎn)角 0° 180°相對(duì)應(yīng)。有一點(diǎn)值得注意的地方,由于舵機(jī)牌子不同,對(duì)于同一信號(hào),不同牌子的舵機(jī)旋轉(zhuǎn)的角度也會(huì)有所不同。舵機(jī)的伺服系統(tǒng)由可變寬度的脈沖來(lái)進(jìn)行控制, 控制線是用來(lái)傳送脈沖的。脈沖的參數(shù)有最小值,最大值,和頻率。一般而言,

3、舵機(jī)的基準(zhǔn)信號(hào)都是周期為 20ms,寬度為 1.5ms。這個(gè)基準(zhǔn)信號(hào)定義的位置為中間位置。舵機(jī)有最大轉(zhuǎn)動(dòng)角度, 中間位置的定義就是從這個(gè)位置到最大角度與最小角度的量完全一樣。 最重要的一點(diǎn)是, 不同舵機(jī)的最大轉(zhuǎn)動(dòng)角度可能不相同, 但是其中間位置的脈沖寬度是一定的,那就是 1.5ms。如下圖:角度是由來(lái)自控制線的持續(xù)的脈沖所產(chǎn)生。 這種控制方法叫做脈沖調(diào)制。脈沖的長(zhǎng)短決定舵機(jī)轉(zhuǎn)動(dòng)多大角度。例如: 1.5 毫秒脈沖會(huì)到轉(zhuǎn)動(dòng)到中間位置(對(duì)于 180°舵機(jī)來(lái)說(shuō),就是 90°位置)。當(dāng)控制系統(tǒng)發(fā)出指令,讓舵機(jī)移動(dòng)到某一位置,并讓他保持這個(gè)角度,這時(shí)外力的影響不會(huì)讓他角度產(chǎn)生變化, 但

4、是這個(gè)是由上限的, 上限就是他的最大扭力。除非控制系統(tǒng)不停的發(fā)出脈沖穩(wěn)定舵機(jī)的角度, 舵機(jī)的角度不會(huì)一直不變。當(dāng)舵機(jī)接收到一個(gè)小于 1.5ms 的脈沖,輸出軸會(huì)以中間位置為標(biāo)準(zhǔn),逆時(shí)針旋轉(zhuǎn)一定角度。 接收到的脈沖大于 1.5ms 情況相反。不同品牌,甚至同一品牌的不同舵機(jī), 都會(huì)有不同的最大值和最小值。 一般而言,最小脈沖為 1ms,最大脈沖為 2ms。如下圖:了解了基礎(chǔ)知識(shí)以后我們就可以來(lái)學(xué)習(xí)控制一個(gè)舵機(jī)了,本實(shí)驗(yàn)所需要的元器件很少只需要舵機(jī)一個(gè)、跳線一扎就可以了。RB412 舵機(jī) *1面包板跳線 *1 扎用 Arduino 控制舵機(jī)的方法有兩種,一種是通過(guò) Arduino 的普通數(shù)字傳感器

5、接口產(chǎn)生占空比不同的方波,模擬產(chǎn)生 PWM信號(hào)進(jìn)行舵機(jī)定位,第二種是直接利用 Arduino 自帶的 Servo 函數(shù)進(jìn)行舵機(jī)的控制,這種控制方法的優(yōu)點(diǎn)在于程序編寫(xiě),缺點(diǎn)是只能控制 2 路舵機(jī),因?yàn)?Arduino 自帶函數(shù)只能利用數(shù)字 9、10 接口。 Arduino 的驅(qū)動(dòng)能力有限,所以當(dāng)需要控制1 個(gè)以上的舵機(jī)時(shí)需要外接電源。方法一將舵機(jī)接數(shù)字 9 接口上。編寫(xiě)一個(gè)程序讓舵機(jī)轉(zhuǎn)動(dòng)到用戶輸入數(shù)字所對(duì)應(yīng)的角度數(shù)的位置,并將角度打印顯示到屏幕上。方法二先具體分析一下Arduino自帶的 Servo 函數(shù)及其語(yǔ)句,來(lái)介紹一下舵機(jī)函數(shù)的幾個(gè)常用語(yǔ)句吧。1、attach (接口)設(shè)定舵機(jī)的接口,只有數(shù)字9 或10接口可利用。2、write (角度)用于設(shè)定舵機(jī)旋轉(zhuǎn)角度的語(yǔ)句,可設(shè)定的角度范圍是 0°到 180°。3、read ()用于讀取舵機(jī)角度的語(yǔ)句,可理解為讀取最后一條write()命令中的值。4、attached ()判斷舵機(jī)參數(shù)是否已發(fā)送到舵機(jī)所在接口。5、detach ()使舵機(jī)與其接口分離,該接口(數(shù)字9或10接口)可繼續(xù)被用作PWM接口。注:以上語(yǔ)句的書(shū)寫(xiě)格式均為“

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論