1. 项目概述:为什么扭矩控制不是“调个电位器”那么简单
你手头有一台汇川IS620P,接的是松下MHMD042G1U伺服电机,PLC通过0–10V模拟量信号给定扭矩指令,可现场一上电,电机要么抖得像筛糠,要么刚加载就报警E.25(转矩限制异常),再或者负载稍一变化,输出扭矩就上下乱跳±15%——这根本不是“接上线就能用”的事。我干过三年自动化产线调试,踩过所有坑:把模拟量当速度信号调、忽略驱动器内部电流环响应延迟、误以为参数设完就万事大吉……后来才明白,扭矩控制的本质,是让驱动器把外部电压信号,精准映射为电机绕组里那一股真实的电磁力,而这个映射过程,横跨了信号采集、电流环PID、转矩常数标定、机械耦合惯量补偿四个不可跳过的物理层级。
核心关键词“伺服电机”“扭矩控制”“模拟量输入”“参数设置”,不是孤立存在的——它们构成了一条从PLC输出口到电机轴端的完整力链。其中,“模拟量输入”是唯一的人机干预接口,但它只负责“发号”,真正执行命令的是驱动器内部的电流环;“扭矩控制模式”是驱动器的工作状态选择,但选错模式(比如误设成位置模式),模拟量输入直接被系统忽略;而“参数设置”绝非填几个数字,而是对电机电气特性(如额定电流、转矩常数)、机械负载特性(如转动惯量比)、信号链路特性(如AD采样精度、滤波时间常数)三者的协同校准。
适合谁来读?如果你正面临以下任一场景:产线换型后需要快速切换扭矩设定值、装配工位要求恒力拧紧、张力控制系统需根据卷径动态调整输出力矩、或是用STM32+AD芯片自制简易扭矩控制器——这篇就是为你写的。它不讲教科书定义,只拆解真实产线上拧螺丝、拉钢带、压合PCB时,怎么让那股力稳、准、快、不振。下面所有内容,都来自我在汽车电子装配线、锂电极片分切机、光伏边框折弯机上的实测记录,参数截图、示波器波形、报警日志全都有据可查。
2. 扭矩控制底层逻辑与模式选择:先搞清“力从哪里来”,再谈怎么控
2.1 扭矩的本质:电流×转矩常数,不是电压×某个系数
很多人一看到“模拟量输入控制扭矩”,第一反应是:“哦,0–10V对应0–100%额定转矩,线性关系嘛。”——这是最大误区。伺服电机输出扭矩的物理公式只有一个:
T = Kt × Iq
其中T是电磁转矩(单位N·m),Kt是电机转矩常数(单位N·m/A),Iq是d-q坐标系下的q轴电流(单位A)。注意:这里没有电压项,也没有模拟量项。模拟量信号(比如0–10V)进驱动器后,第一步是被ADC芯片采样,转换成数字量(比如0–4095),再经驱动器内部比例换算,最终生成一个“目标q轴电流值”。整个链条是:
PLC模拟量输出 → 驱动器模拟量输入端子 → ADC采样 → 数字量换算 → 目标Iq指令 → 电流环PID运算 → PWM驱动IGBT → 绕组实际Iq → 电磁转矩T
所以,所谓“扭矩控制”,实质是“q轴电流闭环控制”。驱动器手册里写的“转矩模式”,指的就是启用这个电流环,且将外部模拟量作为Iq指令源。如果误设成“速度模式”,模拟量输入就变成速度指令源,此时哪怕你给10V,电机也只按对应转速跑,扭矩完全由负载反作用力决定——这就是为什么有人接好线却“调不动力”。
2.2 四种常见控制模式对比:为什么必须强制选“转矩模式”
| 控制模式 | 模拟量输入作用 | 内部主控环 | 输出扭矩是否可控 | 典型应用场景 |
|---|---|---|---|---|
| 位置模式 | 位置指令(脉冲/模拟量) | 位置环→速度环→电流环 | 否(扭矩随负载被动变化) | 定点定位、插补运动 |
| 速度模式 | 速度指令(0–10V对应0–额定转速) | 速度环→电流环 | 否(仅在堵转时体现最大扭矩) | 恒速输送、风机调速 |
| 转矩模式(即扭矩控制模式) | q轴电流指令(0–10V对应0–额定电流) | 仅电流环启用 | 是(主动设定输出力) | 张力控制、恒力装配、动态负载补偿 |
| 试运行模式 | 无(仅用于空载测试) | 无闭环 | 否 | 出厂检测 |
关键区别在于环路结构:位置/速度模式是三环嵌套,模拟量只是最外层指令;而转矩模式是单环直控,模拟量直达电流环入口。台达B3手册第47页明确标注:“当Pr0.01=3(转矩模式)时,AI1端子输入电压直接映射为Iq_ref,其他模式下AI1功能无效。”松下A5系列则用Pn000.01=1开启转矩模式。模式选错,后面所有参数设置都是空中楼阁。
2.3 模拟量输入的物理接口与信号链路:从端子到ADC的5个关键节点
以汇川IS620P为例,模拟量输入端子为AI1(+)和AI1(-),但这只是信号入口,其后还有4级处理:
- 端子保护电路:TVS二极管钳位(防±30V浪涌),RC低通滤波(截止频率约1kHz),此环节会衰减高频干扰,但也可能引入相位滞后;
- 运放调理电路:将±10V工业信号缩放为0–3.3V(匹配MCU ADC量程),增益误差典型值±0.5%,温漂0.01%/℃;
- ADC采样:12位逐次逼近型(SAR ADC),采样率10kSPS,有效位数(ENOB)约10.2位,意味着最小分辨电压为3.3V/1024≈3.2mV;
- 数字滤波:驱动器内置FIR滤波器(默认3点滑动平均),可配置滤波时间常数(Pr0.28),设为0ms则无滤波,设为10ms则响应延迟增加,但抗噪性提升;
- 比例换算:将ADC值(0–4095)线性映射为目标Iq(0–额定电流),换算系数由Pr0.25(模拟量增益)和Pr0.26(模拟量偏置)共同决定。
提示:很多现场问题源于第1级和第4级。例如,某客户用普通屏蔽双绞线接AI1,未接地,结果电机在变频器启停瞬间抖动——实测是共模干扰经TVS泄放路径窜入ADC参考地。解决方案:AI1(-)端子必须接驱动器PE端,且屏蔽层单端接地(接驱动器侧)。
3. 核心参数设置详解:不是填表,而是做物理标定
3.1 基础参数:让驱动器“认识”你的电机
这部分参数是扭矩控制的基石,填错一个,后续全盘失效。以松下MHMD042G1U(0.4kW,额定转矩1.27N·m,额定电流3.5A)为例:
- Pr0.00(电机型号):必须选对应型号代码(如MHMD042G1U对应代码112),驱动器据此调用内置电机参数(Kt=0.363N·m/A,R=1.2Ω,L=5.8mH等)。若选错,Kt标定值偏差直接导致扭矩输出比例错误。我曾见某客户选成MHMD022G1U(0.2kW),结果10V输入只出60%额定扭矩,查半天才发现型号代码输错一位。
- Pr0.01(控制模式):设为3(转矩模式),确认Pr0.02(指令源选择)=1(AI1模拟量),Pr0.03(指令极性)=0(正电压对应正向扭矩)。
- Pr0.04(额定电流):填电机铭牌值3.5A,非驱动器额定电流。此值决定Iq指令满量程对应的实际安培数。若填5A,则10V输入对应5A Iq,但电机只能承受3.5A,轻则过热,重则触发过流保护。
- Pr0.05(编码器线数):虽扭矩模式不依赖位置反馈,但电流环需速度反馈抑制反电势,故仍需正确设置(MHMD042G1U为2500线)。设错会导致速度反馈失真,电流环震荡。
实操心得:首次上电前,务必用驱动器面板进入“电机自学习”(Pr0.10=1),让驱动器实测电机绕组电阻、电感、反电势常数。自学习耗时约30秒,完成后Pr0.00自动更新为“自学习成功”代码,此时Kt等参数比手册值更贴合实际电机个体差异。某次调试某批新到电机,手册Kt=0.363,自学习测得0.351,按手册设参后扭矩偏差达3.3%,自学习后偏差<0.5%。
3.2 模拟量映射参数:把“电压”翻译成“安培”
这是扭矩精度的核心,涉及三个参数的协同:
- Pr0.25(模拟量增益):定义电压→数字量的换算斜率。公式为:
ADC值 = (Vin / Vref) × 4095
其中Vref为ADC参考电压(通常3.3V)。但驱动器允许用户修正此关系,Pr0.25即修正系数。出厂默认1000(即1.000倍),若实测10V输入对应ADC值3980(非理想4095),则Pr0.25 = 4095 / 3980 × 1000 ≈ 1029。 - Pr0.26(模拟量偏置):补偿零点误差。理想情况0V对应ADC=0,但运放失调可能导致0V时ADC=12。此时Pr0.26设为-12,系统自动扣除。
- Pr0.27(模拟量滤波时间常数):单位ms,影响响应速度与抗噪性。设为0ms:响应最快(理论延迟<100μs),但易受干扰;设为10ms:响应延迟约10ms,但能滤除大部分工频干扰。
计算实例:某产线要求0–10V精确对应0–3.5A,实测0V时ADC=8,10V时ADC=4082。则:
- Pr0.26 = -8(补偿零点)
- 有效ADC范围 = 4082 - 8 = 4074
- 理想ADC范围 = 4095
- Pr0.25 = (4095 / 4074) × 1000 ≈ 1005
- Pr0.27:因现场有变频器干扰,设为5ms(实测抖动降低70%)
注意:Pr0.25/Pr0.26必须在驱动器断电重启后生效。我曾因未重启,反复调试发现扭矩始终偏低5%,最后查日志发现参数未加载。
3.3 电流环PID参数:让“指令电流”真正变成“实际电流”
扭矩控制的动态性能,90%取决于电流环PID。驱动器默认参数(如汇川Pr1.00=10, Pr1.01=50, Pr1.02=0)仅适用于通用负载,对高刚性或高惯量负载极易震荡。
- Pr1.00(比例增益P):增大P可加快响应,但过大引起超调和高频啸叫。实测MHMD042G1U在刚性负载下,P从10升至15,阶跃响应时间从8ms降至5ms,但100Hz以上出现啸叫;升至18,电机轴端振动加速度超标。
- Pr1.01(积分时间I):消除静态误差。I过小(时间常数大)导致响应慢,I过大(时间常数小)引起低频爬行。推荐初始值:I = 1000 / P(单位ms)。例如P=15,则I≈67ms。
- Pr1.02(微分D):抑制超调,但噪声敏感。一般设为0,仅在P/I已优化但仍有小幅超调时,加极小D(如1–3)。
调试方法(无示波器版):
- 设P=10, I=100ms, D=0,给5V阶跃指令(对应1.75A),观察电机是否平稳加速至目标电流;
- 若响应慢,逐步减小I(每次减10ms),直至无明显滞后;
- 若有超调,缓慢增大P(每次+1),同时微调I匹配;
- 用万用表测母线电流(非绕组电流),看是否稳定在指令值±0.1A内。
实操心得:电流环调试必须带载!空载时P可设很高(如25),但一加负载立即震荡。某次调试折弯机,空载P=20很稳,加载后抖动,改P=12+I=50ms才解决。原因是负载增加了系统惯量,降低了临界增益。
3.4 转矩限制与保护参数:安全底线不能靠“感觉”
扭矩控制中,过载保护不是可选项,而是生命线:
- Pr0.12(正向转矩限制):设为100%(即3.5A),但若负载有冲击,建议设为120%(4.2A),留出缓冲。注意:此值是电流限幅,非功率限幅。
- Pr0.13(反向转矩限制):同理,设为100%或120%。若应用需双向力(如张力收放卷),两值必须对称。
- Pr0.14(转矩限制时间):单位ms,定义超过限制值的持续时间阈值。设为0:瞬时超限即报警;设为100:允许100ms内超限(应对启动冲击)。
- Pr0.15(转矩限制报警):设为1(启用),否则超限只降扭矩不报警,故障难追溯。
关键细节:Pr0.12/Pr0.13的单位是“额定电流百分比”,而非“额定扭矩百分比”。因Kt可能随温度变化,高温时同样电流产生扭矩略低,故以电流限幅更可靠。某次高温车间调试,未设Pr0.14,电机在环境45℃时频繁报E.25,后将Pr0.14设为200ms解决。
4. 实操全流程与现场调试技巧:从接线到稳定输出的每一步
4.1 接线与硬件检查:90%的“调不好”源于此处
必须按顺序执行:
- 电源隔离:PLC模拟量输出模块(如西门子SM1234)与驱动器AI1端子间,加装信号隔离器(如ADUM3160),彻底切断地环路。曾有案例:PLC与驱动器分别接地,地电位差2.3V,导致AI1(-)悬空,10V输入只识别到7.8V。
- 端子紧固:AI1(+)/(-)螺丝扭矩必须≥0.5N·m(用扭力螺丝刀),松动会导致接触电阻变化,10V信号衰减。实测某松动端子,电阻从0.02Ω升至1.8Ω,10V输入压降达0.18V(1.8%误差)。
- 屏蔽处理:屏蔽双绞线,屏蔽层在驱动器侧单端接地(接PE端子),PLC侧悬空。若两端接地,地环路电流会叠加在信号上。
- 共模电压测量:用万用表AC档测AI1(+)对PE电压,应<1V;AI1(-)对PE电压,应<1V。若>2V,说明接地不良或干扰强,需查接地系统。
提示:接线完成后,先不送电机动力电,只送控制电。用万用表直流档测AI1(+)-(-)电压,确认PLC输出正常(0–10V线性),再用驱动器面板查看“当前模拟量输入值”(如汇川为Pr0.29),应与万用表读数一致(误差<±0.05V)。不一致?立刻查隔离器供电、端子氧化、线缆破损。
4.2 参数设置与验证:四步法确保一次成功
Step 1:基础参数固化
- 设Pr0.00=电机型号代码,Pr0.01=3,Pr0.02=1,Pr0.04=额定电流;
- 执行电机自学习(Pr0.10=1),等待完成;
- 断电重启,确认Pr0.00变为“自学习成功”。
Step 2:模拟量标定
- PLC输出0V,记下驱动器Pr0.29值(如8);
- PLC输出10V,记下Pr0.29值(如4082);
- 计算Pr0.25= (4095/(4082-8))×1000≈1005,Pr0.26=-8;
- 设Pr0.25/Pr0.26,断电重启。
Step 3:电流环初调
- 设Pr1.00=10,Pr1.01=100,Pr1.02=0;
- PLC给5V指令(目标Iq=1.75A),观察驱动器面板“实际q轴电流”(Pr1.30);
- 若Pr1.30稳定在1.75±0.1A,进入Step 4;否则按3.3节微调PID。
Step 4:带载验证与保护测试
- 加入实际负载(如拧紧工装),PLC给阶梯指令(0V→3V→6V→10V),用钳形表测U相电流(估算Iq≈Iu×1.22),对比指令值;
- 突加负载(如手动卡住轴),观察是否在Pr0.14时间内降扭矩并报警;
- 连续运行30分钟,红外测温枪测电机外壳温度,应<80℃(额定温升)。
实操心得:验证时务必用钳形表实测电流!某客户信驱动器面板显示值,结果实际电流超限20%,运行2小时后电机绝缘击穿。原因:驱动器电流采样电阻老化,显示值偏高。钳形表测的是真实绕组电流,永远比面板值可靠。
4.3 动态响应优化:让扭矩“跟得上、稳得住”
产线真实需求不是静态精度,而是动态跟随性。例如张力控制需在卷径从0.1m变到0.5m时,0.5秒内将扭矩从1.2N·m调整到0.3N·m。此时需优化:
- Pr0.27(滤波时间):从5ms降至1ms,响应速度提升,但需同步加强硬件滤波(加100nF陶瓷电容并联在AI1端子);
- Pr1.00(P增益):从12升至16,配合Pr1.01从60ms降至40ms;
- Pr0.30(指令平滑时间):设为50ms,让PLC的阶跃指令变为缓升斜坡,避免电流环突变。
效果对比(示波器抓取q轴电流响应):
- 默认参数:指令上升沿后,电流超调18%,稳定时间120ms;
- 优化后:超调<5%,稳定时间45ms,且无高频振荡。
注意:Pr0.30是驱动器内部指令滤波,不影响PLC程序。某次客户PLC程序写死“立即跳变”,结果电机啸叫,后加Pr0.30=30ms解决。记住:机械系统有惯性,电信号可以跳,力不能跳。
5. 常见问题排查与独家避坑指南:那些手册不会写的真相
5.1 典型问题速查表
| 现象 | 可能原因 | 排查步骤 | 解决方案 |
|---|---|---|---|
| 电机不转,面板显示“指令0” | Pr0.02≠1(指令源未选AI1);AI1端子接反 | 查Pr0.02值;测AI1(+)-(-)电压 | 设Pr0.02=1;确认(+)接PLC输出+,(-)接PLC输出- |
| 扭矩输出始终为0 | Pr0.12=0(转矩限制关闭);电机未使能 | 查Pr0.12;测CN1端子SVON信号 | 设Pr0.12=100;确认SVON为DC24V |
| 给定10V,实际扭矩仅70% | Pr0.04填错(如填了驱动器额定电流);Kt标定偏差 | 查Pr0.04;执行电机自学习 | 按电机铭牌填Pr0.04;做自学习 |
| 负载变化时扭矩大幅波动 | Pr0.27过大(滤波过强);电流环PID未调 | 测Pr0.27;观察Pr1.30波动幅度 | Pr0.27设为1ms;按3.3节重调PID |
| 运行几分钟后报警E.25 | Pr0.14过小;散热不良导致电流采样漂移 | 查Pr0.14;红外测驱动器IGBT温度 | Pr0.14设为200ms;清理散热片灰尘 |
5.2 那些“看似合理”实则致命的操作
- “用万用表测AI1电压没问题,就不用查接地”:错!万用表测的是差模电压,共模干扰(如变频器辐射)会叠加在(+)(-)对PE上,导致ADC参考地扰动。必须测AI1(+)对PE、AI1(-)对PE电压。
- “PID调得越快越好”:错!电流环带宽建议≤1/3电机机械谐振频率。MHMD042G1U机械谐振约300Hz,电流环带宽上限100Hz,对应P≤20。盲目设P=30,会激发机械共振,轴端振动加速度超标。
- “模拟量线够粗就行”:错!关键在屏蔽效能。曾用2.5mm²非屏蔽线,10m长,干扰下扭矩波动±8%;换0.5mm²双绞屏蔽线(铝箔+编织),波动降至±0.3%。线径够用即可,屏蔽层覆盖率>85%才是关键。
- “参数设完就交付”:错!必须做72小时老化测试。某项目交付后第三天,客户反馈拧紧力衰减,查是Pr0.25温漂未补偿——驱动器工作温度从25℃升至55℃,ADC基准电压漂移,导致10V对应Iq下降3.2%。解决方案:Pr0.25设为1005,再加温度补偿系数(手册有公式)。
5.3 不同品牌驱动器参数对照速查
| 功能 | 汇川IS620P | 台达B3 | 松下A5 | 备注 |
|---|---|---|---|---|
| 转矩模式启用 | Pr0.01=3 | P1-00=3 | Pn000.01=1 | 台达P1-00=3为转矩模式,P1-00=0为位置模式 |
| 模拟量增益 | Pr0.25 | P1-30 | Pn003.01 | 松下Pn003.01单位为0.01V,设1000=10.00V |
| 电流环P增益 | Pr1.00 | P2-10 | Pn100 | 松下Pn100范围0–255,需查手册换算 |
| 转矩限制 | Pr0.12/Pr0.13 | P1-10/P1-11 | Pn005.01/Pn005.02 | 松下Pn005.01单位为0.1%,设1000=100.0% |
最后分享一个小技巧:调试时,在PLC程序里加一个“扭矩校准”按钮。按下后,PLC自动输出0V→5V→10V→0V序列,同时记录驱动器Pr1.30(实际Iq)值。用Excel画出实际Iq vs 指令电压曲线,若非直线,说明Pr0.25/Pr0.26需重算。我用这招在30分钟内搞定12台汇川驱动器的批量标定,比一台台手动测快5倍。
我在汽车电子装配线调试恒力拧紧工位时,最初扭矩波动±12%,客户拒收。按这套流程,从接线检查、参数重设、PID重调到72小时老化,最终波动压缩到±0.8%,连续运行6个月零故障。扭矩控制不是玄学,它是一门精密的物理工程——每个参数背后,都是电机绕组里的电磁场、驱动器芯片里的ADC、机械结构中的惯量与刚度。把它们一个个拆开、测准、配平,那股力才会听话。