小鳄鱼电气头像

无刷直流电机驱动机器人进给轴仿真说明书

无刷直流电机驱动机器人进给轴仿真说明书

模型文件:BrushlessDCRobotAxisControl.slx(Simulink R2023b,223 885 B,mtime 20-10月-2026 09:49:44)
示例脚本:BrushlessDCRobotAxisControlExample.m(MathWorks,作者 H. Le-Huy,Laval University,1997–2007)
完成日期:2026-10-20
交付目录:Examples\BrushlessDCRobotAxisControlExample\BrushlessDCRobotAxisControl_仿真说明书_261020\

1 模型概述

1.1 功能与来源

本示例演示一台无刷直流(BLDC)电机经减速器驱动两自由度机器人关节(或机床进给轴),用"位置环—转速环—电流环"三环串级控制完成点位定位:

  • 位置环是 PD:位置误差乘 KpK_pKp​,叠加实测角速度乘 KdK_dKd​(微分反馈而非误差微分),输出转速指令;
  • 转速环是 PI:采样周期 Tsc=140T_{sc} = 140Tsc​=140 µs,输出转矩指令,限幅 ±26.7\pm 26.7±26.7 N·m;
  • 电流环是滞环:带宽 h=0.1h = 0.1h=0.1 A,矢量控制采样周期 Tvect=20T_{vect} = 20Tvect​=20 µs,直接产生逆变桥门极信号;
  • 传动链是两级减速(i1=130i_1 = 130i1​=130、i2=100i_2 = 100i2​=100),减速器带柔性轴(KshK_{sh}Ksh​、BshB_{sh}Bsh​)与自身惯量;
  • 机械负载是两关节刚体动力学,关节 1 的惯量随关节 2 的角位置变化(J1J_1J1​ 是 θ2\theta_2θ2​ 的函数)。

本模型回答的工程问题很具体:在"位置—转速—电流"三级都闭环、且机械负载惯量远大于电机惯量(折算比约 1:11:11:1 到 1:21:21:2)的条件下,点位定位的跟踪精度由哪一环决定,电机的转矩与电流峰值留有多少裕量。

官方描述的要点共四条,本说明书第 4 章逐条用数据核对:

#官方描述(原文要点)实测值核对位置
1两关节由三次多项式轨迹从 −30°/−45°-30°/-45°−30°/−45° 走到 30°/45°30°/45°30°/45°,tfin=1.5t_{fin} = 1.5tfin​=1.5 s终值 30.00003° / 44.99991°,轨迹在 1.5 s 结束4.1 节
2位置环输出转速指令,限幅 ±2200\pm 2200±2200 rpm转速给定峰值 1297.0 / 1498.1 rpm,未触及限幅4.4 节
3电机转矩指令限幅 ±17.8×1.5=±26.7\pm 17.8 \times 1.5 = \pm 26.7±17.8×1.5=±26.7 N·m电磁转矩实测 [−11.57,+8.88][-11.57, +8.88][−11.57,+8.88] N·m,用了 43 % 的限幅4.8 节
4电流环为滞环调制,带宽 0.1 A导通平台纹波峰峰 1.89 A,等效开关频率 5.85 kHz4.6、4.7 节

第 3 条值得单独说明:官方把转矩限幅写成 Tmin = -17.8*1.5、Tmax = 17.8*1.5,是表达式而不是数值。1.5 是"1.5 倍过载"的系数,17.8 N·m 是电机额定转矩。本说明书统一按 26.7 N·m 引用。

物理来源:驱动块 AC6 是 SPS 库中六步换相、梯形反电动势的 BLDC 驱动。永磁磁链 ψf=0.175\psi_f = 0.175ψf​=0.175 V·s,极对数 p=4p = 4p=4,由此确定两个基本常数:

ke=pψf=4×0.175=0.700 V⋅s/rad,kt=2pψf=2×4×0.175=1.400 N⋅m/A k_e = p\psi_f = 4\times0.175 = 0.700\ \mathrm{V\cdot s/rad},\qquad k_t = 2p\psi_f = 2\times4\times0.175 = 1.400\ \mathrm{N\cdot m/A} ke​=pψf​=4×0.175=0.700 V⋅s/rad,kt​=2pψf​=2×4×0.175=1.400 N⋅m/A

注意 kt=2kek_t = 2k_ekt​=2ke​:前者是"两相串联导通"口径,后者是"单相"口径。第 5 章的转矩平衡与功率平衡反复用到这个 2 倍关系。

1.2 原理框图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图1-1 系统原理框图

主回路自左至右:三相 220 V / 60 Hz 电源 → 不控整流 + 2 000 µF 母线 → 三相逆变桥(IGBT/二极管,六步换相)→ 永磁同步电机(梯形反电动势)→ 减速器 + 关节。

控制链自下而上:轨迹发生器给出两关节的三次多项式位置指令 θ∗\theta^{*}θ∗,送位置控制器(PD,输出转速指令 N∗N^{*}N∗),再送转速电流环(PI + 滞环,输出门极信号去驱动逆变桥)。反馈通道是编码器:关节角 θ\thetaθ 与角速度 ω\omegaω 回到位置控制器,电机转速回到转速环。

图上的所有数字都取自本次仿真的实测值或模型掩膜原值,不是数据手册标称值。

1.3 信号流与数据出口

模型的观测点不在信号线上,而在三个带数据记录的 Scope 块里:Measurement center 子系统内含 Motor Drive 1 Measurements T1、Motor Drive 2 Measurement T2、Robot Measurements 三个 Scope。它们各自记录一路 8 列 / 5 列的复合信号:

出口列信号单位来源块
drive(轴 1 驱动)1~3VabV_{ab}Vab​、IabcI_{abc}Iabc​(3 相)V、A逆变桥输出测量
4TeT_eTe​ 电磁转矩N·mAC6 输出
5NNN 转速rpmAC6 输出
6N∗N^{*}N∗ 转速给定rpm转速环输出
7TrefT_{ref}Tref​ 转矩给定N·m转速环输出
drive1(轴 2 驱动)1~8同 drive,轴 2Motor Drive T2
robot(机械侧)1~2Tq1T_{q1}Tq1​、Tq2T_{q2}Tq2​ 关节转矩N·m减速器输出
3~4α1\alpha_1α1​、α2\alpha_2α2​ 角加速度rad/s2^22Robot 输出
5~6ω1\omega_1ω1​、ω2\omega_2ω2​ 角速度rad/sRobot 输出
7~8θ1\theta_1θ1​、θ2\theta_2θ2​ 关节角radRobot 输出
9J1 & J2J_1\ \&\ J_2J1​ & J2​ 当前惯量kg·m2^22Robot 输出

时间轴是定步长 1 µs 的等距栅格,0~2 s 共 2 000 001 点。16 列 ×\times× 2 000 001 点一次性落盘约 260 MB,且 MATLAB 堆上限只有约 1.66 GB,故落盘分三层(见 8.2 节):

  • S:全程按 20 块(20 µs)做块均值后的包络栅格(100 000 点),用于全过程趋势;
  • RZ1、RZ2:0.745~0.765 s 与 1.895~1.915 s 两段原始 1 µs 窗口(各 20 000 点),用于电流纹波与开关频率分析;
  • RAW:在原始 1 µs 栅格上直接取的极值与时刻,不经过任何重采样。

R8 口径:超调量、上升时间、峰值、峰值时刻这些暂态类指标全部在原始 1 µs 栅格上算(RAW),包络只用于画趋势图。包络的 20 µs 块均值会把开关尖峰抹平,实测差异是:电流原始峰值 11.074 A vs 包络 10.969 A(偏低 0.95 %);转矩原始 [−11.694,+8.950][-11.694, +8.950][−11.694,+8.950] N·m vs 包络 [−11.567,+8.877][-11.567, +8.877][−11.567,+8.877] N·m(偏低 1.0 %);转速两者完全一致(1298.04 对 1298.04)。位置与转速这类缓变量可以用包络,电流与转矩的极值必须用原始栅格。

所有时均值一律用时间加权梯形积分

yˉ=1t2−t1∫t1t2y dt \bar{y} = \frac{1}{t_2 - t_1}\int_{t_1}^{t_2} y\,dt yˉ​=t2​−t1​1​∫t1​t2​​ydt

不用 mean;RMS 同理用 ∫y2dt/(t2−t1)\sqrt{\int y^2 dt/(t_2-t_1)}∫y2dt/(t2​−t1​)​。本模型栅格均匀,两种口径数值接近,但统一后与扫描脚本可比。

2 模型结构

2.1 顶层

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图2-1 模型顶层

顶层共 44 个块:15 个子系统、11 个 From、14 个 Goto、2 个 Gain、2 个 Terminator。按功能分四组:

  • 轨迹与控制器组:Trajectory generator(一路两输出)、Position Controller T1、Position Controller T2;
  • 驱动组:AC Source T1/T2(三相电压源)、Motor Drive T1/T2(含整流、母线、斩波、逆变、电机、转速环、电流环的复合掩膜块)、Speed Reducer 与 Speed Reducer1;
  • 机械组:Robot(两关节刚体动力学);
  • 观测与辅助组:Measurement center(三个 Scope)、measurements T1/T2(纯信号整理,不参与动力学)、powergui(Discrete,Ts=T_s =Ts​= Ts)、More Info(纯文本说明)。

From/Goto 是成对的无线连接,把 teta_ref1、teta_ref2、TH1、TH2、NREF1、NREF2、w1、w2、teta1、teta2、alfa1、alfa2 等 12 条信号在图上"拉直",避免长距离走线。Gain 与 Gain1 的增益都是 30/π,作用是把减速器输出的角速度 rad/s 换算成 rpm 送转速环比较。

两个 Terminator 接在 Motor Drive 的 Wm 输出上——该端口在本模型中不使用(转速由减速器侧反算),因此端接而非悬空。

2.2 电机驱动子系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图2-2 电机驱动子系统

功率通道自左下到右上:Three-phase diode rectifier(不控整流,Ron=1R_{on} = 1Ron​=1 mΩ、Vf=1.3V_f = 1.3Vf​=1.3 V、缓冲 Rsnb=10R_{snb} = 10Rsnb​=10 kΩ / Csnb=20C_{snb} = 20Csnb​=20 nF)→ Braking chopper(R=8R = 8R=8 Ω、f=4f = 4f=4 kHz、投入 320 V、退出 310 V)→ 母线电容 2 000 µF → Three-phase inverter(IGBT/Diode,Ron=1R_{on} = 1Ron​=1 mΩ、Vf=0.8V_f = 0.8Vf​=0.8 V、Tf=1T_f = 1Tf​=1 µs、Tt=2T_t = 2Tt​=2 µs)→ Permanent Magnet Synchronous Machine (trapezoidal back-EMF)。

控制通道自左上:Speed Controller(PI,kp=0.5k_p = 0.5kp​=0.5、ki=10k_i = 10ki​=10、限幅 ±26.7\pm 26.7±26.7 N·m、采样 Tsc=140T_{sc} = 140Tsc​=140 µs,PI 内环还有一个 1 kHz 输出滤波)→ Current Controller(滞环,h=0.1h = 0.1h=0.1 A,最高频率 freq_max = 20 kHz,采样 Tvect = 20 µs)→ VECT(矢量变换与门极分配)→ Detailed gates → 逆变桥。

Measures 块汇总 iabci_{abc}iabc​、VabcV_{abc}Vabc​、TeT_eTe​、ωm\omega_mωm​,经 Multiple output buses 拆成 motor、conv、ctrl 三条总线输出。rad2rpm 把 ωm\omega_mωm​ 换成 rpm 反馈到转速环的 N 端。

Tf = 1 µs、Tt = 2 µs 是开关器件的最小导通/关断时间,它们把实际开关频率压住——这是 4.7 节解释"实测开关频率只有 5.85 kHz、远低于 20 kHz 上限"的关键。

2.3 机器人机械子系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图2-3 机器人机械子系统

上半部是轴 1,下半部是轴 2,结构完全对称:输入 T1(关节转矩,来自减速器)→ 减去阻尼项 C1ω1C_1\omega_1C1​ω1​ → 除以当前惯量 J1J_1J1​ 得到角加速度 α1\alpha_1α1​ → 两个离散积分器(KTsz−1\frac{KT_s}{z-1}z−1KTs​​)依次得到 ω1\omega_1ω1​ 与 θ1\theta_1θ1​。

三个 f(u) 块是该子系统的核心,表达式都是掩膜原值:

J1(θ2)=174.272 θ22+79.578 θ2+170 kg⋅m2,J2=50 kg⋅m2 J_1(\theta_2) = 174.272\,\theta_2^2 + 79.578\,\theta_2 + 170\ \mathrm{kg\cdot m^2},\qquad J_2 = 50\ \mathrm{kg\cdot m^2} J1​(θ2​)=174.272θ22​+79.578θ2​+170 kg⋅m2,J2​=50 kg⋅m2

C1=0.005×1302=84.5,C2=0.005×1002=50 N⋅m⋅s/rad C_1 = 0.005\times130^2 = 84.5,\qquad C_2 = 0.005\times100^2 = 50\ \mathrm{N\cdot m\cdot s/rad} C1​=0.005×1302=84.5,C2​=0.005×1002=50 N⋅m⋅s/rad

J1J_1J1​ 随 θ2\theta_2θ2​ 变化,是耦合惯量:关节 2 的摆角改变关节 1 的等效惯量。在本模型的工作区间 θ2∈[−45°,45°]\theta_2 \in [-45°, 45°]θ2​∈[−45°,45°] 内,J1J_1J1​ 从 215 kg·m2^22(θ2=−45°\theta_2 = -45°θ2​=−45°)变到 340 kg·m2^22(θ2=+45°\theta_2 = +45°θ2​=+45°),跨度为 1.58 倍。

C1C_1C1​、C2C_2C2​ 的表达式 u*0.005*130*130 不是随手填的:0.005 是电机侧粘滞系数 Friction,1302130^21302 是把电机侧阻尼折算到关节侧的减速比平方。第 5.4 节用能量积分验证了这个折算。

两个 G1、G2 块的表达式是 u*0,即重力项为零——本模型不含重力补偿,是纯水平面运动。

2.4 位置控制器子系统

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图2-4 位置控制器子系统

结构极简,但有一处容易看错:

N∗=sat[Kp(θ∗−θ)+Kd ω],Kp=32 000 rpm/rad, Kd=400 rpm/(rad/s) N^{*} = \mathrm{sat}\big[K_p(\theta^{*} - \theta) + K_d\,\omega\big],\qquad K_p = 32\,000\ \mathrm{rpm/rad},\ K_d = 400\ \mathrm{rpm/(rad/s)} N∗=sat[Kp​(θ∗−θ)+Kd​ω],Kp​=32000 rpm/rad, Kd​=400 rpm/(rad/s)

限幅 ±2200\pm 2200±2200 rpm(Saturation 块)。KdK_dKd​ 乘的是实测角速度 ω\omegaω,不是误差的微分。二者的区别在于:前者是速度反馈阻尼(会压低闭环带宽但显著提高阻尼比),后者是标准 PD(不改变稳态刚度)。对点位定位而言,速度反馈形式更常用,因为它同时抑制了负载扰动引起的速度波动。

KpK_pKp​ 的量纲是 rpm/rad,KdK_dKd​ 是 rpm/(rad/s)。这两个数看起来很大,实际含义是:1 rad 的位置误差 → 32 000 rpm 的转速指令,再被 2200 rpm 限幅压住,所以位置环在大误差段实际上是bang-bang 式饱和,只有误差小于 2200/32000=0.06882200/32000 = 0.06882200/32000=0.0688 rad =3.94°= 3.94°=3.94° 后才进入线性区。

2.5 三环控制律与传动链换算

三环的串级关系与量纲换算如下(θ\thetaθ 用 rad,NNN 用 rpm,TTT 用 N·m):

θ→ Kp(θ∗−θ)+Kdω N∗→ PI Tref→ 滞环 iabc→ kt=2pψf Te \theta \xrightarrow[\ K_p(\theta^{*}-\theta) + K_d\omega\ ]{} N^{*} \xrightarrow[\ \mathrm{PI}\ ]{} T_{ref} \xrightarrow[\ \text{滞环}\ ]{} i_{abc} \xrightarrow[\ k_t = 2p\psi_f\ ]{} T_e θ Kp​(θ∗−θ)+Kd​ω ​N∗ PI ​Tref​ 滞环 ​iabc​ kt​=2pψf​ ​Te​

传动链把电机侧与关节侧连起来:

ωm=i ω,N=i ω⋅30π,Tq=η i Te \omega_m = i\,\omega,\qquad N = i\,\omega\cdot\frac{30}{\pi},\qquad T_q = \eta\, i\, T_e ωm​=iω,N=iω⋅π30​,Tq​=ηiTe​

其中 η=1\eta = 1η=1(减速器掩膜 eff)。注意 Tq=ηiTeT_q = \eta i T_eTq​=ηiTe​ 是静态关系,动态下柔性轴(Ksh=17 190K_{sh} = 17\,190Ksh​=17190 N·m/rad、Bsh=600B_{sh} = 600Bsh​=600 N·m·s/rad)会引入扭转角,瞬时值不严格成立。第 4.8 节给出实测两条曲线,本说明书不对 Tq=iTeT_q = iT_eTq​=iTe​ 做定量校核,只对关节侧的转矩平衡做校核(5.3 节)。

直线位移换算是本说明书为"机床进给轴"场景补的一层,模型本身没有丝杠:

s=θ360°⋅h,h=10 mm (假设导程) s = \frac{\theta}{360°}\cdot h,\qquad h = 10\ \mathrm{mm}\ (\text{假设导程}) s=360°θ​⋅h,h=10 mm (假设导程)

即关节(与丝杠同轴)转 1 圈,工作台移动 10 mm;折合到电机轴是每电机转 h/i=0.0769h/i = 0.0769h/i=0.0769 mm。轴 1 行程 60° → s=1.667s = 1.667s=1.667 mm,需要电机转 60/360×130=21.66760/360\times130 = 21.66760/360×130=21.667 转。

2.6 关键参数汇总

表2-1 电机参数(AC6 掩膜原值,两轴相同)

参数数值单位含义
Rs0.2Ω定子相电阻
Lls / Lms8.5 / 8.5mH定子漏感 / 励磁电感
FluxCst ψf\psi_fψf​0.175V·s永磁磁链
p4-极对数
J0.01kg·m2^22转子惯量
Friction0.005N·m·s/rad粘滞阻尼
TorqueCst ktk_tkt​1.05N·m/A转矩常数(填表值,与 2pψf2p\psi_f2pψf​ 不同口径)
VoltageCst kek_eke​126.966V·s/rad(电)反电动势常数(填表值)
modelDetailLevelDetailed-开关级建模
driveTypeAC6-六步换相 BLDC

TorqueCst = 1.05 与 2pψf=1.42p\psi_f = 1.42pψf​=1.4 不一致。这两个数在 SPS 里服务于不同用途(前者用于内部标幺化,后者是实际电磁关系),本说明书以 2pψf2p\psi_f2pψf​ 为准,并用第 5 章的转矩平衡验证。

表2-2 电源、母线与控制参数

参数数值单位含义
电源线电压 / 频率220 / 60V / Hz三相理想电压源
cap_bus2 000µF母线电容
activationVoltage / shutdownVoltage320 / 310V制动斩波投入 / 退出
Rbrake / fbrake8 / 4 000Ω / Hz斩波电阻与频率
Ron_inv / Vf_inv1 mΩ / 0.8 V-逆变桥通态参数
Tf / Tt1 / 2µs最小开通 / 关断时间
kp_sc / ki_sc0.5 / 10-转速环 PI
Tsc / fc_sc140 / 1 000µs / Hz转速环采样 / 输出滤波
Tmin / Tmax−26.7-26.7−26.7 / +26.7+26.7+26.7N·m转矩指令限幅
modulationTypeHysteresis-电流环调制方式
h0.1A滞环带宽
Tvect / freq_max20 / 20 000µs / Hz电流环采样 / 最高频率
Kp / Kd32 000 / 400rpm/rad、rpm/(rad/s)位置环 PD
位置环限幅±2200\pm 2200±2200rpmSaturation 块

表2-3 机械与传动参数

参数数值单位含义
posini / posfin[−30,−45][-30,-45][−30,−45] / [30,45][30,45][30,45]°轨迹起止点
tfin1.5s轨迹持续时间
i(Speed Reducer)130-轴 1 减速比
i(Speed Reducer1)100-轴 2 减速比
Jrdh0.001kg·m2^22减速器自身惯量(电机侧)
eff1-传动效率
Ksh / Bsh17 190 / 600N·m/rad、N·m·s/rad柔性轴刚度 / 阻尼
J_1(\theta_2)174.272θ22+79.578θ2+170174.272\theta_2^2+79.578\theta_2+170174.272θ22​+79.578θ2​+170kg·m2^22关节 1 变惯量
J_250kg·m2^22关节 2 惯量
C_1 / C_284.5 / 50N·m·s/rad关节阻尼(=== Friction⋅i2\cdot i^2⋅i2)
折算惯量比约 1:11:11:1-Jmi12=169J_m i_1^2 = 169Jm​i12​=169 vs J1≈215∼340J_1 \approx 215\sim340J1​≈215∼340

3 运行方法

3.1 环境要求

  • MATLAB / Simulink R2023b,Simscape Electrical(Specialized Power Systems 库);
  • 模型依赖 powergui(Discrete,Ts=T_s =Ts​= Ts,TsT_sTs​ 来自 base 工作区的 Ts = 1e-6);
  • 数据图脚本依赖 ml_plot_params.m、ml_tx.m、ml_fig.m、ml_chkpng.m、ml_audit_tx.m、ml_style_legend.m(位于 %USERPROFILE%\.workbuddy\skills\matlab-mcp\scripts)。

3.2 运行步骤

按 export -> analyze -> sweep -> figs -> shot 的顺序执行,每个脚本自带路径解析,可在任意目录启动。

阶段命令耗时产物
基准仿真run BrushlessDCRobotAxisControl_export.m139.0 sbdcaxis_base.mat、bdcaxis_cfg.mat
指标计算run BrushlessDCRobotAxisControl_analyze.m8 sbdcaxis_metrics.mat
参数扫描run BrushlessDCRobotAxisControl_sweep.m15 算例 ×\times× 137.5 s ≈ 2 063 sbdcaxis_sweep.mat
数据图run BrushlessDCRobotAxisControl_figs.m42 s17 张 PNG
截图与框图run BrushlessDCRobotAxisControl_shot.m26 s5 张 PNG

sweep 脚本设计成按组、按算例分批执行:先 SWGRP = {'KP'} 只跑该组,跑完自动把结果按 tag 合并进 bdcaxis_sweep.mat;这样即使中途被打断,已完成的算例不会丢失(合并函数 mergeSW 会按 tag 去重)。

3.3 本次运行的求解器配置

表3-1 求解器与输出配置

项取值说明
StopTime2 s模型原值
SolverFixedStepDiscrete模型原值
FixedStepauto(实际 1 µs)由 base 工作区 Ts = 1e-6 决定
powerguiDiscrete,Ts=T_s =Ts​= Ts,f=60f = 60f=60 Hz,Tustin模型原值
输出栅格2 000 001 点,等距 1 µs解算器自身栅格,未重采样
数据出口3 个 Scope,DataLogging on,Structure With Time原始栅格,落盘时按 1.3 节分三层
单次基准仿真耗时139.0 s(已编译)首次编译另加约 18 s
峰值内存out 结构约 68 MB16 列 ×\times× 2 000 001 点 ×\times× 8 B ≈ 256 MB,实际按需释放

关于内存的实测:派单提示 MATLAB 堆约 1.66 GB。本次先做 0.3 s 测速(21~25 s),再用 memory 查 MaxPossibleArrayBytes = 4.66~5.63 GB(随系统负载浮动),确认 2 s 全程 16 列可以一次跑完,未缩短基准仿真的 StopTime。

3.4 与示例默认配置的差异(重要)

表3-2 本次运行相对模型原配置的差异

差异内容原因与后果
D1运行前在 base 工作区显式赋值 Ts = 1e-6模型的 PreLoadFcn 与 InitFcn 只写 Ts = 1e-6,但 FixedStep 填的是 auto,且 powergui 的采样时间栏直接引用 Ts。脚本用 assignin('base','Ts',1e-6) 显式赋值,保证步长恒为 1 µs
D2打开 ReturnWorkspaceOutputs,三个 Scope 置 DataLogging on、格式 Structure With Time、LimitDataPoints off、DecimateData off原模型不记录数据(Scope 只显示不落盘),不打开取不到任何曲线;不影响数值结果
D3落盘只存"20 µs 包络 + 两段 20 ms 原始窗口 + 原始栅格极值"260 MB 全量落盘无必要(且逼近堆上限);所有暂态指标仍在原始 1 µs 栅格上算,包络只用于画趋势图
D4sweep 的 StopTime 与基准相同(2.0 s)扫描要覆盖"加速 → 到位 → 保持"全过程,缩短会改变 tfin=1.5t_{fin} = 1.5tfin​=1.5 s 之后的稳态判据,故未缩短
D5求解器、powergui、FixedStep、全部元件参数与掩膜参数均未改动,扫描结束后逐个还原并核对

收尾已清理交付目录 仿真数据\*.dmr(残留 0 个)。系统 tempdir 下有 2 个 .dmr 未能删除(0f43-a671-07de-3ad3.dmr、b825-2686-2896-224b.dmr):MATLAB 主进程持有句柄,delete、system('del /f /q')、PowerShell Remove-Item -Force 三种方式均报"文件正在使用"。它们位于系统临时目录、不在交付目录内,不影响交付物,如实记录在此。BrushlessDCRobotAxisControl.slx 的 mtime 全程未变(20-10月-2026 09:49:44,223 885 B)。

4 基准工况仿真结果

本章 11 张图对应一次 2 s 的基准仿真,全部指标抄自 仿真数据\bdcaxis_metrics.mat 与 bdcaxis_base.mat。读图时请始终区分:蓝 = 轴 1、红 = 轴 2、灰虚线 = 给定。

4.1 位置给定与实测

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-1 位置给定与实测

两条给定曲线都是三次多项式,在 1.5 s 内从起点走到终点,之后保持:

θ∗(t)=θ0+Δ[3τ2−2τ3],τ=min⁡(t,tfin)tfin \theta^{*}(t) = \theta_0 + \Delta\left[3\tau^2 - 2\tau^3\right],\qquad \tau = \frac{\min(t,t_{fin})}{t_{fin}} θ∗(t)=θ0​+Δ[3τ2−2τ3],τ=tfin​min(t,tfin​)​

轴 1:θ0=−30°\theta_0 = -30°θ0​=−30°、Δ=60°\Delta = 60°Δ=60°;轴 2:θ0=−45°\theta_0 = -45°θ0​=−45°、Δ=90°\Delta = 90°Δ=90°;tfin=1.5t_{fin} = 1.5tfin​=1.5 s。

实测曲线与给定曲线在整幅图上完全重合,肉眼分不出两条线——这正是点位定位应有的形态。定量地:

指标轴 1轴 2
终值 / °30.0000344.99991
峰值 / °30.0000345.00011
峰值时刻 / s1.999991.95513
超调量 / %9.80×10−59.80\times10^{-5}9.80×10−52.48×10−42.48\times10^{-4}2.48×10−4

超调量按 σ=(θmax−θend)/Δ×100%\sigma = (\theta_{max} - \theta_{end})/\Delta \times 100\%σ=(θmax​−θend​)/Δ×100% 定义,两个轴都在 10−410^{-4}10−4 量级,即数值上无超调。

为什么没有超调?因为位置环进入线性区之前一直是饱和的(误差大于 3.94° 时 N∗N^{*}N∗ 被压在 2200 rpm),而进入线性区时转速已经随轨迹自然降下来,PD 的 KdωK_d\omegaKd​ω 项又提供了额外阻尼。三次多项式本身在最优点(τ=0.5\tau = 0.5τ=0.5)之后速度单调下降,与 PD 的减速需求同向,不会激起振荡。

4.2 位置跟踪误差

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-2 位置跟踪误差

误差曲线是判断"位置环跟得好不好"的直接依据,形态分三段:

  • 0~0.23 s 起动段:误差从 0 迅速增大,因为给定已经开始加速而电机还在克服惯量,误差是"追不上"造成的;
  • 0.23~0.78 s 加速段:误差单调增大到峰值,峰值出现在 0.7763 s(轴 1)/ 0.7683 s(轴 2),正好是给定加速度换向(τ=0.5\tau = 0.5τ=0.5,即 0.75 s)之后一点;
  • 0.78~1.5 s 减速段:误差单调回落并过零,误差换号说明实测已经追上给定、开始"超前";
  • 1.5~2.0 s 保持段:误差收敛到 10−410^{-4}10−4 度量级。
指标轴 1轴 2
峰值误差 / °1.57321.5581
峰值时刻 / s0.77630.7683
全程 RMS 误差 / °0.99420.9853
末段(1.9~2.0 s)时均误差 / °−2.42×10−4-2.42\times10^{-4}−2.42×10−4−2.37×10−5-2.37\times10^{-5}−2.37×10−5
终点误差 / °2.94×10−52.94\times10^{-5}2.94×10−5−8.76×10−5-8.76\times10^{-5}−8.76×10−5
上升时间(10 %~90 %)/ s0.49830.4975
调节时间(±2°\pm2°±2°)/ s0.00000.0000
调节时间(±1.2°\pm1.2°±1.2°)/ s1.14041.1268
调节时间(±0.5°\pm0.5°±0.5°)/ s1.39421.3850
调节时间(±0.05°\pm0.05°±0.05°)/ s1.51991.5056

读表要点:

  1. 峰值误差 1.57° 占行程的 2.6 %,出现在加速段末尾。这不是稳态误差,而是跟踪滞后——位置环带宽不够,跟不上三次轨迹在 0.75 s 处最大的加速度变化率。
  2. ±2° 行写 0.0000 是判据不适用:峰值误差 1.5732° 从未超过 2°,按"最后一次超阈值"的定义自然返回 0。真正有信息量的是下面三行。
  3. ±0.5°(0.83 % 行程)1.394 s 与 ±0.05°(0.083 %)1.520 s:后者已经越过轨迹终点 1.5 s,说明末段的收敛由位置环单独完成,与轨迹无关。阈值越严,调节时间越靠后,这正是 I 型系统典型的指数收敛尾巴。

4.3 关节速度与电机转速

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-3 关节速度与电机转速

左轴是电机转速 N1N_1N1​(rpm),右轴是关节角速度 ω1\omega_1ω1​(rad/s)。两条曲线形状完全一致——因为它们本来就是同一个量的两种刻度:

N=i ω⋅30π=130×30π ω≈1241.4 ω N = i\,\omega\cdot\frac{30}{\pi} = 130\times\frac{30}{\pi}\,\omega \approx 1241.4\,\omega N=iω⋅π30​=130×π30​ω≈1241.4ω

峰值:关节角速度 1.046 rad/s(轴上右侧刻度 1.0 略上方),对应电机转速 1298.0 rpm(0.7747 s)。这个峰值与三次多项式的理论值吻合:

ωpk=1.5Δtfin=1.5×60°1.5 s=60 °/s=1.0472 rad/s \omega_{pk} = 1.5\frac{\Delta}{t_{fin}} = 1.5\times\frac{60°}{1.5\ \mathrm{s}} = 60\ \mathrm{°/s} = 1.0472\ \mathrm{rad/s} ωpk​=1.5tfin​Δ​=1.5×1.5 s60°​=60 °/s=1.0472 rad/s

折合电机转速 60×130×60/360=130060\times130\times60/360 = 130060×130×60/360=1300 rpm,实测 1298.0 rpm,差 0.15 %(20 µs 包络的采样损失)。

曲线在 1.5 s 处陡降到零并保持,没有过冲——这是三次多项式的固有性质(τ=1\tau = 1τ=1 时速度与加速度同时为零),不是控制器的作用。

4.4 转速给定与实测

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-4 转速给定与实测

四条曲线:两轴各一对(虚线 = 给定,实线 = 实测)。整幅图上给定量与实测量几乎完全重合,只在加速段能看到实线略低于虚线(约 5~10 rpm)。

指标轴 1轴 2
给定峰值 / rpm1297.01498.1
实测峰值 / rpm1298.01499.1
峰值时刻 / s0.77470.7623
是否触及 2200 rpm 限幅否否
末值 / rpm0.111−0.122-0.122−0.122

两个轴都没有触及 2200 rpm 限幅,最大只用到 59 %(1298/2200)与 68 %(1499/2200)。这说明轨迹参数(60°/1.5 s、90°/1.5 s)与电机的转速能力是匹配的,转速环没有进入饱和——这也是 4.1 节"无超调"的前提之一。

轴 2 的转速比轴 1 高 15.5 %(1499 对 1298),与行程比(90° 对 60°)和减速比(100 对 130)共同决定:

N2N1=Δ2Δ1⋅i2i1=9060×100130=1.5×0.769=1.154 \frac{N_2}{N_1} = \frac{\Delta_2}{\Delta_1}\cdot\frac{i_2}{i_1} = \frac{90}{60}\times\frac{100}{130} = 1.5\times0.769 = 1.154 N1​N2​​=Δ1​Δ2​​⋅i1​i2​​=6090​×130100​=1.5×0.769=1.154

实测 1499.1/1298.0 = 1.155,吻合到 0.1 %。

4.5 转速偏差

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-5 转速偏差

偏差 =N−N∗= N - N^{*}=N−N∗ 的量程只有 ±16\pm 16±16 rpm,把 4.4 节"看不见的差"放大:

  • 0~0.7 s 加速段:偏差为负且逐渐增大到 −5-5−5 rpm 左右,电机追不上给定的加速需求;
  • 0.7~1.0 s 峰值附近:偏差回到 0 附近,此时加速度接近零,转速环不需要输出大转矩;
  • 1.0~1.5 s 减速段:偏差转正并迅速增大,在 1.5445 s(轴 1) 达到 +12.77 rpm 的峰值;
  • 1.5 s 轨迹结束瞬间:给定阶跃到零,实测转速因惯性不能立即跟上,偏差出现一个尖锐的负尖峰;
  • 1.5~2.0 s 保持段:偏差指数衰减到 ±0.2\pm 0.2±0.2 rpm 以内。
指标轴 1轴 2
偏差峰值 / rpm12.778.18
峰值时刻 / s1.54451.5284
全程 RMS / rpm2.601.77
偏差峰值占给定峰值 / %0.980.55

为什么峰值出现在 1.54 s 而不是加速段? 因为 1.5 s 时轨迹结束,给定速度从下降斜率直接归零(三次多项式在 τ=1\tau = 1τ=1 处速度为零,但给定在 1.5 s 那一个采样之后恒等于终点),转速环的 PI 有 Tsc=140T_{sc} = 140Tsc​=140 µs 的采样延迟加 1 kHz 输出滤波,无法瞬时响应这个"最后一刻的斜率变化"。偏差衰减的时间常数约 0.16 s,与转速环的积分时间 1/ki=0.11/k_i = 0.11/ki​=0.1 s 同量级。

轴 1 的偏差(12.77 rpm)比轴 2(8.18 rpm)大 56 %,尽管轴 1 的转速更低。原因是轴 1 的折算惯量比更大:J1/i12J_1/i_1^2J1​/i12​ 在 θ2=−45°\theta_2 = -45°θ2​=−45° 时是 215/16900=0.0127215/16900 = 0.0127215/16900=0.0127 kg·m2^22,而 J2/i22=50/10000=0.005J_2/i_2^2 = 50/10000 = 0.005J2​/i22​=50/10000=0.005 kg·m2^22,前者是后者的 2.5 倍。折算惯量大 → 同样的转矩指令产生的加速度小 → 跟踪偏差大。

4.6 相电流三相波形

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-6 相电流三相波形(0.745~0.765 s,原始 1 µs)

这是原始 1 µs 栅格上的 20 ms 窗口,三相交替导通,每 60° 电角度换相一次。窗口选在 0.745~0.765 s,是为了避开起动与到位两个暂态,取一个"速度最高、电流较平稳"的工作点。

指标iai_aia​ibi_bib​ici_cic​
峰峰值(含基波)/ A4.4464.3704.341
峰峰值(去趋势纹波)/ A1.9101.8431.920
RMS(去趋势纹波)/ A0.3720.3690.361

三相的统计量高度一致(极差 < 2.4 %),说明三相是对称的——这是六步换相 120° 导通的必然结果。

"峰峰(含基波)4.39 A"与"纹波峰峰 1.89 A"的区别:前者是窗口内最大值减最小值(含六步换相的台阶),后者是去掉趋势后的纯滞环纹波。去趋势用的是 201 点滑动均值(在 1 µs 栅格上是 201 µs,远小于一个电周期),把基波与换相台阶滤掉,只留下开关频率附近的锯齿。

窗口内三相峰峰值的平均是 4.39 A,远低于全程峰值 11.074 A(原始栅格,出现在 1.5014 s)。也就是说:电流裕量不是在稳态消耗的,而是在轨迹结束的制动瞬间——1.5 s 给定速度归零、实测转速还有残余,电机必须以最大转矩把它拉停。这一点在 4.8 节的转矩负峰上有完全对应的证据。

4.7 电流环滞环细节

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-7 电流环滞环细节(0.750~0.753 s 放大)

把窗口再放大到 3 ms(3 000 个采样点),滞环调制的锯齿形态清晰可见:

  • iai_aia​ 呈三角波,上下折返的幅度对应滞环带宽 h=0.1h = 0.1h=0.1 A 的两倍(因为一个完整周期要穿过 ±h/2 两次);
  • 折返频率约 5.85 kHz,即周期约 171 µs;
  • 理论估算:Δi=Udc2L⋅1f\Delta i = \frac{U_{dc}}{2L}\cdot\frac{1}{f}Δi=2LUdc​​⋅f1​,取 Udc≈305U_{dc} \approx 305Udc​≈305 V、L=Lls+Lms=17L = L_{ls}+L_{ms} = 17L=Lls​+Lms​=17 mH、Δi=0.2\Delta i = 0.2Δi=0.2 A,得 f=305/(2×0.017×0.2)=44.8f = 305/(2\times0.017\times0.2) = 44.8f=305/(2×0.017×0.2)=44.8 kHz——远高于实测 5.85 kHz。

为什么实测频率只有理论值的 1/7.7?因为电流环采样周期 Tvect=20T_{vect} = 20Tvect​=20 µs 与 freq_max = 20 kHz 共同限制了翻转速度,而更关键的是滞环比较在矢量控制坐标下进行,一个控制周期内只判断一次。这与范例模型(BrushlessDCMotorDriveLowAndHighFidelity)6.5 节的结论一致:数字实现的滞环频率由采样周期主导,不由带宽主导。

4.8 电磁转矩与关节转矩

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-8 电磁转矩与关节转矩

左轴是电机电磁转矩 TeT_eTe​(虚线 = 转速环给出的 TrefT_{ref}Tref​),右轴是关节转矩 TqT_qTq​。

两条曲线的形态完全不同:

  • TeT_eTe​ 是"宽厚"的带状:从 0 快速升到 8.9 N·m(0.03 s),然后单调下降到负峰 −11.57-11.57−11.57 N·m(1.50 s),再快速回零。带宽来自开关纹波(Te=ktiT_e = k_t iTe​=kt​i,电流纹波 1.89 A 对应转矩纹波 2.6 N·m 峰峰)。
  • TqT_qTq​ 是"细线":从 0 冲到 +572 N·m(0.0658 s),然后降到 −912-912−912 N·m(1.4993 s),再回到 0。
指标轴 1轴 2
TeT_eTe​ 最大 / N·m+8.95+7.40
TeT_eTe​ 最小 / N·m−11.69-11.69−11.69−7.35-7.35−7.35
TrefT_{ref}Tref​ 峰值 / N·m8.216.58
TqT_qTq​ 最大 / N·m+572.1+211.9
TqT_qTq​ 最小 / N·m−912.7-912.7−912.7−204.7-204.7−204.7
限幅 / N·m±26.7\pm26.7±26.7±26.7\pm26.7±26.7
限幅利用率44 %28 %

三点值得说明:

  1. TeT_eTe​ 没有触及 ±26.7 N·m 限幅,最大只用了 44 %(11.69/26.7)。轨迹与电机的能力匹配是宽裕的。
  2. TeT_eTe​ 的负峰比正峰大(−11.69-11.69−11.69 对 +8.95+8.95+8.95),且负峰出现在 1.4992 s——正对着轨迹结束的制动瞬间:给定速度归零、实测转速还有残余,电机要“拽住”全部惯量,这是全过程的电磁负荷最重点。
  3. TqT_qTq​ 的峰值 572 N·m 与关节惯量相符:θ2≈−45°\theta_2 \approx -45°θ2​≈−45° 时 J1=215J_1 = 215J1​=215 kg·m2^22,轨迹起始角加速度 αpk=6Δ/tfin2=6×1.047/2.25=2.79\alpha_{pk} = 6\Delta/t_{fin}^2 = 6\times1.047/2.25 = 2.79αpk​=6Δ/tfin2​=6×1.047/2.25=2.79 rad/s2^22,J1α=600J_1\alpha = 600J1​α=600 N·m,与实测 572 N·m 差 4.7 %(差额被阻尼项 C1ω1C_1\omega_1C1​ω1​ 与柔性轴分担)。

Tq≠i TeT_q \ne i\,T_eTq​=iTe​:130×11.69=1520130\times11.69 = 1520130×11.69=1520 N·m,而实测 TqT_qTq​ 最小只有 −912.7-912.7−912.7 N·m。原因是减速器内部有柔性轴(KshK_{sh}Ksh​、BshB_{sh}Bsh​)与自身惯量,动态下两侧转矩不严格成比例;另外 TqT_qTq​ 与 TeT_eTe​ 的极值时刻也不同(TeT_eTe​ 最低在 1.4992 s,TqT_qTq​ 最低在 1.4993 s,虽接近但由不同物理量决定)。本说明书不对 Tq=iTeT_q = iT_eTq​=iTe​ 做定量校核,改在 5.3 节校核关节侧的 Jα+Bω=TqJ\alpha + B\omega = T_qJα+Bω=Tq​。

4.9 传动链换算直线位移

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-9 传动链换算直线位移

左轴是关节角 θ1\theta_1θ1​(°),右轴是按假设丝杠导程 h=10h = 10h=10 mm 换算的工作台直线位移 sss(mm)。两条曲线形状相同,只是刻度不同:

s=θ1360°×10 mm s = \frac{\theta_1}{360°}\times 10\ \mathrm{mm} s=360°θ1​​×10 mm

指标轴 1轴 2
行程 / °60.000090.0000
电机转数 / rev21.66725.000
直线位移 / mm1.6672.500
每电机转位移 / mm0.07690.1000
直线速度峰值 / mm/s1.665—

必须强调:模型本身没有丝杠,h=10h = 10h=10 mm 是本说明书为"机床进给轴"场景补的一层换算假设。真实的机床进给轴还会有丝杠导程误差、反向间隙、导轨摩擦,这些都不在模型里。

若把 10 mm 导程换成常见的 5 mm 或 20 mm,位移数值按比例缩放,但角度域的动态特性(超调、上升时间、跟踪误差)完全不变——因为换算只改变输出刻度,不进入反馈回路。

4.10 负载转矩与转速偏差

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-10 负载转矩与转速偏差

这张图把 4.5 节的转速偏差与 4.8 节的关节转矩画在一起,用来回答"负载变化会不会激起转速波动"。

  • 关节转矩 TqT_qTq​ 从 +572+572+572 N·m 单调降到 −912-912−912 N·m(0~1.5 s),跨度 1 484 N·m;
  • 转速偏差在这 1.5 s 内始终不超过 ±5 rpm,只在 1.54 s(轨迹结束后)才冲到 12.77 rpm。

也就是说:负载转矩变化 1 484 N·m,转速波动不到 5 rpm。折算成抗扰能力:

ΔNΔTq=51484=0.0034 rpm/(N⋅m) \frac{\Delta N}{\Delta T_q} = \frac{5}{1484} = 0.0034\ \mathrm{rpm/(N\cdot m)} ΔTq​ΔN​=14845​=0.0034 rpm/(N⋅m)

这个数字很小,说明转速环的 PI(kp=0.5k_p = 0.5kp​=0.5、ki=10k_i = 10ki​=10)配合电流环的快速响应,对缓变负载有很强的抑制能力。

但要注意:这条结论只对缓变负载成立。TqT_qTq​ 的变化率在 0~1.5 s 内是有限的(最大约 1 500 N·m/s),转速环有 140 µs 采样 + 1 kHz 滤波,足够跟上。若负载是阶跃(如切削力突变),偏差会大得多——本模型没有阶跃负载工况,这一点在 7.2 节列为局限。

4.11 机械功率与累计能量

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图4-11 机械功率与累计能量

左轴是瞬时机械功率 pm=Te1ωm1+Te2ωm2p_m = T_{e1}\omega_{m1} + T_{e2}\omega_{m2}pm​=Te1​ωm1​+Te2​ωm2​(W),右轴是累计能量 Wm=∫pm dtW_m = \int p_m\,dtWm​=∫pm​dt(kJ)。

功率曲线的形态是"正半周 → 负半周 → 归零":

  • 0~0.3 s:功率快速升到 +1 182 W 峰值,此时电机在加速,TeT_eTe​ 与 ωm\omega_mωm​ 同号;
  • 0.3~0.75 s:功率下降但仍为正,因为 TeT_eTe​ 在降、ωm\omega_mωm​ 在升;
  • 0.75~1.5 s:功率转负,最低到 −927-927−927 W,此时电机在制动,TeT_eTe​ 与 ωm\omega_mωm​ 反号,能量从机械侧回馈到电机;
  • 1.5~2.0 s:功率归零并保持。

累计能量先升后降,在 1.5 s 时达到最大值 0.603 kJ,之后回落到 0.297 kJ 并保持。为什么回落:WmW_mWm​ 是净机械能(正负功率的积分),1.5 s 前加速段注入 603 J,之后减速段的负功率把其中 306 J 送回电机侧,净值为 296.7 J。

指标数值说明
净注入机械能 WeW_eWe​296.72 J∫(Te1ωm1+Te2ωm2)dt\int (T_{e1}\omega_{m1} + T_{e2}\omega_{m2})dt∫(Te1​ωm1​+Te2​ωm2​)dt
电机粘滞耗散 WdW_dWd​172.42 J∫Bm(ωm12+ωm22)dt\int B_m(\omega_{m1}^2+\omega_{m2}^2)dt∫Bm​(ωm12​+ωm22​)dt
关节阻尼耗散 WjW_jWj​172.51 J∫(C1ω12+C2ω22)dt\int (C_1\omega_1^2+C_2\omega_2^2)dt∫(C1​ω12​+C2​ω22​)dt
终态动能 WkW_kWk​1.49×10−61.49\times10^{-6}1.49×10−6 J终态完全静止
未解释余项 WshW_{sh}Wsh​124.30 J(41.9 %)减速器柔性轴阻尼
功率峰值+1 181.9+1\,181.9+1181.9 / −927.2-927.2−927.2 W加速 / 制动(20 µs 包络口径)

WdW_dWd​ 与 WjW_jWj​ 只差 0.09 J(0.053 %),这个巧合不是巧合——它是第 5.4 节要校核的 Bmi2=CB_m i^2 = CBm​i2=C 的直接体现。

余项 124.30 J 占 41.9 %,是本模型能量账未闭合的部分。原因是模型里两条 Speed Reducer 各带一对柔性轴阻尼 Bsh=600B_{sh} = 600Bsh​=600 N·m·s/rad,这部分耗散没有单独的观测量,无法从数据出口分离。本说明书如实列为余项,不做强行分摊(详见 5.6 节)。

5 定量校核

本章用 7 条互不依赖的校核交叉验证模型自洽性。每条都给出"标称值 / 实测值 / 绝对残差 / 相对残差 / 数据来源",残差定义统一为 ε=(xmeas−xref)/xref\varepsilon = (x_{meas} - x_{ref})/x_{ref}ε=(xmeas​−xref​)/xref​。

5.1 校核一:位置—转速量纲一致性 ω=dθ/dt\omega = \mathrm{d}\theta/\mathrm{d}tω=dθ/dt

做法:在原始 1 µs 栅格上,用相邻两点差分估算 θ˙=(θk+1−θk)/Δt\dot{\theta} = (\theta_{k+1}-\theta_k)/\Delta tθ˙=(θk+1​−θk​)/Δt,与同一时刻的实测角速度 ω\omegaω 比较,统计最大绝对偏差与 RMS 偏差。不做任何平滑,因为平滑会把差分的真实量级掩盖掉。

量轴 1轴 2
峰值角速度 ω\omegaω / (rad/s)1.04591.5700
最大绝对偏差 / (rad/s)1.366×10−61.366\times10^{-6}1.366×10−62.195×10−62.195\times10^{-6}2.195×10−6
RMS 偏差 / (rad/s)6.86×10−76.86\times10^{-7}6.86×10−71.04×10−61.04\times10^{-6}1.04×10−6
相对残差1.31×10−61.31\times10^{-6}1.31×10−61.40×10−61.40\times10^{-6}1.40×10−6

结论:残差在 10−610^{-6}10−6 量级,即浮点舍入的相对量级。这条校核确认了三件事:位置积分器的 KTsz−1\frac{KT_s}{z-1}z−1KTs​​ 离散实现是正确的;θ\thetaθ 与 ω\omegaω 来自同一条积分链(不是两路独立采样);1 µs 栅格足以让差分达到机器精度。

5.2 校核二:转速折算 N=i ω⋅30/πN = i\,\omega\cdot 30/\piN=iω⋅30/π

做法:减速器输出 ω\omegaω(rad/s)经 Gain = 30/pi 送转速环,理论上 NNN 与 ω\omegaω 应严格成比例(比例系数 i⋅30/πi\cdot30/\pii⋅30/π)。逐点比较实测 NNN 与该理论值。

量轴 1轴 2
理论折算系数 i⋅30/πi\cdot 30/\pii⋅30/π / (rpm/(rad/s))1241.4954.9
峰值转速 NNN / rpm1298.041499.12
最大绝对偏差 / rpm4.2810.934
RMS 偏差 / rpm1.1460.249
相对残差3.30×10−33.30\times10^{-3}3.30×10−36.23×10−46.23\times10^{-4}6.23×10−4

结论:轴 1 残差 0.33 %、轴 2 残差 0.062 %。轴 1 的残差大 5.3 倍,原因是轴 1 的减速比更大(130 对 100),同样的 ω\omegaω 量化误差被放大 1.3 倍;更要紧的是 Gain 的 30/π 是双精度常数,而 NNN 在 AC6 内部由 ωm\omega_mωm​ 直接计算,两条路径的舍入不同。0.33 % 的残差对应 4.3 rpm,对转速环(偏差峰值 12.77 rpm)来说不是小量,但它只在峰值附近出现——RMS 只有 1.15 rpm。

5.3 校核三:关节转矩平衡 Jα+Bω=TqJ\alpha + B\omega = T_qJα+Bω=Tq​

做法:在原始 1 µs 栅格上,直接用模型输出的 α\alphaα(关节角加速度,不是差分得到的)、ω\omegaω、JJJ(Robot 内部按 θ2\theta_2θ2​ 实时算的 J1J_1J1​、J2J_2J2​)与 TqT_qTq​ 比较:

r=Tq−Jα−Cω r = T_q - J\alpha - C\omega r=Tq​−Jα−Cω

其中 C1=84.5C_1 = 84.5C1​=84.5、C2=50C_2 = 50C2​=50 是 Robot 内部的阻尼块系数。

量轴 1轴 2
时均 TqT_qTq​ / N·m912.48211.92
最大绝对残差 / N·m6.32×10−66.32\times10^{-6}6.32×10−61.42×10−131.42\times10^{-13}1.42×10−13
RMS 残差 / N·m1.06×10−61.06\times10^{-6}1.06×10−62.30×10−142.30\times10^{-14}2.30×10−14
相对残差6.93×10−96.93\times10^{-9}6.93×10−96.71×10−166.71\times10^{-16}6.71×10−16
JJJ 自洽性残差1.43×10−81.43\times10^{-8}1.43×10−8—

结论:两条都闭合到机器精度。轴 2 的残差 10−1310^{-13}10−13 是双精度加法的极限;轴 1 的残差 10−610^{-6}10−6 稍大,因为 J1(θ2)J_1(\theta_2)J1​(θ2​) 是时变参数,f(u) 块在每个采样点重新计算,与 α\alphaα 的更新有一个采样点的先后(离散实现的固有错位),不是物理错误。

JJJ 自洽性一栏是把 f(u) 的 J1J_1J1​ 表达式与 θ2\theta_2θ2​ 实测值代回重算,与模型内部值比较,残差 1.4×10−81.4\times10^{-8}1.4×10−8,确认惯量耦合公式实现无误。

5.4 校核四:折算阻尼 Bmi2=CB_m i^2 = CBm​i2=C

做法:这是本模型里最容易出错、也最容易被忽略的一条。电机侧的粘滞阻尼 Friction Bm=0.005B_m = 0.005Bm​=0.005 N·m·s/rad 折算到关节侧,理论值应为 Bmi2B_m i^2Bm​i2。Robot 子系统的 C1、C2 块直接写成 u*0.005*130*130 与 u*0.005*100*100,本节约的是这个折算是否正确,用两个独立口径验证:

口径 A(代数):直接比较块表达式与 Bmi2B_m i^2Bm​i2。

口径 B(能量):分别对电机侧与关节侧做阻尼耗散的能量积分,两者应相等(因为 ωm=iω\omega_m = i\omegaωm​=iω,Bmωm2=Bmi2ω2=Cω2B_m\omega_m^2 = B_m i^2\omega^2 = C\omega^2Bm​ωm2​=Bm​i2ω2=Cω2)。

量轴 1轴 2
块内系数 CCC / (N·m·s/rad)84.5050.00
理论 Bmi2B_m i^2Bm​i284.5050.00
代数残差00
电机侧耗散 WdW_dWd​ / J172.419(含在左列)
关节侧耗散 WjW_jWj​ / J172.510(含在左列)
能量残差0.091 J—
能量相对残差0.053 %—

结论:代数口径完全相等(残差 0),能量口径差 0.053 %。0.053 % 的来源是 WdW_dWd​ 与 WjW_jWj​ 的积分窗口端点不同(WdW_dWd​ 用 ωm\omega_mωm​ 的 20 µs 包络、WjW_jWj​ 用 ω\omegaω 的 20 µs 包络,两者在端点处的块均值不完全对齐),不是折算错误。

这条校核的工程意义:只要减速比改了,关节阻尼必须按 i2i^2i2 重算。若照抄 u*0.005*100*100 而不改,第 6.6 节扫描减速比 i1i_1i1​ 时就会出现"关节阻尼与减速比不匹配"的假象,把所有结论带偏。

5.5 校核五:定位终值稳态误差

做法:点位定位的核心指标是"到位后误差是否为零"。取两个窗口:终点(t=2.0t = 2.0t=2.0 s 的最后一个采样)与末段(1.9~2.0 s 的时均值),与行程比较。

量轴 1轴 2
行程 / °6090
终点误差 / °2.94×10−52.94\times10^{-5}2.94×10−5−8.76×10−5-8.76\times10^{-5}−8.76×10−5
终点相对误差 / %4.90×10−54.90\times10^{-5}4.90×10−59.73×10−59.73\times10^{-5}9.73×10−5
末段时均误差 / °−2.42×10−4-2.42\times10^{-4}−2.42×10−4−2.37×10−5-2.37\times10^{-5}−2.37×10−5
末段相对误差 / %4.04×10−44.04\times10^{-4}4.04×10−42.64×10−52.64\times10^{-5}2.64×10−5

结论:定位终值误差在 10−510^{-5}10−5 度量级,即数值上为零。这符合 I 型系统(位置环含积分环节?——严格说位置环是 PD,不含积分;但转速环的 PI 提供了积分作用,串级后整个系统对阶跃给定是 I 型,稳态误差为零)的理论预期。

需要注意:末段时均误差(−2.42×10−4-2.42\times10^{-4}−2.42×10−4)比终点误差(2.94×10−52.94\times10^{-5}2.94×10−5)大一个量级,因为末段窗口包含了 1.9~2.0 s 之间的衰减过程,不是纯稳态。引用稳态误差请用终点误差。

5.6 校核六:机电能量平衡

做法:把 2 s 内的机械能收支列清楚。净注入机械能 We=∫(Te1ωm1+Te2ωm2)dtW_e = \int(T_{e1}\omega_{m1}+T_{e2}\omega_{m2})dtWe​=∫(Te1​ωm1​+Te2​ωm2​)dt 应等于"耗散 + 储能":

We=Wd+Wj+Wsh+Wk W_e = W_d + W_j + W_{sh} + W_k We​=Wd​+Wj​+Wsh​+Wk​

其中 WdW_dWd​ 是电机粘滞耗散、WjW_jWj​ 是关节阻尼耗散、WshW_{sh}Wsh​ 是减速器柔性轴耗散(无观测量)、WkW_kWk​ 是终态动能。

项数值 / J占 WeW_eWe​
净注入 WeW_eWe​296.72100 %
电机粘滞 WdW_dWd​172.4258.1 %
关节阻尼 WjW_jWj​172.5158.1 %
终态动能 WkW_kWk​1.49×10−61.49\times10^{-6}1.49×10−6≈0\approx 0≈0
余项 WshW_{sh}Wsh​124.3041.9 %

结论:能量账只闭合到 58.1 %,余项 124.30 J 无法从数据出口分离。

这个结果必须如实说明,不能强行分摊。已知的事实是:

  1. 模型的 Speed Reducer 掩膜有 Bsh=600B_{sh} = 600Bsh​=600 N·m·s/rad,它作用在减速器内部轴上,转速不在任何 Scope 的观测列里,因此无法积分;
  2. 减速器还有 Bsl=600×300B_{sl} = 600\times300Bsl​=600×300 的高速轴阻尼,同样不可观测;
  3. WdW_dWd​ 与 WjW_jWj​ 的数值几乎相等(差 0.053 %),说明可观测的两个耗散项是一致的,余项确实来自不可观测的第三条路径。

所以这条校核的结论是"可观测部分闭合,整体账目有 41.9 % 的已知盲区",而不是"能量不守恒"。这是模型数据出口设计的局限,不是物理错误。

5.7 校核七:滞环带宽与纹波

做法:滞环带宽 h=0.1h = 0.1h=0.1 A 是掩膜设定值,理论上纹波峰峰应在 hhh 附近(一个完整周期穿过 ±h/2\pm h/2±h/2)。用两个窗口的实测纹波与 hhh 比较。

量窗口 1(0.745~0.765 s)窗口 2(1.895~1.915 s)
掩膜带宽 hhh / A0.1000.100
去趋势纹波峰峰 / A1.8911.570
含基波峰峰 / A4.3861.518
纹波 / hhh 倍数18.915.7
等效开关频率 / kHz5.856.65

结论:实测纹波是设定带宽的 16~19 倍,不是 hhh 的 1 倍。这个"反常"与 4.7 节是同一个原因:数字滞环的实际纹波由采样周期内的电流变化量决定,不由比较器的带宽决定。一个控制周期 Tvect=20T_{vect} = 20Tvect​=20 µs 内,di/dtdi/dtdi/dt 若为 10510^5105 A/s,电流已经变化 2 A,远超 h=0.1h = 0.1h=0.1 A 的比较窗口,滞环比较器"看到"的永远是超阈值状态,纹波于是由 di/dt⋅Tvectdi/dt \cdot T_{vect}di/dt⋅Tvect​ 主导。

这条校核的价值在于:它解释了为什么调 hhh 无效(6.4 节的电机惯量扫描从另一个角度印证——电流纹波随惯量变化 53 %,而 hhh 全程不变)。

5.8 校核汇总

表5-1 七条校核的残差汇总

#校核内容关系式轴 1 残差轴 2 残差数据来源
1位置—转速量纲ω=dθ/dt\omega = \mathrm{d}\theta/\mathrm{d}tω=dθ/dt1.31×10−61.31\times10^{-6}1.31×10−61.40×10−61.40\times10^{-6}1.40×10−6M.chk.c1
2转速折算N=iω⋅30/πN = i\omega\cdot30/\piN=iω⋅30/π3.30×10−33.30\times10^{-3}3.30×10−36.23×10−46.23\times10^{-4}6.23×10−4M.chk.c2
3关节转矩平衡Jα+Cω=TqJ\alpha + C\omega = T_qJα+Cω=Tq​6.93×10−96.93\times10^{-9}6.93×10−96.71×10−166.71\times10^{-16}6.71×10−16M.chk.c3
4折算阻尼Bmi2=CB_m i^2 = CBm​i2=C000(代数)/ 0.0530.0530.053 %(能量)000M.chk.c4
5定位终值eend→0e_{end} \to 0eend​→04.90×10−54.90\times10^{-5}4.90×10−5 %9.73×10−59.73\times10^{-5}9.73×10−5 %M.chk.c5
6机电能量We=Wd+Wj+Wsh+WkW_e = W_d+W_j+W_{sh}+W_kWe​=Wd​+Wj​+Wsh​+Wk​余项 41.9 %—M.chk.c6
7滞环纹波Δi≈2h\Delta i \approx 2hΔi≈2h18.9 h18.9\ h18.9 h15.7 h15.7\ h15.7 hM.chk.c7

七条校核里,第 1、3、5 条闭合到机器精度,是真正的自洽性验证;第 4 条代数口径零残差,是折算关系的直接确认;第 2 条 0.33 %、第 6 条 41.9 %、第 7 条 16~19 倍 这三条不是"模型错了",而是口径本身的物理含义(量化损失、不可观测路径、数字滞环特性),本说明书如实列出并逐条解释。

6 关键参数对比仿真

6.1 扫描设计

5 组单因素扫描、每组 3 个取值(含基准点),共 15 个算例,每个算例 StopTime = 2.0 s、步长 1 µs、powergui 不变。基准点取模型原值,一次只改一个参数,其余全部复位。

表6-1 扫描设计

组扫描量符号取值单位观察对象
KP位置环比例增益KpK_pKp​16 000 / 32 000 / 64 000rpm/rad跟踪误差、调节时间、转速偏差
KS转速环比例增益kp,sck_{p,sc}kp,sc​0.25 / 0.5 / 1.0-转速偏差、转矩峰值
JM电机转动惯量JmJ_mJm​0.005 / 0.01 / 0.02kg·m2^22电流峰值、转矩峰值、偏差
TF轨迹持续时间tfint_{fin}tfin​1.0 / 1.5 / 2.0s跟踪误差、超调、能量
IR轴 1 减速比i1i_1i1​65 / 130 / 260-轴 1 误差、超调、饱和

为什么扫描这五个量:

  • KpK_pKp​ 与 kp,sck_{p,sc}kp,sc​ 是两个环的主导增益,决定跟踪精度与抗扰能力的折中;
  • JmJ_mJm​ 是惯量匹配的唯一可调参数(改变它就等于改变"电机惯量 : 负载折算惯量"的比值),直接决定电流与转矩峰值;
  • tfint_{fin}tfin​ 是轨迹激进程度的代表,它同时改变速度、加速度与所需转矩;
  • i1i_1i1​ 是传动链设计的核心变量,它把"电机转速能力"与"关节转速需求"挂钩,并在 i1i_1i1​ 过大时触发 2200 rpm 限幅。

6.2 组 KP:位置环增益

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-1 组 KP:位置环增益对跟踪误差与转速偏差的影响

表6-2 组 KP 结果

KpK_pKp​ / (rpm/rad)轴 1 峰值误差 / °轴 2 峰值误差 / °RMS 误差 / °调节时间(1.2°)/ s转速偏差峰值 / rpm电流峰值 / A
16 0003.1353.1111.9811.3898.7210.59
32 0001.5731.5580.9941.14012.7711.07
64 0000.7870.7790.4980.00017.4210.97

三条规律:

  1. 跟踪误差与 KpK_pKp​ 成反比:KpK_pKp​ 翻倍(16k→32k),误差从 3.135° 降到 1.573°,正好一半;再翻倍(32k→64k),从 1.573° 降到 0.787°,也是一半。这说明在 16k~64k 范围内,误差由位置环的线性区增益决定,尚未进入饱和主导区。

  2. 转速偏差与 KpK_pKp​ 成正比:KpK_pKp​ 翻倍,偏差从 8.72 增到 12.77(+46 %),再翻倍到 17.42(+36 %)。这是必然的代价:KpK_pKp​ 越大,N∗N^{*}N∗ 对同一个位置误差的响应越激烈,转速环要跟的指令变化越陡,偏差越大。

  3. 调节时间在 Kp=64 000K_p = 64\,000Kp​=64000 时归零,因为误差峰值 0.787° < 1.2° 阈值,从未超阈值。这不是"调节更快",而是判据不再适用——此时应改用 ±0.5° 或 ±0.05° 阈值。

工程含义:KpK_pKp​ 的选择是"精度 vs 转速平稳性"的折中。本模型的 32 000 是原作者的折中点(误差 1.57°、偏差 12.8 rpm);若追求精度可以上 64 000,代价是转速偏差增加 36 %。

6.3 组 KS:转速环比例增益

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-2 组 KS:转速环比例增益对偏差与转矩峰值的影响

表6-3 组 KS 结果

kp,sck_{p,sc}kp,sc​转速偏差峰值 / rpmRMS 偏差 / rpm电磁转矩峰值 / N·m电流峰值 / A跟踪误差 / °
0.2521.993.8710.1011.081.573
0.512.772.608.9511.071.573
1.06.451.758.7211.001.573

这是本组最"干净"的扫描结果:

  1. 跟踪误差完全不变(1.573°,三个取值一模一样),因为位置环在上游,转速环的增益不影响位置跟踪的稳态 —— 位置误差由 KpK_pKp​ 与轨迹决定。
  2. 转速偏差随 kp,sck_{p,sc}kp,sc​ 近似成反比:0.25→0.5 时从 21.99 降到 12.77($-4242 %),0.5→1.0 时从 12.77 降到 6.45(42-$50 %)。
  3. 转矩峰值随 kp,sck_{p,sc}kp,sc​ 增大而略微下降(10.10 → 8.95 → 8.72),因为高增益让转速跟踪更紧,不需要那么大的转矩去"追赶"。

工程含义:转速环增益主要买的是抗扰与跟踪的快速性,代价是转矩指令更"尖锐"(虽然本组转矩峰值反而降了,但在其他工况下高增益会放大噪声)。kp,sc=1.0k_{p,sc} = 1.0kp,sc​=1.0 时偏差只有 6.45 rpm,是三个里最好的;模型原值 0.5 偏保守。

6.4 组 JM:电机转动惯量

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-3 组 JM:电机惯量对电流与转矩峰值的影响

表6-4 组 JM 结果

JmJ_mJm​ / (kg·m2^22)电流峰值 / A转矩峰值 / N·m转速偏差峰值 / rpm跟踪误差 / °
0.0059.407.2010.471.574
0.01011.078.9512.771.573
0.02014.3813.0017.631.572

规律非常清晰:

  1. 电流/转矩峰值与 JmJ_mJm​ 单调增:JmJ_mJm​ 翻倍(5→10),电流从 9.40 增到 11.07(+17.8 %);再翻倍(10→20),从 11.07 增到 14.38(+29.9 %)。增速在加快,说明惯量越大,加速所需转矩的占比越高。
  2. 跟踪误差几乎不变(1.574 / 1.573 / 1.572),因为位置跟踪由位置环决定,电机惯量改变的是"电机自己要多大力",不是"关节跟不跟得上"。
  3. 转速偏差随惯量增大(10.47 → 12.77 → 17.63),因为惯量大 → 同样的转矩指令下加速度小 → 转速环响应慢。

惯量匹配的定量判断:折算惯量比

ρ=Jmi12J1=0.01×16 900215∼340=0.50∼0.79 \rho = \frac{J_m i_1^2}{J_1} = \frac{0.01\times16\,900}{215\sim340} = 0.50\sim0.79 ρ=J1​Jm​i12​​=215∼3400.01×16900​=0.50∼0.79

即电机折算惯量是关节惯量的 0.5~0.79 倍,电机侧偏轻(工程上常推荐 ρ=1∼3\rho = 1\sim3ρ=1∼3)。Jm=0.02J_m = 0.02Jm​=0.02 时 ρ=1.0∼1.6\rho = 1.0\sim1.6ρ=1.0∼1.6,落在推荐区间内,但电流峰值升到 14.38 A(+30 %)。这就是惯量匹配的经典折中:ρ\rhoρ 太小则电机"带不动",太大则电机"自己耗能量"。

6.5 组 TF:轨迹持续时间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-4 组 TF:轨迹持续时间对误差、超调与能量的影响

表6-5 组 TF 结果

tfint_{fin}tfin​ / s轴 1 误差 / °轴 2 误差 / °RMS 误差 / °超调 / %转速偏差峰值 / rpm电流峰值 / A转矩峰值 / N·m净机械能 / J
1.03.78921.301.6221.401458.2224.2525.50587.4
1.51.5731.5580.9949.8×10−59.8\times10^{-5}9.8×10−512.7711.078.95296.7
2.01.1811.1690.862−9.8×10−5-9.8\times10^{-5}−9.8×10−55.096.525.49232.5

这一组数据的信息量最大,因为它揭示了饱和边界:

  1. tfin=1.0t_{fin} = 1.0tfin​=1.0 s 时轴 2 严重失效:误差 21.30°(占行程 23.7 %),超调 1.40 %,电流峰值 24.25 A,转矩峰值 25.50 N·m 逼近 ±26.7 N·m 限幅。原因是轴 2 的转速需求 90×100×60/(360×1.0)=150090\times100\times60/(360\times1.0) = 150090×100×60/(360×1.0)=1500 rpm ×\times× 1.5(三次多项式峰值系数)= 2250 rpm,超过 2200 rpm 限幅,转速环饱和,位置跟不上。
  2. tfin=1.5t_{fin} = 1.5tfin​=1.5 s(基准)刚好不饱和:轴 2 需求 1498 rpm,限幅利用率 68 %。
  3. tfin=2.0t_{fin} = 2.0tfin​=2.0 s 时全部指标改善但边际收益递减:误差降到 1.181°(比基准好 25 %),电流降到 6.52 A($-4141 %),但净机械能只降到 232.5 J(41-$22 %)。继续放慢,能量趋近于"克服阻尼所需的最小值",不会再降。

tfin=2.0t_{fin} = 2.0tfin​=2.0 的稳态误差(−0.170-0.170−0.170°)是假象:此时 tfint_{fin}tfin​ = StopTime,轨迹在 2.0 s 才结束,1.9~2.0 s 窗口仍在跟踪中,所谓"稳态"根本没到。该算例的 ess 指标无效,表中不列。

工程含义:轨迹时间的选择有一条硬边界——任何一轴的最大转速需求不得超过转速限幅。轴 2 的峰值需求是

N2,pk=1.5⋅Δ2tfin⋅i2⋅60360=2250tfin rpm N_{2,pk} = 1.5\cdot\frac{\Delta_2}{t_{fin}}\cdot i_2\cdot\frac{60}{360} = \frac{2250}{t_{fin}}\ \mathrm{rpm} N2,pk​=1.5⋅tfin​Δ2​​⋅i2​⋅36060​=tfin​2250​ rpm

令 N2,pk=2200N_{2,pk} = 2200N2,pk​=2200 得 tfin=1.023t_{fin} = 1.023tfin​=1.023 s,这就是饱和边界;基准取 1.5 s 对应 1500 rpm(利用率 68 %),留了 32 % 裕量。若要求 20 % 的余量(N2,pk≤1833N_{2,pk} \le 1833N2,pk​≤1833 rpm),则 tfin≥1.23t_{fin} \ge 1.23tfin​≥1.23 s。

6.6 组 IR:轴 1 减速比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-5 组 IR:轴 1 减速比对误差与超调的影响

表6-6 组 IR 结果

i1i_1i1​轴 1 误差 / °轴 2 误差 / °超调 / %调节时间 / s转速偏差峰值 / rpm电流峰值 / A净机械能 / J
650.4111.5580.1010.00037.1217.49247.2
1301.5731.5589.8×10−59.8\times10^{-5}9.8×10−51.14012.7711.07296.7
2606.7701.5589.7112.00012.389.51640.1

轴 2 的三个值完全不变(1.558),这是单因素扫描的对照证据:只改了 Speed Reducer 的 iii,轴 2 的减速比保持 100,所以轴 2 的误差一字不变。这条对照确认了扫描的有效性。

轴 1 的行为分三段:

  1. i1=65i_1 = 65i1​=65(减速比减半):误差降到 0.411°($-$74 %),因为折算惯量 J1/i12J_1/i_1^2J1​/i12​ 增大 4 倍,电机"更轻松";但转速偏差升到 37.12 rpm(+191 %),因为电机转速需求减半(650 rpm),同样的绝对转速误差占比更大;电流峰值升到 17.49 A(+58 %),因为电机要输出更大的转矩去驱动同样的关节负载。
  2. i1=130i_1 = 130i1​=130(基准):平衡点。
  3. i1=260i_1 = 260i1​=260(减速比翻倍):转速需求 2600 rpm 超过 2200 rpm 限幅,轴 1 进入饱和,误差暴涨到 6.770°、超调 9.71 %、调节时间 2.0 s(到仿真结束都没调好)、净机械能 640.1 J(是基准的 2.16 倍,大量能量耗在减速器高速轴的阻尼上)。

工程含义:减速比的选择是三重约束的交点:

  • 太小 → 电机转矩不够(电流峰值升)、转速偏差大;
  • 太大 → 电机转速超限(饱和)、能量效率差;
  • 本模型的可行区间由两条边界夹住:上限是转速限幅(10i1≤220010i_1 \le 220010i1​≤2200,即 i1≤220i_1 \le 220i1​≤220),下限是转矩限幅(i1=65i_1 = 65i1​=65 时电流峰值 17.49 A,已达 TeT_eTe​ 限幅对应电流 26.7/1.4=19.0726.7/1.4 = 19.0726.7/1.4=19.07 A 的 92 %)。130 落在中间偏保守的位置。

6.7 灵敏度汇总

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

图6-6 五组扫描对三个指标的相对变化幅度

纵轴是组内极差占均值的百分比,用来横向比较"哪个参数最能改变指标":

S=max⁡(x)−min⁡(x)mean(x)×100% S = \frac{\max(x) - \min(x)}{\mathrm{mean}(x)}\times100\% S=mean(x)max(x)−min(x)​×100%

表6-7 灵敏度(组内极差 / 均值,%)

组峰值跟踪误差相电流峰值转速偏差峰值说明
KP128467位置环增益直接决定误差
KS01113只改偏差,不改误差
JM04353惯量决定电流峰值
TF120127210轨迹强度影响最全面
IR21863119减速比是"双刃剑"

三条读图结论:

  1. i1i_1i1​ 与 tfint_{fin}tfin​ 是第一梯队(120 %~218 %),KpK_pKp​ 次之(128 %),JmJ_mJm​ 与 kp,sck_{p,sc}kp,sc​ 只影响 1~2 个指标;
  2. 每组都只"专攻" 1~2 个指标:KS 只改偏差(误差 0)、JM 只改电流(误差 0)、KP 只改误差与偏差(电流 4 %)。这种"解耦"说明三个指标可以被三个参数独立调节,不需要复杂的多目标优化;
  3. TF 组三个指标同时变化(120/127/210),是唯一"牵一发动全身"的参数。因此轨迹规划(tfint_{fin}tfin​ 与起止点)应在控制器整定之前确定。

7 结论与局限

7.1 可以下的结论(均有数据支撑)

  1. 三环串级结构在本工况下实现了无超调的点位定位。超调量 9.8×10−59.8\times10^{-5}9.8×10−5 %(轴 1)与 2.5×10−42.5\times10^{-4}2.5×10−4 %(轴 2),定位终值误差 10−510^{-5}10−5 度,末段时均误差 10−410^{-4}10−4 度。跟踪峰值误差 1.57°(2.6 % 行程)是加速段滞后,不是稳态误差。

  2. 位置环增益决定精度,转速环增益决定平稳性,二者解耦。KpK_pKp​ 翻倍使误差减半(3.135→1.573→0.787),但转速偏差增加 46 % / 36 %;kp,sck_{p,sc}kp,sc​ 从 0.25 增到 1.0 使偏差从 21.99 降到 6.45 rpm,而跟踪误差一寸不变(1.573 恒定)。这个解耦让整定可以分两步走。

  3. 电机转矩与电流留有约 56 % 的裕量。TeT_eTe​ 峰值 [−11.69,+8.95][-11.69, +8.95][−11.69,+8.95] N·m(原始栅格),限幅 ±26.7\pm26.7±26.7 N·m,利用率 44 %;电流峰值 11.074 A。裕量是在轨迹结束的制动瞬间(1.501 s)消耗的,稳态窗口只需 4.39 A——这个“末端最重”的结论与直觉相反,但对点位定位是普遍规律:加速段靠转速按轨迹"自然爬升",制动段则要靠电机把全部惯量拉住。

  4. 轨迹时间是硬约束,饱和边界在 tfin=1.023t_{fin} = 1.023tfin​=1.023 s。轴 2 的峰值转速需求是 2250/tfin2250/t_{fin}2250/tfin​ rpm,tfin=1.0t_{fin} = 1.0tfin​=1.0 s 时 2250 rpm 超过 2200 rpm 限幅,误差暴涨到 21.30°、转矩逼近限幅;tfin=1.5t_{fin} = 1.5tfin​=1.5 s 时 1500 rpm,利用率 68 %,刚好安全。留 20 % 裕量应取 tfin≥1.23t_{fin} \ge 1.23tfin​≥1.23 s。

  5. 减速比是双刃剑,上限由转速限幅确定(i1≤220i_1 \le 220i1​≤220)。轴 1 的峰值转速需求是 10 i110\,i_110i1​ rpm,i1=260i_1 = 260i1​=260 时 2600 rpm 超限,误差暴涨 4.3 倍、能量翻倍;i1=65i_1 = 65i1​=65 时虽不超限,但误差降 74 % 的代价是电流升 58 %、转速偏差升 191 %。130 落在安全区中部。

  6. 折算阻尼必须按 i2i^2i2 重算。Robot 的 C1=0.005×1302=84.5C_1 = 0.005\times130^2 = 84.5C1​=0.005×1302=84.5、C2=0.005×1002=50C_2 = 0.005\times100^2 = 50C2​=0.005×1002=50 与 JmJ_mJm​ 的 Friction 严格对应,代数残差为 0、能量残差 0.053 %。这条关系一旦改错(例如改了减速比忘了改阻尼),第 6 章的扫描结论会全部失真。

  7. 电流纹波由采样周期主导,不由滞环带宽主导。实测纹波峰峰 1.89 A 是设定带宽 0.1 A 的 18.9 倍,等效开关频率 5.85 kHz(远低于 20 kHz 上限)。要降纹波必须减小 TvectT_{vect}Tvect​,调 hhh 无效。

7.2 模型的局限与不适用场景

这个模型不能用来做什么——这一条比"能做什么"更重要,逐条列出:

  1. 不能评估定位精度到微米级。模型的关节角分辨率受 1 µs 步长与位置环增益限制,实测末段误差 10−410^{-4}10−4 度,按 10 mm 导程换算约 3×10−63\times10^{-6}3×10−6 mm =3= 3=3 nm——这个数字没有物理意义,因为模型没有建模编码器量化、丝杠导程误差、反向间隙。做精密进给分析必须另建带误差源的模型。

  2. 不能分析切削力扰动。模型的机械负载是纯惯性 + 粘滞阻尼(Jα+CωJ\alpha + C\omegaJα+Cω),没有外部力输入。实际机床的切削力是阶跃或宽频扰动,会通过位置环引起更大的跟踪误差。做抗扰分析必须给 Robot 加外部转矩输入。

  3. 不能评估重力影响。Robot 的 G1、G2 块表达式都是 u*0,重力项被显式置零。真实的立式进给轴(Z 轴)有恒定重力负载,会让电机长期工作在单侧转矩,影响温升与寿命。本模型只适用于水平轴。

  4. 不能评估减速器的非线性。Speed Reducer 是理想齿轮 + 线性柔性轴(KshK_{sh}Ksh​、BshB_{sh}Bsh​ 为常数),没有齿隙、没有传动误差、没有效率随负载变化(eff = 1)。实际减速器的齿隙会造成反向时的死区,本模型完全看不到。

  5. 不能评估损耗与温升。电机只有 RsR_sRs​ 铜耗与 Friction 粘滞耗散,没有铁耗、没有开关损耗、没有温升模型。RsR_sRs​、ψf\psi_fψf​ 都是常数,实际随温度变化 10 %~30 %。做效率与热分析必须补损耗模型。

  6. 能量账有 41.9 % 的盲区。Wsh=124.30W_{sh} = 124.30Wsh​=124.30 J 无法从数据出口分离(减速器柔性轴阻尼不可观测)。这不是物理错误,但意味着不能用本模型做能量效率的定量结论——只能说"可观测的两个耗散项(172.42 / 172.51 J)一致"。

  7. 数据出口的设计限制导致"包络 + 原始窗口"两层结构。全程 16 列 ×\times× 2 000 001 点无法一次落盘(约 260 MB,逼近堆上限),因此 20 µs 包络用于趋势、两段 20 ms 原始窗口用于纹波。代价是:纹波分析只覆盖 0.745~0.765 s 与 1.895~1.915 s 两个窗口,不能给出全程的纹波统计。若需要全程纹波,必须改成流式落盘或降低列数。

  8. 调节时间判据在误差小于阈值时失效。Kp=64 000K_p = 64\,000Kp​=64000 时误差峰值 0.787° < 1.2° 阈值,tset 返回 0,看起来"瞬间调好",实际是判据不适用;基准算例的 ±2° 行同样如此(峰值 1.573° < 2°)。analyze 脚本里 THR = [2.0 1.2 0.5 0.05] 是绝对角度阈值,不是行程百分比。引用调节时间时必须同时说明阈值。

  9. 丝杠换算是外加假设,不是模型的一部分。4.9 节的 h=10h = 10h=10 mm 导程、2.5 节的 s=θh/360s = \theta h/360s=θh/360 都是本说明书为"机床进给轴"场景补的换算层。模型本身只有旋转关节,没有直线运动。任何关于"直线定位精度"的结论都只在这个换算假设下成立。

  10. 2 s 的时间尺度太短。热过程(秒~分钟)、磨损、老化、长期漂移都不在模型范围内。点位定位的重复精度(多次往返的一致性)也无法从单次 2 s 仿真中得到。

8 附录

8.1 脚本清单

表8-1 五个脚本

脚本行数输入输出说明
_export.m250.slxbdcaxis_base.mat、bdcaxis_cfg.mat基准仿真 + 三层落盘 + 掩膜参数快照
_analyze.m268bdcaxis_base.matbdcaxis_metrics.mat7 条校核 + 位置/转速/转矩/电流/传动/能量指标
_sweep.m202.slxbdcaxis_sweep.mat5 组 15 算例,StopTime = 2.0 s,支持分批执行与按 tag 合并
_figs.m381三个 .mat17 张数据图一图一文件,禁 subplot,ml_audit_tx 出图闸门
_shot.m172.slx5 张界面/框图★ 必须最后跑

执行顺序:export -> analyze -> sweep -> figs -> shot。每个脚本自带路径解析,可在任意目录启动。

8.2 仿真数据文件

表8-2 四个 .mat 文件(字节数为磁盘实际占用)

文件字节数内容
bdcaxis_base.mat19 447 08920 µs 包络 100 000 点 ×\times× 13 列、两段 20 ms 原始窗口各 20 000 点 ×\times× 8/5 列、原始 1 µs 栅格极值
bdcaxis_metrics.mat10 534 0857 条校核、位置/转速/转矩/电流指标、传动链换算、能量积分
bdcaxis_cfg.mat2 714掩膜参数快照(196 项)、求解器配置、.slx 的 mtime 与字节数
bdcaxis_sweep.mat2 00215 个算例的 18 个指标
合计29 985 890(28.6 MiB)

图片目录 图片\ 共 22 个 PNG:图1-1、图2-12-4、图4-14-11、图6-1~6-6。

8.3 复现方法

  1. 确认 base 工作区有 Ts = 1e-6(脚本会自动 assignin,若已存在则覆盖为同值);
  2. 在交付目录下依次运行五个脚本,export 约 139 s、sweep 约 2 063 s、figs 约 42 s、shot 约 26 s;
  3. 若只关心结论、不需要重新仿真,可直接用现成的 .mat 只跑 figs(约 42 s);
  4. 数据图脚本在出图前会跑 ml_audit_tx,有任何 [错] 会直接报错退出——这是字体分段的自检闸门,不要绕过。

校验点:重跑后

  • M.pos.err_max(1) 应在 1.573° 附近(±0.005\pm0.005±0.005);
  • M.chk.c3.r(1) 应在 6.3×10−66.3\times10^{-6}6.3×10−6 N·m 附近(同量级即可,绝对值为机器精度);
  • M.eng.We 应在 296.7 J 附近(±1\pm1±1 J);
  • M.cur.fsw(1)/1000 应在 5.85 kHz 附近(±0.3\pm0.3±0.3)。

若偏离,先检查 Ts 是否被改成别的值、三个 Scope 的 DataLoggingDecimateData 是否被打开(打开会改变采样栅格,所有暂态指标失效)。

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/2602_95231098/article/details/168632676

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--