机械设计普通V带设计电算程序

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

普通V带传动GUI设计说明书题目:V带传动GUI设计系别:机电工程学院班号:1008102学号:1100800418姓名:陈丁日期:2012年10月16一、普通V带传动设计内容和任务1、普通V带传动设计内容给定原始数据:传递的功率P,小带轮转速n1,传动比i,工作条件。设计内容:带型号,基准长度Ld,根数Z,传动中心距a,小带轮基准直径dd1、大带轮基准直径dd2,初拉力F0,和压轴力Q,带轮轮缘宽度B。2、电算的任务:(1)编制V带传动设计程序框图。(2)编制V带传动设计原程序。(3)按习题或作业中数据运行程序,进行计算并输出所有结果。二、变量标识符序号名称代号标识符单位1名义功率PPkw2设计功率PdPdkw3工作情况系数KAKA4小带轮转速n1n1r/min5工作机载荷特性GZJ6原动机类型YDJ7工作时间TMIE8带型号Z、A…ETYPE9小带轮基准直径dd1dd1mm10大带论基准直径dd2dd2mm11带速vVm/s12最大带速vmaxVMAXm/s13预估中心距a0a0mm14实际中心距aamm15基准长度LdLdmm16小带轮包角α1ALF1度17V带根数ZZ18基本额定功率P0P0kw19功率增量ΔP0DIFP0kw20传动比系数KiKi21长度系数KLKL22包角系数KαKALF23弯曲影响系数KbKb24初拉力F0F0N25压轴力QQN26轮缘宽度BBmm27圆周率πPAI28环境判断XX29功能变量C、E…C、E…三、程序框图开始输入原始数据P,n,i并选择电机计算设计功率由带型号确定最大带速,小带轮直径系,带的相关参数m,f,e相关系数Kb确定带型号选择小带轮直径验算带速vvmax?计算大带轮直径给定范围,预估中心距AA计算Ld并取标准值,计算实际中心距并圆整计算小带轮包角计算选择相关系数:Kα,Ki。插值计算P0,计算ΔP0计算带根数ZZ10?计算相关参数结束下一型号带下一带轮直径BB四、使用说明本程序应该在matlab2012Ra中运行本程序使用很简单,可以对普通V带进行简单的设计,实现了自动化,使用者只需根据用户界面提示信息进行数据输入后按确定键就可进行相应的V带设计。根据计算,程序会提醒用户在若干推荐值中选取小带轮直径,并自动提示用户获取与理论大带轮值接近的值,提供中心距初始范围,即可算出所需结果,若不合格则可进行重复计算,也可进行在相同初始条件下地带轮重新计算。特殊功能:界面简洁,不用频繁切换即可完成,所有参数均显示在界面上,可以清楚的显示计算结果的,自动查找各种必要的修正系数。五、结果比较三种带型各三种直径共九个计算结果如下:根据计算结果可以看到,九组结果中,A型带的F0值偏小,FQ值随型号增加而减小,Z值也随型号和小带轮直径增加而减小,到C型带时,Z已接近于1。综合小带轮大小和受力大小,选择A型带中小带轮直径为125mm,中心距为500mm为设计尺寸。计算过程截图显示:程序可以显示错误和提醒六、程序源代码(matlab语言GUI编写)由于GUI界面编程自动生成函数较多,下面代码为核心代码。functionpushbutton1_Callback(hObject,eventdata,handles)%使用密码进入界面val1=get(handles.edit1,'string');val2=get(handles.edit2,'string');h=gcf;set(h,'resize','on')if(strcmp(val1,'陈丁')&&strcmp(val2,'1100800418'))jxsj_v4;set(h,'visible','off');elseerrordlg('错误!密码:陈丁、1100800418');endfunctionjxsj_v4_OpeningFcn(hObject,eventdata,handles,varargin)handles.output=hObject;globalKP0Klset(handles.tip,'String','请输入已知数据','Fontsize',12);Kl=xlsread('机械设计用.xlsx',1);KP0=xlsread('机械设计用.xlsx',2);set(gcf,'resize','on');guidata(hObject,handles);functionvarargout=jxsj_v4_OutputFcn(hObject,eventdata,handles)functionP_Callback(hObject,eventdata,handles)%传递功率回调函数globalPP=str2double(get(hObject,'String'));%传递(名义)功率functionn_Callback(hObject,eventdata,handles)%电机转速回调函数globaln1n1=str2double(get(hObject,'String'));%电机(小带轮)转速functionI_Callback(hObject,eventdata,handles)%传动比回调函数globalii=str2double(get(hObject,'String'));%传动比functionsure3_Callback(hObject,eventdata,handles)globalKaPPd;%%工作情况系数a(1,:,:)=[11.11.2;1.11.21.3;1.21.31.4;1.31.41.5];a(2,:,:)=[1.11.21.3;1.21.31.4;1.41.51.6;1.51.61.8];x=get(handles.YDJ,'Value');%工作机工作情况y=get(handles.GZJ,'Value');%原动机类别z=get(handles.TIME,'Value');%一天工作时间(h)Ka=a(x,y,z);%工作系数Kax1=get(handles.rbt1,'value');%是否反复启动x2=get(handles.rbt2,'value');%是否正反转频繁x3=get(handles.rbt3,'value');%工作条件是否恶劣if(x1+x2+x3)0Ka=1.1*Ka;endPd=Ka*P;%设计功率set(handles.Pd,'string',num2str(Pd));%显示设计功率的值set(handles.n1,'string',get(handles.n,'string'));%显示带轮转速的值set(handles.tip,'string','请根据设计功率Pd和带轮转速n,通过普通V带选型图选择V带带型','Fontsize',12);axis(handles.axes1);I=imread('普通V带选型图.png');imshow(I);%显示V带选型图functionTYPE_Callback(hObject,eventdata,handles)globaltypetype1=get(hObject,'Value');TypeStr=get(hObject,'string');type=TypeStr(type1);%工作机类型switch(type1)case1%Y型带的小带轮直径set(handles.DD1,'String',[202835.540]);case2%Z型带的小带轮直径set(handles.DD1,'String',[50637180]);case3%A型带的小带轮直径set(handles.DD1,'String',[7590100125]);case4%B型带的小带轮直径set(handles.DD1,'String',[125140160180]);case5%C型带的小带轮直径set(handles.DD1,'String',[200250315400]);case6%D型带的小带轮直径set(handles.DD1,'String',[355400450500]);otherwise%E型带的小带轮直径set(handles.DD1,'String',[500560630710]);endfunctionTIME_Callback(hObject,eventdata,handles)TIME=get(hObject,'Value');%一天的工作时间(h)functionYDJ_Callback(hObject,eventdata,handles)YDJ=get(hObject,'Value');%原动机类型functionsure2_Callback(hObject,eventdata,handles)set(handles.tip,'String','请设置原动机参数','Fontsize',12);functionsure1_Callback(hObject,eventdata,handles)set(handles.tip,'String','请设置工作机参数','Fontsize',12);functionsure4_Callback(hObject,eventdata,handles)%%确定键后边运行的代码globalVMAXdd1idd2vmnm=get(handles.TYPE,'Value');n=get(handles.DD1,'Value');if(m==6)||(m==7)VMAX=30;elseVMAX=25;endall_dd1=str2num(get(handles.DD1,'string'));dd1=all_dd1(n);%小带轮直径v=pi*dd1*str2double(get(handles.n1,'string'))/(60*1000);%带的速度if(vVMAX)dd2=i*dd1;%计算的大带轮直径str1={'请合理选择大带轮直径','小带轮直径:dd1='num2str(dd1),'理论大带轮直径:dd2='num2str(dd2)};set(handles.tip,'String',str1);elseerrordlg('减小直径','错误');endrd2=[20;28;31.5;35.5;40;45;50;56;63;71;80;90;100;112;125;140;150;160;180;200;224;250;280;315;355;400;425;450;500;560;600;630;710;800];%标准供选择的大带轮直径set(handles.DD2,'string',rd2);%%代码functionsure5_Callback(hObject,eventdata,handles)globaldd1dd2rdd2min1PdnvLdza0BF0FQKlKP0rdd2_index=get(handles.DD2,'value');all_rdd2=get(handles.DD2,'string');b=str2num(all_rdd2);rdd2=b(rdd2_index);%大带轮直径flag=1;if(abs(rdd2/dd2-1)0.05)%传动比误差不小于5,否则弹出出错对话框a1=0.7*(dd1+dd2);a2=2*(dd1+dd2);set(handles.tip,'string',{'初估中心距a0范围',[num2str(a1)'=''a0''='num2str(a2)]},'fontsize',12);elseerrordlg('传动比误差不小于5%,请重新选择','错误');flag=0;a1=0.7*(dd1+dd2);a2=2*(dd1+dd2);endif(flag==1)%弹出输入初估的中心距a0,计算带的基准长度Ld0;再查表确定Lda0=inputdlg([num2str(a1)'=''a0''='num2str(a2)],'请输入初估计的中心距a0');a0=str2num

1 / 12
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功