使用51單片機驅(qū)動舵機程序分析-設(shè)計應(yīng)用_第1頁
使用51單片機驅(qū)動舵機程序分析-設(shè)計應(yīng)用_第2頁
使用51單片機驅(qū)動舵機程序分析-設(shè)計應(yīng)用_第3頁
使用51單片機驅(qū)動舵機程序分析-設(shè)計應(yīng)用_第4頁
使用51單片機驅(qū)動舵機程序分析-設(shè)計應(yīng)用_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

精品文檔-下載后可編輯使用51單片機驅(qū)動舵機程序分析-設(shè)計應(yīng)用舵機,又稱伺服馬達(dá),是一種具有閉環(huán)控制系統(tǒng)的機電結(jié)構(gòu)。舵機主要是由外殼、電路板、無馬達(dá)、齒輪與位置檢測器所構(gòu)成。其工作原理是由控制器發(fā)出PWM(脈沖寬度調(diào)制)信號給舵機,經(jīng)電路板上的IC處理后計算出轉(zhuǎn)動方向,再驅(qū)動無馬達(dá)轉(zhuǎn)動,透過減速齒輪將動力傳至擺臂,同時由位置檢測器(電位器)返回位置信號,判斷是否已經(jīng)到達(dá)設(shè)定位置,一般舵機只能旋轉(zhuǎn)180度。舵機有3根線,棕色為地,紅色為電源正,橙色為信號線,但不同牌子的舵機,線的顏色可能不同,需要注意。

舵機的轉(zhuǎn)動位置是靠控制PWM(脈沖寬度調(diào)制)信號的占空比來實現(xiàn)的,標(biāo)準(zhǔn)PWM(脈沖寬度調(diào)制)信號的周期固定為20ms,占空比0.5~2.5ms的正脈沖寬度和舵機的轉(zhuǎn)角-90°~90°(即0~180度)相對應(yīng)。注意,由于舵機牌子不同,其控制器解析出的脈沖寬度也不同,所以對于同一信號,不同牌子的舵機旋轉(zhuǎn)的角度也不同。其原理是:它內(nèi)部有一個基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號,控制信號由接收機的通道進(jìn)入信號調(diào)制芯片,獲得直流偏置電壓。將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。,電壓差的正負(fù)輸出到電機驅(qū)動芯片決定電機的正反轉(zhuǎn)。當(dāng)電機轉(zhuǎn)速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉(zhuǎn),使得電壓差為0,電機停止轉(zhuǎn)動。

0.5ms0度;

1.0ms45度;

1.5ms90度;

2.0ms135度;

2.5ms180度;

采用11.0592MHZ的51單片機驅(qū)動舵機轉(zhuǎn)動程序如下:

//上電自動轉(zhuǎn)動

#include

unsignedcharcount;//0.5ms次數(shù)標(biāo)識

sbitpwm=P1^0;//PWM信號輸出

sbitjia=P2^4;//角度增加按鍵檢測IO口

sbitjian=P2^5;//角度減少按鍵檢測IO口

unsignedcharjd;//角度標(biāo)識

sbitpwm1=P0^0;//PWM信號輸出給示波器,檢測PWM波用

voiddelay(unsignedchari)//延時

{

unsignedcharj,k;

for(j=i;j0;j--)

for(k=125;k0;k--);

}

voidTime0_Init()//定時器0初始化

{

//定時器0裝初值用示波器檢測后,11.0592MHZ晶振定時0.5ms進(jìn)入中斷裝初值如下

TH0=(65536-445)/256;

TL0=(65536-445)%256;

TMOD=0x01;//定時器0工作在方式1

IE=0x82;//IE=0x82=10000010等價于EA=1開總中斷ET0=1開定時器0中斷

TR0=1;//開定時器0

}

voidTime0_Int()interrupt1//中斷程序

{

//重裝初值

TH0=(65536-445)/256;

TL0=(65536-445)%256;

if(countjd)

{

pwm=1;//確實小于,PWM輸出高電平

pwm1=pwm;//接示波器用的io口,觀測PWM波形用}//判斷0.5ms次數(shù)是否小于角度標(biāo)識

//pwm=1;//確實小于,PWM輸出高電平

else

{

pwm=0;//確實小于,PWM輸出高電平

pwm1=pwm;//接示波器用的io口,觀測PWM波形用}

//pwm=0;//大于則輸出低電平

count=(count+1);//0.5ms次數(shù)加1

count=count%40;//次數(shù)始終保持為40即保持周期為20ms

}

//此注銷掉部分為通過按鍵控制舵機轉(zhuǎn)動的程序,功能為通過jia按鍵控制正轉(zhuǎn),

//通過jian按鍵控制反轉(zhuǎn)

/*voidkeyscan()//按鍵掃描

{

if(jia==0)//角度增加按鍵是否按下

{

delay(10);//按下延時,消抖

if(jia==0)//確實按下

{

jd++;//角度標(biāo)識加1

count=0;//按鍵按下則20ms周期從新開始

if(jd==6)

jd=5;//已經(jīng)是180度,則保持

while(jia==0);//等待按鍵放開

}

}

if(jian==0)//角度減小按鍵是否按下

{

delay(10);

if(jian==0)

{

jd--;//角度標(biāo)識減1

count=0;

if(jd==0)

jd=1;//已經(jīng)是0度,則保持

while(jan==0);

}

}

}*/

voidmain()

{

//上電,舵機自動正反轉(zhuǎn)

//應(yīng)注意每次步進(jìn)是延時函數(shù)delay參數(shù)的設(shè)置,此處延時函數(shù)參數(shù)設(shè)置的并不理想

while(1)

{

for(jd=1;jd6;jd++)

{

count=0;

Time0_Init();

delay(50000000

溫馨提示

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

評論

0/150

提交評論