Preview only show first 10 pages with watermark. For full document please download

Molas De Compressão - Dimensionamento

Programa em matlab para dimensionamento de molas de compressão

   EMBED


Share

Transcript

%, % Dimensionamento de molas de compress o, %, % Dimensionamento de molas de compress o segundo crit rios de flambagem, % estabilidade, frequ ncia m xima de opera o e fadiga para vida infinita. % Faz-se o c lculo para uma faixa de varia o dos par metros, impondo-se % algums par metros como constantes de entrada, dando como resposta todos % os par metros f sicos relevantes para a fabrica o da mola. Os c lculos, % feitos neste c digo seguem as recomenda es de projeto dadas pelo livro:, "% ""Elementos de m quinas de Shigley: projeto de engenharia mec nica, 8ed, % editora McGrawHill, 2011. A vari vel de projeto o 'd' dispon vel, e % fixa-se os valores de 'seg' (fator de seguran a) e se escolhe a mola % ideal eliminando as que n o se adequem aos outros crit rios. % % Verg lio Torezan Silingardi Del Claro - 22/03/2013 %% Inicialia o clc; close all; clear all; format short %% Crit rios para o dimensionamento Fmax=90; % carga m xima aplicada [N] Fmin=20; % carga m nima aplicada [N] k=1660; % rigidez desejada [N/m] De=62; % di metro externo m ximo [mm] d=[2,2.3,2.6,3]; % bitolas de fio dispon veis [mm] seg=1.5; % coeficiente de seguran a fadiga material='inox_A300'; % nome do material (ver tabela abaixo) extremidade='esq_esm'; % tipo de extremidade da mola jateado=0; % jateamento 0=n, 1=s dens=7.800; % densidade do material [g/mm ] alfa=0.5; % coeficiente do tipo de apoio (0.5, 0.707, % 1 ou 2, dependendo do caso) %% Tabela de materiais nomes={'fio_duro'; 'fio_musical'; 'inox_A300'}; % %Kb %tor o %tra o E [Mpa] G [Mpa] A m custo mat=[0.50, 0.65, 0.5, 198000, 80000, 1783, 0.190, 1.0; 0.45, 0.7, 0.525, 203400, 82700, 2211, 0.145, 2.6; 0.35, 0.6, 0.5, 193000, 69000, 1867, 0.146, 7.6]; %% Crit rio de falha % crit_f='goodman-zimmerli'; %crit rio para fadiga % crit_f='gerber-zimmerli'; %crit rio para fadiga crit_f='sines-zimmerli'; %crit rio para fadiga %% Constantes f sicas %posi o na tabela de materiais for i=1:length(nomes) if strcmp(material,nomes(i,:)) pos=i; end end %valor de Fa Fa=(Fmax-Fmin)/2; %valor de Fm Fm=(Fmax+Fmin)/2; %constante de mola Ymax=Fmax/k; %valor de Sut, Ssu, Ssy, Sse... Sut=mat(pos,6)./(d.^(mat(pos,7))); Ssu=0.67*Sut; Ssy=mat(pos,1)*Sut; %epsilon recomendado epsilon=0.15; if strcmp(crit_f,'gerber-zimmerli') a=Ssy/seg; b=(8*(1+epsilon)*Fmax)./(pi*d.^2); elseif strcmp(crit_f,'sines-zimmerli') Sse=241; Ssa=Sse; a=Sse/seg; b=(8*Fa)./(pi*d.^2); end %% C lculo dos par metros da mola % ndice de mola por 'alfa e beta' C=(2*a-b)./(4*b)+(((2*a-b)./(4*b)).^2-(3*a./(4*b))).^(1/2); %di metro m dio da mola D=C.*d; %for a aplicada no comprimento s lido Fs=(1+epsilon)*Fmax; %di metro externo De_c=D+d; %di metro interno Di_c=D-d; %numero de espiras ativas Na=(mat(pos,5)*d.^4)./(8*D.^3*(k*10^(-3))); % usando K % Na=(mat(pos,5)*d.^4*Ymax)./(8*D.^3*Fmax); % usando Ymax/Fmax %numero de espiras totais, ativas e de extremidade, passo e comprimentos %s lido e livre de carga. switch extremidade case 'plana' %planas Ne=0; Nt=Na; Ls=d.*(Nt+1); Lo=Ls+Fs/(k*10^(-3)); p=(Lo-d)./Na; case 'plana_esm' %planas e esmerilhadas Ne=1; Nt=Na+1; Ls=d.*Nt; Lo=Ls+Fs/(k*10^(-3)); p=Lo./(Na+1); case 'esq' %esquadradas Ne=2; Nt=Na+2; Ls=d.*(Nt+1); Lo=Ls+Fs/(k*10^(-3)); p=(Lo-3*d)./Na; case 'esq_esm' %esquadradas e esmerilhadas Ne=2; Nt=Na+2; Ls=d.*Nt; Lo=Ls+Fs/(k*10^(-3)); p=(Lo-2*d)./Na; end %deflex o Ys=Lo-Ls; %comprimento s lido cr tico Lo_cr=2.63*D./alfa; %fator bergstr sser Kb=(4*C+2)./(4*C-3); %peso da parte ativa W=(pi^2*d.^2.*D.*Na*dens*10^(-6)*9.81)/4; %frequ ncia natural estimada fn=0.5*(9.81*k./W).^(1/2); %valor dos Tau Tau_a=(Kb.*Fa.*D*8)./(pi*d.^3); Tau_m=Tau_a.*Fm./Fa; Tau_s=8*Fs*D.*Kb./(pi*d.^3); %fatores de seguran a seg_s=Ssy./Tau_s; seg_f=Ssa./Tau_a; %figure of merit Fom=-mat(pos,8)*pi^2*(d.^2).*D.*Nt*dens/4; Fom=-Fom/max(Fom); %% Teste das recomenda es e restri es t_De=zeros(1,length(d)); t_C=zeros(1,length(d)); t_Na=zeros(1,length(d)); teste=zeros(1,length(d)); OK=zeros(1,length(d)); t_Lo=zeros(1,length(d)); n_testes=4; for i=1:length(d) %verifica se o De menor que o m ximo if De_c(i)=4; t_C(i)=1; else t_C(i)=0; end %verifica a recomenda o 3=3; t_Na(i)=1; else t_Na(i)=0; end %verifica a recomenda o LO critico if Lo_cr(i)>=Lo(i); t_Lo(i)=1; else t_Lo(i)=0; end teste(i)=(t_De(i)+t_C(i)+t_Na(i)+t_Lo(i))/n_testes; if teste(i)==1 OK(i)=1; end end %% Output resposta=[d;D;C;[k,k,k,k];De_c;Di_c;Na;Nt;p;Ls;Lo;Ys;fn;Lo_cr;seg_s;... seg_f;Fom;OK]; legenda={'d';'D';'C';'K';'De';'Di';'Na';'Nt';'Passo';'Ls';'Lo';'Ys';'fn';... 'Lo_cr';'n_s';'n_f';'Fom';'OK?'}; output=[(legenda),num2cell(resposta)]; fprintf('Par metros para as molas com diferentes ''d'' do arame:\n\n') disp(output) %% Desenho da mola final %identifica o melhor resultado i=max(Fom(OK==1)); i=find(Fom==i); %define a mola figure; mola=0:pi/30:2*pi*Nt(i); diam=0:pi/30:2*pi; %desenha a mola plot3(cos(mola)*D(i),mola*p(i),sin(mola)*D(i),... 'linewidth',2,'color',[0.5,0.5,1]); axis equal; grid on; title(strcat('Resultado otimizado: n ',num2str(i))) %desenha o arame e a mola figure; plot3(cos(diam)*D(i),0*diam,sin(diam)*D(i),'--',... 'linewidth',2,'color',[0.5,0.5,1]); hold on plot3(cos(diam)*De_c(i),0*diam,sin(diam)*De_c(i),... 'linewidth',2,'color',[0.5,0.5,1]); plot3(cos(diam)*Di_c(i),0*diam,sin(diam)*Di_c(i),... 'linewidth',2,'color',[0.5,0.5,1]); plot3(cos(diam)*d(i)+D(i),sin(diam)*d(i),0*diam,... 'linewidth',2,'color',[0.5,0.5,1]);hold off; axis equal; grid on; title(strcat('Desenho esquem tico n ',num2str(i))) ",