STM TIM(二)输出比较

STM TIM(二)输出比较

输出比较简介

  • OC(Output Compare)输出比较

  • 输出比较可以通过比较CNT(CNT计数器)与CCR寄存器(捕获/比较寄存器)值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形

    • 比较CNT和CCR的值,CNT计数自增,CCR是我们给定的一个值,当CNT大于CCR、小于CCR或者等于CCR时,输出就会对应置1或置0。这样就可以输出一个电平不断跳变的PWM波形了。
  • 每个高级定时器和通用定时器都拥有4个输出比较通道

  • 高级定时器的前3个通道额外拥有死区生成和互补输出的功能

PWM简介

  • PWM(Pulse Width Modulation)脉冲宽度调制

  • 在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域

  • PWM参数:

  • 频率 = 1 / TS 占空比 = TON / TS 分辨率 = 占空比变化步距

STM TIM(二)输出比较_第1张图片

STM TIM(二)输出比较_第2张图片

输出比较通道(高级)

  • 通常在外面要接一个最基本的推挽输出的电路,MOS管左边是控制极,比如说给高电平就导通,低电平就断开,中间是输出。

  • 上管导通,下管断开,输出就是高电平

  • 下管导通,上管断开,输出就是低电平

  • 上下管都导通,电源短路,不允许

  • 上下管都断开,输出就是高阻态

  • 如果有两个这样的推挽电路,就构成了H桥电路,就可以控制直流电机正反转了,如果有三个这样的推挽电路,就可以用于驱动三相无刷电机了。

  • 直接控制这个电路,需要有两个控制级,并且这两个控制级电平是相反的,也就是互补,因为上管导通,下管就必须断开,下管导通,上管就必须断开。

  • OC1和OC1N就是两个互补的输出端口,分别控制上管和下管的导通和关闭。
  • 切换上下管导通状态时,如果在上管关断的瞬间,下管立刻就打开,可能会因为器件的不理想,上管还没完全关断,下管就已经导通了,出现了短暂的上下管同时导通的现象,这会导致功率损耗,引起器件发热。
  • 为了避免这个问题,就有了死区生成电路,它会在上管关闭的时候,延迟一小段时间,再导通下管,下管关闭的时候,延时一小段时间,再导通上管。这样就可以避免上下管同时导通的现象了。这就是死区生成和互补输出的用途。

STM TIM(二)输出比较_第3张图片

输出比较通道(通用)

  • CNT计数器和CCR1第一路的捕获/比较寄存器进行比较,当CNT>CCR1,或者CNT=CCR1时,就会给输出模式控制器传一个信号,然后输出模式控制器就会改变它输出OC1REF的高低电平,REF(reference 参考信号)信号实际上就是指信号的高低电平。
  • REF信号
    • 往上面这一路,可以前往主模式控制器,可以把REF映射到主模式的TRGO输出上去。
    • 一般走下面这一路,到达极性选择器,给TIMx_CCER寄存器的CC1P位写0,信号就会往上走,电平不翻转;写1,信号就会往下走,通过非门取反,输出的信号就是输入信号高低电平翻转后的信号。极性选择,就是选择是否要将输入的高低电平翻转后输出。
  • 输出使能电路,选择是否输出。
  • OC1引脚,就是CH1通道的引脚,在引脚定义表中就可以直到具体是哪个GPIO口了。
  • ETRF输入,是定时器的一个小功能,一般不用

STM TIM(二)输出比较_第4张图片

输出比较模式

模式 描述
冻结 CNT=CCR时,REF保持为原状态
匹配时置有效电平 CNT=CCR时,REF置有效电平
匹配时置无效电平 CNT=CCR时,REF置无效电平
匹配时电平翻转 CNT=CCR时,REF电平翻转
强制为无效电平 CNT与CCR无效,REF强制为无效电平
强制为有效电平 CNT与CCR无效,REF强制为有效电平
PWM模式1 向上计数:CNTCCR时,REF置无效电平,CNT≤CCR时,REF置有效电平
PWM模式2 向上计数:CNTCCR时,REF置有效电平,CNT≤CCR时,REF置无效电平

PWM基本结构

以PWM模式1为例

  • 时基单元和运行控制部分
  • 输出比较单元,总共有4路
    • CCR捕获/比较寄存器,CCR由我们自己设定,CNT不断自增运行,同时CCR和CNT不断进行比较。
    • 输出模式控制器(PWM模式1)
      • CNT
      • CNT≥CCR时,REF置无效电平
  • 右上角该图
    • 蓝色线代表CNT的值
    • 黄色线代表ARR的值
    • 红色线代表CCR的值
    • 绿色线代表REF输出的值

PWM工作流程

  • 蓝色线从0开始自增,一直增到ARR,也就是99,之后清0继续自增。CNT
  • 输出的REF就是一个频率可调,占空比也可调的PWM波形,最终再经过极性选择,输出使能,最终通向GPIO口。

STM TIM(二)输出比较_第5张图片

参数计算

  • PWM频率: Freq = CK_PSC / (PSC + 1) / (ARR + 1)

    • 对应计数器的一个溢出更新周期,PWM的频率就等于计数器的更新频率
  • PWM占空比: Duty = CCR / (ARR + 1)

  • PWM分辨率(占空比最小的变化步距): Reso = 1 / (ARR + 1)

STM TIM(二)输出比较_第6张图片

舵机简介

  • 舵机是一种根据输入PWM信号占空比来控制输出角度的装置

  • 输入PWM信号要求:周期为20ms,高电平宽度为0.5ms~2.5ms

STM TIM(二)输出比较_第7张图片

硬件电路

STM TIM(二)输出比较_第8张图片

直流电机及驱动简介

  • 直流电机是一种将电能转换为机械能的装置,有两个电极,当电极正接时,电机正转,当电极反接时,电机反转

  • 直流电机属于大功率器件,GPIO口无法直接驱动,d

  • TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速和方向

STM TIM(二)输出比较_第9张图片

硬件电路

STM TIM(二)输出比较_第10张图片

你可能感兴趣的:(stm32,单片机,嵌入式硬件,1024程序员节)