【硬件模块】SG90舵机模块

  • SG90舵机模块实物图
    180度舵机:可以控制旋转角度、有角度定位。上电后舵机自动复位到0度,通过一定参数的脉冲信号控制它的角度。
    360°舵机:不可控制角度,只能控制顺时针旋转、逆时针旋转、停止和调节转速。
    如图所示为:SG90,180度版
    在这里插入图片描述
  • 工作参数
    工作扭矩:1.6kg/cm
    反应速度:0.12 - 0.13秒/60°
    死区设定:5us
    转动角度:常见0°、90°、180°、360°
    齿轮材质:尼龙塑料齿
    工作电压:3V - 6V
    温度范围:-30° ~ +60°
  • 引脚接线
SG90MCU
PWM 信号线(橙色线)任意IO
VCC(红线)3.3/5V
GND(棕色线)GND
  • 控制关系
    PWM 信号的频率大约为50Hz,即周期=1/频率通常为20ms,而脉冲宽度则在0.5ms 至 2.5ms 之间变化
    定时器需要定时20ms,单位0.5ms,20ms=0.5ms*40
脉冲高电平角度占空比
0.5ms2.5%
1.0ms45°5.0%
1.5ms90°7.5%
2.0ms135°10.0%
2.5ms180°12.5%

参考文章
SG90舵机模块

### 设置舵机模块的PWM占空比 对于SG90舵机而言,接收的PWM信号频率固定为50Hz,即周期为20毫秒[^3]。为了实现不同角度的位置控制,通过改变高电平脉冲宽度来调整舵机的角度位置,在0.5ms至2.5ms范围内变化可让舵机转动到相应角度。 具体来说,要设置或调整舵机模块的PWM占空比,可以按照如下方法操作: 1. **初始化定时器和GPIO** 确保已经完成了TIM3以及PB5引脚的相关配置工作,特别是针对STM32系列微控制器而言,需要开启PB5作为TIM3_CH2的部分重映射功能,并完成基本的PWM模式设定[^2]。 ```c // 假设已定义好相应的库函数 void GPIO_Configuration(void); void TIM3_PWM_Init(uint16_t Prescaler, uint16_t Period); int main() { // 初始化GPIO GPIO_Configuration(); // 配置TIM3 PWM参数(预分频值、自动重装载值) TIM3_PWM_Init(71, 999); // 此处假设APB1时钟为72MHz,则此配置下计数频率约为1KHz // 开启通道2预装载寄存器使能 TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable); } ``` 2. **计算并应用新的比较值** 根据所需的角度计算对应的PWM占空比,进而得出具体的比较值(CCR),再利用`PWM_SetCompare2()`接口更新该值以达到调节目的。这里提供了一个简单的例子展示如何基于给定的角度范围转换成合适的CCR数值[^1]。 ```c #define MIN_PULSE_WIDTH 50 // 对应最小角度0度时的脉宽(us) #define MAX_PULSE_WIDTH 250 // 对应最大角度180度时的脉宽(us) uint16_t AngleToPulseWidth(int angle) { float pulse_width; if(angle >= 0 && angle <= 180){ pulse_width = ((float)(MAX_PULSE_WIDTH - MIN_PULSE_WIDTH)/180)*angle + MIN_PULSE_WIDTH; }else{ return 0; // 错误处理 } return (uint16_t)pulse_width; } void SetServoAngle(int angle) { uint16_t compare_value = AngleToPulseWidth(angle); PWM_SetCompare2(compare_value / 20); // 将us单位转为计数值 } ``` 上述代码片段展示了从指定角度出发,经过一系列运算最终得到适用于当前硬件平台下的实际CCR值的过程。注意这里的除法是为了适应特定于所使用的MCU及其外设特性而做出的适当调整;在其他平台上可能需要做相应修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值