51微控制器控制SG90舵機

2021-10-08 08:37:40 字數 965 閱讀 4429

接線方法:

紅 色vcc

棕色gnd

橙色訊號線

調整訊號線的pwm,實現各個角度轉動

高電平t佔整個週期t(20ms)的時間

舵機旋轉的角度

0.5ms ---------> 0度

1ms ---------> 45度

1.5ms ---------> 90度

2ms ---------> 135度

2.5ms ---------> 180度

#include

/* 自定義變數型別 */

typedef

unsigned

char uchar;

//0~255

typedef

unsigned

int uint;

//0~65535

uchar turn_angle;

sbit pwm = p3^5;

//訊號線

uchar kk =0;

//延遲1ms

void

delay_ms

(uint c)

//誤差 0us

void

time0_init()

//定時器初始化

void

main()

}void

timer0

() interrupt 1

else

if(kk==40)

//乙個週期20ms

kk ++

; tr0 =1;

//開啟計時

}

1.注意我這裡用是11.0592mhz的晶振,定時器的初值要和自己的板子相對應

2.測試程式時要測試每乙個角度,可能會出現錯誤

3.錯誤一般出現在定時器上,pwm的占空比出錯

樹莓派控制SG90舵機

sg90一共三根線,紅線接5 電源,棕線gnd。黃線為資料控制線,該線接到gpio上,這裡我們是bcm模式的pin 21.sg90 脈衝週期為20毫秒 millisecond 不是20微秒 microsecond 兩者差1000倍呢!也就是說最多1秒鐘內可以轉動5 次,但是考慮到每次轉動還要耗時,所...

SG90舵機驅動

舵機的控制需要mcu產生乙個20ms的脈衝訊號,以0.5ms到2.5ms的高電平來控制舵機的角度 0.5ms 0度 2.5 1.0ms 45度 5.0 1.5ms 90度 7.5 2.0ms 135度 10.0 2.5ms 180度 12.5 tim setcompare1 tim1,cout ti...

使用樹梅派控制sg90電機

舵機的乙個作用是用於充當機械手臂的關節或者機械爪的閉合,控制四驅車的轉向等。上好旋臂後,它的活動示意圖如下 網路,侵刪!可以看到他有一些基本運動規則 我們主觀感覺舵機基本沒有延遲的執行我們的命令,但是其實並非如此。舵機會將時間分為一段段的,比如20ms,在這個時間內,使用者傳送乙個指令他接受並執行。...