STM32:PWM硬件部分知识点讲解(内含:1.PWM简介+2.PWM波形简介(重点)+参数计算+输出比较模式/通道+3.PWM输出控制舵机+直流电机介绍)

简介: STM32:PWM硬件部分知识点讲解(内含:1.PWM简介+2.PWM波形简介(重点)+参数计算+输出比较模式/通道+3.PWM输出控制舵机+直流电机介绍)

输出比较功能很重要!主要是输出PWM波形。PWM常用于驱动电机,如智能车,机器人等。


1.输出比较简介:


58c7b37939b14a8b88d6b43486c4b4ca.png


CC:输入捕获/输出比较的单元。R:寄存器。CCR:捕获比较寄存器。(输入捕获/输出比较共用)。


CNT计数自增,CCR是我们给定的值。当CNT>CCR,<CCR,=CCR时,输出就会对应置1,置0,置1,置0。从而输出一个电平不断跳变的PWM波形。


以下为STM32如何产生PWM波形。


2.PWM简介:


5e908615bda344419a5ed215ecaacfcb.png


注:只能在惯性系统中使用!对脉冲宽度调制,如完成呼吸灯,需要在频率足够快时,调配高低电平的时间比例。完成电机,需要在频率足够快时,给电机通电,断电,通电,断电.....


观察左图,当Ud>0的时间长,且Ud<0的时间短,则模拟量偏向于上面。


Ts:高低电平变换周期的时间。频率越快,等效模拟(图中紫色线条)越平稳。


占空比:高电平/(高电平+低电平),一般都是百分比表示。决定PWM等效的模拟电压的大小。占空比越大,模拟电压越趋近于高电平;占空比越小,模拟电压越趋近于低电平。一般取线性。


分辨率:占空比变化的精细程度。一般为1%。


3.输出比较通道(通用寄存器)


88030dd2b6984870a2346d8210a35015.png


oc1ref:参考信号。


CC1P:极性选择。CC1P写0,信号不翻转;写1,经过非门,信号翻转。输出信号是输入信号高低电平反转的信号。


输出使能电路:判断要不要输出。


cc1ref的输出比较模式:


1d5e7e6d74c440fcbd92ef8ce16ff481.png


解释:


冻结:CNT=CCR时,CNT,CCR无效,REF为原状态。(常用于暂停PWM波形)


匹配时电平翻转:CNT=CCR时,REF电平翻转。如设置CCR=0,CNT每次更新1时,会产生一次CNT=CCR,此时输出电平翻转一次。没更新两次,输出一个周期。高电平和低电平时间始终相等,即占空比为50%。改变定时器更新频率时,输出波形也随之改变。


强制为无效电平/强制为有效电平(常用作暂停PWM波形)


PWM模式2是PWM1模式输出的取反。改变PWM1和PWM2,只是改变REF极性。一般只使用PWM模式1向上计数,就够用了。


5.PWM基本结构(重点)


a80d8c1527ed4bbd9524020ed0528283.png


CNT自增运行。输出比较单元(4路):CCR(自己设置,不变),不断与CNT比较,如图为PWM模式1,输出PWM波形如右上角图。(蓝色线为CNT,红色线为CCR)CNT<CCR,高电平(有效电平);CNT>CCR,低电平(无效电平)。CNT溢出清零后,CNT<CCR.....占空比受CCR值调控,通过调节CCR的值,就能调节 实际高电平的T/总的周期T。即CCR大一些,占空比大一些;CCR小一些,占空比小一些。REF为频率可调,占空比也可调的PWM波形。最终输出给PWM口。


6.参数计算


0ae0426f9af848da9394e74fe9d96fa2.png


解释:


PSC是预分频器的值,+1是预分频系数。


7.通用定时器


bac8239205d443c3a61a0c2668c49630.png


OC1和OC1N为两个互补的输出端口,分别控制上管和下管的导通和关闭。


死去发生器:上管关闭时,延时一小段时间,导通下管。下管关闭时,延时一小段时间,导通上管。避免上下管同时导通现象。


8.输出比较通道(高级定时器)


280ad92bf75048a98affb45633344f19.png


如图,外接大功率开关管,一般为MOS管(图中为两个MOS管)。MOS左边为控制级,给高电平,导通,低电平断开。如果上管导通,下管断开,即为高电平。如果下管导通,上管断开,即为低电平。


(推挽电路,中间右接输出,左边两个为MOS管控制级)。如果有两个推挽电路,即为H桥电路。控制直流电机正反转。如果有两个推挽电路,用于驱动三相无刷电机。


9.STM32外部设备:


舵机:


63f4d5a6320541feb907ae76d3e5f491.png


PWM信号输入到控制板,给控制板一个指定的目标角度,电位器检测输出轴的当前角度,如果大于目标角度,电机反转,如果小于目标角度,电机正转。最终使输出轴固定在指定角度。


即,输入一个PWM波形,输出轴固定在一个角度。


周期20ms的意思是:从上个上升沿到下一个上升沿为20ms。


上升沿所占的时间,就是输出轴转角。


8c51460153874883a6a0a5a672f63710.png


直流电机:


0eb6f3d545b2429399c8f0470bb046c9.png


fdce499c58c94d308859b10892156622.png


VM引脚电压一般与额定电压保持一致。


VCC要与控制器的电源保持一致,如STM32是3.3V,就接3.3V。51单片机,就接5V。


A01,A02,B01,B02为两路电机的输出。可以分别接两个电机。


第一个电机输出端为A01,A02,输入端为PWMA,AIN2,AIN1(灰色标记处).PA0,PA4,PA5接单片机对应的引脚。PA4,PA5可以更换为其他引脚。


STBY待机控制脚。如果接GND,芯片不工作,处于待机状态。如果接VCC,芯片正常工作。


右下角:输入的IN1,IN2均为高电平,两个输出都为低电平,没电位差,电机不转。


IN1,IN2均为低电平,输出关闭,电机也不转。


IN1为低电平,IN2为高电平,电机为反转。此时如果PWM为高电平,输出为一低一高,电压差,点机转。定义为反转。PWM为低电平,输出两个低电平,电机不转。(PWM为高速翻转的信号,所以此时电机为反转,停止,反转,停止。PWM足够快,电机则连续稳定的反转,速度取决于PWM的占空比)


IN1为高电平,IN2为低电平,电机为正转。此时如果PWM为高电平,正转。如果PWM为低电平,停止。PWM足够快,电机则连续稳定的正转,速度取决于PWM的占空比。


相关文章
|
7月前
|
传感器
STM32标准库ADC和DMA知识点总结-1
STM32标准库ADC和DMA知识点总结
|
5月前
STM32Cubemx PWM驱动加湿器模拟火山喷发效果
STM32Cubemx PWM驱动加湿器模拟火山喷发效果
80 14
|
5月前
STM32Cubemx PWM驱动SG90舵机
STM32Cubemx PWM驱动SG90舵机
209 13
|
5月前
STM32CubeMX PWM
STM32CubeMX PWM
90 9
|
4月前
|
编解码 算法
掌握PWM:STM32F103实现PWM控制直流电机小风扇
PWM,即脉冲宽度调制(Pulse Width Modulation),是一种广泛应用于电子和电机控制领域的信号编码方法。PWM的核心思想是通过改变数字信号的脉冲宽度来模拟模拟信号的幅度变化,从而达到控制输出功率的目的。
654 0
|
5月前
STM32Cubemx TB6612直流电机驱动
STM32Cubemx TB6612直流电机驱动
187 0
|
7月前
|
传感器
STM32标准库外部中断和定时器知识点总结-2
STM32标准库外部中断和定时器知识点总结
|
7月前
|
传感器
STM32标准库外部中断和定时器知识点总结-1
STM32标准库外部中断和定时器知识点总结