欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    哈工大机械设计V带传动电算设计说明书-Matlab-GUI版.docx

    • 资源ID:1135536       资源大小:2.19MB        全文页数:25页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    哈工大机械设计V带传动电算设计说明书-Matlab-GUI版.docx

    目录1.设计方案21.1设计要求21.2设计思路21.3设计程序框图22.程序源码42.1开始界面42.2设计界面52.3导入表格182.4清除界面193.变量说明204.程序运行结果214.1不同带型不同直径结果214.2 多组可选的值264.3特殊工作情况274.4容错功能275.参考文献281.设计方案1.1设计要求1程序中的变量名应尽可能与使用教材或标准相一致.2程序中的变量名应给以适当的注释,如名称、单位等,增加程序易读性和易用性.3程序头部应给出程序的适用范围.4程序输出结果应完整给出机械零部件设计需要的几何与结构参数.1.2设计思路考虑到设计中需要许多表格数据,所以采用Matlab进行编程,这样的话将书中的表格键入.mat文件中,方便编程计算的时候调用,大大简化了编程的工作量,同时也提高了软件的计算效率.要让软件智能就要让人的参与度越少越好,软件在内部对数据进行处理,只给出一些存在范围的参数供用户选择输入,比如带的型号,基准直径,预估中心距等等.而其余的相关系数在用户输入相关的原始数据之后便通过程序自动确定了.输入所要设计的V带的原始数据之后,通过查看选型图确定V带的型号,对于不同的型号V带在满足传动比误差以与带速度的条件的前提下,经计算有若干基准直径可供设计选用,或者没有满足条件的,则说明没有符合条件的设计.假设存在符合条件,选择完基准直径,由于预估中心距满足以下的不等式:,由此预估中心距存在一个范围,用户需要自己选择合适的,这一点很好的体现了人机交互,在这之后以用户确定的参数为基准进行后续的计算,并输出最终的设计结果,至此整个设计过程结束.当然用户可以通过选择不同的基准直径以与输入合理范围内不同的预估中心距来比较设计的结果,最终选择合适的设计方案.1.3设计程序框图 N Y NY Y N Y Y2.程序源码本软件是基于Matlab R2014a编制的,总共有4个.m文件,下面是个文件的源代码,与相关的说明.2.1开始界面文件名为V_Belt_Design_Wele.m,该文件为程序的开始界面.%-%-机械设计电算V带传动设计-开始界面%- function varargout = V_Belt_Design_Wele<varargin>gui_Singleton = 1;gui_State = struct<'gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningF', V_Belt_Design_Wele_OpeningF, . 'gui_OutputF', V_Belt_Design_Wele_OutputF, . 'gui_LayoutF', , . 'gui_Callback', >if nargin && ischar<varargin1> gui_State.gui_Callback = str2func<varargin1>end if nargout varargout1:nargout = gui_mainf<gui_State, varargin:>else gui_mainf<gui_State, varargin:>end% 以上为初始化语句,勿修改! function V_Belt_Design_Wele_OpeningF<hObject, eventdata, handles, varargin> handles.output = hObject;guidata<hObject, handles> function varargout = V_Belt_Design_Wele_OutputF<hObject, eventdata, handles> varargout1 = handles.output; function pushbutton1_Callback<hObject, eventdata, handles>close<V_Belt_Design_Wele>run<V_Belt_Design> function pushbutton2_Callback<hObject, eventdata, handles>open< 'Readme.html'>2.2设计界面文件名为V_Belt_Design.m,该文件为程序的设计计算界面.%-%-机械设计电算V带传动设计-设计界面%-function varargout = V_Belt_Design<varargin>gui_Singleton = 1;gui_State = struct<'gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningF', V_Belt_Design_OpeningF, . 'gui_OutputF', V_Belt_Design_OutputF, . 'gui_LayoutF', , . 'gui_Callback', >if nargin && ischar<varargin1> gui_State.gui_Callback = str2func<varargin1>end if nargout varargout1:nargout = gui_mainf<gui_State, varargin:>else gui_mainf<gui_State, varargin:>end% 以上为初始化语句,勿修改! function V_Belt_Design_OpeningF<hObject, eventdata, handles, varargin> handles.output = hObject;guidata<hObject, handles> function varargout = V_Belt_Design_OutputF<hObject, eventdata, handles> varargout1 = handles.output; %-%- function PrimeMotor_Callback<hObject, eventdata, handles>function PrimeMotor_CreateF<hObject, eventdata, handles>if ispc && isequal<get<hObject,'BackgroundColor'>, get<0,'defaultUicontrolBackgroundColor'>> set<hObject,'BackgroundColor','white'>end function WorkingHours_Callback<hObject, eventdata, handles>function WorkingHours_CreateF<hObject, eventdata, handles>if ispc && isequal<get<hObject,'BackgroundColor'>, get<0,'defaultUicontrolBackgroundColor'>> set<hObject,'BackgroundColor','white'>end %-设计计算按钮-function pushbutton1_Callback<hObject, eventdata, handles> clc;Load_Table; %导入相关表格global Pd;global dd1;global dd2;global a0min;global a0max;i=str2double<get<handles.edit3,'String'>>%传动比n1=str2double<get<handles.edit2,'String'>>%小带轮转速<r/min>a0=str2double<get<handles.edit17,'String'>> %-%-图5.17带型选取表,5.1查m<kg/m>-%-TYPE=get<handles.BeltType,'value'>switch TYPE case 2 BeltType=2;%'Z' m=0.06;%质量 ddMIN=dd_for_Z;%重新统一命名 rang_dd=length<ddMIN>%可供选择直径的数目 case 3 BeltType=3;%'A' m=0.1; ddMIN=dd_for_A; rang_dd=length<ddMIN> case 4 BeltType=4;%'B' m=0.17; ddMIN=dd_for_B; rang_dd=length<ddMIN>-3;%去掉表格中的0 case 5 BeltType=5;%'C' m=0.3; ddMIN=dd_for_C; rang_dd=length<ddMIN>-7; case 6 BeltType=6;%'D' m=0.6; ddMIN=dd_for_D; rang_dd=length<ddMIN>-10; case 7 BeltType=7;%'E' m=0.9; ddMIN=dd_for_E; rang_dd=length<ddMIN>-13; otherwise errordlg<' 请查图选择带型','错误提示'> end %-%-表5.4带轮基准直径的确定-%-num_of_dd1=0;dd_choice=Table5_4P0<:,1>%将表5.4中的dd作为供选择的基准直径dd2for index_for_dd=1:1:rang_dd dd2_temp=i*ddMIN<index_for_dd> delta_dd2=abs<dd_choice-dd2_temp> dd2_m,index_dd2=min<delta_dd2> dd2_middle=dd_choice<index_dd2>%dd2_middle为选择dd2的一个国标中间变量 error=abs<<<dd2_middle-dd2_temp>/ddMIN<index_for_dd>>/i>%误差 if <error<=0.05> num_of_dd1=num_of_dd1+1; dd1<num_of_dd1>=ddMIN<index_for_dd> dd2<num_of_dd1>=dd2_middle; endend %为用户提供可选择的值dd1=num2str<dd1'>set<handles.dd1_user_selection,'string',dd1> %由用户选择的dd1的值计算dd2user_selection_value=get<handles.dd1_user_selection,'value'>dd1=str2num<dd1>dd1=dd1<user_selection_value>dd2=dd2<user_selection_value> %容错性,提示没有符合设计者要求dd1if num_of_dd1=0&&index_for_dd=rang_dd errordlg<' 没有满足设计要求dd1','错误提示'> str_0='没有满足设计要求dd1' set<handles.dd1_user_selection,'String',str_0>%避免出现不符合要求的dd1end %-%-速度验算-%-V=<pi*dd1*n1>/60000;VMAX=25;if V>= VMAX Clear_All; errordlg<' 带速不符合要求,请重新输入','错误提示'>end %判断用户是否已经输入a0 if <a0=0|a0<a0min|a0>a0max>&&user_selection_value=1 errordlg<' 请输入正确的a0','错误提示'>end %由表5.2选择基准长度LdLdBasic=2*a0+pi*<dd1+dd2>/2+<dd2-dd1>2/<4*a0>delta_Ld=abs<Table5_2KL<:,1>-LdBasic>Ld_m,index_Ld=min<delta_Ld>Ld=Table5_2KL<index_Ld,1> a=a0+<Ld-LdBasic>/2;%实际中心距 %小轮包角计算<度>ALF1=180-<<dd2-dd1>/a>*57.3; %-%-V带根数确定-%- Kb=Table5_5Kb<BeltType>if i>=1 && i<1.02 i_serial=1;else if i>=1.02 &&i<1.05 i_serial=2; else if i>=1.05 && i<1.09 i_serial=3; else if i>=1.09 && i<1.13 i_serial=4; else if i>=1.13 && i<1.19 i_serial=5; else if i>=1.19 && i<1.25 i_serial=6; else if i>=1.25 && i<1.35 i_serial=7; else if i>=1.35 && i<1.52 i_serial=8; else if i>=1.52 && i<2 i_serial=9; else i_serial=10; end end end end end end end endend %由大作业指导书P39表5.6计算P0K1=Table_P0factor<1,BeltType-1> K2=Table_P0factor<2,BeltType-1>K3=Table_P0factor<3,BeltType-1>P0=<K1*V<-0.09>-K2/dd1-K3*V2>*V; Kb=Table5_5Kb<BeltType>%由表5.5查得Ki=Table5_6Ki<i_serial>%由表5.6查得DIFP0=Kb*n1*<1-1/Ki>%功率增量%由表5.9确定包角修正系数KALFdelta_ALF1=abs<Table5_9Kalpha<1,:>-ALF1>ALF1_m,index_ALF1=min<delta_ALF1>KALF=Table5_9Kalpha<2,index_ALF1> %由表5.2确定长度系KLLd_row=Table5_2KL<:,1>Ld_serial=find<Ld_row=Ld>KL=Table5_2KL<Ld_serial,BeltType+1>%暂不考虑Y型带 %计算带的根数Z=round<Pd/<<P0+DIFP0>*KALF*KL>> %-%-初拉力的计算,作用在轴上的力计算-%-F0=500*Pd*<2.5-KALF>/<Z*V*KALF>+m*V2; FQ=2*Z*F0*sin<ALF1*pi/360>%ALF1得先转成弧度制 %-%-数据输出-%-Pdstr=num2str<Pd>dd1str=num2str<dd1>dd2str=num2str<dd2>Ldstr=num2str<Ld>astr=num2str<a>ALF1str=num2str<ALF1>Zstr=num2str<Z>F0str=num2str<F0>FQstr=num2str<FQ>set<handles.edit4,'String',Pdstr>set<handles.edit5,'String',dd1str>set<handles.edit6,'String',dd2str>set<handles.edit7,'String',Ldstr>set<handles.edit8,'String',astr>set<handles.edit9,'String',ALF1str>set<handles.edit10,'String',Zstr>set<handles.edit11,'String',F0str>set<handles.edit12,'String',FQstr>%-%-选择工作机,表5.7工作情况系数KA的确定-%-function LoadChoose_SelectionChangeF<hObject, eventdata, handles>global loading;loading=0;Load_State=get<eventdata.NewValue,'Tag'>switch Load_State case 'steady'%载荷平稳 loading=1; set<handles.WokingExample,'String','液体搅拌机;离心式水泵;通风机和鼓风机<P7.5kW>离心式压缩机;轻型输送机'> case 'smallchange'%载荷变动小 loading=2; set<handles.WokingExample,'String','带式运输机;发电机;旋转式水泵;金属切削机床;剪床;压力机;印刷机;振动筛通风机<7.5kW>'> case 'bigchange'%载荷变动较大 loading=3; set<handles.WokingExample,'String','螺旋式运输机;斗式提升机;往复式水泵和压缩机;锻锤;磨粉机;锯木机和木工机械;纺织机械'> case 'superchange'%载荷变动很大 loading=4; set<handles.WokingExample,'String','破碎机<旋转式、鄂式等>球磨机;棒磨机;起重机;挖掘机;橡胶辊压机'> otherwise errordlg<' 请选择工作机工作情况','错误提示'> end function pushbutton2_Callback<hObject, eventdata, handles>global loading;global Pd;Load_Table;P=str2double<get<handles.edit1,'String'>>%额定功率<kW> %-%-表5.7工作情况系数KA的确定-%-设计功率的确定-%- %选择一天工作时间Hours=get<handles.WorkingHours,'value'>switch Hours case 2 TimeLength=1;% <10 case 3 TimeLength=2;% 1016 case 4 TimeLength=3;% >16 otherwise errordlg<' 请选择一天工作时间','错误提示'> end %选择原动机工作类型MotorType=get<handles.PrimeMotor,'value'>switch MotorType %表5.7工作情况系数KA的确定 case 2 KA=Table5_7KA<loading,TimeLength> case 3 KA=Table5_7KA<loading,TimeLength+3> otherwise errordlg<' 请选择原动机工作类型','错误提示'> end%反复启动、正反转频繁、工作条件恶劣if get<handles.special_situation,'Value'>=1 KA=1.1*KA;End%设计功率确定Pd=KA*P;Pdstr=num2str<Pd>set<handles.edit4,'String',Pdstr> %输出设计功率V_type=imread<'V_Type.jpg'> axes<handles.axes1>imshow<V_type> %选型图显示%-%-V带中心距和长度确定-%-function dd1_user_selection_Callback<hObject, eventdata, handles>global dd1;global dd2;global a0min;global a0max;a0min=0.7*<dd1+dd2>a0max=2*<dd1+dd2>a0minstr=num2str<a0min>a0maxstr=num2str<a0max>set<handles.edit15,'String',a0minstr>set<handles.edit16,'String',a0maxstr>user_selection_value=get<handles.dd1_user_selection,'value'>pushbtstr1='查看设计值'if user_selection_value=1 set<handles.pushbutton1,'String',pushbtstr1>end function BeltType_Callback<hObject, eventdata, handles> TYPE=get<handles.BeltType,'value'>pushbtstr='查看dd1的值'if TYPE=1 set<handles.pushbutton1,'String',pushbtstr>endfunction pushbutton3_Callback<hObject, eventdata, handles>Clear_All; %清除界面 function pushbutton4_Callback<hObject, eventdata, handles>%跳转至开始界面close<V_Belt_Design> run<V_Belt_Design_Wele>%-%-相关控件的库函数-%-function BeltType_CreateF<hObject, eventdata, handles>if ispc && isequal<get<hObject,'BackgroundColor'>, get<0,'defaultUicontrolBackgroundColor'>> set<hObject,'BackgroundColor','white'>end function edit1_Callback<hObject, eventdata, handles>function edit1_CreateF<hObject, eventdata, handles>if ispc && isequal<get<hObject,'BackgroundColor'>, get<0,'defaultUicontrolBackgroundColor'>> set<hObject,'BackgroundColor','white'>end function edit2_Callback<hObject, eventdata, handles>function edit2_CreateF<hObject, eventdata, handles>if ispc && isequal<get<hObject,'BackgroundColor'>, get<0,'defaultUicontrolBackgroundColor'>> set<hObject,'BackgroundColor','white'>end function edit3_Callback<hObject, eventdata, handles>function edit3_CreateF<hObject, eventdata, handles>if ispc && isequal<get<hObject,'BackgroundColor'>, get<0,'defaultUicontrolBackgroundColor'>> set<hObject,'BackgroundColor','white'>end function edit4_Callback<hObject, eventdata, handles>function edit4_CreateF<hObject, eventdata, handles>if ispc && isequal<get<hObject,'BackgroundColor'>, get<0,'defaultUicontrolBackgroundColor'>> set<hObject,'BackgroundColor','white'>end function edit5_Callback<hObject, eventdata, handles>function edit5_CreateF<hObject, eventdata, handles>if ispc && isequal<get<hObject,'BackgroundColor'>, get<0,'defaultUicontrolBackgroundColor'>> set<hObject,'BackgroundColor','white'>end function edit6_Callback<hObject, eventdata, handles>function edit6_CreateF<hObject, eventdata, handles>if ispc && isequal<get<hObject,'BackgroundColor'>, get<0,'defaultUicontrolBackgroundColor'>> set<hObject,'BackgroundColor','white'>end function edit7_Callback<hObject, eventdata, handles>function edit7_CreateF<hObject, eventdata,

    注意事项

    本文(哈工大机械设计V带传动电算设计说明书-Matlab-GUI版.docx)为本站会员(李司机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开