提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


文章目录

  • 前言
  • 一、使用到的装置和软件
  • 二、STM32CubeMX的配置
  • 1.基础配置
  • 2.查看自己电机和驱动的资料
  • 2.引脚的配置
  • 配置RCC
  • 配置输出低电平和高电平的两个引脚
  • PWM的配置
  • Keil5 的配置
  • 总结



前言

本篇文章主要写了使用PWM波来控制电机转速


提示:以下是本篇文章正文内容,下面案例可供参考

一、使用到的装置和软件

1.使用到的软件有STM32CubeMX和Keil uVision5
2.硬件方面有stm32f103zet6的板子(也可使用其它型号),电机一个,电机驱动底板一个 ,ST-LINK等

二、STM32CubeMX的配置

1.基础配置

可以翻看我前面点灯教程的配置

2.查看自己电机和驱动的资料

先要查看自己电机和驱动板资料,清楚自己的电机需要什么波形来控制,我的电机是一个直流电机,需要输入三个信号,分别是一个高电平和一个低电平还有一个PWM来控制转速。所以我需要定义三个引脚。

2.引脚的配置

配置RCC

esp32 s3 pwm_引脚

配置输出低电平和高电平的两个引脚

我这里配置的是PF9和PF10两引脚,也可以使用其它引脚(Output输出引脚怎么配置可以看我之前发的点灯教程)

esp32 s3 pwm_单片机_02

PWM的配置

时钟树配置如图:

esp32 s3 pwm_嵌入式硬件_03


配置PWM的引脚

esp32 s3 pwm_stm32_04


记得进行使能

esp32 s3 pwm_esp32 s3 pwm_05

然后就可以生成代码

Keil5 的配置

esp32 s3 pwm_esp32 s3 pwm_06


启动PWM通道

HAL_TIM_Base_Start_IT(&htim2);
    HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_2);

配置高低电平

HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_SET);
    HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9, GPIO_PIN_RESET);

然后就可以编译和烧录了

总结

本文章只写了软件配置部分,具体情况需查看自己使用的电机和芯片以及驱动板的资料