-
应用实例为三维空间中的机构受力
-
代码无误可以复现,其中代码编写参考书籍:《MATLAB理论力学》——程燕平
力学模型的建立与求解
对于本例的力学分析,涉及带轮、轴、链条、桁架、电机、拨叉等重要构件。其中也含有轴承的校核,对于主传动端,即电机(万向连轴)—>轴—>带轮(履带)。
结构示意图(单侧)如下:
图1 主传动端的结构示意图
其中履带的拉力设定为
按具体要求可取定
即
轴的一端连接采用万向联轴器与电机(动力源)结合,整体受到M大小的扭矩,带轮的直径在设计时定为D=210mm,履带的上下侧与铅垂线之间的夹角分别为
和
经过测量得到
从而来计算轴承座的约束力与履带的拉力。
以整个轴为研究对象,轴承A处与万向联轴器B处为一对正交分力,根据静力学定理,可按空间任意力系来构建平衡方程。具体方程组如下
所选联轴器:十字轴式万向联轴器
可以允许两轴间有较大的夹角最大夹角为
且在机器运转时,夹角发生改变仍能正常转动。夹角过大,会使传动效率显著降低。
计算联轴器的计算转矩:由于机器启动时代动载荷和运转中可能出现过载现象,故应当按轴上的最大转矩作为联轴器的计算转矩T_ca
如下式
其中T为公称转矩,单位为N.m
K_A为工作情况系数。
由于原动机为电动机,工作情况为转矩变换和冲击载荷中等的场合。
故可取
即
其中公称转矩
单位为N.mm,且有
其中驱动力矩大概为
用MATLAB进行求解,可以求得:
其中负号表示与图示方向相反。
下述代码是MATLAB语言编写的,作用是求解力学模型 :
clear;clc;%clean the workspace %理论力学——空间力系(静力学) tic try %specify the symbolic variables syms M D a b F1 F2 F_AX F_AZ F_BX F_BZ L_1 L_2 %write out the three equations as is eq1 = D*F2/2-D*F1/2+M == 0; eq2 = -L_1*cos(a)*F1-L_1*cos(b)*F2+L_2*F_BZ == 0; eq3 = L_1*sin(a)*F1-L_1*sin(b)*F2+L_2*F_BX == 0; eq4 = F_AZ+F_BZ+cos(a)*F1+cos(b)*F2 ==0; eq5 = F_AX+F_BX+sin(a)*F1+sin(b)*F2 ==0 ; eq6 = F2 == 0.01*F1; %solve the equations symbolically sol = solve(eq1,eq2,eq3,eq4,eq5,eq6,F1,F2,F_AX,F_AZ,F_BX,F_BZ); %substitute values into the results var = [M D L_1 L_2 a b]; val = [18145 210 134 93 85*pi/180 pi/2]; F1=subs(sol.F1,var,val); F2=subs(sol.F2,var,val); F_AX = subs(sol.F_AX,var,val); F_AZ = subs(sol.F_AZ,var,val); F_BX = subs(sol.F_BX,var,val); F_BZ = subs(sol.F_BZ,var,val); %使得matlab的计算结果默认显示为小数 F1 = eval(F1); F2 = eval(F2); F_AX = eval(F_AX); F_AZ = eval(F_AZ); F_BX = eval(F_BX); F_BZ = eval(F_BZ); disp('该工程问题利用Matlab求解输出的F1为:');disp(F1) disp('该工程问题利用Matlab求解输出的F2为:');disp(F2) disp('该工程问题利用Matlab求解输出的F_AX为:');disp(F_AX) disp('该工程问题利用Matlab求解输出的F_AZ为:');disp(F_AZ) disp('该工程问题利用Matlab求解输出的F_BX为:');disp(F_BX) disp('该工程问题利用Matlab求解输出的F_BZ为:');disp(F_BZ) toc catch %程序异常处理 disp('代码运行过程中出现错误, 请检查!') end