BoltJoint
介绍
BoltJoint类参考VDI 2230规范编写的6种连接类型的工程计算方法。
原理
螺栓和夹持件刚度
螺栓和夹持件可以比作两根弹簧:
a) 初始状态下,螺栓未拧紧,螺栓和夹持件处于松弛状态;
b) 预紧状态,螺栓拧紧,此时螺栓所受的拉力与夹持件所受的压力相等,均为$F_V$
c) 工作状态,受到总的拉力为$F_A$,螺栓和夹持件的变形相同$f_{SA}=f_{PA}$,但两者所受的力不同,这跟螺栓和夹持件的柔度相关。
因此要做螺栓的受力分析和计算,本质即考虑如何用工程算法求出螺栓和夹持件的刚度之比。


VDI 2230给出了螺栓受力的公式,为两种受力状态的叠加(受拉和受弯),从这里可以看出VDI 2230工程计算并没有考虑受剪影响,因此对于一些抗剪力节点构造,比如钢结构,也需参考对应的规范进行计算。
螺栓柔度:
$$
\delta_s=\delta_{SK}+\delta_1+\delta_2+…\delta_{Gew}+\delta_{GM}
$$
对照下图,可以看出:
$\delta_{SK}$为螺栓头柔度,$\delta_i$为螺杆无螺纹处各段柔度,$\delta_{Gew}$为未旋合段螺纹柔度,$\delta_{GM}$旋合段螺纹柔度。值得注意的是螺栓头和旋合处螺纹的柔度只取了一部分长度,这是因为螺纹咬合时只有前几个牙受力,需要对柔度进行折减。

夹持件柔度:
对于夹持件的柔度,我们需要引入应力锥的概念,可以看到应力呈现一个锥形向下分布,因此我们只需要求锥体的刚度即可,VDI做了大量的试验,并拟合了巨量的公式,对不同情况下的锥体柔度进行拟合和计算,此处不再赘述,可以查看对应的规范。

载荷引入系数
为了考虑偏心弯曲情况下,螺栓节点会发生变形,会影响载荷分配,VDI 2230 引入了载荷引入系数n来考虑加载点位置的影响,总共考虑了如下6种节点的影响。


使用时首先选择对应的节点,计算$l_A$和$ak$值,带入下表进行插值求解。VDI 2230附录C介绍了载荷系数的工程求解方法,但具体过程非常繁琐,应用起来不是很方便。

安全系数
得到各部件的柔度和载荷引入系数,就可以计算螺栓和夹持件的应力。
首先计算载荷系数:
$$
\Phi_n=n\frac{\delta_p+\delta_{pzu}}{\delta_s+\delta_p}
$$
式中,$\delta_p$为夹持件的柔度,$\delta_{pzu}$为回弹补偿的柔度
螺栓受到的力为:
$$
F_s=F_V+\Phi F_A
$$
式中,$F_V$为预紧力,$F_A$为工作状态下受到的轴向拉力。
螺栓受到的拉力为:
$$
\sigma_z=F_s/A_s
$$
螺栓受到的等效应力为:
$$
\sigma_{red,B}=\sqrt{\sigma_z+3(k_{\tau}\tau)^2}
$$
式中,$k_\tau$为剪力的折减系数,$\tau$为螺栓受到的剪力。
极限的安全系数为:
$$
SF=\frac{R_p}{\sigma_{red,B}}
$$
类结构
输入 input:
- n : 载荷导入系数
- Nz : 循环次数
- ra : 摩擦半径
- MT : 扭矩
- FQ : 剪力
- FAmin : 最小轴向力
- FAmax : 最大轴向力
- ak : 连接体距离
- lA : 连接体长度
- DA: 外径
- DA1 : 外径(考虑周围环境的支撑效应)
- Clamping :夹持件厚度和材料
- Bolt : 螺栓类
参数 params:
- qF : 载荷传递分界面
- Name : 名称
- MuT : 夹持件的摩擦系数
- JointType : 连接类型
- ConShear : 考虑剪力
输出 output :
Phin: 载荷比
n :载荷导入系数
deltas : 螺纹外径
deltapzu : 螺纹中径
deltap : 螺纹小径
能力 capability :
- SG :滑移安全系数
- SF :屈服安全系数
- SD :疲劳安全系数
- SA :剪切安全系数
BoltJoint with axial force (VDI2230 example1 Flag=1)
inputStruct1.d=12;
inputStruct1.l=60;
inputStruct1.lk=42;
inputStruct1.dh=13.5;
paramsStruct1.ThreadType=1;
paramsStruct1.alphaA=1.8;
paramsStruct1.MuG=0.1;
paramsStruct1.MuK=0.1;
paramsStruct1.Nut=0;
paramsStruct1.NutWasher=0;
paramsStruct1.Washer=0;
M12Bolt= bolt.Bolt(paramsStruct1, inputStruct1);
M12Bolt= M12Bolt.solve();
Plot2D(M12Bolt);
Plot3D(M12Bolt);
disp(M12Bolt.output.deltas)
inputStruct2.Bolt=M12Bolt;
inputStruct2.DA=40;
inputStruct2.DA1=40;
inputStruct2.FAmax=24900;
% inputStruct2.DA=40;
% inputStruct2.DA1=40;
inputStruct2.Clamping=[42,1];
inputStruct2.lA=4.2;
paramsStruct2.JointType='SV4';
BoltJoint=bolt.BoltJoint(paramsStruct2, inputStruct2);
BoltJoint= BoltJoint.solve();
disp(BoltJoint.output.deltap)
PlotCapacity(BoltJoint)
螺栓柔度对比
我们拿kisssoft与Baffalo bolt计算的螺栓柔度进行对比,
不包含垫片和螺母:
首先不考虑螺母和垫片,选择M12螺栓,长度为60mm, 夹持长度为42mm, 螺栓孔直径为13.5mm。Kisssoft设置如下所示:


点击计算,查看螺栓柔度:

可以看到输出的结果和kisssoft保持一致
2.9484e-06
垫片影响:
接着我们考虑螺栓头下增加垫片,理论上因为螺栓的夹持长度增加,螺栓会变柔,柔度系数增大。在Kisssoft中勾选以下选项:

输出的螺栓柔度:

在Baffalo中打开垫片选项:
paramsStruct1.Washer=1;
输出结果依然一致,可以看到整体螺栓的柔度增加。
3.1084e-06
在很多情况下,遇到螺栓计算的极限或疲劳问题时,增加螺栓的夹持长度,即增大螺栓柔度,有助于螺栓降载荷。
夹持件柔度对比
夹持件的柔度会影响载荷分配,螺栓应力锥的范围是计算柔度的关键
DA=80 mm:
在Kisssoft中将$D_A$和$D_A’$设置为80mm,观察输出的夹持件柔度,夹持件的柔度为3.020825e-7 mm/N。


inputStruct2.Bolt=M12Bolt;
inputStruct2.DA=80;
inputStruct2.DA1=80;
inputStruct2.FAmax=24900;
% inputStruct2.DA=40;
% inputStruct2.DA1=40;
inputStruct2.Clamping=[42,1];
inputStruct2.lA=4.2;
paramsStruct2.JointType='SV4';
BoltJoint=bolt.BoltJoint(paramsStruct2, inputStruct2);
BoltJoint= BoltJoint.solve();
disp(BoltJoint.output.deltap)
disp(BoltJoint.output.SF)
disp(BoltJoint.output.SD)
输入以上代码,Baffalo输出的结果为:
3.0208e-07
DA=40 mm:
在Kisssoft更改将$D_A$和$D_A’$为40mm,此时外径减小,柔度增加到3.963215e-7 mm/N

Baffalo输出结果为:
3.9632e-07
两者结果一致。
安全系数对比
按照下图设置载荷,最大轴力为24900N,连接类型为SV4,$l_A$设置为4.2mm。

同时将嵌入量造成的预紧力损失关掉,这里会考虑表面粗糙度带来的预紧力损失,个人觉得考虑这个有点矫枉过正,德国人有点太严谨了,这个参数本身的影响也比较小。

算出来的SF为1.15

Baffalo的结果为:
1.1455
两者基本一致。
BoltJoint with shearing force (VDI2230 example3 Flag=2)
VDI2230第三个例子是一个飞轮螺栓拧紧计算,需要注意的是螺栓是空心的,空心螺栓与实心螺栓的截面积和拧紧所需的力矩不一样,需要对公式进行修正。

为了方便对比,本人对案例进行了修改,采用kisssoft对matlab结果进行校验。
螺栓建模
在螺栓建模方面,引入空心螺栓,同时针对螺栓力矩计算进行修正。
如下为修正后的预紧下螺栓的轴向力,引入了内径$d_0$的影响。

inputStruct1.d=27;
inputStruct1.l=36;
inputStruct1.lk=7;
inputStruct1.dh=29;
inputStruct1.d0=16;
paramsStruct1.ThreadType=2;
paramsStruct1.alphaA=1.6;
paramsStruct1.MuG=0.1;
paramsStruct1.MuK=0.1;
paramsStruct1.Nut=0;
paramsStruct1.NutWasher=0;
paramsStruct1.Washer=1;
paramsStruct1.BoltType=0;
paramsStruct1.Strength='8.8';
M27Bolt= bolt.Bolt(paramsStruct1, inputStruct1);
M27Bolt= M27Bolt.solve();
Plot2D(M27Bolt);
Plot3D(M27Bolt);
![]() | ![]() |
目前我还不能够自由的定义螺栓形态,在kisssoft中的螺栓截面定义需要做一些改正以方便对比,将自定义螺杆处的直径改为螺纹中径25.1236.

同时把嵌入两改为0mm, 此时计算得到的最大预紧力为169kN

螺栓节点计算
S=RMaterial('Basic');
Mat=GetMat(S,38);
inputStruct2.Bolt=M27Bolt;
inputStruct2.DA=48;
inputStruct2.DA1=72;
inputStruct2.FAmax=0;
inputStruct2.FAmin=0;
inputStruct2.Clamping=[7,1];
inputStruct2.MT=110000;
inputStruct2.ra=19.5;
paramsStruct2.MuT=0.1;
paramsStruct2.Material=Mat;
paramsStruct2.JointType='SV1';
BoltJoint=bolt.BoltJoint(paramsStruct2, inputStruct2);
BoltJoint= BoltJoint.solve();
disp(BoltJoint.capacity.SF)
disp(BoltJoint.capacity.SG)
PlotCapacity(BoltJoint)
计算得到的安全系数如下:
SF:
1.1373
SG:
1.8582
绘制节点安全系数,注意此图中系数会除以实现定义的阈值,比如VDI2230中建议SG>1.2,该图中的SG/1.1=1.55

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