输出比较功能很重要!主要是输出PWM波形。PWM常用于驱动电机,如智能车,机器人等。
1.输出比较简介:
CC:输入捕获/输出比较的单元。R:寄存器。CCR:捕获比较寄存器。(输入捕获/输出比较共用)。
CNT计数自增,CCR是我们给定的值。当CNT>CCR,<CCR,=CCR时,输出就会对应置1,置0,置1,置0。从而输出一个电平不断跳变的PWM波形。
以下为STM32如何产生PWM波形。
2.PWM简介:
注:只能在惯性系统中使用!对脉冲宽度调制,如完成呼吸灯,需要在频率足够快时,调配高低电平的时间比例。完成电机,需要在频率足够快时,给电机通电,断电,通电,断电.....
观察左图,当Ud>0的时间长,且Ud<0的时间短,则模拟量偏向于上面。
Ts:高低电平变换周期的时间。频率越快,等效模拟(图中紫色线条)越平稳。
占空比:高电平/(高电平+低电平),一般都是百分比表示。决定PWM等效的模拟电压的大小。占空比越大,模拟电压越趋近于高电平;占空比越小,模拟电压越趋近于低电平。一般取线性。
分辨率:占空比变化的精细程度。一般为1%。
3.输出比较通道(通用寄存器)
oc1ref:参考信号。
CC1P:极性选择。CC1P写0,信号不翻转;写1,经过非门,信号翻转。输出信号是输入信号高低电平反转的信号。
输出使能电路:判断要不要输出。
cc1ref的输出比较模式:
解释:
冻结: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基本结构(重点)
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.参数计算
解释:
PSC是预分频器的值,+1是预分频系数。
7.通用定时器
OC1和OC1N为两个互补的输出端口,分别控制上管和下管的导通和关闭。
死去发生器:上管关闭时,延时一小段时间,导通下管。下管关闭时,延时一小段时间,导通上管。避免上下管同时导通现象。
8.输出比较通道(高级定时器)
如图,外接大功率开关管,一般为MOS管(图中为两个MOS管)。MOS左边为控制级,给高电平,导通,低电平断开。如果上管导通,下管断开,即为高电平。如果下管导通,上管断开,即为低电平。
(推挽电路,中间右接输出,左边两个为MOS管控制级)。如果有两个推挽电路,即为H桥电路。控制直流电机正反转。如果有两个推挽电路,用于驱动三相无刷电机。
9.STM32外部设备:
舵机:
PWM信号输入到控制板,给控制板一个指定的目标角度,电位器检测输出轴的当前角度,如果大于目标角度,电机反转,如果小于目标角度,电机正转。最终使输出轴固定在指定角度。
即,输入一个PWM波形,输出轴固定在一个角度。
周期20ms的意思是:从上个上升沿到下一个上升沿为20ms。
上升沿所占的时间,就是输出轴转角。
直流电机:
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的占空比。