这一章在干嘛?

想闭环先要测得准。本章讲编码器四大家族(光电/磁电 × 增量/绝对)、STM32 定时器编码器接口模式,最后实现有刷电机测速——它是第 8~13 章所有 PID 闭环的速度反馈源。

7.1 编码器是什么?

7.2 编码器接口模式:硬件自动辨向计数

7.3 测速实验实现

7.1 编码器是什么?

编码器是把位移/角度转成电信号的传感器,数控机床、机器人、伺服系统的标配。两个分类维度组合出四种常见编码器:

原书图 7.1.1 原书图 7.1.1:编码器实物

原书图 7.1.2 原书图 7.1.2:编码器分类:光电/磁电 × 增量/绝对

类型原理特点
磁电增量式S/N 磁盘 + 霍尔传感器输出 A/B 两相 90° 相差脉冲抗污耐用,本教程电机尾部即此款
光电增量式透光码盘 + 光源受光元件,输出 A/B 两相脉冲精度高,怕灰尘
光电绝对式码道编码,每个位置输出唯一二进制码断电不忘位置;格雷码相邻只变一位避免读数歧义

原书图 7.1.3 原书图 7.1.3:磁电增量式:磁盘 + 霍尔 + 信号转换

原书图 7.1.4 原书图 7.1.4:光电增量式:码盘 + 光源 + 受光元件

原书图 7.1.6 原书图 7.1.6:格雷码码盘:相邻区域只有一位不同

关键参数:分辨率(每圈脉冲数 PPR,本电机 11 线)、精度、最大响应频率、最大转速。

7.2 编码器接口模式:硬件自动辨向计数

电机尾部编码器输出 A、B 两相相位差 90° 的脉冲:正转 A 前、反转 B 前。STM32 定时器编码器接口模式 = 「带方向选择的外部时钟」,硬件自动完成辨向 + 计数:

原书图 7.2.1 原书图 7.2.1:直流有刷电机尾部编码器:A/B 两相输出

原书图 7.2.2 原书图 7.2.2:编码器接口原理:正转递增计数、反转递减计数

脉冲从 CH1/CH2 进入(CH3/CH4 不支持),经滤波、边沿检测后进编码器控制器。以「仅 TI1(A 相)计数」为例:A 相上升沿时看 B 相电平——低则递增(正转)、高则递减(反转):

原书图 7.2.3 原书图 7.2.3:通用定时器编码器接口框图

原书图 7.2.4 原书图 7.2.4:A/B 相脉冲时序:正转 A 前、反转 B 前

倍频系数别忘除:

仅 TI1 或仅 TI2 计数 = 2 倍频(双边沿);TI1+TI2 都计数 = 4 倍频。测速公式:

转速(RPM)

7.3 测速实验实现

硬件在基础驱动之上启用编码器:编码器 A/B 相接通用定时器 TIM3 的 CH1/CH2(对应 PC6/PC7),由驱动板 CN2 口引出;高级定时器继续负责 PWM 驱动:

原书图 7.3.2.1 原书图 7.3.2.1:直流有刷电机接口原理图:编码器 A/B 相接 PC6/PC7

程序流程:定时器编码器接口初始化(TI1+TI2 双边沿、4 倍频)→ 每秒读取计数器变化量 → 按上式换算 RPM → 屏显/串口输出。KEY0/KEY1 仍控制速度,现在串口同时打印电压/温度/电流/速度——闭环控制的最后一块拼图就位:

原书图 7.3.3.2.1 原书图 7.3.3.2.1:编码器测速程序流程图

本章地位:

至此「驱动(5 章)+ 采集(6 章)+ 反馈(本章)」三要素齐活,接下来第 8~9 章的 PID 算法将把三者拧成闭环。