一、知识点背景
二、相关概念
2.1 PWM脉宽调制的作用
PWM脉宽调制的作用——变数字信号(离散)为模拟信号(连续),典型应用:呼吸灯、电机驱动。
电机驱动:
6P电机还有3个相关引脚: 编码1、编码2——AB相编码器、GND——交流接地。
2.2 相关概念
PWM(pulse width modulation)——脉冲宽度调制
脉冲信号:按一定电压幅度,一定时间间隔,连续发出的离散电信号
脉冲调制:脉冲编码调制(PCM)、脉宽调制(PWM)
脉宽:脉冲信号的高电平持续时间——time on
(脉冲信号的低电平持续时间:time off)
周期:T = ton + toff = 1/f
占空比:脉冲信号的高电平持续时间占整个周期的比例
2.3 PWM脉宽调制的完整过程
PWM的完整过程:
用定时器产生的一个数字信号——>用数字信号产生模拟信号,来控制模拟电路
(模拟信号:一系列连续变化的控制值)
2.4 PWM的两个应用
三、PWM配置 & PWM程序代码
3.1 PWM配置
两轮+万向轮-循迹小车STM32F411CEU6:
两轮平衡小车STM32F103C8T6:
clock source时钟源:内部时钟、不使能
区别:开了内部时钟源可以设置定时器中断
第一步就是还是上面的打开定时器1的两个PWM产生通道,第二步就是定时器的配置:
两轮+万向轮-循迹小车STM32F411CEU6:
两轮平衡小车STM32F103C8T6:
总结:PWM配置只需要——
1.打开定时器1的两个PWM通道(内部时钟源可有可没有,不影响PWM正常输出)。
2.设置合适的自动重装载值。
3.2 PWM的代码
两行代码——1.开启定时器的对应PWM通道 2.设置比较值
3.2.1 呼吸灯的代码
①开启定时器1的通道1
②控制代码
3.2.2 电机驱动的代码
①开启定时器1的通道1
②控制代码:3行代码驱动电机正、反旋转
封装成函数,3行变5行,同时引入if-else判断:
四、电机驱动
电机端的引脚说明如下:
TB6612的引脚说明如下: