單片機控制舵機仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (16.8 KB, 下載次數(shù): 35)
下載附件
2018-11-14 02:04 上傳
0.png (53.86 KB, 下載次數(shù): 42)
下載附件
2018-11-14 02:04 上傳
單片機源程序如下:
- #include <reg52.h> //頭文件
- #define uchar unsigned char //宏定義無符號字符型
- #define uint unsigned int //宏定義無符號整型
- uint b; //中斷值
- uint N=0; //占空比計數(shù)值
- uint X=8; //初始角度值 (取值范2~15)
- uchar key_up;
- uchar key_down;
- /*************************************************************************/
- sbit P2_2=P2^2;//角度加
- sbit P2_3=P2^3;//角度減
- sbit PWM=P1^0;//PWM輸出 (舵機控制端)
- /*************************************************************************/
- void get_key(void)//按鍵掃描函數(shù)
- {
- while(P2_2==0)//按鍵加計數(shù)標志
- {key_up=1;
- }
- while(P2_3==0)//按鍵減計數(shù)標志
- {key_down=1;
- }
- }
- /*************************************************************************/
- void timer0( ) interrupt 1 //定時器0工作方式1
- {
- TH0=0xff; //重裝計數(shù)初值
- TL0=0x38; //重裝計數(shù)初值
- b++;
- get_key();
- if (key_up==1)
- {
- if(X!=15)//判斷是否計數(shù)到9999
- {
- X=X+1;//加一
- key_up=0;
- }
- }
- if (key_down==1)
- {
- if(X!=2)//判斷是否計數(shù)到0
- {
- X=X-1;//減一
- key_down=0;
- }
- }
- }
- /*************************************************************************/
- void main()
- {
- TMOD=0X01; //定時器中斷0
- TH0=0xff; //重裝計數(shù)初值
- TL0=0x38; //重裝計數(shù)初值
- EA=1; //開CPU中斷
- ET0=1; //開T/C0中斷
- TR0=1;
- while(1) //無限循環(huán)
- {
- PWM=1; //輸出PWM正
- while(1)
- {
- b=0;
- while(!b);
- if (N==X)
- PWM=0;
- if (N==100)break;
- N++;
- }
- N=0;
- }
- }
復制代碼
微型伺服馬達原理與控制(中鳴)
1、微型伺服馬達內(nèi)部結(jié)構(gòu)一個微型伺服馬達內(nèi)部包括了一個小型直流馬達;一組變速齒輪組;一個反饋可調(diào)電位器;及一塊電子控制板。其中,高速轉(zhuǎn)動的直流馬達提供了原始動力,帶動變速(減速)齒輪組,使之產(chǎn)生高扭力的輸出,齒輪組的變速比愈大,伺服馬達的輸出扭力也愈大,也就是說越能承受更大的重量,但轉(zhuǎn)動的速度也愈低。 
2、微行伺服馬達的工作原理一個微型伺服馬達是一個典型閉環(huán)反饋系統(tǒng),其原理可由下圖表示: 
減速齒輪組由馬達驅(qū)動,其終端(輸出端)帶動一個線性的比例電位器作位置檢測,該電位器把轉(zhuǎn)角坐標轉(zhuǎn)換為一比例電壓反饋給控制線路板,控制線路板將其與輸入的控制脈沖信號比較,產(chǎn)生糾正脈沖,并驅(qū)動馬達正向或反向地轉(zhuǎn)動,使齒輪組的輸出位置與期望值相符,令糾正脈沖趨于為0,從而達到使伺服馬達精確定位的目的。 3、如何控制伺服馬達標準的微型伺服馬達有三條控制線,分別為:電源、地及控制。電源線與地線用于提供內(nèi)部的直流馬達及控制線路所需的能源,電壓通常介于4V—6V之間,該電源應盡可能與處理系統(tǒng)的電源隔離(因為伺服馬達會產(chǎn)生噪音)。甚至小伺服馬達在重負載時也會拉低放大器的電壓,所以整個系統(tǒng)的電源供應的比例必須合理。 輸 入一個周期性的正向脈沖信號,這個周期性脈沖信號的高電平時間通常在1ms—2ms之間,而低電平時間應在5ms到20ms之間,并不很嚴格,下表表示出一個典型的20ms周期性脈沖的正脈沖寬度與微型伺服馬達的輸出臂位置的關系:
在參照上表設計控制脈沖寬度時應注意以下的注意事項。 4、伺服馬達的電源引線
電源引線有三條,如圖中所示。伺服馬達三條線中紅色的線是控制線,接到控制芯片上。中間的是SERVO工作電源線,一般工作電源是5V。 第三條是地線。 5、伺服馬達的運動速度伺服馬達的瞬時運動速度是由其內(nèi)部的直流馬達和變速齒輪組的配合決定的,在恒定的電壓驅(qū)動下,其數(shù)值唯一。但其平均運動速度可通過分段停頓的控制方式來改變,例如,我們可把動作幅度為90o的轉(zhuǎn)動細分為128個停頓點,通過控制每個停頓點的時間長短來實現(xiàn)0o—90o變化的平均速度。對于多數(shù)伺服馬達來說,速度的單位由“度數(shù)/秒”來決定。
6、使用伺服馬達的注意事項- 除非你使用的是數(shù)碼式的伺服馬達,否則以上的伺服馬達輸出臂位置只是一個不準確的大約數(shù)。
- 普通的模擬微型伺服馬達不是一個精確的定位器件,即使是使用同一品牌型號的微型伺服馬達產(chǎn)品,他們之間的差別也是非常大的,在同一脈沖驅(qū)動時,不同的伺服馬達存在±10o的偏差也是正常的。
- 正因上述的原因,不推薦使用小于1ms及大于2ms的脈沖作為驅(qū)動信號,實際上,伺服馬達的最初設計表也只是在±45o的范圍。而且,超出此范圍時,脈沖寬度轉(zhuǎn)動角度之間的線性關系也會變差。
- 要特別注意,絕不可加載讓伺服馬達輸出位置超過±90o的脈沖信號,否則會損壞伺服馬達的輸出限位機構(gòu)或齒輪組等機械部件。
- 由于伺服馬達的輸出位置角度與控制信號脈沖寬度沒有明顯統(tǒng)一的標準,而且其行程的總量對于不同的廠家來說也有很大差別,所以控制軟件必須具備有依據(jù)不同伺服馬達進行單獨設置的功能。

所有資料51hei提供下載:
021、舵機控制程序及其仿真.zip
(238.95 KB, 下載次數(shù): 131)
2018-11-7 22:09 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|