2. QD75硬件基础:脉冲输出模块的架构与信号时序
聊加减速时间优化,你得先搞清楚QD75这个模块到底是怎么把「位置指令」变成「物理脉冲」的。说白了,它就是一个数字信号发生器,但内部的门道比想象中要多。
我最早接触QD75时,以为它就是CPU发个坐标,模块自己算算就输出脉冲了。结果第一次调试就遇到脉冲丢步,查了三天才发现是信号时序没对齐。嗯,从那以后我再也不敢跳过硬件时序分析了。
2.1 模块内部架构:三大部分
QD75的脉冲输出模块,从功能上可以拆成三个核心单元。我个人习惯把它们叫做「大脑、算盘、手脚」。
| 单元 | 功能 | 我在项目中踩过的坑 |
|---|---|---|
| 指令处理单元 | 接收CPU发来的定位数据,解析加减速模式、目标位置、速度 | 曾经因为CPU扫描周期太长,指令处理单元空转,导致启动延迟 |
| 加减速运算单元 | 实时计算每个插补周期的脉冲频率,生成S形或梯形速度曲线 | 加减速时间设太短,运算单元算不过来,直接报错 |
| 脉冲输出单元 | 将频率值转换成实际的PWM脉冲信号,驱动伺服驱动器 | 脉冲输出单元的驱动能力有限,长线传输时信号会畸变 |
这三个单元是流水线工作的。指令处理单元把「目标位置」和「加减速时间」传给加减速运算单元,后者算出每个时刻的脉冲频率,再交给脉冲输出单元去物理输出。任何一个环节卡住,定位精度都会受影响。
关键点:加减速运算单元是影响定位精度的核心。它决定了从「当前速度」到「目标速度」的过渡曲线形状。如果这个单元的运算精度不够,或者刷新周期太长,实际输出的速度曲线就会偏离理论值,最终导致定位过冲或欠冲。
2.2 脉冲信号时序:你看到的方波并不简单
你拿示波器看QD75的脉冲输出口,看到的是一串方波。但这里面藏着三个关键时序参数,任何一个没对齐,伺服驱动器就会「读错」位置。
- 脉冲宽度(Pulse Width):高电平持续的时间。QD75默认是50%占空比,但你可以调整。我建议保持默认,除非你遇到驱动器响应太慢的情况。
- 脉冲周期(Pulse Period):两个上升沿之间的时间。周期越短,频率越高,电机转得越快。加减速优化本质上就是在调整这个周期的变化率。
- 方向信号建立时间(Direction Setup Time):方向信号变化后,到第一个脉冲上升沿之间的时间。这个参数容易被忽略,但很重要。
为什么会这样?因为伺服驱动器内部也有一个采样窗口。如果方向信号和脉冲信号同时变化,驱动器可能读到错误的方向。我遇到过一台设备,偶尔反向启动时位置会偏几个脉冲,查到最后就是方向建立时间设得太短。
我的经验:方向建立时间至少留10μs。如果现场干扰大,建议留到20μs。别小看这十几微秒,它能让你的定位重复精度从±1个脉冲提升到±0.5个脉冲。
2.3 脉冲输出模式:你选对了吗?
QD75支持两种脉冲输出模式,你想想看,选错了会怎样?
| 模式 | 信号定义 | 适用场景 | 我的建议 |
|---|---|---|---|
| CW/CCW模式 | 正转脉冲和反转脉冲各一根线 | 步进电机、老式伺服 | 不推荐用于高速定位,容易受干扰 |
| 脉冲+方向模式 | 一根脉冲线,一根方向线 | 主流伺服驱动器 | 我90%的项目都用这个模式 |
我个人习惯用脉冲+方向模式。原因很简单:信号线少一根,干扰概率降低一半。而且加减速时间优化时,只需要调整脉冲频率,方向信号保持不变,逻辑更清晰。
注意:如果你用CW/CCW模式,加减速时间优化时要特别小心。两个脉冲通道的电气特性可能有微小差异,导致正反转的加减速曲线不对称。我曾经因为这个差异,让一台龙门铣床在往返加工时出现了0.02mm的接刀痕。
2.4 信号时序图:一张图看懂全部
下面这张SVG图,画的是QD75在脉冲+方向模式下,加减速过程中的信号时序关系。你盯着看一分钟,就能明白为什么加减速时间会影响定位精度。
你看这张图,加速阶段脉冲越来越密,减速阶段越来越疏。加减速时间优化,本质上就是在控制这个「密」和「疏」的变化速率。变化太快,脉冲周期突变,伺服驱动器来不及响应,就会丢步。变化太慢,定位周期拉长,影响生产效率。
2.5 硬件参数速查表
最后,我整理了一份QD75脉冲输出相关的硬件参数速查表。调试时对照着看,能省不少时间。
| 参数 | 默认值 | 可调范围 | 对定位精度的影响 |
|---|---|---|---|
| 脉冲输出频率 | 200kpps | 1~200kpps | 频率越高,电机转速越快,但丢步风险增加 |
| 加减速时间 | 100ms | 1~5000ms | 时间越短,定位越快,但过冲越大 |
| 方向建立时间 | 10μs | 5~50μs | 时间不足会导致方向误判,定位偏差 |
| 脉冲占空比 | 50% | 25%~75% | 占空比偏离50%可能影响驱动器采样 |
一个小技巧:调试时先用低速(比如10kpps)跑一遍,确认方向信号时序没问题,再逐步提高频率。这样能快速定位是时序问题还是频率问题。我每次调试新设备都这么干,百试百灵。