介绍
MagnetCoupling用于磁力联轴器的仿真和计算。
类结构
输入 input:
- Width : 联轴器宽度
- OuterMagnetSize: 外转子尺寸
- InnerMagnetSize: 内转子尺寸
- A : 内转子内径
- B : 内转子外径
- C : 外转子内径
- D : 外转子外径
- Pair : 磁铁对数
参数 params:
- WidthNum :宽度方向网格数量
- Rot : 旋转角
- Pos1 : 位置参数
- Pos2 : 位置参数
- Material : 材料
- MeshNum : 磁铁截面长宽方向网格数量
- Dx : x方向位移
- Dy : y方向位移
输出 output :
- Number : 编号
- FEA_Force : 有限元计算反力
- SolidMesh : 实体网格
- ShellMesh : 截面网格
- Surface : 表面
- Section : 截面
- Assembly : 实体装配
案例
Demo magnet coupling (Flag=1)
S=RMaterial('Magnetic');
Mat=GetMat(S,[36,72,92]'); % Set Material
PairNum=8;
Mat{1,1}.Mux=1.124;
Mat{1,1}.Muy=1.124;
Mat{1,1}.Hc=800000;
Mat{1,1}.BHPoints=[];
inputStruct1.Pair=PairNum;
inputStruct1.A=10;
inputStruct1.B=28;
inputStruct1.C=35;
inputStruct1.D=52;
inputStruct1.OuterMagnetSize=[8,3];
inputStruct1.InnerMagnetSize=[8,3];
inputStruct1.Width=20;
paramsStruct1.Material=Mat;
paramsStruct1.Dx=0;
paramsStruct1.Dy=0;
Conn= connection.MagnetCoupling(paramsStruct1, inputStruct1);
Conn= Conn.solve();
Plot2D(Conn);
Plot3D(Conn);
Step=360/PairNum/20;
Angle=NaN(1,21);
Torque=NaN(1,21);
for i=1:21
Angle(i)=Step*(i-1);
paramsStruct1.Rot=Step*(i-1);
Conn= connection.MagnetCoupling(paramsStruct1, inputStruct1);
Conn= Conn.solve();
Conn=CalMagneticField(Conn);
Torque(i)=Conn.output.FEA_Force(3);
end
figure
plot(Angle,Torque)
在Baffalo中建立磁力联轴器,程序会调用FEMM计算磁场和扭矩。
![]() | ![]() |
通过设置旋转的角度,来计算其峰值扭矩,下图分别为0°,22.5°,45°下的磁场
![]() | ![]() |

得到扭矩和角度的关系如下,最大扭矩在1200 Nmm左右。

Magnet Coupling stiffness (Flag=2)
联轴器参数不变,定义额定扭矩在800Nmm左右,计算X方向的刚度。
S=RMaterial('Magnetic');
Mat=GetMat(S,[36,72,92]'); % Set Material
PairNum=8;
Mat{1,1}.Mux=1.124;
Mat{1,1}.Muy=1.124;
Mat{1,1}.Hc=800000;
Mat{1,1}.BHPoints=[];
inputStruct1.Pair=PairNum;
inputStruct1.A=10;
inputStruct1.B=28;
inputStruct1.C=35;
inputStruct1.D=52;
inputStruct1.OuterMagnetSize=[8,3];
inputStruct1.InnerMagnetSize=[8,3];
inputStruct1.Width=20;
paramsStruct1.Material=Mat;
paramsStruct1.Rot=11.25;
paramsStruct1.Dy=0;
Conn= connection.MagnetCoupling(paramsStruct1, inputStruct1);
Conn= Conn.solve();
Plot2D(Conn);
Plot3D(Conn);
Step=2/10;
Angle=NaN(1,11);
Fx=NaN(1,11);
for i=1:11
Angle(i)=Step*(i-1);
paramsStruct1.Dx=Step*(i-1);
Conn= connection.MagnetCoupling(paramsStruct1, inputStruct1);
Conn= Conn.solve();
Conn=CalMagneticField(Conn);
Fx(i)=Conn.output.FEA_Force(1);
end
figure
plot(Angle,Fx)
根据上一案例中,设置旋转角度为11.25°。

![]() | ![]() |
磁场分布如下(0mm,2mm):
![]() | ![]() |
位移和力的关系:

参考文献
本网站基于Hexo 3-Hexz主题生成。如需转载请标注来源,如有错误请批评指正,欢迎邮件至 392176462@qq.com