第六章第三节 TIM 输出比较
1. 输出比较(OC)
① 基础概念
(1) 功能定位:核心用于输出 PWM 波形,典型场景是控制电机(如调速 ),通过精准调节波形实现对电机等设备的驱动与控制。
(2) 相关单元:
- OC(Output Compare)输出比较:主动输出信号,依据计数器与比较寄存器值的关系,操控引脚电平变化。
- IC(Input Capture)输入捕获:被动接收信号,捕捉外部输入脉冲的时序特征(如频率、占空比 )。
- CC(Capture/Compare):是整合输出比较与输入捕获功能的单元,一个外设通道可灵活切换这两种工作模式 。
(3) 工作原理:输出比较的核心逻辑是计数器(CNT)与捕获比较寄存器(CCR)的值比较,根据比较结果对输出电平执行置 1、置 0 或翻转操作,最终输出特定频率和占空比的 PWM 波形 。
(4) 硬件资源
- 高级定时器(如 TIM1、TIM8 )和通用定时器(如 TIM2 - TIM5 ),每个都配备4 个输出比较通道 。
- 高级定时器的前 3 个通道,额外支持死区生成、互补输出功能,专门适配三相无刷电机驱动场景(如控制电机三相绕组的通断时序 )。
2. PWM(Pulse Width Modulation,脉冲宽度调制)
① 基础概念:PWM 是通过调制脉冲宽度,在惯性系统(如电机、LED 调光电路,利用惯性 “平滑” 脉冲离散特性 )中等效获得模拟量的技术,广泛应用于电机调速、灯光亮度调节等场景
② 关键参数:
- 频率:
频率 = 1 / Ts
,Ts
是 PWM 信号的周期(高低电平完整切换一次的时间 ),决定信号 “刷新” 快慢,影响控制的响应速度与设备工作特性(如电机运转的平稳性 )。 - 占空比:
占空比 = Ton / Ts
,Ton
是高电平持续时间,直接决定输出 “平均等效模拟量” 的大小(如电机转速、LED 亮度 )。 - 分辨率:由占空比的调节精度决定,如支持 1%、0.1% 的占空比步进调节,分别对应 1%、0.1% 的分辨率,体现控制的细腻程度 。
3. 输出比较通道(通用)
① 核心部件及信号:
- CNT(计数器值)、CCR(捕获 / 比较寄存器值):二者比较是输出比较的基础,决定输出模式控制器的动作
- 输出模式控制器:依据 CNT 与 CCR 比较结果,结合模式配置,生成 ocRef 等信号,是输出逻辑的 “指挥中心”
- ocRef 信号:关键中间信号,后续经极性选择、输出使能等环节,决定最终引脚输出
② 极性选择逻辑:极性选择通过 “CC1P” 等配置,决定 ocRef 信号是否 “反转” 输出。选 0 时信号 “不反转” 直传,选 1 时信号 “反转” 后传,影响最终引脚电平逻辑
4. PWM 基本结构
① 输出比较单元:「电平控制器」
- CCR 捕获 / 比较器:存一个「阈值」(比如 CCR=50),和 CNT 实时对比
- 比较逻辑:
- CNT < CCR → 输出 REF 有效电平(比如高电平,灯亮)
- CNT ≥ CCR → 输出 REF 无效电平(比如低电平,灯灭)
② PWM 核心公式:
公式 | 人话翻译 | 例子(对应图中) |
---|---|---|
频率:Freq = 时钟 / [(PSC+1)×(ARR+1)] | 决定 PWM 信号「眨眼睛速度」 | 72M 时钟,PSC=719,ARR=99 → 频率 = 1KHz(1 秒眨 1000 次) |
占空比:Duty = CCR / (ARR+1) | 决定「亮的时间占比」 | CCR=50,ARR=99 → 占空比 50%(亮 50 个数,灭 50 个数) |
分辨率:Reso = 1/(ARR+1) | 决定「占空比能调多细」 | ARR=99 → 分辨率 1%(每次调 1 个数,占空比变 1%) |
5. 舵机简介
① 基本原理:舵机是通过输入 PWM(脉冲宽度调制)信号,依据信号的占空比来控制输出轴转动角度的装置 。比如在机器人关节、航模控制中,用不同占空比的 PWM 精准控制转向。
② PWM 信号要求:周期固定为 20ms ,对应频率 50Hz(频率 = 1 / 周期,1÷0.02s = 50Hz ),这是舵机识别 PWM 信号的基础周期标准。
6. 硬件电路
7. 直流电机及驱动简介
① 直流电机属于大功率器件,GPIO 口无法直接驱动,需要配合电机驱动电路来操作。
② TB6612 是一款双路 H 型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速和方向。
8. 硬件电路
通过 AIN1/AIN2(或 BIN1/BIN2)的电平组合,配合 PWM 信号,实现电机 5 种工作模式:
AIN1 | AIN2 | PWM | 电机状态 | 场景举例 |
---|---|---|---|---|
H | H | 任意 | 刹车(制动) | 电机需紧急停止时 |
L | H | H/L | 反转 | 智能小车后退、机械臂反转 |
H | L | H/L | 正转 | 智能小车前进、机械臂正转 |
L | L | 任意 | 刹车(制动) | 同 “双高”,另一种制动逻辑 |
任意 | 任意 | L | 停止(无动力) | 电机无驱动信号,自然滑行停止 |