单片机
返回首页

STM32 Cubemax(一)——PWM配置及控制SG90舵机

2022-09-06 来源:csdn

前言

这是一篇基于STM32F429的保姆级入门的用CubeMAX配置生成并编写的控制舵机SG90的教程


一、SG90舵机

常见的SG90舵机

SG90引出三条线,分别是控制线(橙色),VCC(红色),GND(黑色),用杜邦线依次连接在开发板上即可


SG90舵机要求工作在频率为50HZ——周期为20ms的PWM波,且对应信号的高低电平在0.5ms - 2.5ms之间,对应的舵机转动角度如下表所示(当然也可以按照这个线性的对应关系去达到转动自己想要的角度,如想要转动60°,则高电平脉宽为大概为1.2ms,具体能不能转到特定的角度还和舵机的精度有关)

image.png

二、CubeMax配置

1.选型(这里用实验的开发板为正点原子的F429阿波罗)

2.配置时钟树

选择外部晶振


这里还有一种方法是选择HSE,PLLCLK后,在HCLK里填入180,直接回车,软件可以自动帮你配好。


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 ,由此前舵机图可知初始程序舵机会转动45°


4.生成代码

最后点击GENERATE CODE代码即生成完成


三、代码编写

代码编写也十分简单,只需要只main函数中开启PWM波

总结

用CubeMax配置STM32程序非常简单和方便,是开发的利器

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • PIC单片机控制的遥控防盗报警器电路

  • 短波AM发射器电路设计图

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 如何构建一个触摸传感器电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章