前段時間師傅給的小任務(wù),其中有一部分用到了51單片機控制舵機轉(zhuǎn)動,第一次接觸舵機很多資料取之于網(wǎng)絡(luò),現(xiàn)在回饋網(wǎng)絡(luò)。舵機型號:MG995 21kg 舵機的控制:舵機轉(zhuǎn)動的角度與PWM有關(guān)(高低電平的占空比) 單片機定時0.5ms。0.5ms到1.5ms是控制舵機正轉(zhuǎn),1.5ms到2.5ms是控制舵機反轉(zhuǎn)。一個周期是20ms.也就是說當(dāng)20ms內(nèi)有0.5ms以上的高電平時舵機就可以轉(zhuǎn)了。但是為了舵機的轉(zhuǎn)動,是需要時間的,舉個例子當(dāng)舵機從0°轉(zhuǎn)到45°時,是有一段運動的時間的,時間一般在16個周期會比較好。即舵機從0到45需要16個2ms高電平的周期。編程時需要用到計數(shù)。每次定時0.5ms,計數(shù)器++。If(計數(shù)器 == 16)PWM.......大概是這樣的一個思路。 前面講了單片機的控制,接下來說一下可能會遇到的問題: 1、仿真的問題。接如圖所示,舵機在仿真軟件中叫:MOTOR_PWMSERVO。
2、程序沒問題,仿真可以實現(xiàn),但是舵機不轉(zhuǎn)?赡苁墙o的電流不夠,我用的舵機轉(zhuǎn)矩大,單片機不能直接供電,采用了外接電源,電壓5V以上,電流2A到3A。一定注意電源要與單片機共地,也就是電源的地要接到單片機GND上,舵機的地也接單片機的GND。 3、通電后舵機發(fā)出奇怪聲音。電流不夠(我吃過大虧,電流不夠,但我總以為是我的程序有問題),用一個7.4V的航模電池就可以解決。 希望以上內(nèi)容能對大家有所幫助。
|