STM32 SG90舵机应用

无意中翻到了一个舵机,想了解一下舵机的使用。
在这里插入图片描述
舵机与普通的电机不同,它可以根据指令旋转到0至180度之间的任意角度然后精准的停下来。

原理是啥我也不知道。

从找的资料看到
“很多舵机的位置等级有1024个,如果舵机的有效角度范围为180度的话,其控制的角度精度是可以达到180/1024度约0.18度了,从时间上看其实要求的脉宽控制精度为2000/1024us约2us。
如果你拿了个舵机,连控制精度为1度都达不到的话,而且还看到舵机在发抖。在这种情况下,只要舵机的电压没有抖动,那抖动的就是你的控制脉冲了。”

橙色信号线 红色正极 棕色负极

舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是这样的:
0.5ms--------------0度;
1.0ms------------45度;
1.5ms------------90度;
2.0ms-----------135度;
2.5ms-----------180度;

然而我的实测却不一样。

void Servo_Play(void)
{
	TIM_SetCompare2(TIM2, 40);
	delay_ms(500);
	TIM_SetCompare2(TIM2, 75);
	delay_ms(500);
	TIM_SetCompare2(TIM2, 110);
	delay_ms(500);
	TIM_SetCompare2(TIM2, 149);
	delay_ms(500);
	TIM_SetCompare2(TIM2, 199);
	delay_ms(500);
}

周期20ms,代码中的数字单位为10us。

对舵机有了初步的认识,先写下来,以免忘了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值