分享好友 编程语言首页 频道列表

用于微型四轮驱动的 6T 小齿轮原型和使用 MATLAB 的 FEM 结构分析

matlab  2023-03-08 11:030

介绍

我使用迷你 4WD 套件使用 Raspberry Pi 制作机器人汽车。
定制零件丰富且方便,因为它们在附近的商店很容易买到。
但是,由于Mini 4WD的速度非常快,因此在低速时很难控制速度。
因此,我使用 3D 打印机制作了自己的 6T 小齿轮,并尝试改变齿轮比。 ミニ四駆用6Tピニオンギアの試作とMATLAB を使ったFEM構造解析
成型小齿轮的强度也存在问题,因此我们改进了形状。
在这里,我们将尝试使用 MATLAB 进行 FEM 结构分析。

使用 3D 打印机制作的 6T 小齿轮原型

迷你四驱传动比

通过组合反转齿轮和正齿轮可以改变传动比。

传动比 反向齿轮 正齿轮
3.5:1 浅蓝 黄色
3.7:1 绿 黄色
4:1 黑色的 乌苏卡
4.2:1 红色的 乌苏卡
5:1 蓝色的 苍黄

如果你使用标准的Mini 4WD 8T小齿轮,最慢的齿轮比是5:1,但如果你使用6T小齿轮,它会是5*(8/6):1 ≒ 6.7:1。

3D模型

在左侧的形状中,旋转过程中的负载有时会在凹槽之间破裂。

立体光刻 3D 打印

材质 可水洗树脂
ミニ四駆用6Tピニオンギアの試作とMATLAB を使ったFEM構造解析

原型小齿轮的旋转运动

ミニ四駆用6Tピニオンギアの試作とMATLAB を使ったFEM構造解析

使用 MATLAB 进行 6T 小齿轮结构分析

使用的工具

演示文件

查看我创建的实时脚本演示GitHub发布到

定义解析表

%Analysis Table
tmp = {
        'Title'  'StlFile'  'YoungsModulus'   'PoissonsRatio'   'FixedFaceNo' 'LoadFaceNo'  'Preassure'  ;   
         'Type1 Teeth'  'pinion_gear_6t_1.stl'   1e9 0.3 [70 69] [41 41]  1.5e7 ;
         'Type2 Teeth'  'pinion_gear_6t_2.stl'   1e9 0.3 [105 77]  [41 41] 1.5e7    ;
         'Type1 Hole'  'pinion_gear_6t_1.stl'   1e9 0.3 [54] [53]  1e7 ;
         'Type2 Hole'  'pinion_gear_6t_2.stl'   1e9 0.3 [54]  [55] 1e7   ;
       };
AnalysisTable = cell2table(tmp(2:end,:));
AnalysisTable.Properties.VariableNames = tmp(1,:);

AnalysisNo = [1:4]; %Analysis No
N=length(AnalysisNo);
Tbl = AnalysisTable(AnalysisNo,:) 

分析模型创建

for i=1:N 
    model(i) = createpde('structural','static-solid');
    importGeometry(model(i),Tbl.StlFile{i});
    generateMesh(model(i));
end

在 3D 模型上显示人脸标签

[s,tbl_i]=unique(Tbl.StlFile);
for i=[tbl_i]'
    figure;
    pdegplot(model(i),'FaceLabels','on','FaceAlpha',0.5);
    title(Tbl.Title(i));
    view(30,30);
end

ミニ四駆用6Tピニオンギアの試作とMATLAB を使ったFEM構造解析

ミニ四駆用6Tピニオンギアの試作とMATLAB を使ったFEM構造解析

材料结构属性和载荷设置

for i=1:N
    structuralProperties(model(i),'YoungsModulus',Tbl.YoungsModulus(i), ...
                           'PoissonsRatio',Tbl.PoissonsRatio(i));
    structuralBC(model(i),'Face',Tbl.FixedFaceNo{i},'Constraint','fixed');

    structuralBoundaryLoad (model(i),'Face',Tbl.LoadFaceNo{i},'Pressure',Tbl.Preassure(i));
end

运行分析

for i=1:N
    result(i) = solve(model(i));
end

绘制组件位移

figure;
PlotCol=2;
for i=1:N
    subplot(ceil(N/PlotCol),PlotCol,i);
    pdeplot3D(model(i),'ColorMapData',result(i).Displacement.ux);
    title([Tbl.Title(i) " X-displacement"]);
    colormap('jet');
    caxis([0 1e-4]);
end

ミニ四駆用6Tピニオンギアの試作とMATLAB を使ったFEM構造解析

绘制组件应力

figure;
for i=1:N
    subplot(ceil(N/PlotCol),PlotCol,i);
    pdeplot3D(model(i),'ColorMapData',result(i).VonMisesStress);
    title([Tbl.Title(i) " Stress"]);
    colormap('jet');
    caxis([0 5e7]);
end

ミニ四駆用6Tピニオンギアの試作とMATLAB を使ったFEM構造解析

参考信息

最后

AutoDesk Fusion360等可用于业余目的的CAD也具有CAE分析功能。 MATLAB 脚本似乎具有可以同时分析各种模式的优势。


原创声明:本文系作者授权爱码网发表,未经许可,不得转载;

原文地址:https://www.likecs.com/show-308626084.html

查看更多关于【matlab】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
如何在Abaqus的python中调用Matlab程序
目录1. 确定版本信息2. 备份python3. 设置环境变量4. 安装程序5. 调试运行参考资料Abaqus2018操作系统Win10 64位Python版本2.7(路径C:\SIMULIA\CAE\2018\win_b64\tools\SMApy\python2.7)2. 备份python将上述的“python2.7”文件夹复制出来,避免因操作错误

0评论2023-03-16608

ROS与Matlab系列:一个简单的运动控制 基于matlab的运动控制系统
转自:http://blog.exbot.net/archives/2594Matlab拥有强大的数据处理、可视化绘图能力以及众多成熟的算法函数,非常适合算法开发;在控制系统设计中,Simulink也是普遍使用的设计和仿真工具。而ROS系统,则是一种新的标准化机器人系统软件框架。通过ROS,你

0评论2023-02-10920

matlab 遍历结构体struc的成员
MATLAB中专门用于对结构数组的操作的函数并不多,通过 help datatypes获取数据类型列表,可以看到其中的结构数据类型的有关的函数,主要如表4.3.1所示。表4.3.1 结构数组的操作函数函数名             功能描述 deal                 把输入处

0评论2023-02-09712

matlab编程如何换行 matlab怎么换行
空格+三个点+逗号

0评论2023-02-09691

C/C++中调用matlab引擎计算 matlab转c
原帖地址:http://blog.sina.com.cn/s/blog_6adcb3530101cvot.html一,在linux环境使用matlab引擎必须先进行一些必要的配置1,matlab引擎依赖/bin/csh启动,所以不管你使用何种shell,都必须安装csh。**2,matlab引擎依赖的动态库文件目录必须在系统当前的

0评论2023-02-09451

matlab几何纠正,间接法,双线性内插
超简洁,超级快,两个文件datapre.m文件代码:global X;global Y;global A;global l;global i;global I;global m;global n;global k;global dx;  A=[];l=[];i=0;m=[];n=[];dx=[]; fig=figure;subplot(1,2,1);I=imread('编程实习2-待纠正图像.bmp');imshow(I

0评论2023-02-09482

Matlab 根号的输入
二次根号:sqrt(a)或a^0.5三次根号:x^(1/3)或者x.^(1/3)根据x的数据结构类型矩阵、数组需要.^

0评论2023-02-09969

命令视频Matlab下查看摄像头设备信息
时间紧张,先记一笔,后续优化与完善。    应用如下2个命令:         info = imaqhwinfo('winvideo')    每日一道理 俄国作家契诃夫说:“有大狗,有小狗,小狗不该因为大狗的存在而心慌意乱。所有的狗都应该叫,就让他各自用上帝给他的声音

0评论2023-02-09957

How to use the HMM toolbox (Matlab)
一、离散输出的隐马尔科夫模型(DHMM,HMM with discrete outputs)最大似然参数估计EM(Baum Welch算法)The script dhmm_em_demo.m gives an example of how to learn an HMM with discrete outputs. Let there be Q=2 states and O=3 output symbols. We c

0评论2023-02-09459

permutation 随机置换检验的Matlab程序
假定a为某指标在10个样本中的值,5个一组,看以两组均值的差为例(统计量),随机置换检验程序 example: a: 230 -1350 -1580 -400 -760 970 110 -50 -190 -200v1=sum(a(1:5))/5;v2=sum(a(6:10))/5;T=abs(v1-v2);x=perms(a);      %矩阵a的全排列(随机全

0评论2023-02-09662

MATLAB学习1 之画图函数
ezplot适用条件“ezplot”命令可以用于显函数、隐函数和参数方程作图。不同函数的使用格式显函数y=f(x),ezplot函数的调用格式为ezplot(f, [xmin xmax]);              例:ezplot(\'sin(10*pi*x)/x\',[1 2]);%画出函数曲线隐函数f(x,y)=0,ezplot函数的

0评论2023-02-09591

Matlab 之 数据元素访问
Matlab的含义是矩阵实验室,其特征之一就是数据的向量化操作,借此提升软件运行效率。那么,必然会涉及数据元素的访问。Matlab主要支持下面一些形式的访问:(1)array-inde: A(i)(2)cell-index: C{i}(3)struct field: S.fieldname不同的访问方式,效

0评论2023-02-09994

matlab遍历文件夹下所有图片和遍历所有子文件夹下图片
做图像处理实验,经常需要遍历当前文件下所有图片。matlab当然很早就考虑了这个问题,库函数dir就是完成这个工作的。函数返回的是一个存放所有目录下文件信息的结构体,通过遍历结构体就可以达到访问所有文件的目的了。具体实现见下面程序:imgPath = 'E:/ima

0评论2023-02-09630

更多推荐