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的占空比。


相关文章
|
1月前
|
传感器
|
1月前
|
传感器
STM32标准库外部中断和定时器知识点总结-2
STM32标准库外部中断和定时器知识点总结
|
1月前
|
传感器
STM32标准库外部中断和定时器知识点总结-1
STM32标准库外部中断和定时器知识点总结
|
1月前
|
缓存 网络协议 算法
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)