matlab曲柄滑块机构的运动学仿真.docx
- 文档编号:3306182
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:10
- 大小:252.05KB
matlab曲柄滑块机构的运动学仿真.docx
《matlab曲柄滑块机构的运动学仿真.docx》由会员分享,可在线阅读,更多相关《matlab曲柄滑块机构的运动学仿真.docx(10页珍藏版)》请在冰豆网上搜索。
matlab曲柄滑块机构的运动学仿真
《系统仿真与matlab》综合试题
题 目:
曲柄滑块机构的运动学仿真
编号:
21
难度系数:
姓名
班 级
学号
联系方式
成绩
《系统仿真与matlab》综合试题ﻩ1
一、引言ﻩ3
1、实例题目ﻩ3
2、运动分析3
三、MATLAB程序编写ﻩ5
五、结语ﻩ10
一、引言
曲柄滑块机构是指用曲柄和滑块来实现转动和移动相互转换的平面连杆机构,也称曲柄连杆机构。
曲柄滑块机构广泛应用于往复活塞式发动机、压缩机、冲床等的主机构中,把往复移动转换为不整周或整周的回转运动;压缩机、冲床以曲柄为主动件,把整周转动转换为往复移动.这里使用运动学知识,对其运动进行解析,并用MATLAB为其设计仿真模块。
二、运动学分析
1、实例题目
对图示单缸四冲程发动机中常见的曲柄滑块机构进行运动学仿真。
已知连杆长度:
,连杆的转速:
,
设曲柄r2以匀速旋转,
。
初始条件:
。
仿真以
为输入,计算
和
仿真时间0。
5s。
2、运动分析
建立封闭矢量方程:
r2+r3=r1 (9)
将(9)式分解到x与y轴坐标上,得到:
r2cosθ2+r3cosθ3=r1
r2sinθ2+r3sinθ3=0 (10)
可得:
r1=r2cosθ2+r3cosθ3
θ3=—arcsin(r2/r3) (11)
对(10)式对时间求导得:
ﻩﻩﻩ—r2ω2sinθ2+r3ω3sinθ3=v1
ﻩﻩﻩﻩr2ω2cosθ2+r3ω3cosθ3=0(12)
将上式用矩阵形式表示,令:
ﻩﻩﻩA=[r3sinθ3 1
-r3cosθ3 ﻩ0]
ﻩﻩﻩﻩX=[ω3
ﻩﻩﻩﻩv1]
ﻩﻩﻩﻩB=[—r2ω2sinθ2
ﻩﻩﻩr2ω2cosθ2]
则(12)可表示为:
AX=B。
ﻩ(13)
从而可解出ω3与v1。
三、MATLAB程序编写
源代码如下:
functionvarargout=z1(varargin)
%Z1 MATLAB codeforz1.fig
% Z1, byitself,createsa new Z1 orraisestheexisting
% singleton*.
%
% H=Z1returnsthe handletoanewZ1orthehandleto
% the existingsingleton*.
%
% Z1('CALLBACK’,hObject,eventData,handles,。
.。
)calls the local
% functionnamed CALLBACKinZ1.M withthe giveninput arguments.
%
% Z1(’Property’,'Value',...) createsa new Z1orraisesthe
% existingsingleton*.Starting fromthe left,propertyvaluepairsare
% appliedto theGUIbefore z1_OpeningFcngetscalled.An
% unrecognizedpropertyname orinvalidvalue makes property application
% stop。
All inputsarepassedto z1_OpeningFcnvia varargin.
%
% *SeeGUIOptionson GUIDE’s Toolsmenu. Choose"GUIallowsonlyone
% instanceto run(singleton)".
%
% Seealso:
GUIDE,GUIDATA,GUIHANDLES
%Edittheabovetext to modifytheresponse tohelpz1
%LastModifiedby GUIDEv2.529—Dec—201622:
57:
13
%Begininitializationcode—DONOTEDIT
gui_Singleton=1;
gui_State=struct(’gui_Name', mfilename,..。
’gui_Singleton', gui_Singleton,。
。
.
’gui_OpeningFcn’,@z1_OpeningFcn,..。
'gui_OutputFcn', @z1_OutputFcn,。
。
。
'gui_LayoutFcn’,[],..。
'gui_Callback’,[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback =str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%End initializationcode —DONOTEDIT
%-——Executesjustbeforez1ismade visible。
functionz1_OpeningFcn(hObject,eventdata, handles, varargin)
% Thisfunctionhasnooutputargs,seeOutputFcn.
%hObject handle to figure
%eventdata reserved—tobe definedin afutureversion ofMATLAB
% handles structure with handlesand userdata(seeGUIDATA)
%varargincommandlineargumentstoz1(seeVARARGIN)
% Choosedefaultcommand line outputfor z1
handles.output =hObject;
%Updatehandlesstructure
guidata(hObject,handles);
axes(handles。
axes3)
map1=imread(’1。
bmp');
imshow(map1)
%UIWAITmakesz1 wait foruserresponse(seeUIRESUME)
%uiwait(handles.figure1);
%---Outputsfromthis function are returned tothecommand line.
functionvarargout =z1_OutputFcn(hObject, eventdata, handles)
% varargoutcellarrayforreturningoutput args(see VARARGOUT);
%hObjecthandleto figure
% eventdatareserved -tobe definedin a futureversion ofMATLAB
%handlesstructurewithhandles anduserdata (seeGUIDATA)
%Getdefaultcommand lineoutputfromhandlesstructure
varargout{1} =handles.output;
%———Executes onbuttonpressinpushbuttonRun.
functionpushbuttonRun_Callback(hObject,eventdata,handles)
%主要计算程序
r2=0.1;%单位m
r3=0.4;%单位m
omiga2=str2double(get(handles.edit1,'String'));;%单位rad/s
x11=1:
500%单位ms
for i=1:
500
theta2(i)=i*omiga2/1000;
theta3(i)=asin(-r2/r3*sin(theta2(i)));
B=[-r2*omiga2*sin(theta2(i));r2*omiga2*cos(theta2(i))];
A=[r3*sin(theta3(i))1;-r3*cos(theta3(i))0];
X=inv(A)*B;
omiga3(i)=X(1,1);
v3(i)=X(2,1);
end
axes(handles。
axes1)%制表1
plot(x11/1000,omiga3);
xlabel('时间(t/s)')
ylabel(’连杆角速度ω3(rad/s)’)
axes(handles。
axes2) %制表2
plot(x11/1000,v3);
xlabel(’时间(t/s)')
ylabel(’滑块速度v1(m/s)')
%hObject handleto pushbuttonRun(seeGCBO)
% eventdatareserved- tobedefined in a future versionofMATLAB
%handlesstructurewithhandles anduserdata(see GUIDATA)
functionedit1_Callback(hObject,eventdata, handles)
%hObject handletoedit1(seeGCBO)
%eventdata reserved — to be definedinafutureversion ofMATLAB
%handles structurewithhandlesanduser data(seeGUIDATA)
%Hints:
get(hObject,'String’)returnscontentsofedit1 astext
% str2double(get(hObject,’String’))returnscontentsofedit1asadouble
%-—-Executesduringobjectcreation,aftersettingallproperties。
functionedit1_CreateFcn(hObject,eventdata,handles)
% hObject handletoedit1(seeGCBO)
%eventdatareserved—to bedefinedin afuture versionof MATLAB
%handles empty -handlesnotcreated untilafterallCreateFcnscalled
%Hint:
editcontrolsusuallyhave a whitebackgroundonWindows.
%See ISPC andCOMPUTER。
ifispc&&isequal(get(hObject,'BackgroundColor’),get(0,'defaultUicontrolBackgroundColor’))
set(hObject,'BackgroundColor','white');
end
%——— Executesonbuttonpressin pushbuttonExit。
functionpushbuttonExit_Callback(hObject, eventdata, handles)
ss=questdlg(’确认退出?
',’退出信息窗口!
','继续仿真!
’,’退出仿真!
’,’退出仿真!
’);
switchss
case'退出仿真!
'
delete(handles.figure1);
end
%hObject handletopushbuttonExit(seeGCBO)
%eventdata reserved—tobedefined inafuture versionofMATLAB
%handles structurewithhandlesanduser data(seeGUIDATA)
四、使用指南和实例仿真
进入MATLAB软件,打开并运行程序.
初始界面:
对ω2的值进行修改,修改为实例中的50*2*pi=314。
16,点击开始仿真按钮,得到仿真结果:
点击退出仿真按钮,进入退出界面:
点击继续仿真按钮,则回到程序界面;点击退出仿真按钮,则退出程序。
五、结语
由四,通过MATLAB仿真得到的结果与实际情况符合。
通过该次作业,我了解并初步掌握了MATLAB的语言编写和guide界面的使用,巩固并加深了对课上知识的理解,受益良多。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 曲柄 机构 运动学 仿真