在自动化设备、机器人、数控机床等场景中,精准测量移动距离或转动角度是刚需。
而正交编码器和编码器采集卡的组合,正是业界最经典、性价比最高的解决方案。
一、核心原理:两个信号,判断一切
正交编码器会输出 A、B 两路方波信号,这两路信号长相相似,但存在 90° 相位差。
前进时:A 信号领先 B 信号。
后退时:B 信号领先 A 信号。
采集卡只需“盯住”这两路信号的变化顺序,就能同时得到移动距离和运动方向——不需要任何额外传感器。
通俗比喻:A 和 B 就像两个人的脚步声。谁先迈腿,就知道队伍是往前走还是往后走;迈了多少步,就知道走了多远。
二、位移怎么算?一个公式搞定
从脉冲到毫米,只需两步:
1、确定“每个脉冲代表多少毫米”
这叫做 脉冲当量 K,计算公式:
K = 单圈行程 ÷(编码器每转脉冲数 × 倍频系数)
倍频系数可选 ×1、×2、×4,用 ×4 分辨率最高,相当于把原始精度提升 4 倍。
2、位移 = 脉冲计数变化量 × K
采集卡会自动累计脉冲数,上位机读取后一乘,位移立刻出来。
示例:
编码器每转 1000 个脉冲,单圈行程 10 mm,采用 ×4 模式
K = 10 ÷ (1000×4) = 0.0025 mm/脉冲
如果采集卡显示累计脉冲数变化 +4000,则位移 = 4000 × 0.0025 = 10 mm,方向为正。
三、硬件连接:三步搞定
选对采集卡:支持直接连接正交编码器、带计数器的卡。
接好信号线:A、B 两相接入采集卡的A、B引脚。
采集卡一般A、B引脚会有A+、A-,B+、B-两组信号,传感器的差分信号直接按信号标识接入即可。
长距离传输建议用屏蔽双绞线。
配置参数:在软件中选择“正交计数模式”、倍频系数等。
大部分采集卡也支持 Z 相(索引信号),用于开机后找零点,消除长期累积误差。
如新超仁达的NET-2402编码器采集卡,每路均有A+、A-,B+、B-,Z+、Z-,三相差分信号输入引脚,可直接连接三相正交编码器,接线简单方便。
四、软件读数据:像读“里程表”一样简单
采集卡内部有一个硬件计数器,实时累加脉冲。上位机程序只需周期性读取当前计数值,计算与上次读值的差值,再乘以 K,就能得到位移变化量。
极简伪代码(一看就懂)
上次计数值 =0
每次循环:
当前值 = 读取采集卡()
变化量 = 当前值 - 上次计数值
位移 = 变化量 × 脉冲当量
上次计数值 = 当前值
打印位移
支持 C/C++、Python、C#、LabVIEW、PLC 指令等,开发非常灵活。
五、为什么推荐这套方案?
特点 | 说明 |
高精度 | ×4 倍频 + 硬件计数,微米级位移轻松实现 |
自动辨向 | 不需要额外方向传感器 |
成本低 | 增量式编码器 + 通用采集卡,远低于绝对式编码器方案 |
易集成 | 支持 USB、PCI、以太网等多种接口 |
六、常见小问题 & 快速解决办法
现象 | 可能原因 | 解决方法 |
方向判断反了 | A/B 信号接反 | 交换 A、B 两线,或软件设置反向计数 |
长期运行误差大 | 缺少零点校准 | 利用 Z 相信号定期清零或校准 |
数据突变 | 计数器溢出 | 软件处理溢出(当前值 + 最大值 - 上次值) |