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)))
",