隔壁新婚少妇真紧真爽,日韩在线麻豆,少妇挤奶av无码一区二区网站,久久精品无码一级毛片

文章詳情

  1. 您現(xiàn)在的位置:首頁
  2. 資訊中心
  3. 技術(shù)資料
  4. 詳情

如何用單片機控制舵機及程序詳細

舵機最早出現(xiàn)在航模運動中。在航空模型中,飛行機的飛行姿態(tài)是通過調(diào)節(jié)發(fā)動機和各個控制舵面來實現(xiàn)的。舉個簡單的四通飛機來說,飛機上有以下幾個地方需要控制:

1.發(fā)動機進氣量,來控制發(fā)動機的拉力(或推力);

2.副翼舵面(安裝在飛機機翼后緣),用來控制飛機的橫滾運動;

3.水平尾舵面,用來控制飛機的俯仰角;

4.垂直尾舵面,用來控制飛機的偏航角;

遙控器有四個通道,分別對應(yīng)四個舵機,而舵機又通過連桿等傳動元件帶動舵面的轉(zhuǎn)動,從而改變飛機的運動狀態(tài)。舵機因此得名:控制舵面的伺服電機。

不僅在航模飛機中,在其他的模型運動中都可以看到它的應(yīng)用:船模上用來控制尾舵,車模中用來轉(zhuǎn)向等等。由此可見,凡是需要操作性動作時都可以用舵機來實現(xiàn)。

舵機工作原理

一般來講,舵機主要由以下幾個部分組成, 舵盤、減速齒輪組、位置反饋電位計5k、直流電機、控制電路板等。

工作原理:控制電路板接受來自信號線的控制信號(具體信號待會再講),控制電機轉(zhuǎn)動,電機帶動一系列齒輪組,減速后傳動至輸出舵盤。舵機的輸出軸和位置反饋電位計是相連的,舵盤轉(zhuǎn)動的同時,帶動位置反饋電位計,電位計將輸出一個電壓信號到控制電路板,進行反饋,然后控制電路板根據(jù)所在位置決定電機的轉(zhuǎn)動方向和速度,從而達到目標(biāo)停止。

舵機的基本結(jié)構(gòu)是這樣,但實現(xiàn)起來有很多種。例如電機就有有刷和無刷之分,齒輪有塑料和金屬之分,輸出軸有滑動和滾動之分,殼體有塑料和鋁合金之分,速度有快速和慢速之分,體積有大中小三種之分等等,組合不同,價格也千差萬別。例如,其中小舵機一般稱作微舵,同種材料的條件下是中型的一倍多,金屬齒輪是塑料齒輪的一倍多。需要根據(jù)需要選用不同類型。

如何用單片機控制舵機及程序詳細

舵機的PWM信號

1.PWM信號的定義

PWM信號為脈寬調(diào)制信號,其特點在于他的上升沿與下降沿之間的時間寬度。具體的時間寬窄協(xié)議參考下列講述。我們目前使用的舵機主要依賴于模型行業(yè)的標(biāo)準協(xié)議,隨著機器人行業(yè)的漸漸獨立,有些廠商已經(jīng)推出全新的舵機協(xié)議,這些舵機只能應(yīng)用于機器人行業(yè),已經(jīng)不能夠應(yīng)用于傳統(tǒng)的模型上面了。目前舵機可能是這個過渡時期的產(chǎn)物,它采用傳統(tǒng)的PWM協(xié)議,優(yōu)缺點一目了然。優(yōu)點是已經(jīng)產(chǎn)業(yè)化,成本低,旋轉(zhuǎn)角度大(目前所生產(chǎn)的都可達到185度);缺點是控制比較復(fù)雜,畢竟采用PWM格式。但是它是一款數(shù)字型的舵機,其對PWM信號的要求較低:(1)不用隨時接收指令,減少CPU的疲勞程度;(2)可以位置自鎖、位置跟蹤,這方面超越了普通的步進電機。

如何用單片機控制舵機及程序詳細

其PWM格式注意的幾個要點:(1)上升沿最少為0.5mS,為0.5mS---2.5mS之間;(2)HG14-M數(shù)字舵機下降沿時間沒要求,目前采用0.5Ms就行;也就是說PWM波形可以是一個周期1mS的標(biāo)準方波;(3)HG0680為塑料齒輪模擬舵機,其要求連續(xù)供給PWM信號;它也可以輸入一個周期為1mS的標(biāo)準方波,這時表現(xiàn)出來的跟隨性能很好、很緊密。

2.PWM信號控制精度制定

如果采用的是8位單片機AT89C52CPU,其數(shù)據(jù)分辨率為256,那么經(jīng)過舵機極限參數(shù)實驗,得到應(yīng)該將其劃分為250份。那么0.5mS---2.5Ms的寬度為2mS=2000uS。2000uS÷250=8uS,則:PWM的控制精度為8us。我們可以以8uS為單位遞增控制舵機轉(zhuǎn)動與定位。舵機可以轉(zhuǎn)動185度,那么185度÷250=0.74度,則:舵機的控制精度為0.74度。

如何用單片機控制舵機及程序詳細

1DIV=8us;250DIV=2ms時基寄存器內(nèi)的數(shù)值為:(#01H)01----(#0FAH)250。共185度,分為250個位置,每個位置叫1DIV。則:185÷250=0.74度/DIVPWM上升沿函數(shù):0.5ms+N&TImes;DIV0us≤N&TImes;DIV≤2ms0.5ms≤0.5ms+N&TImes;DIV≤2.5ms

單片機控制舵機及程序

正是舵機的控制信號是一個脈寬調(diào)制信號,所以很方便和數(shù)字系統(tǒng)進行接口。只要能產(chǎn)生標(biāo)準的控制信號的數(shù)字設(shè)備都可以用來控制舵機,比方PLC、單片機等。這里介紹利用51系列單片機產(chǎn)生舵機的控制信號來進行控制的方法,編程語言為C51。之所以介紹這種方法只是因為筆者用2051實現(xiàn)過,本著負責(zé)的態(tài)度,所以敢在這里寫出來。程序用的是我的四足步行機器人,有刪改。單片機并不是控制舵機的最好的方法,希望在此能起到拋磚引玉的作用。

2051有兩個16位的內(nèi)部計數(shù)器,我們就用它來產(chǎn)生周期20ms的脈沖信號,根據(jù)需要,改變輸出脈寬。基本思路如下(請對照下面的程序):

我用的晶振頻率為12M,2051一個時鐘周期為12個晶振周期,正好是1/1000ms,計數(shù)器每隔1/1000ms計一次數(shù)。以計數(shù)器1為例,先設(shè)定脈寬的初始值,程序中初始為1.5ms,在for循環(huán)中可以隨時通過改變a值來改變,然后設(shè)定計數(shù)器計數(shù)初始值為a,并置輸出p12為高位。當(dāng)計數(shù)結(jié)束時,觸發(fā)計數(shù)器溢出中斷函數(shù),就是voidTImer0(void)interrupt1using1,在子函數(shù)中,改變輸出p12為反相(此時跳為低位),在用20000(代表20ms周期)減去高位用的時間a,就是本周期中低位的時間,c=20000-a,并設(shè)定此時的計數(shù)器初值為c,直到定時器再次產(chǎn)生溢出中斷,重復(fù)上一過程。

#include《reg51.h》

#defineucharunsignedchar

#defineuintunsignedint

uinta,b,c,d;

sbitp12=P1^2;

sbitp13=p1^3;

sbitp37=P3^7;

voidtimer0(void)interrupt1using1

{p12=!p12;

c=20000-c;

TH0=-(c/256);TL0=-(c%256);

if(c》=500&&c《=2500)c=a;

elsec=20000-a;

}

voidtimer1(void)interrupt3using1

{p13=!p13;

d=20000-d;

TH1=-(d/256);TL1=-(d%256);

if(d》=500&&d《=2500)d=b;

elsed=20000-b;

}

voidmain(void)

{TMOD=0x11;

p12=1;

p13=1;

a=1500;

b=1500;

c=a;d=b;

TH0=-(a/256);TL0=-(a%256);

TH1=-(b/256);TL1=-(b%256);

EA=1;

ET0=1;TR0=1;EX0=1;EX1=1;

ET1=1;TR1=1;

PX0=0;PX1=0;PT1=1;PT0=1;

for(;;)

{

}

}

因為在脈沖信號的輸出是靠定時器的溢出中斷函數(shù)來處理,時間很短,因此在精度要求不高的場合可以忽略。因此如果忽略中斷時間,從另一個角度來講就是主程序和脈沖輸出是并行的,因此,只需要在主程序中按你的要求改變a值,例如讓a從500變化到2500,就可以讓舵機從0度變化到180度。另外要記住一點,舵機的轉(zhuǎn)動需要時間的,因此,程序中a值的變化不能太快,不然舵機跟不上程序。根據(jù)需要,選擇合適的延時,用一個a遞增循環(huán),可以讓舵機很流暢的轉(zhuǎn)動,而不會產(chǎn)生像步進電機一樣的脈動。這些還需要實踐中具體體會。

舵機的速度決定于你給它的信號脈寬的變化速度。舉個例子,t=0試,脈寬為0.5ms,t=1s時,脈寬為1.0ms,那么,舵機就會從0.5ms對應(yīng)的位置轉(zhuǎn)到1.0ms對應(yīng)的位置,那么轉(zhuǎn)動速度如何呢?一般來講,3003的最大轉(zhuǎn)動速度在4.8V時為0.23s/60度,也就是說,如果你要求的速度比這個快的話,舵機就反應(yīng)不過來了;如果要求速度比這個慢,可以將脈寬變化值線性到你要求的時間內(nèi),做一個循環(huán),一點一點的增加脈寬值,就可以控制舵機的速度了。當(dāng)然,具體這一點一點到底是多少,就需要做試驗了,不然的話,不合適的話,舵機就會向步進電機一樣一跳一跳的轉(zhuǎn)動了,嘗試改變這“一點”,使你的舵機運動更平滑。還有一點很重要,就是舵機在每一次脈寬值改變的時候總會有一個轉(zhuǎn)速由零增加再減速為零的過程,這就是舵機會產(chǎn)生像步進電機一樣運動的原因。



香蕉视频一区二区| 亚洲成AⅤ人片精品久久久久久 | 国产丝袜一二三四区乱码| 真人无码一区二区三区| 国产成人av一区二区三区在线| 一级免费裸体视频| 国产精品福利在线观看| 亚洲中文字幕在线播放| 夜夜精品视频一区二区| 国产欧美一区2区三区久久| 拍拍后入日本| 无码乱人伦一区二区亚洲| 欧洲乱码伦视频免费国产| 美女自慰在线观看| 日本中文字幕在线强奸| 国产亚洲视频在线观看| 精品日本亚洲欧美国产| 91精品久久久久久久久网影视| 日韩网站欧美| 色综合天天综合婷婷伊人| 99色鬼综合| 久久97人妻人爱| 伊人久久精品无码| 久久夜夜夜夜| 国产毛片久久久| 特爽网址在线观看| 自怕偷自怕亚洲精品| 女人性高潮视频网站| 人妻中文久久| 久久99这里只有精品国产| 国产A√无码专区亚洲AV毛片| 日韩美女免费在线| 精品国产色欲无码AV网站| 亚洲无码大片| 成人毛片黄| 亚欧无码免费在线播放| 日韩欧美国产偷亚洲清高| 国产成人啪精品午夜在线观看 | 被男朋友口下面好爽| 国产传媒在线影院| 91久久精品国产成人久久|