首页 / 资讯中心 / 文章详情

TB6560步进驱动器设计:恒流斩波、细分与自动半流调试

TB6560步进驱动器设计:恒流斩波、细分与自动半流调试 ★ FEATURED ARTICLE
简介围绕东芝TB6560AHQ步进电机驱动芯片的这份技术文档面向从事步进电机驱动器设计、调试的电子工程师及机电专业学习者适合需要从原理图参数走向实际方案参考的中级读者重点解决57电机及部分86电机驱动电路的成本、集成度与可靠性问题。文件以单篇doc呈现压缩包241KB、共1个文件便于快速查阅和本地保存。内容覆盖驱动主电路与逻辑控制电路设计、28V驱动电源及4.540V电压选择、内部续流二极管带来的布线简化、5V逻辑电源去耦、OSC斩波频率与M2/M1细分设置并讨论整步、半步、1/8及1/16细分下的电流控制、自动半流与脱机功能以及最大细分时0300rpm的转速范围。对失步、越步和共振成因也给出降低驱动电流、合理加速、细分驱动等排查思路并附雕刻机X、Y、Z三轴驱动试验结果。已有1073人学习适合需要参考成熟电路参数与排错经验的读者。1. 反直觉的结论57 步进驱动器的成本败在“外围”而不是“功率”拆开一台老式 57 步进驱动器多数人第一眼盯着的是那颗直插封装、背面焊着一块金属片的芯片觉得成本都在这块硅上。真正吃掉成本的是它周围少掉的那一圈东西八只外接续流二极管、独立的电流比较器、斩波时序逻辑、细分译码、电流衰减档位切换以及为这些东西留出的布板面积和调试工时。TB6560 步进电机驱动器设计的核心命题就是把这堆分立功能一次收进芯片让一台 28V、峰值 3.5A 的两相双极驱动器外围只剩拨码开关和几个电容电阻。省下来的不是硅片钱是面积、装配工序和“每换一种电机就要重调一次”的试错成本。搞懂它怎么把这些环节塞进去也就搞懂了恒流斩波、细分、半流这三件事在硬件层到底长什么样。2. 斩波恒流TB6560 凭什么用“开关”喂出正弦电流2.1 电压驱动在高频段必然掉力矩这不是电机的问题两相混合式步进电机的绕组是个典型的 RL 负载通电瞬间电流按 i(t) (U/R)·(1 − e^(−t/τ)) 上升时间常数 τ L/R。绕组电感常在几毫亨量级相电阻一两欧τ 落在 13 ms 这个区间。这意味着如果只给一个固定电压、不做任何电流控制电流爬到额定值需要的时间是可观的。转速一高两个换相脉冲之间的间隔比这段上升时间还短电流根本来不及到额定值就被切走了平均电流下降输出转矩随之塌下去。这条链路能解释原文里那句“提高驱动电压可增大电机在高频范围转矩的输出”。同样是把电流顶到 2.5A28V 比 12V 快得多。用一段估算就能看出差距有多大import math def rise_time(u, i_set, r, l): RL 负载下电流从 0 爬到 i_set 所需时间秒 tau l / r # 绕组时间常数 ratio 1 - (i_set * r) / u # 剩余未完成的电流比例 if ratio 0: return float(inf) # 电压不够永远到不了设定电流 return -tau * math.log(ratio) r, l, i_set 1.2, 3e-3, 2.5 # 相电阻 1.2Ω、相电感 3mH、目标 2.5A for u in (12, 24, 28, 36): t rise_time(u, i_set, r, l) print(f驱动电压 {u:2}V - 电流爬升到 2.5A 用时 {t*1000:6.3f} ms)参数含义很直白u是 VMA/VMB 上的驱动电压i_set由检流电阻决定r、l是电机铭牌上的相电阻和相电感。跑出来的量级大致是12V 要 0.7 ms 上下28V 只要 0.2 ms 出头。也就是说在 12V 下脉冲间隔一旦压到 0.7 ms 以内折算成整步也就 800 多转/分的量级电流就已经喂不饱了。这就是“低频靠电流、高频靠电压”这句老话的物理来源。但光提高电压不行。28V 直接怼在一个 1.2Ω 的绕组上稳态电流会到 20A 以上绕组当场冒烟。所以必须有一个环在电流到达设定值的那一刻把电源切开——这就是斩波恒流的全部动机。2.2 检流电阻0.5V 基准决定了整台驱动器的电流档位TB6560 的做法是把采样电阻串在绕组电流回路上NFA、NFB 两个引脚分别接 A 相和 B 相的检流电阻到地。芯片内部拿这个电阻上的压降和一个固定的 0.5V 基准比较超过就关断输出绕组电流经内部续流回路缓慢衰减低于某个下限再重新开通。如此反复绕组里流的是一个三角纹波平均值就锁在 0.5/RNF 附近。原厂给的公式是 IOUT(A) 0.5(V) / RNF(Ω)反过来说你想要多大电流就得配多大的电阻而这个电阻同时还要扛住 I²R 的功耗。这一步是很多人翻车的地方算电流谁都算得对算功耗经常忘V_REF 0.5 # 内部电流比较基准单位 V targets [0.5, 1.0, 1.5, 2.0, 2.5, 3.0] for i_out in targets: rnf V_REF / i_out # 需要的检流电阻阻值 p_real i_out ** 2 * rnf # 电阻上的真实热耗 print(f相电流 {i_out:4.1f}A | RNF {rnf*1000:6.1f} mΩ | f热耗 {p_real:4.2f}W | 建议额定 ≥ {p_real*2:4.1f}W)这里的0.5就是原厂公式里的基准电压p_real是长期工作时电阻自身要散掉的热量乘 2 是留一倍的功率余量。结果整理成表更方便对照选型目标相电流检流电阻 RNF电阻热耗 I²R建议额定功率0.5 A1.0 Ω0.25 W≥ 1 W1.0 A0.5 Ω0.50 W≥ 2 W1.5 A0.33 Ω0.75 W≥ 2 W2.0 A0.25 Ω1.00 W≥ 2 W2.5 A0.20 Ω1.25 W≥ 2 W3.0 A0.167 Ω1.50 W≥ 3 W原文的做法是 2.5A 配 0.2Ω并且明确要求用功率不小于 2W 的无感电阻。后面这个限定词比前面那个数字更重要。普通绕线电阻自身有电感斩波沿是陡峭的方波几微亨的寄生电感足以在电流跳变时叠出一个尖峰比较器把这个尖峰当成“电流超了”提前关断实际电流就永远上不到设定值表现出来就是“明明算好了 2.5A实测只有 2A 出头”。这类问题不带示波器看波形很难靠猜定位。注意检流电阻的功率余量要按连续工作的温升来留不能按峰值电流算也不能用贴片厚膜电阻硬顶大电流档位。2.3 细分的本质是让合成磁场匀速转不是把脉冲切碎很多人对细分的理解停在“把一步切成 16 份”这是结果不是机制。两相步进电机里A、B 两相绕组在空间上差 90 度电角度转子跟随的是两相电流产生的合成磁场。整步运行时A、B 电流只能是“满正向、零、满反向”这几种组合合成矢量每次跳 90 度电角度对应机械角 1.8 度转子是被硬拽过去的振动和噪声都从这里来。细分要做的事情是让 A 相电流按 cosθ 变化、B 相按 sinθ 变化θ 连续推进。合成矢量的幅值恒定在 I方向随 θ 均匀旋转每走一个小角度就是一次“细分步”。原文那句“合成磁场矢量的幅值决定了旋转力矩的大小相邻两合成磁场矢量之间的夹角决定了步距角的大小”说的正是这个几何关系——幅值管力矩夹角管分辨率两者可以独立调节。base_angle 1.8 # 两相混合式电机整步步距角 micro_modes {整步: 1, 半步: 2, 1/8 细分: 8, 1/16 细分: 16} steps_per_rev 200 # 整步时每转 200 步 for name, m in micro_modes.items(): angle base_angle / m # 以 120 rpm 为例算所需脉冲频率 f_pulse 120 / 60 * steps_per_rev * m print(f{name:10} 步距角 {angle:6.4f}° 每转 {200*m:4} 脉冲 120rpm 需 {f_pulse:7.0f} Hz)这段代码里的m就是 M1、M2 两个拨码引脚组合出来的细分数f_pulse是上位机或控制器必须发出的脉冲频率。整步跑 120 rpm 只要 400 Hz切到 1/16 细分就变成 6400 Hz——细分提高了分辨率和平顺性代价是把对控制器的脉冲输出能力要求提高了十几倍。提示细分精度最终取决于电流环能否准确复现正弦波而电流环的准确度受检流电阻精度、斩波频率、衰减模式共同影响。所以 1/16 细分下低速仍有一点抖动是正常的别指望只改拨码就能彻底消掉。3. 引脚级的分工28V 主电路和 5V 逻辑之间那条线3.1 双电源与三种地上电时序没排对芯片直接不干活TB6560 是双电源器件。VMA、VMB 是驱动电源接步进电机的功率绕组允许 4.540V工程上常取 24V 或 28VVDD 是逻辑电源5V供内部译码、比较器、保护逻辑使用。原文里有一句很容易被跳过的硬约束逻辑电压必须低于驱动电压否则芯片不能正常工作。这句话背后是典型的 CMOS 上电时序问题——如果 VDD 先建立而 VMA 还是 0内部某些节点会处于一个非预期的偏置状态输出级可能被误触发甚至通过衬底形成倒灌通路。落地的做法要么用带时序的电源要么在 VDD 上做钳位保证任何时刻它不高于驱动电压。电源引脚的去耦不是“加个电容意思一下”。VMA、VMB 上要同时放瓷片电容和电解电容瓷片负责吸收斩波沿产生的高频电流尖峰电解负责在斩波瞬间补上电感续流所需的低频电荷。VDD 侧同样要去耦加旁路因为逻辑地和功率地共用同一块板子驱动级的 dv/dt 很容易顺着地平面耦合进逻辑侧。地分成了 PGNDA、PGNDB 和 SGND 三类两相功率地各自独立回流出线逻辑地单独走最后在电源入口处单点汇合。这么做的原因很实际功率回路上流过的是 23A 的斩波电流边沿陡如果和逻辑地共用一段走线这段走线上的压降会直接叠在比较器基准和译码输入上表现出来的症状就是“电机一转细分就不准了”。3.2 内置续流二极管省下的不只是八只器件H 桥关断的瞬间绕组是个大电感di/dt 很大如果不给电流一条回路绕组两端会感应出一个足以击穿开关管的电压。传统做法是在每只开关管旁反并一只快恢复二极管两相四个半桥就是八只。上一代 8435 这类芯片需要外部补齐这一圈二极管PCB 上要留出位置、留出走线更要命的是二极管到芯片的这段引线本身带寄生电感续流回路面积一大关断尖峰就压不住。TB6560 把续流二极管集成在芯片内部OUT_AP、OUT_AM、OUT_BP、OUT_BM 四个引脚直接接电机两相中间不需要任何外挂器件原文特别强调了这一点“极大地减小电路板的布线空间”。省掉的不只是器件成本续流回路被压缩到封装内部环路面积小、寄生电感低关断尖峰天然就小这属于用集成度换电磁兼容性能的做法。代价也很清楚——所有续流损耗都变成了芯片内部的热。这就是为什么这颗芯片背面必须有一块金属散热片也是为什么小电流下靠本体散热就够、超过 1.5A 就必须扩散热面积。3.3 逻辑侧的四个开关量复位、指示、斩波频率、细分档位逻辑侧有一组功能非常集中的引脚值得单独捋一遍。复位脚低电平有效用于异常后重新同步内部逻辑MO 和 PROTECT 各驱动一只指示灯前者反映工作状态后者在过流保护动作时点亮——这两只灯在现场排查时的价值远超它们的外观很多“电机不动”的问题看一眼 PROTECT 是常亮还是闪就能砍掉一半排查路径。OSC 引脚外接的电容决定斩波频率原文给的推荐区间是 1001000 pF对应 400 Hz 到 44 kHz 这个范围。频率和容值大致是反比关系容值越大频率越低def chop_freq(c_pf, f_at_100pf44e3): 按反比粗略估算斩波频率仅用于量级判断精确值以手册曲线为准 return f_at_100pf * (100.0 / c_pf) for c in (100, 220, 470, 1000): f chop_freq(c) # 纹波峰峰值与斩波周期近似成正比这里只看相对量级 print(fOSC 电容 {c:4} pF - 斩波频率约 {f/1000:6.2f} kHz)参数c_pf就是接在 OSC 与地之间的那只瓷片电容。斩波频率低开关损耗小、芯片发热少但电流纹波大电机低速时能听到明显的啸叫频率高纹波小、电流波形更接近正弦但开关损耗上升芯片更容易烫。这是整台驱动器里最典型的一处折中没有普适最优值只能按电机的电感和实际噪声表现去调。M1、M2 两个引脚则通过外接拨码开关设定整步、半步、1/8 细分、1/16 细分四档这是用户侧唯一需要经常动的地方。4. 自动半流用一颗单稳态把“没有脉冲”翻译成“电流减半”4.1 TQ1/TQ2 真值表扭矩是可以主动降档的步进电机的发热主要来自铜损和铁损。铜损是绕组电阻上的 I²R和电流平方成正比铁损跟驱动电压、斩波频率相关。电机选定之后电阻改不了能动的只有电流。而大部分雕刻机、点胶机这类应用里电机真正出力的时间占比并不高——大量时间是在等指令、停在某个位置保持。让它在静止时还吃着 100% 电流纯粹是在给自己加热。TB6560 用 TQ1、TQ2 两个引脚把输出电流分成四档对应最大电流的 100%、75%、50%、25%TQ2TQ1输出电流比例典型用途00100%高速运行、重载切削0175%中速运行1050%低速轻载、待机保持1125%长时间静止定位改变电流就是改变输出扭矩这个关系是线性的所以在不需要大扭矩的场合主动降档既压住温升也顺带降低了低速共振的幅度——原文在讲失步时提到的“减小驱动电流”抑制共振用的就是这个机制。4.2 74HC123 可重复触发单稳态把“脉冲还在来”编码成“电机在工作”半流要自动化就得让电路自己判断电机是不是还在动。判据其实只有一个控制脉冲 CLK 还在不在来。原文的做法是用一颗可重复触发的单稳态芯片 74HC123把 CLK 作为触发输入反向输出接 TQ2。可重复触发的意思是每个输入边沿都会把定时器重新拉回暂态并重新计时。只要 CLK 的脉冲间隔小于单稳态的定时宽度 Tw输出就永远回不到稳态Q̄ 一直保持低电平TQ2 0电流维持高档一旦脉冲停止超过 Tw定时器到期Q̄ 翻高TQ2 1进入半流。定时宽度由外接的 R、C 决定74HC123 在 5V 供电下的关系近似 Tw K·R·CK 取 1 左右。def tw_seconds(r_ohm, c_farad, k1.0): 74HC123 单稳态定时宽度估算5V 供电下 K 约取 1 return k * r_ohm * c_farad steps_per_rev, micro, rpm_min 200, 16, 5 # 最低工作转速 5 rpm1/16 细分 f_min rpm_min / 60 * steps_per_rev * micro # 最低转速下的脉冲频率 period_min 1.0 / f_min # 最长的脉冲间隔 for r, c in ((1e6, 100e-9), (1e6, 220e-9), (2.2e6, 220e-9)): tw tw_seconds(r, c) print(fR{r/1e6:.1f}MΩ C{c*1e9:.0f}nF - Tw{tw*1000:.1f}ms f{满足 if tw period_min else 不满足} 最低转速判据)这段代码算的是选型边界period_min是最低工作转速下相邻脉冲的间隔Tw必须比它略大否则低速运行时单稳态会在两个脉冲之间提前超时电流在 100% 和 50% 之间来回跳表现出来就是低速扭矩一阵一阵的、听得见电流的“呼吸声”。这是自动半流设计里最常见也最隐蔽的一个坑——参数算反了功能看起来是有的只是在低速段失效。原文的电路里TQ1 通过三个跳线帽选择接法配合被单稳态驱动的 TQ2得到三种切换区间跳线 1 让 TQ2 与 TQ1 同电平工作时是 (0,0)100%停机后是 (1,1)25%在 25%100% 之间切换跳线 2 把 TQ1 固定为低工作时 100%、停机后 50%范围是 50%100%跳线 3 把 TQ1 固定为高工作时 75%、停机后 25%范围是 25%75%。三种接法本质上是给“工作电流”和“保持电流”各选一个档位用户按电机的实际负载挑一组即可。4.3 电流衰减模式DCY 拨码解决的是高频噪声绕组电流被关断之后怎么衰减直接决定纹波的形状。慢衰减是让电流在两个下管之间低速循环靠绕组自身电阻慢慢耗掉纹波小、效率高但电流下降慢高频时跟不上换相节奏快衰减是给绕组反向加压强制电流快速归零跟随性好但纹波大、噪声大、损耗高。原文用 DCY1、DCY2 两个引脚配合拨码开关提供 0、25%、50%、100% 四档衰减模式本质是在这两者之间按比例混合。原文给了一个很关键的观察衰减模式设成 0 和 50% 时对比线圈电流波形后者有明显改善。改善的原因是混合衰减把关断初期的快速下降和后续的缓慢下降拼在一起既保证了换相跟随性又削掉了电流波形上那些陡峭的毛刺。这些毛刺正是高频噪声的直接来源——电流变化率激励绕组和引线的寄生参数最终变成听得见的啸叫。所以 DCY 拨码不是“调音色”的玄学旋钮它调的是电流环的动态响应。注意衰减模式和斩波频率是耦合的。把 OSC 电容改大降低斩波频率之后往往需要重新试一遍 DCY 档位否则原本调好的噪声表现会退化。5. 失步、越步与烧板现场排查的几条硬经验5.1 失步有三条独立路径千万别混着调失步的表象都一样——该走 1000 步结果少走了几十步但成因至少分三类调错方向会越调越糟。第一类是转矩不足。电机拖不动负载脉冲频率一到某个临界值就开始丢步。判据是失步总是在某个固定频率之上出现降频就恢复正常。处理方向是加大驱动电流在额定范围内、提高驱动电压以改善高频出力或者换转矩更大的电机反过来也可以降低运行频率让电机工作在它擅长的区间。第二类是起动失步。电机和负载都有惯性加速时间给得太短转子跟不上定子磁场的加速曲线。判据是只在启动瞬间丢步匀速段正常。处理办法只有一个——把加速时间设长让速度从低到高平滑爬升。第三类是共振。连续运行时控制脉冲频率正好落在电机的固有频率附近一个脉冲周期内上一次振动还没衰减完下一个脉冲就来了动态误差在共振点附近被放大。判据是只在某个特定转速区间有问题快一点慢一点都正常而且往往伴随明显的机身嗡鸣。处理方向是减小驱动电流、启用细分驱动细分把每次跳变的角度变小激励能量分散、或者加机械阻尼。5.2 越步是能量过剩和失步是反着来的越步的现象很容易和失步搞混位置偏了但偏的方向不固定有时多走有时少走。机制上它是转子在步进过程中获得了过多能量平均转速反而超过了定子磁场的平均旋转速度。典型诱因是减速时间给得太短——高速运转的转子带着惯性冲过了头或者驱动电流远超实际需要电磁转矩把转子“甩”了出去。处理思路和失步正好相反减小驱动电流降低输出转矩或者把减速时间放长让惯性有地方消化。这里能看出自动半流电路的另一层价值——静态时电流降下来能量的“蓄水池”水位本来就低过渡过程更容易控制。5.3 五条踩坑记录都是现象、原因、解决三件套现象一低速运行振动大、噪声大整机嗡鸣。原因通常是还用着整步或半步模式每次换相都是一次大角度跳变。解决是把 M1、M2 拨到 1/8 或 1/16 细分让合成磁场连续旋转同时配合 DCY 把衰减模式从 0 调到 50%把电流波形上陡峭的那部分削掉。现象二电机静止时也烫手长时间待机后外壳温度明显偏高。原因是 TQ1、TQ2 一直固定在 00静止时照样吃 100% 电流铜损全额发热。解决是补上自动半流电路或者至少把 TQ 引脚在空闲时切到 50% 档如果长时间不动作还可以用脱机功能直接切断输出电流。现象三高速段丢步怎么加电流都没用。常见原因是驱动电压给低了比如整机只配了 12V 电源。RL 负载的电流上升时间限制死了高频出力加电流只能在能爬到的范围内加爬不到就是爬不到。解决是把驱动电压提到 24V 或 28V不超过芯片 40V 上限同时确认 VMA、VMB 上的去耦电容没有因为耐压不足被击穿。现象四电机一转就复位PROTECT 指示灯闪。这类问题往往不是芯片坏了而是上电时序或者地噪声。检查 VDD 是否在任意时刻高于 VMA检查 PGNDA/PGNDB 与 SGND 是否单点汇合检查逻辑地去耦是否到位。原文特意点出“逻辑电压必须低于驱动电压否则芯片不能正常工作”这条约束在现场被违反的概率远高于想象。现象五大电流档位下检流电阻发热严重、阻值漂移。原因是用了一颗 1/4W 的普通贴片电阻或者用在 2.5A 档位却只按 1W 选型。解决是按 I²R 算出的实际热耗留一倍余量选用无感低感功率电阻并把它从芯片正下方挪开避免烤着芯片的过流保护逻辑。提示驱动电源入口务必加熔断器保护。功率级一旦出现直通几安培的电流足以在几秒内把板子烧穿一颗保险丝的价格远低于重新打板。6. 集成度的代价这套方案适合谁不适合谁把外围一路砍下来之后这套设计的能力边界也就被固定住了。值得摊开来看维度TB6560 集成方案分立元件方案外围器件少量电容电阻 拨码8 只续流二极管、比较器、逻辑器件布板面积小续流回路在封装内大续流回路面积受限散热全部集中在一颗芯片上损耗分散在多只器件细分档位固定四档整/半/1-8/1-16可自由做到 1/32、1/64峰值电流受封装与内部走线限制可随器件规格扩展调试自由度斩波频率、衰减档位可调范围有限全参数可改这张表说明它是一颗为“低成本、中低转速、批量一致性”设计的芯片。转速范围从 0 到 300 rpm最大细分时、能带 57 电机和部分 86 机型这个定位本身就决定了它不去追高动态性能。像雕刻机 X、Y、Z 三轴这种场合——负载稳定、转速不高、要求重复定位精度——它的性价比几乎是压倒性的但要做高速主轴、要 1/32 细分、要 5A 以上的相电流就别在这颗芯片上使劲了硬上只会把散热和细分精度两个短板同时放大。集成度换来的确定性也是真实的外围器件少批次间的一致性就好量产时不用为每一台驱动器单独调匹配这是分立方案做不到的。但要清楚这份确定性是用“参数不可编程”换的——你在细分档位、电流衰减模式、峰值电流上都只有一个有限的档位集合而不是连续可调。从那以后我每次评估这类高集成驱动芯片都强制走一遍同样的流程先算检流电阻的功耗余量再核对驱动电压与逻辑电压的上电时序然后按最低工作转速倒推单稳态的 RC最后拿示波器看一遍 DCY 在 0 和 50% 下的绕组电流波形。这四步里任何一步跳过后面的调试都会变成靠猜。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?
咨询建站