目录
前言
一、SG90舵机
二、CubeMax配置
1.选型
2.配置时钟树
3.PWM相关定时器配置
4.生成代码
三、代码编写
总结
前言
这是一篇基于STM32F429的保姆级入门的用CubeMAX配置生成并编写的控制舵机SG90的教程
一、SG90舵机
常见的SG90舵机
SG90引出三条线,分别是控制线(橙色),VCC(红色),GND(黑色),用杜邦线依次连接在开发板上即可
SG90舵机要求工作在频率为50HZ——周期为20ms的PWM波,且对应信号的高低电平在0.5ms - 2.5ms之间,对应的舵机转动角度如下表所示
二、CubeMax配置
1.选型
2.配置时钟树
?
?
3.PWM相关定时器配置
本例采用定时器3的通道四产生PWM波,通过查阅芯片资料可知对应的PIN脚为PB1,则舵机的控制线应和板子上的PB1引脚相连
?
?
这里解释一下分频数和计数值的意义
通过查阅STM32的资料和前文所配的时钟树可知TIM3的时钟来源是 APB1 = 90Mhz
则我们需要产生20Hz的PWM波,则预分频的系数为 Prescaler = 90-1,自动重装载值 Counter Period = 20000-1,此时定时器产生的频率为 90Mhz/90/20000 = 20Hz。 当然这个值也可以自己设置,只要满足产生的频率为20Hz即可
?
最后配置一下初始值
?
初始值占空比 1000/20000 = 10ms,由此前舵机图可知初始程序舵机会转动45°
4.生成代码
?
最后点击GENERATE CODE代码即生成完成
三、代码编写
代码编写也十分简单,只需要只main函数中开启PWM波
总结
用CubeMax配置STM32程序非常简单和方便,是开发的利器
后续还会更新相关的应用