舵机使用指南
舵机
理论
PWM(脉冲宽度调制)信号 来控制旋转角度
通过PWM向伺服器发送一个控制信号时,输出轴就可以转到特定的位置。只在控制信号持续不变,伺服机构就会保持相对的角度位置不变。如果控制信号发生变化,输出轴的位置也会相应发生变化。(摘抄,图也是

-
舵机控制信号:
-
舵机期望一个周期性的 PWM 信号,标准周期通常为 20ms (50Hz)。
-
周期计算
-
控制旋转角度的是 PWM 信号中的 高电平脉冲宽度。
-
典型的脉冲宽度范围是:
-
0.5ms - 对应舵机的最小角度 (通常为 0°)
-
1.5ms - 对应舵机的中间角度 (通常为 90°)
-
2.5ms - 对应舵机的最大角度 (通常为 180°)
-
-
对于 180° 舵机,脉冲宽度范围通常是 0.5ms - 2.5ms。有些舵机范围可能略有不同 (如 0.6ms-2.4ms),需要查阅其数据手册。
-
-
STM32 实现:
-
STM32 使用其内置的 高级定时器 (TIM1, TIM8) 或 通用定时器 (TIM2, TIM3, TIM4, TIM5 等) 来产生精确的 PWM 信号。
-
需要配置定时器:
-
时钟源: 内部时钟 (APB 总线时钟)。
-
预分频器 (Prescaler): 降低定时器时钟频率。
-
计数器周期 (Auto-Reload Register - ARR): 决定 PWM 信号的周期。
-
捕获/比较寄存器 (Capture/Compare Register - CCRx): 决定 PWM 信号的高电平脉冲宽度 (与 ARR 值比较)。
-
-
使用定时器的 PWM 模式 (通常是 PWM 模式 1 或 2)。
-
将定时器的某个通道 (如 CH1, CH2, CH3, CH4) 映射到特定的 GPIO 引脚上。

-

-
初始0,计算出来500
接线
-
红色/棕色:
VCC(电源正极) - 通常需要 5V 电源 (注意:STM32 开发板的 5V 输出电流有限,驱动多个舵机或大扭力舵机时务必使用独立电源供电)。 -
黑色/棕色:
GND(电源负极) - 必须与 STM32 的 GND 共地。 -
黄色/橙色/白色:
SIG(信号线) - 连接到 STM32 配置为 PWM 输出的 GPIO 引脚。舵机 颜色 STM32 红色 VCC 5V 棕色 GND GND 黄色 信号线 PWM输出引脚
代码
STM32CubeMX 配置
-
选择芯片/开发板。
-
配置时钟: 确保系统时钟 (HCLK) 和 APB 总线时钟 (APB1 或 APB2,取决于你使用的定时器挂在哪个总线上) 正确设置。
-
配置定时器:
-
选择你要使用的定时器 。
-
时钟源:
Internal Clock。 -
通道: 选择一个通道 (例如 Channel 1),模式设置为
PWM Generation CHx。 -
参数设置:
-
Prescaler (PSC - 预分频器):计算值使定时器计数频率达到所需精度。例如,如果 APB 时钟是 72MHz,目标 PWM 频率是 50Hz (周期 20ms),则:-
定时器计数频率 = APB时钟 / (PSC + 1) -
目标计数器值
ARR应接近定时器计数频率 * 0.02(20ms)。 -
假设我们选择
PSC = 71:定时器计数频率 = 72MHz / (71 + 1) = 72MHz / 72 = 1MHz (1,000,000 Hz),即每个计数周期1us。
-
-
Counter Period (ARR - 自动重装载值):设置为20000 - 1。因为计数频率是 1MHz (1us/计数),所以20000个计数对应20,000 us = 20ms(符合 50Hz)。ARR = Period - 1。 -
Pulse (CCR1 - 初始脉冲宽度):可以先设置为1500 - 1(对应 1.5ms 中间位置)。实际控制时在代码中动态修改这个值。
-
-
其他设置: 保持默认 (计数方向向上,对齐模式 Edge)。
-
-
配置 GPIO: 确认 CubeMX 自动为你选择的定时器通道配置了正确的 GPIO 引脚。
-
生成代码: 设置好项目名称、路径、IDE ,然后生成代码
keil代码
1.打开定时器pwm通道

HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);//开启定时器3的通道一

if(pulse<2500)
{
__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,pulse);//0-2.5%
pulse=pulse+500;
}
else
{
pulse=500;
}
HAL_Delay(1000);
代码实现效果:从0°转到45到90到135
错误解决
1.注意打开的定时器的通道是几
2.计算非常重要,定时器设置的参数什么意思
b站截图计算


电赛:二维云台控制_二维云台寻迹控制-CSDN博客
因为想准备电赛的云台,所以查到了好文章,分享一下~
接下来的文章是我参考过的文章,补充了我的匮乏
更多推荐

所有评论(0)