之前講到了設計一款亮度可調(diào)節(jié)燈症杏,在此基礎上,實現(xiàn)旋轉(zhuǎn)電位器控制舵機轉(zhuǎn)動富寿。
本項目使用的舵機是180°微型舵機月而,該舵機采用高強度ABS透明外殼配以內(nèi)部高精度尼龍齒輪組,加上精準的控制電路珠漂、高檔輕量化空心杯電機使該微型舵機的重量只有9克,而輸出力矩達到了驚人的1.6kg*cm尾膊,可滿足基本的項目應用媳危。
1、舵機控制理論
控制舵機轉(zhuǎn)動眯停,本質(zhì)上也是PWM(脈沖寬度調(diào)制)济舆,通過一個固定的頻率,給其不同的占空比來控制舵機不同的轉(zhuǎn)角莺债。
舵機的頻率一般為頻率為50HZ滋觉,也就是一個20ms左右的時基脈沖,而脈沖的高電平部分一般為0.5ms~2.5ms范圍齐邦,來控制舵機不同的轉(zhuǎn)角椎侠,0.5ms~2.5ms的PWM高電平部分對應控制180度舵機的0~180度。
以180度角度伺服為例措拇,那么對應的控制關系如下所示:
0.5ms-------------0度
1.0ms------------45度
1.5ms------------90度
2.0ms-----------135度
2.5ms-----------180度
下圖演示占空比從1ms變化到2ms時我纪,轉(zhuǎn)角的變化:
2、舵機控制實踐
在設計一款亮度可調(diào)節(jié)燈中使用旋鈕電位器ADC采樣數(shù)值的范圍是0~1023之間丐吓,但是舵機可接收的旋轉(zhuǎn)角度是:0~180度浅悉,故建立轉(zhuǎn)換關系:
所以,旋轉(zhuǎn)電位器ADC數(shù)值 X 180 = 舵機旋轉(zhuǎn)度數(shù) X 1023券犁, 故术健,舵機旋轉(zhuǎn)度數(shù) =?旋轉(zhuǎn)電位器ADC數(shù)值 X 180 / 1023。
當旋轉(zhuǎn)電位器ADC數(shù)值為0時粘衬,帶入公式荞估,舵機旋轉(zhuǎn)度數(shù)為0;當旋轉(zhuǎn)電位器ADC數(shù)值為1023時稚新,舵機旋轉(zhuǎn)度數(shù)為180勘伺。
遙控舵機程序設計如下所示:
在實際的開發(fā)過程中,發(fā)現(xiàn)如果直接使用旋轉(zhuǎn)電位器ADC數(shù)值 X 180 / 1023褂删,數(shù)值會超出變量定義的極限飞醉,所以將此步驟分為:旋轉(zhuǎn)電位器ADC數(shù)值 X 18 / 1023,然后得到的結(jié)果再放大10倍屯阀。
效果如下所示:
快來試試吧~