Exercício proposto pelo professor Kawano em 2004 - programa que calcula diâmetro de eixo de acordo com o torque aplicado
ESCOLA POLIT CNICA DA UNIVERSIDADE DE S O PAULO PMR 2370 - Elementos de M quinas 2 Semestre 2004
Projeto de Dimensionamento de Eixo
PMR2370 Elementos de M quinas
OBJETIVO
Implementar um programa que, a partir da tens o m xima admiss vel do material do eixo e das for as decompostas e aplicadas em determinados pontos do eixo, dimensione o di metro m nimo do eixo de comprimento desejado.
HIP TESES
1. 2. 3. 4. 5. Eixo de material homog neo. Problema Est tico. Os pontos que recebem os maiores esfor os s o pertencentes superf cie. Somente duas for as aplicadas no eixo. O momento causado pela componente Y das for as (momento tor or) deve ser igual por se tratar de um problema est tico. 6. O eixo s aumenta de di metro entre as polias, sendo este aumento de 10%. 7. A falha por fadiga ocorrer nas superf cies das sec es A e B (Fig. 1), pois um fen meno pontual, sendo muito influenciado por fatores de concentra o de tens es. 8. Os eixos s o orientados de acordo com a figura 2.
Fig. 1 Esbo o do eixo
z
x y
Fig. 2 Orienta o dos eixos coordenados
ALGORITMO
A partir de um eixo inicial de di metro zero, o programa calcula as tens es principais do bordo da primeira se o do eixo e, com estes valores, calcula as tens es equivalentes atrav s do Crit rio de Von Misses para cada ponto do bordo. Adota-se a maior tens o equivalente para calcular o di metro desta se o, se tornando este o di metro do eixo. Posteriormente feito o c lculo em uma segunda se o do eixo, obtendo-se um novo di metro de eixo, se este for maior que o anterior, se adota este como o novo di metro do eixo. Caso contr rio, se mant m. E assim sucessivamente, at que ao se "vasculhe" toda a extens o do eixo, teremos assim o di metro definitivo do eixo desejado.
2
PMR2370 Elementos de M quinas
EQUACIONAMENTO
Rby F1 = ( FX 1 , FY 1 , FZ 1 )
p1 = ( A1, B1, C1)
Rbz
z y
Ray
Raz Na
x
L
F2 = ( FX 2 , FY 2 , FZ 2 )
p2 = ( A2, B 2, C 2)
Diagramas:
For a normal:
F
x
= 0 N a + Fx1 + Fx 2 = 0 N a = - ( Fx1 + Fx 2 )
N ( x) = - N a p / x A1 N ( x) = - N a + Fx1 p / A1 x A2 N ( x) = - N a + Fx1 + Fx 2 p / x A2
For as cortantes: -Rea es na dire o y:
F F
y
= 0 Ray + Rby = -Fy1 - Fy2
z ay
M ( A) = 0 R
z
=
- Fx1.B1 - Fx2 .B2 - Fy1.(L - A1) - Fy2 .(L - A2) L - Fx1.C1 - Fx2 .C2 - Fz1.(L - A1) - Fz 2 .(L - A2) L
= 0 Raz + Rbz = -Fz1 - Fz 2
y
M
( A) = 0 Raz =
3
PMR2370 Elementos de M quinas
F y ( x ) = - R ay p / x A1 F y ( x ) = - R ay + F y 1 p / A1 x A 2 F y ( x ) = - R ay + F y 1 + F y 2 p / x A 2 F z ( x ) = - R az p / x A1 F z ( x ) = - R az + F z 1 p / A1 x A 2 F z ( x ) = - R az + F z 1 + F z 2 p / x A 2
Momentos fletores:
M y ( x ) = - Raz . x p / x A1 M y ( x ) = - Raz . x - Fz1.( L - A1) - Fx1.C1 p / A1 x A 2 M y ( x ) = - Raz . x - Fz1.( L - A1) - Fx1.C1 - Fz 2 .( L - A 2 ) - Fx 2 .C 2 p / x A 2 M z ( x ) = - Ray . x p / x A1 M z ( x ) = - Ray . x - Fy1 .( L - A1) - Fx1 .B1 p / A1 x A 2 M z ( x ) = - Ray . x - Fy1 .( L - A1) - Fx1 .B1 - Fy 2 .( L - A 2 ) - Fx 2 .B 2 p / x A 2
Momento tor or:
M t ( x ) = 0 p / x A1 M t ( x ) = Fy1 .C1 - Fz1 B1 p / A1 x A 2 M t ( x ) = 0 p / x A2
Z
Mz Vz Mt X N Vy
My
Y
4
PMR2370 Elementos de M quinas
Tens o causada pela for a normal N:
x =
N 4.N = As .d 2
Tens o causada pelos momentos fletores My e Mz :
x =
-Mz.Y My.Z 64 + = -Mz.Y +My.Z Iz Iy .d4
[
]
Tens o causada pelo momento tor or Mt :
xy = xz =
32 - M t .Z [- M t .Z ] = Ip .d 4 M t .Y 32 [M t .Y ] = 4 .d Ip
Tens o causada pelas for as cortantes Vy e Vz :
Vy d 2 Y 2 64 d 2 Y 2 . = . - = Vy . - xy = by .I y I y 12 3 .d 4 12 3 Vy .S y Vz .S z Vz d 2 Z 2 64 d 2 Z 2 = . - = Vz . - xz = . 4 bz .I z I z 12 3 .d 12 3
Y b a h
5
PMR2370 Elementos de M quinas
obs:
S = S.h = Ssc .a - St .b = b y = d .sen( ) 4 d .sen( ) a= 3 d .sen( ).y St = 2 2 b= y 3 Ssc =
d 2 y2 .d 4 d .sen( ) d .sen( ).y 2 . . y S = d .sen( ). - - 4 3. 2 3 12 3
.d 4
Montemos agora o tensor atrav s das tens es acima:
x xy xz x xy xz [ ] = xy y yz = xy 0 0 xz yz z xz 0 0
Para acharmos as tens es principais, devemos achar as ra zes do polin mio caracter stico:
x - [ ] - [I ] = 0 xy xz
xy 0-
0
0 =0 0 -
xz
2 2 2 ( x - ) + . xy + . xz = 0 2 2 - 2 + x . + xy + xz = 0
(
)
=0
2 2 - 2 + x. + xy + xz = 0 2 2 2 x + 4.( xy + xz )
1 =
= 2
x
2
+ -
2
2 2 2 x + 4.( xy + xz )
x
2
2
3 = 0
6
PMR2370 Elementos de M quinas
Com as tens es principais, aplicamos o crit rio de Von Mises, obtendo assim o di metro necess rio ao eixo:
eq =
1 . (1 -2)2 + (1 -3)2 + (2 -3)2 2
obs: Nos pontos onde h o raio de arredondamento "r", deve-se aplicar o concentrador de tens o K t N , K t Mt , K t f calculados na an lise da falha por fadiga.
An lise da falha por fadiga
An lise dos esfor os m dios:
m dio decorrente da for a normal ( N )
m dio decorrente do momento tor or( M t )
xy
m dio decorrente do momento tor or( M t )
xz
An lise dos esfor os alternados:
alternado decorrente dos momentos fletores ( M y e M z )
alternado decorrente da for a cortante ( V y )
xy
alternado decorrente da for a cortante ( V z )
xz
Introdu o das constantes de concentra o de tens o:
K F = 1 + ( K t - 1).q
Para esfor os decorrentes dos momentos fletores:
K F f = 1 + ( K t f - 1).q f , onde:
K t f = 69939.x 6 - 74847.x 5 + 31824.x 4 - 6864.x 3 + 801,41.x 2 - 51,897.x + 3,1145
e q f = 0,76 e x =
r d
obs: K t f foi aproximado pela equa o acima atrav s de uma regress o e dos dados retirados de Fundamentals of Machine Component Desing, Robert C. Juvinal; assim como q f , que foi adaptado para uma tens o
Su = 900MPa 130ksi .
7
PMR2370 Elementos de M quinas
Para esfor os decorrentes da normal:
K FN = 1 + ( K t N - 1).qN , onde: K t f = 37358.x 6 - 45798.x 5 + 22456.x 4 - 5605,2.x 3 + 751,96.x 2 - 53,865.x + 3,1826
e qN = 0,76 e x = obs: K t N
r d
foi aproximado pela equa o acima atrav s de uma regress o e dos dados retirados de
Fundamentals of Machine Component Desing, Robert C. Juvinal; assim como q N , que foi adaptado para uma tens o Su = 900MPa 130ksi .
Para esfor os decorrentes do momento tor or:
K FMt = 1 + ( K t Mt - 1).qMt , onde: K t f = 77160.x 6 - 80750.x 5 + 33422.x 4 - 6962,7.x 3 + 770,74.x 2 - 44,033.x + 2,2003
e qMt = 0,80 e x =
r d
obs: K t Mt foi aproximado pela equa o acima atrav s de uma regress o e dos dados retirados de Fundamentals of Machine Component Desing, Robert C. Juvinal; assim como qMt , que foi adaptado para uma tens o Su = 900MPa 130ksi .
Para esfor os decorrentes das for as cortantes, ser admitido a constante devido ao momento tor or.
m dio = m dio .K F
N
alternado = alternado .K F
f
m dio xy
= m dioxy .K FMt
xz Mt
e
alternado xy
= alternadoxy .K FMt
xz Mt
m dio = m dio .K F
xz
alternado = alternado .K F
xz
C lculo da tens o equivalente m dia:
1 =
m dio [ ] = m dioxy m dioxz m dio
xy
m dio
m dio
xz
2
+
m dio + 4. m dio 2
(
2
xy
+ m dioxz
2
) )
0 0
0 0
2 = m dio - 2
2 m dio
+ 4.
(
2
2 m dio xy + m dioxz 2
2
3 = 0
Adotamos como tens o equivalente m dia : m dio -eq = 1 .
8
PMR2370 Elementos de M quinas
C lculo da tens o equivalente alternada:
1 =
alternado [ ] = alternadoxy alternadoxz alternado
xy
alternado
alternado
xz
2
+
alternado + 4. alternado 2
(
2
xy
+ alternadoxz
2
) )
0 0
0 0
2 = alternado - 2
2 alternado
+ 4.
(
2
2 alternado xy + alternadoxz 2
2
3 = 0
Achamos a tens o equivalente alternada atrav s de Von Misses:
alternado -eq =
(
1
-2
)
2
2 + 12 + 2
2
Tendo as tens es equivalentes, vamos agora analisar o diagrama de Goodman:
S
0,9S u .C l
Su .Cl .Cs .C g 2
3
6
log(N )
Atrav s do gr fico, podemos tirar uma rela o entre a tens o e o n mero de ciclos (log). E ainda podemos perceber que a partir de 10 6 ciclos obtemos a vida infinita. Portanto, temos: Seja: S n (log N ) = a. log N + b , temos: p/ N = 10 3 , S n = 0,9.S u .C l p/ N = 10 6 , S n =
Su .C l .C s .C g 2
9
PMR2370 Elementos de M quinas
S n (log N ) =
S u .C l 3
C s .C g C s .C g . 2 - 0,9 . log N + S u .C l 1,8 - 2
,p/ N 10 6
As constantes da equa o acima foram retiradas de Fundamentals of Machine Component Desing, Robert C. Juvinal, e est o apresentadas a seguir:
Cl = 1 1, p / d 10mm Cg = 0,9, p / d 10mm C s = 0,72, p / S u = 900 MPa
Analisamos agora o diagrama de tens o alternada x tens o m dia:
alternado
y
S n - gr fico
y
Su
m dio
Temos, agora, duas situa es serem analisadas: P/ m dio -eq + alternado -eq y :
1. Seja
alternado -eq = a. m dio-eq + b ,
S u . alternado -eq S u - m dio -eq
.
substituindo
em
alguns
pontos
do
gr fico,
obtemos:
S n - gr fico =
2.
P/ m dio -eq + alternado -eq y :
Fazemos a seguinte substitui o: m dio -eq = y - alternado -eq , e alternado-eq fica inalterado. Isto tem uma
explica o f sica: a tens o alternada somada m dia n o pode ultrapassar a tens o de escoamento. Portanto,
10
PMR2370 Elementos de M quinas
no primeiro ciclo, o material sofre uma pequena deforma o pl stica, mas a partir da n o ocorre mais deforma o. Da temos: S n - gr fico =
S u . alternado -eq
S u - m dio -eq
.
Para encontrarmos o di metro ideal, fazemos todos os c lculos das tens es e dos fatores de concentra o de tens es; e atrav s deles, calculamos S n e S n - gr fico . Comparamos ambos e realizamos sucessivas itera es, sempre modificando o valor do di metro, a fim de encontrarmos o di metro que torna S n - gr fico menor ou igual S n , garantindo assim a resist ncia fadiga para N ciclos.
C digo Fonte
ARQUIVO RESOLUCAO import java.lang.*; import java.awt.*; // Classe que pega uma secao do eixo e calcula a tensao de Von-Mises e acha um diametro que atende os esforcos calculados sem fraturar. public class resolucao { static double tensaoequi, d ; public static double resolve (double r,boolean concentrador, double tensaomax, double N, double My, double Mz, double Mt, double Vy, double Vz) { double z, y, teta, tensao, sigma1, sigma2, sigmax, sigmay, talxy, talxz, I, ktf,ktn,ktm; tensaoequi=tensaomax+1; ktf=ktn=ktm=1; if(concentrador=true) { ktf = 69939*(r/d)*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) 74847*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) + 31824*(r/d)*(r/d)*(r/d)*(r/d) 6864*(r/d)*(r/d)*(r/d) + 801.41*(r/d)*(r/d) - 51.897*(r/d) + 3.1145; ktn = 37358*(r/d)*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) 45798*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) + 22456*(r/d)*(r/d)*(r/d)*(r/d) 5605.2*(r/d)*(r/d)*(r/d) + 751.96*(r/d)*(r/d) - 53.865*(r/d) + 3.1826; ktm = 77160*(r/d)*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) 80750*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) + 33422*(r/d)*(r/d)*(r/d)*(r/d) 6962.7*(r/d)*(r/d)*(r/d) + 770.74*(r/d)*(r/d) - 44.033*(r/d) + 2.2003; } N=N*ktn; My=My*ktf; Mz=Mz*ktf; Mt=Mt*ktm; Vy=Vy*ktm; Vz=Vz*ktm; for(d=0.001;tensaoequi tensaomax;d=d+0.0001) { tensaoequi=0; for(teta=0;teta 2*java.lang.Math.PI;teta=teta+java.lang.Math.PI/16) { z=(d/2)*java.lang.Math.cos(teta); y=(d/2)*java.lang.Math.sin(teta); I = (java.lang.Math.PI*d*d*d*d)/64; sigmax = 4*N/(java.lang.Math.PI*d*d)+(-1*Mz*y+My*z)/I; talxy = (-1*(2*Mt*z)/I)+(Vy*((d*d/12)-(y*y/3))/I);
11
PMR2370 Elementos de M quinas
talxz = (2*Mt*y)/I+Vz*((d*d/12)-(z*z/3))/I; sigma1 = sigmax/2+(java.lang.Math.sqrt(sigmax*sigmax+4*(talxy*talxy+talxz*talxz)))/2; sigma2 = sigmax/2(java.lang.Math.sqrt(sigmax*sigmax+4*(talxy*talxy+talxz*talxz)))/2; tensao = java.lang.Math.sqrt((sigma1-sigma2)*(sigma1sigma2)+(sigma1*sigma1)+(sigma2*sigma2))/java.lang.Math.sqrt(2); if(tensao tensaoequi) { tensaoequi=tensao; } } } return(d); } } ARQUIVO GRAFICO import java.io.*; //Pacotes necessarios para a funcionalidade do programa import java.lang.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.applet.*; import javax.swing.*; import javax.swing.table.*; import org.jfree.data.xy.*; import org.jfree.chart.*; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.*; import org.jfree.chart.axis.*; // Classe que gera as janelas dos graficos public class grafico extends Frame { public grafico(ChartPanel a, String b, int c, int d) { setTitle(b); setBounds(c,d,545,440); addWindowListener(new CloseAndExit()); add(a); } public static void main(ChartPanel a, String b, int c, int d) { new grafico(a,b,c,d).show(); } } ARQUIVO CLOSEANDEXIT import java.awt.event.*; // Classe que implementa a opcao de fechar a janela public class CloseAndExit extends WindowAdapter { public void windowClosing(WindowEvent e) { e.getWindow().dispose(); } }
ARQUIVO DIAGRAMA import java.io.*; //Pacotes necessarios para a funcionalidade do programa import java.lang.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.applet.*;
12
PMR2370 Elementos de M quinas
import import import import import import import
java.applet.Applet.*; org.jfree.data.xy.*; org.jfree.chart.*; org.jfree.chart.plot.PlotOrientation; org.jfree.chart.plot.*; org.jfree.chart.axis.*; javax.swing.table.*;
// Classe que calcula os esforcos solicitantes por todo o comprimento do eixo class diagrama { static void tensoes (boolean escoamento, double fx1d,double fx2d,double fy1d, double fy2d,double fz1d,double fz2d,double a1d,double a2d,double b1d,double b2d, double c1d,double c2d,double tmaxd,double ld, double qn, double qm, double qf, double su, double r, double ciclos, double cs) { double local=0, somaFx, somaFy, somaFz, deltald, delta, dmax, d, p, Ktn, Ktf, Ktm, Ray, Raz; boolean concentrador; XYSeries normal = new XYSeries("Normal"); XYSeries Cortantey = new XYSeries("Cortante Y"); XYSeries Cortantez = new XYSeries("Cortante Z"); XYSeries momentoy = new XYSeries("Momento Y"); XYSeries momentoz = new XYSeries("Momento Z"); XYSeries momentot = new XYSeries("Momento Tor or"); somaFx = fx1d+fx2d; somaFy = fy1d+fy2d; somaFz = fz1d+fz2d; delta = ld/200; dmax=0; d=0; double Rby=0; double Rbz=0; Raz = (-fz1d*(ld - a1d) - fx1d*c1d - fz2d*(ld-a2d) - fx2d*c2d)/ld; Ray = (-fy1d*(ld - a1d) - fx1d*b1d - fy2d*(ld-a2d) - fx2d*b2d)/ld; for(deltald=0; deltald =ld; deltald=deltald+delta) { concentrador=false; double Normal = somaFx; if(deltald =a1d) Normal = Normal - fx1d; if(deltald =a2d) Normal = Normal - fx2d; double cortantey = -1*(Ray); if(deltald =a1d) cortantey = cortantey - fy1d; if(deltald =a2d) cortantey = cortantey - fy2d; double cortantez = -1*(Raz); if(deltald =a1d)
13
PMR2370 Elementos de M quinas
cortantez = cortantez - fz1d; if(deltald =a2d) cortantez = cortantez - fz2d; double My = -1*(Raz)*deltald; if(deltald =a1d) My = My - fz1d*(deltald - a1d) - fx1d*c1d; if(deltald =a2d) My = My - fz2d*(deltald - a2d) -fx2d*c2d; double Mz = Ray*deltald; if(deltald =a1d) Mz = Mz + fy1d*(deltald - a1d) + fx1d*b1d; if(deltald =a2d) Mz = Mz + fy2d*(deltald - a2d) + fx2d*b2d; double Mt; if((deltald =a1d)&&(deltald =a2d)) Mt = fy1d*c1d-fz1d*b1d; else Mt=0; p = (deltald/ld)*100; janelainicial.porcentagem.setText("+p+"%"); if(((deltald =a1d)&&((deltalddelta) a1d)) ((deltald =a2d)&&((deltald+delta) a2d))) { concentrador=true; if(escoamento=false) d = fadiga.calculos(Normal,Mt,My,Mz,cortantey,cortantez,r,qf,qn,qm,su,tmaxd,ciclos,cs ); } else concentrador=false; if(escoamento=true) d = resolucao.resolve(r,concentrador,tmaxd, Normal, My, Mz, Mt, cortantey, cortantez); if((deltald =a1d)&&(deltald =a2d)) // verifica se esta na parte em que o eixo tem diametro maior d=d/1.1; if(d dmax) { dmax=d; local=deltald; } normal.add(deltald,Normal); Cortantey.add(deltald,cortantey); Cortantez.add(deltald,cortantez); momentoy.add(deltald,My); momentoz.add(deltald,Mz); momentot.add(deltald,Mt); Rby=cortantey; Rbz=cortantez; }
14
PMR2370 Elementos de M quinas
Reacoes.main(local,-somaFx, Ray, Raz, Rby, Rbz);
janelainicial.porcentagem.setText("100%"); janelainicial.Diametro.setText("+dmax);
/*For a Normal*/ XYDataset normalxydata = new XYSeriesCollection(normal); ((XYSeriesCollection)(normalxydata)).setAutoWidth(true); JFreeChart normalchart = ChartFactory.createXYLineChart (", "L", "For a", normalxydata, PlotOrientation.VERTICAL, true, //legenda true, //tooltips false //urls ); NumberAxis normalna = new NumberAxis(); normalna.setUpperBound(ld); normalna.setLowerBound(0); XYPlot normalplot = (XYPlot)normalchart.getPlot(); normalplot.setDomainAxis(normalna); ChartPanel normalcp = new ChartPanel(normalchart); /*For a CortanteZ*/ XYDataset cozxydata = new XYSeriesCollection(Cortantez); ((XYSeriesCollection)(cozxydata)).setAutoWidth(true); JFreeChart cozchart = ChartFactory.createXYLineChart (", "L", "For a", cozxydata, PlotOrientation.VERTICAL, true, //legenda true, //tooltips false //urls ); NumberAxis cozna = new NumberAxis(); cozna.setUpperBound(ld); cozna.setLowerBound(0); XYPlot cozplot = (XYPlot)cozchart.getPlot(); cozplot.setDomainAxis(cozna); ChartPanel cozcp = new ChartPanel(cozchart); /*For a CortanteY*/ XYDataset coyxydata = new XYSeriesCollection(Cortantey); ((XYSeriesCollection)(coyxydata)).setAutoWidth(true); JFreeChart coychart = ChartFactory.createXYLineChart (", "L", "For a", coyxydata, PlotOrientation.VERTICAL, true, //legenda true, //tooltips false //urls ); NumberAxis coyna = new NumberAxis(); coyna.setUpperBound(ld);
15
PMR2370 Elementos de M quinas
coyna.setLowerBound(0); XYPlot coyplot = (XYPlot)coychart.getPlot(); coyplot.setDomainAxis(coyna); ChartPanel coycp = new ChartPanel(coychart); /*MomentoY*/ XYDataset moyxydata = new XYSeriesCollection(momentoy); ((XYSeriesCollection)(moyxydata)).setAutoWidth(true); JFreeChart moychart = ChartFactory.createXYLineChart (", "L", "For a", moyxydata, PlotOrientation.VERTICAL, true, //legenda true, //tooltips false //urls ); NumberAxis moyna = new NumberAxis(); moyna.setUpperBound(ld); moyna.setLowerBound(0); XYPlot moyplot = (XYPlot)moychart.getPlot(); moyplot.setDomainAxis(moyna); ChartPanel moycp = new ChartPanel(moychart); /*MomentoZ*/ XYDataset mozxydata = new XYSeriesCollection(momentoz); ((XYSeriesCollection)(mozxydata)).setAutoWidth(true); JFreeChart mozchart = ChartFactory.createXYLineChart (", "L", "For a", mozxydata, PlotOrientation.VERTICAL, true, //legenda true, //tooltips false //urls ); NumberAxis mozna = new NumberAxis(); mozna.setUpperBound(ld); mozna.setLowerBound(0); XYPlot mozplot = (XYPlot)mozchart.getPlot(); mozplot.setDomainAxis(mozna); ChartPanel mozcp = new ChartPanel(mozchart); /*Momento Tor or*/ XYDataset motxydata = new XYSeriesCollection(momentot); ((XYSeriesCollection)(motxydata)).setAutoWidth(true); JFreeChart motchart = ChartFactory.createXYLineChart (", "L", "For a", motxydata, PlotOrientation.VERTICAL, true, //legenda true, //tooltips false //urls ); NumberAxis motna = new NumberAxis(); motna.setUpperBound(ld); motna.setLowerBound(0); XYPlot motplot = (XYPlot)motchart.getPlot();
16
PMR2370 Elementos de M quinas
motplot.setDomainAxis(motna); ChartPanel motcp = new ChartPanel(motchart); /*-*/ grafico.main(normalcp,"For a Normal",50,50); grafico.main(coycp,"For a Cortante Y",70,70); grafico.main(cozcp,"For a CortanteZ",90,90); grafico.main(moycp,"Momento Y",110,110); grafico.main(mozcp,"Momento Z",130,130); grafico.main(motcp,"Momento Tor or",150,150);
} } ARQUIVO EIXO import java.io.*; // Classes importadas para funcionamento do programa import java.lang.*; import java.awt.*; // Classe que cria a janela e delimita seu tamanho class eixo { public static void main(String [] args){ CloseableFrame j=new janelainicial(); // Cria o da janela j.setBackground(null); // Cor da janela j.setBounds(100,100,590,460); // Dimensionamento j.setTitle ("Programa di faze eixo"); // Titulo j.setResizable(false); j.show(); // Mostra a janela } } ARQUIVO FADIGA import java.io.*; //Pacotes necessarios para a funcionalidade do programa import java.lang.*; import java.lang.Math.*; // Classe que pega uma secao do eixo, e calcula ao seu redor as tensoes e verifica para que tamanho de eixo n o ocorre falha por fadiga class fadiga { static double calculos(double N, double Mt, double My, double Mz, double Vy, double Vz, double r, double qf, double qn, double qm, double Su ,double Sy, double Ciclos, double Cs) { double d, Kff, Kfn, Kfm, sigm, siga, talmxy, talmxz, talaxy, talaxz, teta, I, sigmam, sigmaaeq, Sn, Cg, Sngraf, sigmaprovisorio, sigma1ap, sigma2ap, sigmamp; int h=1; Sn=sigmaprovisorio=talmxy=talaxy=talmxz=talaxz=sigma1ap=sigma2ap=sigm=sigmaaeq=si gmam=siga=sigmamp=0; double y=0; double z=0; Sngraf = Sn +1; for(d=0.001;Sngraf Sn;d=d+0.0001) { if(d =0.01) Cg=1; else Cg=0.9; Kff = 1 + (69939*(r/d)*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) 74847*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) + 31824*(r/d)*(r/d)*(r/d)*(r/d) 6864*(r/d)*(r/d)*(r/d) + 801.41*(r/d)*(r/d) - 51.897*(r/d) + 3.1145 -1)*qf;
17
PMR2370 Elementos de M quinas
Kfn = 1 + (37358*(r/d)*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) 45798*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) + 22456*(r/d)*(r/d)*(r/d)*(r/d) 5605.2*(r/d)*(r/d)*(r/d) + 751.96*(r/d)*(r/d) - 53.865*(r/d) + 3.1826 -1)*qn; Kfm = 1 + (77160*(r/d)*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) 80750*(r/d)*(r/d)*(r/d)*(r/d)*(r/d) + 33422*(r/d)*(r/d)*(r/d)*(r/d) 6962.7*(r/d)*(r/d)*(r/d) + 770.74*(r/d)*(r/d) - 44.033*(r/d) + 2.2003 - 1)*qm; sigmaaeq=0; for(teta=0;teta 2*java.lang.Math.PI;teta=teta+java.lang.Math.PI/16) { z=(d/2)*Math.cos(teta); y=(d/2)*Math.sin(teta); I=(java.lang.Math.PI*d*d*d*d)/64; sigm = siga = talmxy talmxz talaxy talaxz ((4*N)/(java.lang.Math.PI*d*d))*Kfn; ((-1*Mz*y+My*z)/I)*Kff; = (-1*(2*Mt*z)/I)*Kfm; = ((2*Mt*y)/I)*Kfm; = (Vy*((d*d/12)-(y*y/3))/I)*Kfm; = (Vz*((d*d/12)-(z*z/3))/I)*Kfm;
sigmamp = sigm/2+(Math.sqrt(sigm*sigm+4*(talmxy*talmxy+talmxz*talmxz))/2); sigma1ap = siga/2+(Math.sqrt(siga*siga+4*(talaxy*talaxy+talaxz*talaxz))/2); sigma2ap = siga/2(Math.sqrt(siga*siga+4*(talaxy*talaxy+talaxz*talaxz))/2); sigmaprovisorio = Math.sqrt((sigma1ap-sigma2ap)*(sigma1apsigma2ap)+sigma1ap*sigma1ap+sigma2ap*sigma2ap)/Math.sqrt(2);
if((sigmaprovisorio sigmaaeq) h=1) { sigmaaeq=sigmaprovisorio; sigmam = sigmamp; } } Sn = (Su/3)*(((Cg*Cs)/(2))-0.9)*(Ciclos) + Su*(1.8 - (Cg*Cs)/2); if((sigmaaeq + sigmam) Sy) { sigmam = Sy - sigmaaeq; } Sngraf = (Su*sigmaaeq)/(Su-sigmam); h=0; } return(d); } } ARQUIVO CLOSEABLEFRAME import java.awt.*; import java.awt.event.*; // Classe para implementacao da possibilidade de fechar a janela aberta public class CloseableFrame extends Frame implements WindowListener { public CloseableFrame( ) { addWindowListener( this ); } public void windowClosing( WindowEvent event ) { System.exit( 0 ); }
18
PMR2370 Elementos de M quinas
public void windowClosed( WindowEvent event ) { } public void windowDeiconified( WindowEvent event ) { } public void windowIconified( WindowEvent event ) { } public void windowActivated( WindowEvent event ) { } public void windowDeactivated( WindowEvent event ) { } public void windowOpened( WindowEvent event ) { } } ARQUIVO JANELAINICIAL import java.io.*; //Pacotes necessarios para a funcionalidade do programa import java.lang.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.applet.*; import java.applet.Applet.*; // Esta classe o que define o conteudo da janela aberta class janelainicial extends CloseableFrame implements ActionListener, ItemListener { Button calcula; Checkbox a,b,c,d; CheckboxGroup escolhe, Ciclos; Image img; Graphics g; Label ciclos,cs, unidades, diametro,l1, forca1, forca2, fx1, fx2, fy1, fy2, fz1, fz2, a1, a2, b1, b2, c1, c2, tmax, l, r, qf, qn, qm, Su; TextField CICLOS, Cs, Qf, Qn, Qm, SU, R, Fx1, Fx2, Fy1, Fy2, Fz1, Fz2, A1, A2, B1, B2, C1, C2, Tmax, L; double csd, ciclosd, rd, fx1d, fx2d, fy1d, fy2d, fz1d, fz2d, a1d, a2d, b1d, b2d, c1d, c2d, tmaxd, ld, qfd, qmd, qnd, sud; static public Label porcentagem; static public TextField Diametro;
janelainicial() { // Cria o dos objetos dentro da janela setLayout(null); l1 = new Label ("Vamo faze eixooooo"); l1.setFont(new Font("Times New Roman", Font.BOLD, 16)); l1.setForeground(Color.blue); add(l1); l1.setBounds(20,30,400,20); unidades = new Label ("Todas as unidades devem estar em SI"); unidades.setFont(new Font("Times New Roman", Font.BOLD, 22)); unidades.setForeground(Color.red); add(unidades);
19
PMR2370 Elementos de M quinas
unidades.setBounds(10,350,400,50); forca1 = new Label ("For a 1"); forca1.setFont(new Font("Times New Roman", Font.BOLD, 14)); forca1.setForeground(Color.black); add(forca1); forca1.setBounds(20,60,80,20); forca2 = new Label ("For a 2"); forca2.setFont(new Font("Times New Roman", Font.BOLD, 14)); forca2.setForeground(Color.black); add(forca2); forca2.setBounds(20,140,80,20); fx1 = new Label ("Fx"); fx1.setFont(new Font("Times New Roman", Font.BOLD, 14)); fx1.setForeground(Color.black); add(fx1); fx1.setBounds(120,60,40,20); porcentagem = new Label ("0%"); porcentagem.setFont(new Font("Times New Roman", Font.BOLD, 20)); porcentagem.setForeground(Color.black); add(porcentagem); porcentagem.setBounds(510,400,65,20);
fx2 = new Label ("Fx"); fx2.setFont(new Font("Times New Roman", Font.BOLD, 14)); fx2.setForeground(Color.black); add(fx2); fx2.setBounds(120,140,40,20); fy1 = new Label ("Fy"); fy1.setFont(new Font("Times New Roman", Font.BOLD, 14)); fy1.setForeground(Color.black); add(fy1); fy1.setBounds(120,80,40,20);
fy2 = new Label ("Fy"); fy2.setFont(new Font("Times New Roman", Font.BOLD, 14)); fy2.setForeground(Color.black); add(fy2); fy2.setBounds(120,160,40,20); fz1 = new Label ("Fz"); fz1.setFont(new Font("Times New Roman", Font.BOLD, 14)); fz1.setForeground(Color.black); add(fz1); fz1.setBounds(120,100,40,20); fz2 = new Label ("Fz"); fz2.setFont(new Font("Times New Roman", Font.BOLD, 14)); fz2.setForeground(Color.black); add(fz2); fz2.setBounds(120,180,40,20); a1 = new Label ("a"); a1.setFont(new Font("Times New Roman", Font.BOLD, 14)); a1.setForeground(Color.black);
20
PMR2370 Elementos de M quinas
add(a1); a1.setBounds(220,60,30,20); a2 = new Label ("a"); a2.setFont(new Font("Times New Roman", Font.BOLD, 14)); a2.setForeground(Color.black); add(a2); a2.setBounds(220,140,30,20); b1 = new Label ("b"); b1.setFont(new Font("Times New Roman", Font.BOLD, 14)); b1.setForeground(Color.black); add(b1); b1.setBounds(220,80,30,20);
b2 = new Label ("b"); b2.setFont(new Font("Times New Roman", Font.BOLD, 14)); b2.setForeground(Color.black); add(b2); b2.setBounds(220,160,30,20); c1 = new Label ("c"); c1.setFont(new Font("Times New Roman", Font.BOLD, 14)); c1.setForeground(Color.black); add(c1); c1.setBounds(220,100,30,20); diametro = new Label ("E o diametro deve ser"); diametro.setFont(new Font("Times New Roman", Font.BOLD, 14)); diametro.setForeground(Color.black); add(diametro); diametro.setBounds(30,410,150,20);
c2 = new Label ("c"); c2.setFont(new Font("Times New Roman", Font.BOLD, 14)); c2.setForeground(Color.black); add(c2); c2.setBounds(220,180,30,20); tmax = new Label ("Tens o M xima de escoamento"); tmax.setFont(new Font("Times New Roman", Font.BOLD, 14)); tmax.setForeground(Color.black); add(tmax); tmax.setBounds(20,220,230,20); Su = new Label ("Tens o M xima de ruptura"); Su.setFont(new Font("Times New Roman", Font.BOLD, 14)); Su.setForeground(Color.black); add(Su); Su.setBounds(20,240,230,20); r = new Label ("Raio de arredondamento"); r.setFont(new Font("Times New Roman", Font.BOLD, 14)); r.setForeground(Color.black); add(r); r.setBounds(320,60,180,20); qf = new Label ("qf"); qf.setFont(new Font("Times New Roman", Font.BOLD, 14));
21
PMR2370 Elementos de M quinas
qf.setForeground(Color.black); add(qf); qf.setBounds(470,80,30,20); qn = new Label ("qn"); qn.setFont(new Font("Times New Roman", Font.BOLD, 14)); qn.setForeground(Color.black); add(qn); qn.setBounds(470,100,30,20); qm = new Label ("qm"); qm.setFont(new Font("Times New Roman", Font.BOLD, 14)); qm.setForeground(Color.black); add(qm); qm.setBounds(470,120,30,20); cs = new Label ("Cs"); cs.setFont(new Font("Times New Roman", Font.BOLD, 14)); cs.setForeground(Color.black); add(cs); cs.setBounds(470,140,30,20); l = new Label ("Comprimento do Eixo"); l.setFont(new Font("Times New Roman", Font.BOLD, 14)); l.setForeground(Color.black); add(l); l.setBounds(20,280,170,20); ciclos = new Label ("Ciclos (potencia de 10)"); ciclos.setFont(new Font("Times New Roman", Font.BOLD, 14)); ciclos.setForeground(Color.black); add(ciclos); ciclos.setBounds(310,280,160,20); Fx1 = new TextField("); Fx1.setBounds(170,60,40,20); add(Fx1); Fy1 = new TextField("); Fy1.setBounds(170,80,40,20); add(Fy1); Fz1 = new TextField("); Fz1.setBounds(170,100,40,20); add(Fz1); A1 = new TextField("); A1.setBounds(260,60,40,20); add(A1); B1 = new TextField("); B1.setBounds(260,80,40,20); add(B1); C1 = new TextField("); C1.setBounds(260,100,40,20); add(C1); Fx2 = new TextField("); Fx2.setBounds(170,140,40,20); add(Fx2);
22
PMR2370 Elementos de M quinas
Fy2 = new TextField("); Fy2.setBounds(170,160,40,20); add(Fy2); Fz2 = new TextField("); Fz2.setBounds(170,180,40,20); add(Fz2);
A2 = new TextField("); A2.setBounds(260,140,40,20); add(A2); B2 = new TextField("); B2.setBounds(260,160,40,20); add(B2); C2 = new TextField("); C2.setBounds(260,180,40,20); add(C2); R = new TextField("); R.setBounds(500,60,60,20); add(R); Qf = new TextField("); Qf.setBounds(500,80,60,20); add(Qf); Qn = new TextField("); Qn.setBounds(500,100,60,20); add(Qn); Qm = new TextField("); Qm.setBounds(500,120,60,20); add(Qm); Cs = new TextField("); Cs.setBounds(500,140,60,20); add(Cs); Tmax = new TextField("); Tmax.setBounds(250,220,90,20); add(Tmax); SU = new TextField("); SU.setBounds(250,240,90,20); add(SU); L = new TextField("); L.setBounds(200,280,60,20); add(L); CICLOS = new TextField(); CICLOS.setBounds(500,280,60,20); add(CICLOS); Diametro = new TextField(); Diametro.setBounds(200,410,90,20); add(Diametro);
23
PMR2370 Elementos de M quinas
calcula = new Button("Calcula o diametro ai rap "); calcula.setBounds(70,325,220,20); calcula.addActionListener(this); add(calcula); escolhe = new CheckboxGroup(); a = new Checkbox("Fadiga"); b = new Checkbox("Escoamento"); a.setCheckboxGroup(escolhe); b.setCheckboxGroup(escolhe); a.setState(true); a.setBounds(430,240,100,20); b.setBounds(430,220,100,20); add(a); add(b); a.addItemListener(this); b.addItemListener(this); Ciclos = new CheckboxGroup(); c = new Checkbox(); c.setBounds(480,280,20,20); d = new Checkbox(" Vida Infinita"); d.setBounds(480,300,90,20); d.setState(true); c.setCheckboxGroup(Ciclos); d.setCheckboxGroup(Ciclos); add(c); add(d); }
public void paint(Graphics g) { img = Toolkit.getDefaultToolkit().getImage("fadiga.jpg"); if (img != null) { Dimension apl = getSize(); int w = img.getWidth(this), h = img.getHeight(this); g.drawImage(img, (apl.width - w)/2, (apl.height - h)/2, this); } super.paint(g); }
public void itemStateChanged (ItemEvent e) { if(e.getSource()=b) { Qf.setEditable(false); Qn.setEditable(false); Qm.setEditable(false); SU.setEditable(false); Cs.setEditable(false); CICLOS.setEditable(false); c.setEnabled(false); d.setEnabled(false); } else { Qf.setEditable(true);
24
PMR2370 Elementos de M quinas
Qn.setEditable(true); Qm.setEditable(true); SU.setEditable(true); Cs.setEditable(true); CICLOS.setEditable(true); c.setEnabled(true); d.setEnabled(true); } } public void actionPerformed (ActionEvent e) { // M todo que verifica que bot o foi apertado e chama a execu o dos calculos if(e.getSource()=calcula){ // if(escolhe.getSelectedCheckbox()=b) { if((Fx1.getText().length() 0)&&(Fx2.getText().length() 0)&&(Fy1.getText().length( ) 0)&& (Fy2.getText().length() 0)&&(Fz1.getText().length() 0)&&(Fz2.getText().length() 0 )&& (A1.getText().length() 0)&&(A2.getText().length() 0)&&(B1.getText().length() 0)&& (B2.getText().length() 0)&&(C1.getText().length() 0)&&(C2.getText().length() 0)&& (L.getText().length() 0)&&(Tmax.getText().length() 0)&&(R.getText().length() 0)) { fx1d=Double.parseDouble(Fx1.getText()); fx2d=Double.parseDouble(Fx2.getText()); fy1d=Double.parseDouble(Fy1.getText()); fy2d=Double.parseDouble(Fy2.getText()); fz1d=Double.parseDouble(Fz1.getText()); fz2d=Double.parseDouble(Fz2.getText()); a1d=Double.parseDouble(A1.getText()); a2d=Double.parseDouble(A2.getText()); b1d=Double.parseDouble(B1.getText()); b2d=Double.parseDouble(B2.getText()); c1d=Double.parseDouble(C1.getText()); c2d=Double.parseDouble(C2.getText()); rd=Double.parseDouble(R.getText()); ld=Double.parseDouble(L.getText()); tmaxd=Double.parseDouble(Tmax.getText()); unidades.setText("Todas as unidades devem estar em SI"); unidades.setForeground(Color.red);
diagrama.tensoes(true,fx1d,fx2d,fy1d,fy2d,fz1d,fz2d,a1d,a2d,b1d,b2d,c1d,c2d,tmaxd ,ld,0,0,0,0,rd,0,0); } else { unidades.setText("Favor completar todos os parametros"); unidades.setForeground(Color.blue); } } else { if((Ciclos.getSelectedCheckbox()=c&&CICLOS.getText().length() 0) (Ciclos.getSel ectedCheckbox()=d))
25
PMR2370 Elementos de M quinas
if((Fx1.getText().length() 0)&&(Fx2.getText().length() 0)&&(Fy1.getText().length( ) 0)&& (Fy2.getText().length() 0)&&(Fz1.getText().length() 0)&&(Fz2.getText().length() 0 )&& (A1.getText().length() 0)&&(A2.getText().length() 0)&&(B1.getText().length() 0)&& (B2.getText().length() 0)&&(C1.getText().length() 0)&&(C2.getText().length() 0)&& (L.getText().length() 0)&&(Tmax.getText().length() 0)&&(SU.getText().length() 0) &&(Qm.getText().length() 0)&&(Qf.getText().length() 0)&&(Qn.getText().length() 0) &&(R.getText().length() 0)) { fx1d=Double.parseDouble(Fx1.getText()); fx2d=Double.parseDouble(Fx2.getText()); fy1d=Double.parseDouble(Fy1.getText()); fy2d=Double.parseDouble(Fy2.getText()); fz1d=Double.parseDouble(Fz1.getText()); fz2d=Double.parseDouble(Fz2.getText()); a1d=Double.parseDouble(A1.getText()); a2d=Double.parseDouble(A2.getText()); b1d=Double.parseDouble(B1.getText()); b2d=Double.parseDouble(B2.getText()); c1d=Double.parseDouble(C1.getText()); c2d=Double.parseDouble(C2.getText()); rd=Double.parseDouble(R.getText()); ld=Double.parseDouble(L.getText()); tmaxd=Double.parseDouble(Tmax.getText()); sud=Double.parseDouble(SU.getText()); qnd=Double.parseDouble(Qn.getText()); qmd=Double.parseDouble(Qm.getText()); qfd=Double.parseDouble(Qf.getText()); csd=Double.parseDouble(Cs.getText()); tmaxd=Double.parseDouble(Tmax.getText()); unidades.setText("Todas as unidades devem estar em SI"); unidades.setForeground(Color.red); if(Ciclos.getSelectedCheckbox()=c) ciclosd=Double.parseDouble(CICLOS.getText()); else ciclosd=6;
diagrama.tensoes(false,fx1d,fx2d,fy1d,fy2d,fz1d,fz2d,a1d,a2d,b1d,b2d,c1d,c2d,tmax d,ld,qnd,qmd,qfd,sud,rd, ciclosd, csd); } else { unidades.setText("Favor completar todos os parametros"); unidades.setForeground(Color.blue); } else { unidades.setText("Favor completar todos os parametros"); unidades.setForeground(Color.blue); } } }
26
PMR2370 Elementos de M quinas
}//actionPerformed }//classe Janelainicial ARQUIVO REACOES import java.io.*; //Pacotes necessarios para a funcionalidade do programa import java.lang.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.applet.*; import java.applet.Applet.*; import java.text.NumberFormat; // Classe que cria uma janela contendo as reacoes nos mancais e o ponto de falha class Reacoes extends Frame{ public Reacoes(double local,double R1x, double R1y, double R1z, double R2y, double R2z) { setTitle("Rea es nos mancais"); setBounds(20,20,260,170); setBackground(new Color(217,217,217)); addWindowListener(new CloseAndExit()); Label r1x, r1y, r1z, r2y, r2z, fim, Local; r1x = new Label ("Rea o X no mancal 1 = "+R1x); r1x.setFont(new Font("Times New Roman", Font.BOLD, 16)); add(r1x); r1x.setBounds(20,30,240,20); r1y = new Label ("Rea o Y no mancal 1 = "+R1y); r1y.setFont(new Font("Times New Roman", Font.BOLD, 16)); add(r1y); r1y.setBounds(20,50,240,20); r1z = new Label ("Rea o Z no mancal 1 = "+R1z); r1z.setFont(new Font("Times New Roman", Font.BOLD, 16)); add(r1z); r1z.setBounds(20,70,240,20); r2y = new Label ("Rea o Y no mancal 2 = "+R2y); r2y.setFont(new Font("Times New Roman", Font.BOLD, 16)); add(r2y); r2y.setBounds(20,90,240,20); r2z = new Label ("Rea o Z no mancal 2 = "+R2z); r2z.setFont(new Font("Times New Roman", Font.BOLD, 16)); add(r2z); r2z.setBounds(20,110,240,20); NumberFormat nf = NumberFormat.getInstance(); nf.setMaximumFractionDigits(2); String s = nf.format(local); Local = new Label ("A ponto cr tico em "+s+" metros"); Local.setFont(new Font("Times New Roman", Font.BOLD, 16)); add(Local); Local.setBounds(20,130,240,20); fim = new Label("); add(fim); fim.setBounds(20,150,100,20);
27
PMR2370 Elementos de M quinas
} public static void main (double local,double R1x, double R1y, double R1z, double R2y, double R2z) { new Reacoes(local,R1x, R1y, R1z, R2y, R2z).show(); } }
28
é uma fonte e tanto devez em quando bebo
muito bom vou ler
ola tem 17 anos e esto estudando o 3 ano do ensino fundamenta
é esto cursando o 2 ano de ingles.mais tambem queri entra pra marinha mais esto sem infomação alguma gostaria de saber como faço para entra en contato para mais informações assim so do sexus feminino.
gostei muito!!!
Relatório Programa eixo maker com fadiga.pdf
Exercício proposto pelo professor Kawano em 2004 - programa que calcula diâmetro de eixo de acordo com o torque aplicado
Material Técnico da EBERLE - Motor Elétrico de Dupla velocidade
Material complementar da disciplina PME2421 - Elementos de máquinas II (4º ano da Mecânica POLI-USP).
Monitoramento na atenção básica de saúde
O processo de consolidação do Sistema Único de Saúde (SUS) estabelece atualmente como desafio para suas instâncias gestoras a garantia da qualidade da atenção prestada aos seus usuários. No contexto da Atenção Básica de Saúde, a melhoria da qualidade aponta para a reorganização das ações, delineadas a partir do conhecimento da realidade local, das necessidades de saúde e da melhor definição de competências e responsabilidades
Relatório Final de Estágio Escola SENAI Anchieta
Relatório Final de Estágio Técnico em Mecatrônica, da Escola SENAI Anchieta realizado na empresa Zema Zselics Ltda., revisado e entregue. Pode ser usado como referência para elaboração própria, mas cometam o plágio!!!! Isso já é burrice....
CNC - Transparências de Programação
Transparências de CNC das aulas de Mecanica de precisão da FATEC-SP