PWM(脉冲宽度调制)可以用来控制直流电机的速度和方向。通过使用 STM32 单片机的 PWM 模块,可以轻松地驱动直流电机。
要驱动直流电机,首先您需要配置 STM32 的 PWM 模块,设置适当的频率和占空比。然后,将输出连接到电机的驱动模块或直接与电机连接。通过调整 PWM 的占空比,可以控制电机的转速,从而控制车的速度和方向。
程序运行图和接线图如图所示:
分为四个主要的.c文件
Delay.c消除按键抖动
OLED.c显示风扇的速度(之前的发的博客有,在这里就不展示了)
PWM.c 配置时钟源、时基单元初始化、输出比较初始化和开启定时器
Motor.c配置直流电机的引脚和方向速度
Delay.c源代码如下:
#include "stm32f10x.h"
/**
* @brief 微秒级延时
* @param xus 延时时长,范围:0~233015
* @retval 无
*/
void Delay_us(uint32_t xus)
{
SysTick->LOAD = 72 * xus; //设置定时器重装值
SysTick->VAL = 0x00; /