LEONARDO MORENO XAVIER
Programação em Python para dispositivos do laboratório de estruturas do departamento
de mecânica FEG/UNESP.
Guaratinguetá
2022
Leonardo Moreno Xavier
Programação em Python para dispositivos do laboratório de estruturas para o
departamento de mecânica da FEG/UNESP.
Trabalho de Graduação apresentado ao
Conselho de Curso de Graduação em
Engenharia Mecânica da Faculdade de
Engenharia do Campus de Guaratinguetá,
Universidade Estadual Paulista, como parte
dos requisitos para obtenção do diploma de
Graduação em Engenharia Mecânica
Orientador: Prof. Dr. Marcelo Sampaio
Martins
Guaratinguetá - SP
2022
DADOS CURRICULARES
LEONARDO MORENO XAVIER
NASCIMENTO 09.12.1993 – Ribeirão Preto / SP
FILIAÇÃO Roberto Xavier
Vilma de Castro Moreno Xavier
Dedico este trabalho aos meus pais por todo
apoio, amor e compreensão durante meus anos
de graduação.
AGRADECIMENTOS
Agradeço aos meus pais, por sempre terem me apoiado em todos os momentos. Foram
anos muito difíceis e sem a ajuda deles, nada disso seria possível. Agradeço também aos meus
companheiros de república onde morei todos esses anos e por último ao meu orientador Marcelo
Sampaio Martins pela oportunidade de fazer meu trabalho de graduação e finalmente concluir
meu curso.
RESUMO
O processo de construção do conhecimento passa por processos tanto práticos como teóricos.
Esse é o motivo dos alunos de engenharia mecânica terem uma carga horária voltada tanto à
aulas teóricas como de laboratório. Quando é possibilitado que os alunos acompanhem
fisicamente os fenômenos estudados em sala, o conhecimento se complementa de forma
satisfatória e definitiva. Neste trabalho foi desenvolvido um software utilizando a linguagem
de programação Python para a simulação de seis dos dispositivos presentes no laboratório de
estruturas do dep. mec. da Faculdade de Engenharia de Guaratinguetá. Esses dispositivos foram
um guindaste de torre, uma treliça plana, um tubo de tensões principais, uma viga curva, uma
viga hiperestática e um vaso de pressão. Cada um desses dispositivos apresenta características
únicas e necessitam de uma modelagem teórica apropriada. O conhecimento adquirido ao longo
na disciplina de Resistência dos Materiais durante o curso de Engenharia Mecânica serve como
base para o entendimento destes conceitos. O laboratório de estruturas tem como objetivo
complementar esse conhecimento visto em sala. Sendo assim, os alunos poderão fazer uso desse
software para comparar seus experimentos no laboratório de estruturas com os valores teóricos
de acordo com a literatura especializada.
PALAVRAS-CHAVE: Dispositivos Didáticos Deflexão. Deformação. Software Python.
ABSTRACT
The knowledge construction process goes through both practical and theoretical processes. This
is why mechanical engineering students have a careful workload in both theoretical and
laboratory classes. When it is possible for students to physically follow the phenomena studied
in the classroom, knowledge complements itself in a satisfactory and definitive way. In this
work, it was developed a software using Python programming language for the simulation of
six of the devices present in the FEG structures laboratory. These devices were a tower crane,
a flat truss, a main stress tube, a curved beam, a hyperstatic beam and a pressure vessel. Each
of these devices has unique characteristics and need an appropriate theoretical model. The
knowledge acquired throughout the subject of Strength of Materials during the mechanical
engineering course serves as a basis for understanding these concepts. The structure laboratory
aims to complement this knowledge seen in the classroom. Therefore, students will be able to
use this software to compare their experiments in the laboratory of structures with the
theoretical values according to the specialized literature.
KEYWORDS: Didactic Devices. Deflection. Deformation. Software Python.
.
LISTA DE FIGURAS
Figura 1 – Estrutura formada por treliças ................................................................................ 18
Figura 2 – Forças internas e externas em uma treliça.............................................................. 19
Figura 3 – Treliça presente no laboratório de estruturas com elementos numerados.............. 20
Figura 4 – Modelagem geométrica Guindaste de Torre em vista de perfil ............................ 21
Figura 5 – Guindaste de Torre do laboratório de estruturas do departamento de mecânica da
FEG-UNESP ............................................................................................................................ 21
Figura 6 – Deformação de uma viga prismática submetida a conjugados .............................. 22
Figura 7 – Representação simplificada do dispositivo de medição de medição de deformação
em uma viga ............................................................................................................................ 23
Figura 8 – Extensômetro colado na superfície da viga ............................................................ 24
Figura 9 – Aplicação da carga P na viga curva ....................................................................... 25
Figura 10 – Aplicação de um carregamento em situação real ................................................. 25
Figura 11 – Extensômetros A, B e C utilizados no dispositivo de medição de tensões e
deformações principais. ........................................................................................................... 26
Figura 12 – Representação esquemática do dispositivo medidor de tensões e deformações
principais mostrando sua montagem e a posição da roseta retangular .................................... 27
Figura 13 – Dispositivo de medição de tensões e deformações principais após montagem. .. 27
Figura 14 – Posicionamento dos Vasos de Pressão ................................................................. 28
Figura 15 – Concepção do projeto de vaso de pressão de paredes finas ................................. 29
Figura 16 – Roseta instrumentada ........................................................................................... 29
Figura 17 – Dispositivo Didático montado.............................................................................. 30
Figura 18 – Artigos acadêmicos relacionados com a linguagem Python ao longo dos anos .. 31
Figura 19 – Exemplo de código para criação de uma interface utilizando a biblioteca Tkinter
................................................................................................................................................. 31
Figura 20 – Interface criada pelo código exemplo da Figura 19 ............................................. 32
Figura 21 – Cálculo da carga teórica do guindaste de torre no código fonte do software do
laboratório de estruturas da FEG ............................................................................................. 34
Figura 22 – Nós da treliça plana .............................................................................................. 34
Figura 23 – Cálculo da deflexão do ponto C da treliça plana dentro do código fonte ............ 35
Figura 24 –Eixos do tubo de tensões principais ...................................................................... 36
Figura 25 – Cálculo das tensões e deformações do tubo de tensões principais....................... 37
Figura 26 – Cálculo da deflexão do ponto C da viga curva dentro do código fonte ............... 38
Figura 27 – Cálculo das tensões no costado, tangencial e longitudinal do vaso de pressão no
código fonte ............................................................................................................................. 38
Figura 28 – Código de dados de entrada dentro do código fonte para a viga hiperestática .... 39
Figura 29 – Exemplo de dados de entrada inseridos pelo usuário e dados de saída do software
para o guindaste de torre .......................................................................................................... 40
Figura 30 - Exemplo de dado de entrada inserido pelo usuário e dado de saída do software
para a treliça plana ................................................................................................................... 40
Figura 31 - Exemplo de dado de entrada inserido pelo usuário e dado de saída do software
para o tubo de tensões principais ............................................................................................. 41
Figura 32 - Exemplo de dados de entrada inserido pelo usuário e dados de saída do software
para a viga curva ...................................................................................................................... 41
Figura 33 - Exemplo de dados de entrada inserido pelo usuário e dados de saída do software
para o vaso de pressão ............................................................................................................. 42
Figura 34 - Exemplo de dados de entrada inserido pelo usuário e dados de saída do software
para a viga hiperestática .......................................................................................................... 43
Figura 35 – Arranjo esquemático da viga hiperestática .......................................................... 43
LISTA DE TABELAS
Tabela 1 – Tabela para cálculo da deflexão do ponto C de acordo com o Teorema de Castigliano
................................................................................................................................................. 35
LISTA DE ABREVIATURAS E SIGLAS
MEF Método De Elementos Finitos
LISTA DE SÍMBOLOS
F: Força [N]
M: Momento [N.m]
σ: Tensão [Pa]
P: Módulo da força [N]
ԑ: Deformação específica
δ: Variação absoluta do comprimento [m]
L: Comprimento [m]
E: Módulo de elasticidade [Pa]
I: Momento de inércia ][ 4m
Τ: Tensão de cisalhamento
SUMÁRIO
1 INTRODUÇÃO .................................................................................................. 15
1.1 CONTEXTUALIZAÇÃO DO TRABALHO ....................................................... 15
1.2 OBJETIVOS ......................................................................................................... 16
1.3 JUSTIFICATIVAS ............................................................................................... 16
2 REVISÃO BIBLIOGRÁFICA .......................................................................... 17
2.1 ENSINO PRÁTICO DA ENGENHARIA ........................................................... 17
2.2 DISPOSITIVOS DIDÁTICOS NA ÁREA DE RESISTÊNCIA DOS
MATERIAIS ........................................................................................................................... 18
2.3 PROGRAMAÇÃO EM PYTHON ....................................................................... 30
2.3.1 INTERFACE EM PYTHON ................................................................................ 31
3.0 MODELAGEM E DESCRIÇÃO TEÓRICA DOS DISPOSITIVOS ............. 33
3.1 GUINDASTE DE TORRE .................................................................................... 33
3.2 TRELIÇA PLANA ................................................................................................ 34
3.3 TUBO DE TENSÕES PRINCIPAIS ..................................................................... 35
3.4 VIGA CURVA ...................................................................................................... 37
3.5 VASO DE PRESSÃO ........................................................................................... 38
3.6 VIGA HIPERESTÁTICA ..................................................................................... 38
4.0 RESULTADOS E DISCUSSÃO ........................................................................ 40
5.0 CONCLUSÕES E SUGESTÕES PARA PRÓXIMOS TRABALHOS .......... 44
5.1 CONCLUSÕES ..................................................................................................... 44
5.1 SUGESTÕES PARA PRÓXIMOS TRABALHOS .............................................. 44
REFERÊNCIAS .................................................................................................................... 45
APÊNDICE A – CÓDIGO FONTE DO SOFTWARE ........................................................... 48
15
1 INTRODUÇÃO
1.1 CONTEXTUALIZAÇÃO DO TRABALHO
Segundo Dias (2017), a visualização e contemplação de fenômenos inerentes da
Resistência dos Materiais em laboratório permite ao aluno um melhor aprendizado. Em razão
do avanço tecnológico, busca-se para o ensino superior de Engenharia Mecânica novas
alternativas para que as aulas de determinadas disciplinas, hoje, totalmente teóricas, possam
apresentar-se, eventualmente, mais práticas através de dispositivos didáticos (BORTOLO,
2006). Assim sendo, fez-se necessária a confecção de dispositivos necessários para o estudo de
resistência dos materiais para o Laboratório de Estruturas da Faculdade De Engenharia De
Guaratinguetá (UNESP/FEG) que serão apresentados a seguir.
De acordo com Beer (2015), treliças são estruturas estacionárias totalmente vinculadas
projetadas para suportar cargas. Elas são formadas por elementos retilíneos conectados em
juntas localizadas nas extremidades de cada elemento. Sendo assim, em cada um dos membros
de uma treliça são submetidas duas forças em suas extremidades de mesmo módulo, direção e
sentidos opostos. No caso específico de treliças planas, pode-se dizer que são estruturas rígidas
bidimensionais que, em sua forma mais elementar, consistem em três barras unidas por suas
extremidades formando os lados de um triângulo. Essa foi uma das estruturas construídas para
o laboratório de estruturas da referida instituição. O guindaste de torre é um dos equipamentos
mais utilizados nos canteiros de obras (Chen et al., 2021). Assim sendo, fez-se necessária a
construção de um protótipo de guindaste de torre no laboratório de estruturas dado sua
importância no estudo de aplicações de engenharia. Segundo Beer (2015), a flexão pura ocorre
em barras prismáticas submetidas à ação de dois conjugados iguais de sentidos contrários, que
atuam em um mesmo plano longitudinal. Sendo assim, foi elaborado e construído um
dispositivo para o estudo do caso de uma viga submetida a flexão pura que é capaz de
demonstrar de forma clara, uma viga em flexão pura, que apresenta um trecho constante de seu
diagrama de esforço cortante com força igual a zero e um trecho de seu respectivo diagrama de
momento fletor com magnitude máxima constante, o que representa a flexão pura. Outro
dispositivo didático presente no laboratório de estruturas trata-se de uma viga curva isostática
para determinação experimental de tensões, deformações e deslocamentos. Essa viga curva
simples é biapoiada com um apoio articulado em uma extremidade e um apoio deslizante na
outra extremidade, permitindo rotação em ambos os apoios, mas restringindo a translação na
primeira extremidade, com apoio articulado, e permitindo translação do apoio deslizante. O
16
engenheiro tem a responsabilidade de determinar se uma dada carga leva a tensões e
deformações aceitáveis (BEER,1990). Assim sendo, para o estudo das tensões e deformações
principais foi desenvolvido um dispositivo para o ensino de medições de tensões e deformações
principais que consiste em um corpo tubular com uma extremidade soldada em uma base fixa
e na extremidade livre sendo fixada uma alavanca onde é aplicada uma determinada carga. Essa
carga provoca tensões normais, torcionais e de cisalhamento no tubo, e com os extensômetros
devidamente posicionados, é possível realizar as medidas das tensões e deformações principais.
Para o estudo da deflexão em vigas hiperestáticas prismáticas, foi elaborado um dispositivo que
utiliza cargas cortantes e flexionais máximas em uma viga e simulação de distribuição e posição
de cargas. Outro dispositivo importante no estudo de pressão e deformação presente no
laboratório de estruturas é o vaso de pressão, dentro da teoria de membranas. Sendo assim, foi
construído um vaso de pressão de aço comercial.
1.2 OBJETIVOS
O objetivo com a implementação do projeto de trabalho de graduação foi a
possiblidade dos alunos que participarem dos procedimentos experimentais do
laboratório, terem a possibilidade de utilizar dados de entrada que estejam além da
capacidade máxima dos dispositivos presentes no mesmo para que seja possível simular
os dados de saída desses dispositivos em situações customizadas em condições mais
abrangentes por meio de programas em linguagem Python.
1.3 JUSTIFICATIVAS
Este trabalho possui como justificativa o interesse do pesquisador em conseguir utilizar
um caso real para aplicar conhecimentos em programação com a linguagem Python assim como
conhecimento prático em assuntos abordados ao longo do curso de engenharia mecânica.
17
2 REVISÃO BIBLIOGRÁFICA
Neste capítulo serão apresentados os conceitos fundamentais para o estudo e realização
deste trabalho de graduação. Serão abordados assuntos referentes ao tipo de linguagem de
programação utilizada na construção dos programas assim como aos dispositivos mecânicos
presentes no laboratório de estruturas e que são objeto de estudo.
2.1 ENSINO PRÁTICO DA ENGENHARIA
De acordo com a Unesp, ao longo da grade curricular dos cursos de engenharia mecânica
de uma forma geral, é encontrada uma carga horária de aproximadamente 20% em matérias
práticas ou laboratórios. Isso demonstra a importância do ensino prático dos conceitos
encontrados na literatura teórica durante a formulação da grade curricular do referido curso.
Além de matérias com grande parte de sua carga horária voltada ao conteúdo prático como por
exemplo Propriedades Mecânicas Dos Materiais, também existem matérias que abordam seu
conteúdo de forma prática em sua totalidade como é o caso de Laboratório de Mecânica. Em
ambos os casos e também em outros exemplos encontrados na grade, é utilizado um grande
aparato de dispositivos didáticos mecânicos e eletromecânicos para o ensino dos conceitos aos
quais as disciplinas práticas se propõem a ensinar. Entre os tipos de dispositivos didáticos
destacam-se os materiais virtuais desenvolvidos geralmente com o auxílio de ferramentas
computacionais e o os materiais físicos compostos principalmente de protótipos (BORTOLO e
LINHARES 2006). Segundo Diwakar (2013), o laboratório é o lugar onde várias teorias são
testadas e onde é estabelecida a relação entre o conhecimento teórico e prático. Segundo Gaber
(2013), o laboratório tem um grande papel no reforço de competências dos alunos, pois é um
ambiente vital de uma variedade de atividades e experiências em que a ciência é estudada, sendo
um ambiente onde a ciência é experimentada, onde as capacidades de resolver problemas são
refinadas no contexto da investigação laboratorial. De acordo com Salaheddin (2015), a
engenharia trata-se de uma ciência aplicada e os experimentos laboratoriais mantém a ciência
viva. O ensino na engenharia deve ser autêntico, colaborativo, com aprendizagem ativa,
baseado em problemas, e a direção adequada é aprender a pensar ativamente implementando
os conhecimentos adquiridos em laboratórios práticos, incluindo laboratórios virtuais e remotos
(SELL, 2014). Os laboratórios físicos beneficiam os alunos por incorporar objetos concretos
naaprendizagem das ciências e segundo Feisel, Rosa (2005), alguns alunos podem se envolver
melhor com ciência quando eles são capazes de tocar, mover e examinar objetos reais.
18
2.2 DISPOSITIVOS DIDÁTICOS NA ÁREA DE RESISTÊNCIA DOS MATERIAIS
A seguir, serão apresentados em maiores detalhes os dispositivos utilizados didaticamente
dentro da área de mecânica dos materiais assim como sua importância acadêmica e didática
dentro do contexto acadêmico.
Segundo Beer e Johnston (2009), treliças em elementos retos sujeitos a duas forças e
unidos em nós localizados nas extremidades de cada elemento e além disso, nenhum elemento
é contínuo através de um nó. Nas aplicações de engenharia encontradas atualmente, a maioria
das estruturas reais é constituída de várias treliças unidas formando assim uma estrutura
espacial. Cada treliça sustenta suas respectivas cargas em seu próprio plano e sendo assim, pode
ser tratada como uma estrutura bidimensional. Além disso, de forma geral, os membros de uma
treliça são esbeltos e podem suportar pouca carga lateral e sendo assim, todas as cargas devem
ser aplicadas nos nós (BEER, 2009). Nesse contexto, a Figura 1 ilustra o arranjo esquemático
de uma estrutura formada por treliças.
Figura 1 – Estrutura formada por treliças
Fonte: Beer e Jhonston (2009)
A Figura 2 por sua vez, ilustra o comportamento das forças presentes internamente e
externamente e uma treliça simples por meio de um diagrama de corpo livre.
19
Figura 2 – Forças internas e externas em uma treliça
Fonte: Beer e Jhonston (2009)
As forças exercidas pelo elemento nos dois pinos ligados devem ser direcionadas ao longo
desse elemento sendo iguais e opostas. Além disso, as condições de equilíbrio para a treliça
inteira geram as equações 1, 2 e 3 que não são independentes das equações dos nós.
0= xF (1)
0= yF (2)
∑𝑀 = 0 (3)
Onde cada força F tem sua respectiva direção y ou x e M representa um momento atuante
naquele elemento. As 3 equações trazem o elemento de somatório por tratarem-se de
resultantes. As equações das forças internas são representadas a seguir:
0= xF (4)
0= yF (5)
Por fim, as equações de tensão e deformação atuantes em elementos de treliças são
representadas a seguir:
20
𝜺 =
𝜹
𝑳
(6)
E. = (7)
Onde 𝛆 representa a deformação específica por unidade de comprimento, 𝜹 uma
deformação para um dado comprimento, e L o comprimento em questão. A Figura 3 por sua
vez, mostra a treliça presente no laboratório de estruturas com a qual será feito o trabalho de
graduação em questão:
Figura 3 – Treliça presente no laboratório de estruturas com elementos numerados
Fonte: Autoria própria (2022)
Segundo Scigliano (2008), no contexto da construção civil, máquinas, ferramentas e
equipamentos que permitem erguer, descer ou ainda locomover de forma horizontal ações,
tubulações, concreto e os demais tipos de cargas presentes em questão, são determinantes e, por
isso, guindastes de torres amplamente utilizados. Ainda segundo o mesmo autor, as gruas são
utilizadas não só na construção civil, mas também em indústrias, terminais portuários e
aeroportuários.
Seu tamanho e formas variam, para que seja possível atender às necessidades de suas
diferentes aplicações, e cabe ao engenheiro planejar e organizar padrões. Foi projetado e
construído um Guindaste de Torre para o laboratório de estruturas da FEG – Faculdade de
Engenharia de Guaratinguetá desde a fase de projeto até a execução. A Figura 4 ilustra a
modelagem geométrica deste guindaste de torre.
21
Figura 4 – Modelagem geométrica Guindaste de Torre em vista de perfil
Fonte: Autoria própria (2022)
A figura 5 a seguir ilustra o referido dispositivo após fase de projeto, execução e
montagem.
Figura 5 - Guindaste de Torre do laboratório de estruturas do departamento de mecânica da
FEG-UNESP
Fonte: Autoria própria (2022)
Segundo Beer e Johnston (2009), os casos de flexão pura são muito comuns nas
aplicações práticas. Ainda segundo o mesmo autor, a deformação atuante em uma barra
22
prismática em flexão pura sujeita a ação dos conjugados M e M’ pode ser exemplificada pela
figura 6.
Figura 6 – Deformação de uma viga prismática submetida a conjugados
Fonte: Beer e Jhonston (2008)
Foi projetado, executado e montado um dispositivo didático para o laboratório de
estruturas da FEG conforme citado anteriormente com a função de medir e estudar a
deformação presente em uma viga submetia a flexão pura. Mais especificamente, esse
dispositivo apresenta um trecho constante de seu diagrama de esforço cortante com força igual
a zero e um trecho do seu respectivo momento fletor com magnitude máxima constante, o que
representa nesse caso flexão pura. As equações 8, 9 e 10 descrevem o funcionamento do referido
dispositivo.
σ =
Mc
l
(8)
E. = (9)
I =
bh
3
12
(10)
Onde σ representa a tensão normal, M o momento atuante no elemento e c a distância da
linha neutra. A segunda equação mostra matematicamente a Lei de Hooke para situações dentro
do regime elástico onde ε representa a deformação enquanto E é o módulo de elasticidade que
é uma característica específica do material. Por fim, para a terceira equação, I é o momento de
inércia para a viga em questão sendo b sua base e h sua altura. De forma simplificada, a Figura
23
7 ilustra todas as partes presentes no dispositivo bem como a colagem do extensômetro que será
utilizado nas medições requisitadas.
Figura 7 – Representação simplificada do dispositivo de medição de medição de deformação
em uma viga
Fonte: Autoria própria (2022)
Outro dispositivo didático que será utilizado como objeto de estudo e que está presenta
no laboratório de estruturas da FEG se trata de uma viga curva isostática para aferição de sua
deflexão horizontal. Essa viga foi projetada de forma a ser biapoiada, com um apoio articulado
em uma extremidade e um apoio deslizante na outra extremidade, permitindo rotação em ambos
os apoios, mas restringindo a translação na primeira extremidade, com apoio articulado, e
permitindo translação do apoio deslizante. Assim como os outros dispositivos citados, o projeto
foi concebido para o melhor ensino da matéria de Resistência dos Materiais visto que permite
a visualização e aplicação do conteúdo teórico sobre o Teorema de Castigliano para medição
de deflexões em vigas visto nas aulas da referida matéria. A validade do projeto contará com
três dados de deflexão. O primeiro será obtido diretamente no dispositivo, através da escala
posicionada na extremidade que se deslocará. O segundo dado será obtido utilizando cálculos
matemáticos, aplicando o Teorema de Castigliano. Os dados obtidos diretamente na viga, pela
escala, serão comparados aos dados obtidos matematicamente. A partir da energia de
deformação de uma estrutura, o teorema de Castigliano fornece um meio de se calcular a
deflexão da estrutura quando submetida a um carregamento (GERE; GOODNO, 2010). Esse
método aplica-se somente a corpos que permaneçam com temperatura constante e na região de
cargas em que o material apresenta comportamento elástico (HIBBELER, 2010). Nesse
contexto, a equação 11 representa do Teorema de Castigliano.
24
δ =
∂U
∂Q
(11)
Onde 𝑈 representa a energia de deformação, δ o deslocamento generalizado e Q a
força generalizada. Essa dedução foi realizada considerando um corpo arbitrário, porém
o teorema pode ser usado para qualquer outro tipo de estrutura. A exigência para a
aplicação deste teorema é de que a estrutura seja linear elástica, pois a dedução acima
exige que somente forças conservativas sejam consideradas, e que o princípio de
superposição seja aplicável (GERE; GOODNO, 2010). Segundo Hibbeler (2010), para tornar
o procedimento matemático mais prático no caso de vigas, considerando E e I constantes, o
Teorema de Castigliano pode ser enunciado como se segue:
δ = ∫ M (
∂M
∂P
) dx
1
EI
L
0
(12)
Onde δ representa o deslocamento do ponto provocado pelas cargas reais que agem sobre
a viga, P a força externa de intensidade variável aplicada na viga na direção de δ, M o momento
interno da viga, E o módulo de elasticidade do material da viga, I o momento de inércia da área
da seção transversal, calculado em torno de um eixo neutro. Segundo Gere e Goodno (2010),
essa abordagem é chamada de Teorema Modificado de Castigliano. Para a análise da
deformação específica da viga e tensão de flexão atuante, foi realizada a colagem de dois
extensômetros na viga, um na fibra externa e outro na fibra interna, a fim de avaliar tanto os
esforços de compressão, quanto os esforços de tração atuantes como mostra a Figura 8.
Figura 8 – Extensômetro colado na superfície da viga
Fonte: Autoria própria (2022)
25
A aplicação da carga P na viga curva é representada pela figura 9.
Figura 9 - Aplicação da carga P na viga curva
Fonte: Autoria própria (2022)
A aplicação do carregamento em uma situação real é vista na figura 10.
Figura 10 – Aplicação de um carregamento em situação real
Fonte: Autoria própria (2022)
Foi também elaborado um dispositivo didático para medição de tensões e deformações
principais com combinações de carregamentos, flexional, torcional e as cargas cortantes na
estrutura fazendo a utilização de extensômetros. Segundo Hibbeler (2010), o extensômetria é
uma das ferramentas que auxiliam na determinação de esforços e deformações utilizando-se de
sensores como rosetas extensométricas, e também sistemas de aquisição de dados para obtenção
desses valores. O dispositivo para o ensino de medições de tensões e deformações principais
compreende um corpo tubular uma extremidade soldada em uma base fixa e na extremidade
livre sendo fixada uma alavanca onde é aplicada uma determinada carga. Uma força P é
26
aplicada na extremidade da alavanca que por sua vez está fixada na extremidade livre do tubo.
A carga P provoca tensões normais, torcionais e de cisalhamento no tubo, e com os
extensômetros devidamente posicionados, é possível realizar as medidas das tensões e
deformações principais. As equações de tensão normal, conjugado, flexão em regime elástico,
tensão de cisalhamento e torção respectivamente são mostradas a seguir:
σ =
P
A
(13)
M = P.D (14)
σ =
M
I
(15)
τ =
V.Q
I.t
(16)
τ =
T.p
J
(17)
Onde σ representa a força normal, P a carga aplicada perpendicularmente à área, A a área
onde P é aplicada, M o momento, d o comprimento do tubo, y a distância entre a superfície
externa do tubo e a linha neutra, I o respectivo momento de inércia, V a força cortante, t a
largura da seção horizontal, Q o momento estático de área, τ a torção, p a distância do eixo da
barra e J o momento de inércia polar de um círculo. A disposição real dos extensômetro A, B e
C utilizados na construção do dispositivo podem ser vistos na Figura 11.
Figura 11 – Extensômetros A, B e C utilizados no tubo de tensões e deformações principais.
Fonte: Autoria própria (2022)
27
A Figura 12 mostra uma representação esquemática dos elementos citados envolvidos no
projeto já montado enquanto a Figura 13 mostra o dispositivo real após a montagem.
Figura 12 – Representação esquemática do dispositivo medidor de tensões e deformações
principais mostrando sua montagem e a posição da roseta retangular
Fonte: Autoria própria (2022)
Figura 13 – Dispositivo de medição de tensões e deformações principais em situação real após
montagem
Fonte: Autoria própria (2022)
28
Por fim, foi também construído para o laboratório de estruturas da FEG um vaso de
pressão. Segundo Borse; Sharma (2012), vasos de pressão são dispositivos para armazenamento
e transporte de fluidos, comumente feitos de aço e tem sido amplamente utilizados em indústrias
em operações de risco. Vasos de pressão são classificados majoritariamente de acordo com sua
geometria, e cada uma destas é recomendada para sua aplicação específica de acordo com o
código recomendado pela ASME (2015). Para Carraro et al. (2009), é possível distinguir dois
principais componentes em um vaso de pressão: o tampo e o costado. O último é comumente
concebido em forma cilíndrica, esférica, cônica ou até mesmo uma combinação das mesmas.
Para Da; Cefet (2014), existem três grupos de vasos de pressão com relação ao posicionamento:
• Verticais em caso a interferência gravitacional seja essencial;
• Horizontais, quando se trata do caso de melhor disposição de sustentação
• Inclinados, quando ocorre o caso de um fluido muito viscoso de consequente difícil
escoamento.
A Figura 14 ilustra os possíveis posicionamentos para vasos de pressão.
Figura 14 - Posicionamento dos Vasos de Pressão
Fonte: Telles (2001)
As as equações (18), (19) e (20) das tensões no costado, tangencial e longitudinal
respectivamente em um vaso de pressão junto ao fator de correção ASME (2015):
σ = (pr/2t) + 0,2.p (18)
29
σt = (pr/t) + 0,6.p (19)
σl = (pr/2t) + 0,6.p (20)
Onde p representa a pressão interna, r o raio interno e t a espessura do vaso considerando-
se que esse valor t tem de ser 10% menor que o raio interno de acordo com a Teoria de Cálculo
de Vasos de Pressão de Parede Fina. A Figura 15 ilustra a concepção do projeto bem como os
elementos que integram esse dispositivo.
Figura 15 – Concepção do projeto de vaso de pressão de paredes finas
Fonte: Autoria própria (2022)
A Figura 16 a seguir mostra a roseta utilizada para instrumentação do dispositivo por
meio de uma Roseta.
Figura 16 - Roseta instrumentada
Fonte: Autoria própria (2022)
30
A figura 17 mostra o dispositivo após o processo de montagem no laboratório de
estruturas da FEG.
Figura 17 - Dispositivo Didático montado BR102019 0233320
Fonte: Autoria própria (2022)
2.3 PROGRAMAÇÃO EM PYTHON
Segundo Lutz (2011), Python se trata de uma linguagem de programação de
computadores de código aberto de uso geral sendo também otimizada para a qualidade de
software, produtividade do desenvolvedor, portabilidade de programas e integração de
componentes. Ainda de acordo com o mesmo autor, essa linguagem é hoje utilizada por pelo
menos centenas de milhares de desenvolvedores em torno do mundo em áreas como
programação de sistemas, interfaces de usuário, personalização de produtos, programação
numérica, entre outros. É também considerado estar entre as cinco linguagens de programação
mais amplamente utilizadas no mundo hoje. Python também conta hoje em sua base de usuários
empresas como Google e Youtube. Seu conjunto de ferramentas o torna uma linguagem flexível
e ágil, ideal tanto para tarefas táticas rápidas quanto para esforços de desenvolvimento de
aplicações estratégicas de longo prazo. A Figura 18 representa a importância da linguagem
Python em termos dos artigos científicos que de alguma forma utilizaram as ferramentas
proporcionados por essa linguagem mostrando assim, a relevância atual dessa linguagem de
programação no âmbito acadêmico.
31
Figura 18 – Artigos acadêmicos relacionados com a linguagem Python ao longo dos anos
Fonte: Adaptado de (Scopus, 2022)
2.3.1 INTERFACE EM PYTHON
Dentre as possíveis interfaces para a construção de um programa em Python, para a
aplicação desejada, será implementada a biblioteca Tkinter como é exemplificado pelas Figuras
19 e 20.
Figura 19 – Exemplo de código para criação de uma interface utilizando a biblioteca Tkinter
Fonte: Documentação da biblioteca Tkinter (2022)
32
Figura 20 – Interface criada pelo código exemplo da Figura 19
Fonte: Autoria própria (2022)
Ainda segundo a documentação da biblioteca, o pacote tkinter é a interface padrão Python
para o conjunto de ferramentas Tcl/Tk GUI. Tanto Tk como tkinter estão disponíveis na maioria
das plataformas Unix, incluindo MacOS, bem como em sistemas Windows. O PySimpleGUI é
capaz de transformar as estruturas GUI tkinter, Qt, WxPython e Remi em uma interface mais
simples. A definição da janela é simplificada usando tipos de dados centrais Python
compreendidos por iniciantes sendo tanto listas como dicionários. Uma simplificação adicional
acontece mudando o tratamento de eventos de um modelo baseado em callback para um modelo
que passa uma mensagem.
33
3 MODELAGEM E DESCRIÇÃO TEÓRICA DOS DISPOSITIVOS
Neste capítulo serão apresentadas as equações teóricas para os dispositivos anteriormente
apresentados e suas respectivas versões dentro do contexto do código fonte do software
desenvolvido para o laboratório de estruturas da FEG. Nas figuras apresentadas neste capítulo
no contexto do código fonte, frequentemente haverá a ocorrência das funções float() para a
transformação de valores de input para o tipo float, pow() para utilização de expoentes e get()
para encontrar variáveis que foram inseridas pelo usuário.
3.1 GUINDASTE DE TORRE
Para o guindaste de torre, além das equações que já foram citadas e que serão citadas
neste capítulo, a teoria foi embasada conforme Aluvino (2017). Para a obtenção da carga teórica,
foi considerada a origem x, y e z no ponto de encontro da lança e a torre e foi utilizado o conceito
de somatório de momentos conforme a equação (8):
m.g.l - F.sen(θ).d + x.Cp = 0 (21)
Onde m representa a massa alocada na extremidade da lança, g a aceleração da gravidade,
l o comprimento da lança de guindaste, F a carga teórica, θ a angulação entre a torre e o cabo e
d a sua respectiva distância, x a distância entre a torre e o contrapeso e Cp o contrapeso. Sendo
assim, foi possível isolar a variável F considerando os dados retirados da documentação do
dispositivo. No contexto do código fonte do software em questão, m. x e Cp foram utilizadas
como variáveis de entrada enquanto g, l e θ tem valores fixos:
• g = 9,91 m/s²
• l = 1,95 m
• θ = 30°
A Figura 21 a seguir ilustra como foi calculada a variável F no código fonte do software
utilizando o software de programação Visual Studio Code e auxílio da biblioteca math.
34
Figura 21 – Cálculo da carga teórica do guindaste de torre no código fonte do software do
laboratório de estruturas da FEG
Fonte: Autoria própria (2022)
3.2 TRELIÇA PLANA
Para a treliça plana, além das equações que já foram citadas e que serão citadas neste
capítulo, a teoria foi embasada conforme Cavaguti (2015). No contexto do software, foi
utilizado o Teorema De Castigliano conforme a equação 9:
yc = ∑ (
𝐹𝑖𝐿𝑖
𝐴𝑖𝐸
)
∂Fi
∂Q
=
1
𝐸
∑ (
𝐹𝑖𝐿𝑖
𝐴𝑖
)
∂Fi
∂Q
(9)
Assim, foi montada uma tabela considerando os nós de acordo com a Figura 22.
Figura 22 – Nós da treliça plana
Fonte: Autoria própria (2022)
Dessa forma, utilizando as 3 equações da estática conforme as equações (1), (2) e (3),
foi possível construir uma tabela com os elementos da treliça conforme a Figura 22 para o
cálculo da deflexão conforme a equação (8) como é mostrado na Tabela 1:
35
Tabela 1 – Tabela para cálculo da deflexão do ponto C de acordo com o Teorema de
Castigliano
Elemento Fi ∂Fi
∂Q
Ai (m²) Li (m)
(
FiLi
Ai
)
∂Fi
∂Q
AB P 1 6,4 x (-10)-5 0,36 5625P
BC P/0,712 1/0,712 6,4 x (-10)-5 0,59 18184,95P
CD -P -1 6,4 x (-10)-5 0,42 6562,5P
DB -P -1 6,4 x (-10)-5 0,42 6562,5P
DE
DA
-1,857P
P/0,764
-1,857
1/0,764
6,4 x (-10)-5
6,4 x (-10)-5
0,36
0,55
19397,52P
14723P
- - - - ∑ 71055,47P
Fonte: Autoria própria (2022)
Com isso, foi possível obter a equação (9):
yc = 1/E.∑((Fi/Li)/Ai). ∂Fi/∂P (22)
Onde yc representa a deflexão no ponto C da treliça, E o módulo de elasticidade, F
a força presente no elemento i , A a área do elemento i e L o comprimento da barra i.
Dessa forma foi encontrada a equação (10):
yc = P.1,0151. (-10)-6 (23)
Onde P é a carga causada pela massa pendurada no ponto C da treliça plana. A
Figura 23 a ilustra como foi calculada a variável P no código fonte do software:
Figura 23 – Cálculo da deflexão do ponto C da treliça plana dentro do código fonte
Fonte: Autoria própria (2022)
3.3 TUBO DE TENSÕES PRINCIPAIS
Para o tubo de tensões principais, além das equações que já foram citadas e que serão
citadas neste capítulo, a teoria foi embasada conforme a Carta Patente do dispositivo. Para o
cálculo das tensões teóricas foram utilizadas a equações (1), (2) e (3) com o auxílio do Círculo
De Mhor. A Figura 24 ilustra como os eixos foram arbitrados.
36
Figura 24 – Eixos do tubo de tensões principais
Fonte: Autoria própria (2022)
Como a massa m pendurada na alavanca do tubo é uma variável, ela foi usada como
variável de entrada do usuário no software e as tensões normais e de cisalhamento em x e y que
servem como base para o restante dos cálculos foram feitos considerando-se esse dado de
entrada conforme as equações (24), (25), (26), (27), (28) e (29).
Mx = m.g.Lt (24)
My = m.g.(La+dext/2) (25)
My = m.g.(La+dext/2) (26)
σx = m.g.(Lt+dext/2)/Iy (27)
σy = 0 (28)
Txy = (Mx* dext/2)/Jx (29)
Onde g é a aceleração da gravidade, Lt o comprimento do tubo, La o comprimento da
alavanca e dext o diâmetro externo do tubo. Todas as características geométricas são conhecidas
previamente. Para o cálculo das deformações representado pelas equações (30) e (31), foram
37
utilizados os conceitos de Círculo De Mohr, tensão normal máxima e mínima, Coeficiente
Elástico E e Coeficiente de Poisson v.
εmáx = (σmáx – vσmín)/E (30)
εmín = (σmín – vσmáx)/E (31)
Onde εmáx é a deformação máxima no ponto, σmín a tensão normal mínima, εmín a
deformação mínima e σmáx a tensão normal máxima. A Figura 25 ilustra como foram
calculados esses valores no código fonte do software.
Figura 25 – Cálculo das tensões e deformações do tubo de tensões principais
Fonte: Autoria própria (2022)
3.4 VIGA CURVA
Para a viga curva, além das equações que já foram citadas e que serão citadas neste
capítulo, a teoria foi embasada conforme Dias (2017). Foi utilizado o Teorema De Castigliano
para calcular a deflexão do ponto C conforme a Figura 9. A equação (32) o teorema nesse
contexto:
38
δc =
𝑃.𝑟3
2.𝐸.𝐼
(32)
Onde δc representa a deflexão no ponto C, P a carga causada pelo peso pendurado e r o
raio da viga (conforma Figura 9). A Figura 26 a seguir mostra como foi calculado esse valore
no código fonte do software:
Figura 26 – Cálculo da deflexão do ponto C da viga curva dentro do código fonte
Fonte: Autoria própria (2022)
3.5 VASO DE PRESSÃO
No caso do vaso de pressão, a teoria foi embasada conforme Glyniadakis (2018). Os
cálculos para a obtenção respectivamente das tensões teóricas no costado, tangencial e
longitudinal foram calculadas considerando a correção ASME (2015) conforme e equação 8.
Sendo assim, a Figura 27 ilustra como essas equações foram utilizadas no código fonte do
software.
Figura 27 – Cálculo das tensões no costado, tangencial e longitudinal do vaso de pressão no
código fonte
Fonte: Autoria própria (2022)
3.6 VIGA HIPERESTÁTICA
Para a viga hiperestática, além das equações que já foram citadas anteriormente, a teoria
foi embasada conforme a Carta Patente do dispositivo referenciada neste documento. No caso
da viga hiperestática, foi utilizado o simulador online deflection onde é possível simular uma
grande quantidade de situações estáticas e hiperestáticas uma vez que existem vários elementos
na viga que podem ser alterados como existência ou não de momento concentrado, força
39
concentrada, carregamento, seus respectivos módulos e sentidos. Isso foi feito sem a
necessidade de sair do ambiente do software por meio da Application Programming Interface
(API) do simulador. O software devolve além da deflexão em todos os pontos da viga, os
diagramas de esforço cortante, momento fletor e ângulo como será mostrado no capítulo 4. A
figura a seguir mostra como são feitos os inputs do usuário dentro do código fonte:
Figura 28 – Código de de dados de entrada dentro do código fonte para a viga hiperestática
Fonte: Autoria própria (2022)
40
4 RESULTADOS E DISCUSSÃO
Neste capítulo, serão apresentados os resultados de todo projeto de construção do
software referido anteriormente mostrando como um possível usuário inseriria valores por meio
da interface e como o programa responderia de acordo com o código fonte já apresentado.
A Figura 29 ilustra um exemplo de funcionamento da simulação do guindaste de torre
onde o usuário insere a massa pendurada na lança (13,1 kg), a posição do contrapeso
(considerando-se a posição 0 dado que não existe contrapeso no exemplo) e seu módulo
(considerando-se a módulo da força 0 dado que não existe contrapeso no exemplo) para obter
a carga teórica aplicada à lança pela torre e a tensão no cabo.
Figura 29 – Exemplo de dados de entrada inseridos pelo usuário e dados de saída do software
para o guindaste de torre
Fonte: Autoria própria (2022)
A Figura 30 ilustra um exemplo de funcionamento da simulação da treliça plana onde o
usuário insere a massa pendurada no ponto C (20 kg) como visto anteriormente para obter a
deflexão do mesmo ponto:
Figura 30 - Exemplo de dado de entrada inserido pelo usuário dados de saída do software para
a treliça plana
Fonte: Autoria própria (2022)
41
A Figura 31 ilustra um exemplo de funcionamento da simulação do tubo de tensões
principais no qual o usuário insere a massa pendurada na alavanca (30 kg) e obtém as tensões
normais (x, y, média, mínima e máxima), tensões de cisalhamento (mínima e máxima),
ângulo θ e as deformações teóricas (máxima e mínima) no ponto onde foram colocados os
extensômetros.
Figura 31 - Exemplo de dados de entrada inserido pelo usuário e dados de saída do software
para o tubo de tensões principais
Fonte: Autoria própria (2022)
A Figura 32 a ilustra um exemplo de funcionamento da simulação da viga curva onde o
usuário insere o valor pendurado no suporte da viga curva conforme foi visto nos capítulos
anteriores (20 kg) e obtém a deflexão teórica de acordo com o Teorema De Castigliano:
Figura 32 - Exemplo de dado de entrada inserido pelo usuário e dado de saída do software
para a viga curva
Fonte: Autoria própria (2022)
42
A Figura 33 a ilustra um exemplo de funcionamento da simulação do vaso de pressão na
qual o usuário insere valores para pressão interna (20 Mpa), o raio (0,1 m) e espessura (0.5
cm) obtendo assim os valores de acordo com a norma ASME (2015) para as tensões no
costado, tangencial e longitudinal:
Figura 33 - Exemplo de dados de entrada inserido pelo usuário e dados de saída do software
para o vaso de pressão
Fonte: Autoria própria (2022)
Por fim, a Figura 34 ilustra um exemplo de funcionamento da simulação da viga
hiperestática onde o usuário insere a posição da força que gera o momento concentrado (0,3 m),
a força que gera esse momento (-41,79 N), o momento concentrado gerado por essa força (-
1,556260 N.m), a posição da segunda força (0.6 m), a força concentrada (-51,2 N), o ponto
onde o carregamento começa (0), o valor do carregamento (-44,79 N/m) e o ponto onde o
carregamento termina (0,3 m) para a obtenção da deflexão ao longo da viga. Também foi criado
um botão para a visualização do esquema da viga para melhor orientação do usuário que quando
clicado, abre a imagem ilustrada na Figura 35.
43
Figura 34 - Exemplo de dados de entrada inserido pelo usuário e dados de saída do software
para a viga hiperestática
Fonte: Autoria própria (2022)
Figura 35 – Arranjo esquemático da viga hiperestática
Fonte: Autoria própria (2022)
44
5 CONCLUSÕES E SUGESTÕES PARA PRÓXIMOS TRABALHOS
Neste capítulo serão apresentadas as conclusões referentes ao software e também
recomendações de possíveis melhorias adicionais para o mesmo ao longo do tempo.
5.1 CONCLUSÕES
O software mostrou-se prático e rápido dentro da proposta inicial que seria obter
resultados com base teórica sólida para posterior comparação com os experimentos feitos no
laboratório de estruturas da FEG. Além disso, é possível simular também valores de entrada
que estão além das capacidades dos dispositivos por limitações de material, espaço, capacidade
e etc.
5.2 SUGESTÕES PARA PRÓXIMOS TRABALHOS
Por hora, como já dito anteriormente o software atende parcialmente às necessidades
dos alunos que utilizam o laboratório de estruturas visto que auxilia nos cálculos teóricos dos
dispositivos presentes no mesmo.
No entanto, com o tempo o laboratório pode receber novos dispositivos didáticos e pode
haver a necessidade de incorporá-los ao código fonte.
Outra melhoria possível seria uma interface mais comumente utilizada em softwares
comerciais como Ftool, Ansys e Solid Work. Nesse contexto, é importante ressaltar que todo o
código fonte foi comentado explicitando o que está sendo feito em cada função, método, objeto
e etc.
Também seria importante acrescentar a verificação de casos absurdos de dados de
entrada.
45
REFERÊNCIAS
ALUVINO, O. R. Diretrizes para modelagem geométrica de um guindaste de torre
destinado a aplicações em engenharia utilizando o software Inventor. 2017. Trabalho de
Iniciação Científica (PIBIC) (Técnico em Mecânica) - Colégio Técnico Industrial de
Guaratinguetá, Universidade Estadual Paulista, Guaratinguetá, 2017.
AMERICAN SOCIETY OF MECHANICAL ENGINEERS ASME Seção VIII, Divisão 1:
código de projeto e de fabricação de vasos de pressão. Nova York, 2001.
BEER, F. P.; JOHNSTON J. R. Mecânica dos materiais. 3. ed. São Paulo: Pearson, 2008.
BEER, F. P. et al. Mecânica dos materiais. 7. ed. Porto Alegre: McGraw-Hill, 2015.
BEER, F. P. et al, Mecânica dos materiais. 9. ed. Porto Alegre: AMGH, 2012.
BORSE, Y.; SHARMA, A. K. Design analysis of pressure vessels at high stress zones using
pro/e. v 4.0. International Journal of Modern Engineering Research (IJMER), [S. l.], v.
2, n. 3, p. 991–995, 2012. Disponível em:
https://www.ijmer.com/papers/vol2_issue3/BV23991995.pdf. Acesso em: 13 out. 2022.
BORTOLO, K. F.; LINHARES, J. C. Verificação da necessidade de dispositivos didáticos
para o ensino na graduação em engenharia mecânica. In: CONGRESSO BRASILEIRO DE
ENSINO DE ENGENHARIA, 34., 2006, Passo Fundo. [Anais eletrônicos...]. Passo Fundo:
ABENGE/UPF, 2006. p. 1128-1139. 1 CD-ROM. Disponível em:
http://www.abenge.org.br/cobenge/legado/arquivos/8/sessoestec/art2117.pdf. Acesso em: 11
nov. 2022
CARRARO, D. F.; ABREU, J. P.; BARBOSA, M. M. Projeto de um vaso de pressão para
utilização em uma planta marítima de produção de petróleo. 2013. Trabalho de
Conclusão de Curso (Graduação em Engenharia Mecânica) – Fundação Oswaldo Aranha,
Centro Universitário de Volta Redonda (UniFOA), 2013. Disponível em:
https://www.academia.edu/19202081/UNIFOA_Eng_Mecanica. Acesso em: 12 jul. 2022
CAVAGUTI, A. S. Análise comparativa de tensões e deformações específicas em uma
estrutura treliçada, utilizando abordagem experimental e pelo método de elementos
finitos. 2015. Trabalho de Conclusão de Curso (Graduação em Engenharia Mecânica) -
Universidade Estadual Paulista, Faculdade de Engenharia de Guaratinguetá, 2015. Disponível
em: http://hdl.handle.net/11449/124167. Acesso em: 28 jun. 2022.
CHEN, Y. et al. Safety supervision of tower crane operation on construction sites: an
evolutionary game analysis. Safety Science, [S.l.], v. 152, 2022. Disponível em:
https://doi.org/10.1016/j.ssci.2021.105578. Acesso em: 21 jul. 2022.
DIAS, R. A. A. Dispositivo didático para aferição de deflexão horizontal em vigas curvas
isostáticas. 2017. Trabalho de Conclusão de Curso (Graduação em Engenharia Mecânica) -
Universidade Estadual Paulista, Faculdade de Engenharia de Guaratinguetá, Guaratinguetá,
2017.
46
DIWAKAR, A. et al. Control systems virtual labs: pedagogical and technological
perspectives. IEEE Xplore, [S.l.], p. 483-488, 2013. Work presented at the IEEE
International Conference On Control Applications (CCA), Hyderabad, 2013. Disponível em:
https://ieeexplore.ieee.org/document/6662796. Acesso em: 17 set. 2022
ESTRUTURA CURRICULAR CURSO ENGENHARIA MECÂNICA INTEGRAL. FEG-
UNESP, Guaratinguetá, 2007. Disponível em:
https://www.feg.unesp.br/#!/graduacao/mecanica/integral/estrutura-curricular/. Acesso em: 20
jul. 2022.
FEISELl, L. D.; ROSA, A. J. The role of the laboratory in undergraduate engineering
education. Journal of Engineering Education, [S.l.], v. 94, p. 121-130, 2005. Disponível
em: https://onlinelibrary.wiley.com/doi/10.1002/j.2168-9830.2005.tb00833.x. Acesso em: 3
out. 2022.
GABER, A.; NASEEF, O. A.; ABDELBAKI, N. Creating an innovative generic virtual
learning lab. In: WORLD CONGRESS ON COMPUTER AND INFORMATION
TECHNOLOGY, 6 f., 2013, Sousse, Tunisia. Proceedings. New York: IEEE, 2013.
GERE, J. M.; GOODNO, B. J. Mecânica dos materiais.7. ed. São Paulo: Cengage Learning
Brasil, 2010.
GLYNIADAKIS, S. et al. Análise de tensões em um vaso de pressão para fins didáticos.
2018. Trabalho de Conclusão de Curso (Graduação em Engenharia Mecânica) - Faculdade de
Engenharia De Guaratinguetá, Universidade Estadual Paulista, Guaratinguetá, 2018.
GRAPHICAL USER INTERFACES WITH TK. Python, [S.l.], [s.d.]. Disponível em:
https://docs.python.org/3/library/tkinter.html#a-hello-world-program/. Acesso em: 14 nov.
2022
HIBBELER, R. C. Resistência dos materiais. 7. ed. São Paulo: Pearson Prentice-
Hall, 2010.
IECKER, T. D. Análise de tensões em vasos de pressão através do método de elementos
finitos. 2014. Trabalho de Conclusão de Curso (Graduação em Engenharia Mecânica) -
Centro Federal de Educação Tecnológica Celso Suckow da Fonseca (CEFET/RJ), Rio de
Janeiro, 2014. Disponível em: https://www.docsity.com/pt/analise-de-tensoes-em-vasos-de-
pressao-atraves-do-metodo-de-elementos-finitos/5033591/. Acesso em: 1 ago. 2022.
JOHNSTON, E. R. et al. Mecânica dos materiais. 7. ed. Porto Alegre: Bookman Companhia
Ed, 2011.
LUTZ, M. Programming python. 4th ed. Sebastopol: O’Reilly Media, 2010.
MARTINS, M. S.; TOMAZINI, J. E. Dispositivo para o ensino de medições de tensões e
deformações principais. Depositante: Universidade Estadual Paulista Júlio De Mesquita
Filho. Depósito: 20 abr. 2016. Concessão: 24 out. 2017.
47
MARTINS, M. S.; TUPINAMBÁ, W. L. M; DE SOUZA, M. C. Dispositivo didático para
demonstração de deflexão em vigas. Depositante: Universidade Estadual Paulista Júlio De
Mesquita Filho. Depósito: 10 set. 2018. Concessão: 24 mar. 2020.
SALAHEDDIN, O.; SHANAB, S. A.; ANABTAWI, M. Augmented reality internet labs
versus its traditional and virtual equivalence. International Journal of Emerging
Technologies in Learning, [S.l.], v. 10, n. 3, p. 4-9, 2015. Disponível em:
http://dx.doi.org/10.3991/ijet.v10i3.4354. Acesso em: 28 set. 2022.
SCIGLIANO, W. A. Gruas: o que é preciso para se usar grua. São Paulo: [S.n.], 2008.
SELL, R.; RÜÜTMANN, T.; SEILER, S. Inductive teaching and learning in engineering
pedagogy on the example of remote labs. International Journal of Engineering Pedagogy,
[S.l.], v. 4, n. 4, p. 12-15, 2014. Disponível em: http://dx.doi.org/10.3991/ijep.v4i4.3828.
Acesso em: 4 July 2022.
TELLES, P. C. S. Vaso de pressão. 2. ed. Rio de Janeiro: LTC, 2001.
TKINTER — PYTHON INTERFACE TO TCL/TK. Python, [S.l.] [s.d.]. Disponível em:
https://docs.python.org/3/library/tkinter.html/. Acesso em: 14 nov. 2022.
48
APÊNDICE A – Código fonte do software
APÊNDICE A – CÓDIGO FONTE DO SOFTWARE
# Bibliotecas:
from tkinter import *
from PIL import Image
import math
import urllib.request
import json
import time
import requests
import json
from svglib.svglib import svg2rlg
from reportlab.graphics import renderPDF, renderPM
import os
from PIL import ImageTk, Image
# Foto geral:
im = Image.open('geral.png')
im.show()
49
# Interface geral:
janela = Tk()
janela.title('Laboratório de estruturas - FEG')
janela.geometry("950x800")
janela['background'] = 'grey'
# Orientação:
texto_orientacao = Label(janela, text='Obs: Sempre utilize "."
em vez de "," como separador decimal!', bg='#add8e6',
font=("Arial", 12),fg='black')
texto_orientacao.place(x=15, y=750)
# Foto de saudação:
frame = Frame(janela, width=20, height=20, bg= 'grey')
frame.pack()
frame.place(x=110,y=20)
img = ImageTk.PhotoImage(Image.open("unesp_logo.png"))
label = Label(frame, image = img, bg='grey')
label.pack()
# 1) Treliça plana:
# resultado -> Deflexão do ponto C da treliça
# p -> Carga aplicada no ponto C
def deflexao_trelica_plana():
# Título:
lb = Label(janela, text ="TRELIÇA PLANA:", anchor = W, fg =
'black',bg='blue')
lb.place(x=510,y=20)
# Dados de entrada (interface):
Label(janela, text = 'Insira o valor da carga aplicada ao
ponto C da treliça em Newtons:', anchor = W).place(x=510,y=50)
50
p = Entry(janela)
p.place(x=510, y=70)
lb = Label(janela, text="Resultado:")
lb.place(x=510, y=130)
# Cálculo para saída:
def bt_onclick():
resultado = float(p.get())*1.0151*pow(10,-6)*1000
lb["text"] = "De acordo com o Teorma de Castigliano, a
deflexão teórica no ponto \nC é de {:.2f} mm".format(resultado)
# Botão "Ok (interface)"
bt = Button(janela, text='Ok', command = bt_onclick)
bt.place(x=510,y=100)
# 2) Vaso De Pressão:
# TVP-> Tensão no vaso de pressão
# TTVP-> Tensão Tangencial no vaso de pressão
# TLVP-> Tensão Longitudinal no vaso de pressão
# p -> Pressão interna
# r -> raio
# t -> expessura (10% menor que o raio interno)
def vaso_de_pressão():
# Título:
Label(janela, text = 'VASO DE PRESSÃO:', fg =
'black',bg='yellow').place(x=510, y=305)
# Dados de entrada (interface):
Label(janela, text = 'Insira a pressão interna P do vaso de
pressão em MPa:', anchor = W).place(x=510,y=335)
p = Entry(janela)
p.place(x=510, y=355)
51
Label(janela, text = 'Insira o raio interno R do vaso de
presão em metros:', anchor = W).place(x=510,y=385)
r = Entry(janela)
r.place(x=510, y=405)
Label(janela, text = 'Insira a espressura do vaso de
pressão em centímetros:', anchor = W).place(x=510,y=435)
t = Entry(janela)
t.place(x=510, y=455)
lb = Label(janela, text="Resultado:")
lb.place(x=510, y=515)
# Resultado de saída:
def bt_onclick():
TVP =
(float(p.get())*float(r.get()))/(2*(float(t.get()))) +
0.2*(float(p.get()))
TTVP = (float(p.get())*float(r.get())) +
0.6*(float(p.get()))
TLVP =
(float(p.get())*float(r.get()))/(2*(float(t.get()))) +
0.6*(float(p.get()))
lb["text"] = 'Valores corrigidos de acordo com a norma
ASME (2015):\nTensão no costado = {:.2f} MPa \nTensão
tangencial no vaso de pressão = {:.2f} MPa \nTensão
longitudinal no vaso de pressão: {:.2f} MPa'.format(TVP, TTVP,
TLVP)
# Botão "Ok":
bt = Button(janela, text='Ok', command = bt_onclick)
bt.place(x=510,y=485)
# 3) Tubo de tensões principais:
# m -> Massa pendurada
# Mx-> Momento em x
# Iy-> Momento de inércia
# Jy-> Momento polar de inércia em y
# Txy-> Tensão de cisalhamento xy
52
def tensões_e_deformações_tubo():
# Título:
Label(janela, text = 'TUBO DE TENSÕES PRINCIPAIS:',fg =
'black',bg='green').place(x=80,y=305)
# Dados de entrada (interface):
Label(janela, text = 'Insira a massa peso que será
pendurada no dispositivo em Kg:', anchor = W).place(x=80,y=335)
m = Entry(janela)
m.place(x=80,y=355)
lb = Label(janela, text="Resultado:")
lb.place(x=80,y=415)
def bt_onclick():
# Tensões teóricas
E = 200*pow(10,3)
v = 0.3
Iy = 1.1676*(pow(10,(-7)))
J = (3.14/32)*(pow(0.064,4)-pow(0.0614,4))
Mx = (float(m.get()))*10*0.40
T = (float(m.get()))*10*0.42
Iz = (3.14/64)*(pow(0.064,4)-pow(0.0614,4))
Gx = (Mx*0.032)/Iz
Gy = float(0)
Txy = (T*0.032)/J
G_med = (Gx+Gy)/2
dif = Gx - G_med
R = pow((pow(Txy,2)+pow(dif,2)),0.5)
T_max = R
T_min = -R
G_max = G_med + R
G_min = G_med - R
sen_dois_teta = Txy/R
53
CF = Gx - G_med
tg_dois_teta = Txy/CF
dois_teta = (math.atan(tg_dois_teta))*(180/3.14)
teta = dois_teta/2
# Deformações Teóricas:
e_max = (G_max - v*G_min)/E
e_min = -(-v*G_max + G_min )/E
lb["text"] ='Tensões Teóricas:\n\n\u03C3y = {}
MPa\n\u03C3x = {:.2f} MPa\n\u03C3méd = {:.2f} Mpa\n\u03C3máx =
{:.2f} Mpa\n\u03C3mín = {:.2f} Mpa\n\u03A4máx = {:.2f}
Mpa\n\u03A4mín = {:.2f} Mpa\n\u03A4xy = {:.2f} Mpa \n\u03F4 =
{:.2f}°\n\nDeformações Teóricas:\n\nεmáx = {:.2f} μm/m\nεmín =
{:.2f} μm/m'.format(float(Gy),float(Gx)*pow(10,-
6),float(G_med)*pow(10,-6),float(G_max)*pow(10,-
6),float(G_min)*pow(10,-6),float(T_max)*pow(10,-
6),float(T_min)*pow(10,-6),float(Txy)*pow(10,-
6),float(teta),float(e_max),float(e_min)*(-1))
# Botão "Ok":
bt = Button(janela, text='Ok', command = bt_onclick)
bt.place(x=80,y=385)
# 4-) Viga hiperestática:
def deflexao_viga_hiperestatica():
global lb1
lb1 = Label(janela, text="Resultado:")
lb1.place(x=900, y=765)
# Botão para visualizar a representação esquemática da viga
54
def foto_viga_hip():
im = Image.open('viga_hiperestatica.jpg')
return im.show()
bt_viga_hip = Button(janela, text='Ver esquema da viga',fg
= 'black',bg='#ff6961', command = foto_viga_hip)
bt_viga_hip.place(x=1180,y=305)
global p1
global p2
global p3
global p4
global f1
global f2
global co
global m1
p1 = StringVar()
p2 = StringVar()
p3 = StringVar()
p4 = StringVar()
f1 = StringVar()
f2 = StringVar()
co = StringVar()
m1 = StringVar()
# Título:
Label(janela, text = 'VIGA HIPERESTÁTICA: (conecte-se à
internet)',fg = 'black',bg='#ff6961').place(x=900,y=305)
# Entrada de dados
Label(janela, text = 'Insira a posição da força em metros
do momento concentrado (AD). Caso ela não exista, insira 0:',
anchor = W).place(x=900,y=335)
p1_amount = Entry(janela, textvariable = p1)
p1_amount.place(x=900, y=355)
55
Label(janela, text = 'Insira a força (em Newtons positiva
ou negativa) que gera o momento concentrado (AD). Caso ela não
exista, insira 0:', anchor = W).place(x=900,y=385)
f1_amount = Entry(janela, textvariable = f1)
f1_amount.place(x=900, y=405)
Label(janela, text = 'Insira o momento concentrado (em N.m
neg. p/ horário e pos. para anti-horário). Caso ele não exista,
insira 0:', anchor = W).place(x=900,y=435)
m1_amount = Entry(janela, textvariable= m1)
m1_amount.place(x=900, y=455)
Label(janela, text = 'Insira a posição da segunda força em
metros (AF). Caso ela não exista, insira 0:', anchor =
W).place(x=900,y=485)
p2_amount = Entry(janela, textvariable= p2)
p2_amount.place(x=900, y=505)
Label(janela, text = 'Insira a a segunda força concentrada
(em N/m positiva ou negativa). Caso ela não exista, insira 0:',
anchor = W).place(x=900,y=535)
f2_amount = Entry(janela, textvariable = f2)
f2_amount.place(x=900, y=555)
Label(janela, text = 'Insira em metros onde o carregamento
começa (AB). Caso ele não exista, insira 0:', anchor =
W).place(x=900,y=585)
p3_amount = Entry(janela, textvariable= p3)
p3_amount.place(x=900, y=605)
Label(janela, text = 'Insira o valor do carregamento (em
N/m negativo ou positivo). Caso ele não exista, insira 0:',
anchor = W).place(x=900,y=635)
co_amount = Entry(janela, textvariable = co)
co_amount.place(x=900, y=655)
Label(janela, text = 'Insira em metros onde o carregamento
termina (AC).Caso ele não exista, insira 0:', anchor =
W).place(x=900,y=685)
p4_amount = Entry(janela, textvariable = p4)
56
p4_amount.place(x=900, y=705)
# Botão "Ok":
bt = Button(janela, text='Ok', command = do_put)
bt.place(x=900,y=735)
# Funções necessárias
def get_loads(force1_position, force1_mod, moment_position,
moment_value, force2_position, force2_mod,
force_distributed_pos, force_distributed_mod,
force_distributed_pos2, force_distributed_mod2):
return [
{
'id': 'T-tlp7OuTL-Epd0dpSi7vQ',
'type': 'fixed',
'label': 'Engastamento',
'position': {
'value': 0,
'display': '0',
'units': 'm',
'unitsKey': 'meter',
},
'iconSvg': '',
},
{
'id': '4d5e8d63-6443-4af1-849d-
11e7648bb03c',
'type': 'force',
'label': 'Carga concentrada',
57
'position': {
'value': force1_position,
'display': '0.3',
'units': 'm',
'unitsKey': 'meter',
},
'magnitude': {
'value': force1_mod,
'display': '-41.8',
'units': 'N',
'unitsKey': 'newton',
},
'iconSvg': '',
},
{
'id': '2957a888-1685-45db-8fc6-
342b98056ea3',
'type': 'moment',
'label': 'Momento',
'position': {
'value': moment_position,
'display': '0.3',
'units': 'm',
'unitsKey': 'meter',
},
'magnitude': {
'value': moment_value,
'display': '-1.56',
'units': 'N-m',
'unitsKey': 'newton-meter',
},
'iconSvg': '',
},
{
'id': 'uQGZd_A5Q0uZ36EgxqX4yw',
'type': 'pin',
'label': 'Apoio simple',
'position': {
'value': 0.5,
'display': '0.5',
'units': 'm',
'unitsKey': 'meter',
},
'iconSvg': '',
},
{
'id': 'fee94754-9755-4474-a316-
6362298bd5b7',
'type': 'force',
'label': 'Carga concentrada',
'position': {
'value': force2_position,
'display': '0.6',
'units': 'm',
'unitsKey': 'meter',
},
'magnitude': {
59
'value': force2_mod,
'display': '-51.2',
'units': 'N',
'unitsKey': 'newton',
},
'iconSvg': '',
},
{
'id': 'oisoCXKuSNC722b_RnI78w',
'type': 'distributed',
'label': 'Carga distribuída',
'position': {
'value': force_distributed_pos,
'display': '1',
'units': 'm',
'unitsKey': 'meter',
},
'magnitude': {
'value': force_distributed_mod,
'display': '-47.7',
'units': 'N/m',
'unitsKey': 'newton-per-meter',
},
'position2': {
'value': force_distributed_pos2,
'display': '0.3',
'units': 'm',
'unitsKey': 'meter',
},
'magnitude2': {
'value': force_distributed_mod2,
'display': '-47.7',
'units': 'N/m',
60
'unitsKey': 'newton-per-meter',
},
'iconSvg': '',
},
]
def do_put():
force1_position = p1.get()
force1_mod = f1.get()
moment_position = p1.get()
moment_value = m1.get()
force2_position = p2.get()
force2_mod = f2.get()
force_distributed_pos = p3.get()
force_distributed_mod = co.get()
force_distributed_pos2 = p4.get()
force_distributed_mod2 = co.get()
var_list = [0.3, -41.79, 1.55626, 0.6, -51.2, 0.16, -
44.5, 0.440, -44.5]
headers = {
'Accept': 'application/json, text/plain, */*',
'Accept-Language': 'en-DE,en;q=0.9,zh-
CN;q=0.8,zh;q=0.7,de-DE;q=0.6,de;q=0.5,en-US;q=0.4',
'Connection': 'keep-alive',
61
# Already added when you pass json=
# 'Content-Type': 'application/json',
'Origin': 'https://deflection.app',
'Referer': 'https://deflection.app/',
'Sec-Fetch-Dest': 'empty',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Site': 'cross-site',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64;
x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0
Safari/537.36',
'sec-ch-ua': '"Google Chrome";v="107",
"Chromium";v="107", "Not=A?Brand";v="24"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
}
params = {
'language': 'pt',
}
json_data = {
'updatedOn': '2022-11-11T23:56:13Z',
'beamLength': {
'value': 0.6,
'display': '0.6',
'units': 'm',
'unitsKey': 'meter',
},
'deflectionLimitDenominator': 360,
'materialName': '',
'elasticModulus': {
'value': 73,
'display': '73',
'units': 'GPa',
'unitsKey': 'gigapascal',
},
'weightDensity': {
'value': 76982.2025,
'display': '77×10³',
62
'units': 'N/m³',
'unitsKey': 'newton-per-cubic-meter',
},
'bendingStrength': {
'value': 248211262.554061,
'display': '248×10⁶',
'units': 'Pa',
'unitsKey': 'pascal',
},
'shearStrength': {
'value': 143217898.493693,
'display': '143×10⁶',
'units': 'Pa',
'unitsKey': 'pascal',
},
'yieldStrength': {
'value': 248211262.554061,
'display': '248×10⁶',
'units': 'Pa',
'unitsKey': 'pascal',
},
'crossSectionDesignation': '',
'area': {
'value': 114,
'display': '114',
'units': 'cm²',
'unitsKey': 'centimeter-squared',
},
'momentOfInertia': {
'value': 0.0257,
'display': '25.7×10⁻³',
'units': 'm⁴',
'unitsKey': 'meter-fourth',
},
'applyBeamWeight': False,
'loads': get_loads(force1_position,
force1_mod, moment_position, moment_value, force2_position,
force2_mod, force_distributed_pos, force_distributed_mod,
force_distributed_pos2, force_distributed_mod2)
}
63
print(p1.get(), p2.get(), p3.get(), p4.get(), f1.get(),
f2.get(), co.get(), m1.get())
response = requests.put('https://api-
2.deflection.ketchep.com/design/ejliCAfITveyzlGciAAsPg',
params=params, headers=headers, json=json_data)
dado = json.loads(response.text)['results']['spans']
print(dado)
def get_max_value(dado):
global lista_defl
lista_defl = list()
for elemento in dado:
lista_defl.append(float(elemento['displacementM
ax']['value']))
return print (max(lista_defl)),
get_max_value(dado)
lb1['text'] = 'A deflexão máxima na viga é de {:.2f}
mm'.format(max(lista_defl)*1000)
var_list = [0.3, -41.79, 1.55626, 0.6, -51.2, 0.16, -44.5,
0.440, -44.5]
# 5) Viga Curva:
# E -> Módulo de elasticidade do material
# Rc-> Raio de curvatura
# I -> Momento de inércia
# esp -> Espessura
# larg -> Largura
# m_sup -> Massa do suporte
# m_anilha_1 -> Massa da anilha 1
# m_anilha_2 -> Massa da anilha 2
# m_anilha_3 -> Massa da anilha 3
# deform -> Deformação
64
def deformação_viga_curva():
#Tútulo:
Label(janela, text = 'VIGA CURVA:',fg =
'black',bg='orange').place(x=510,y=645)
# Dados:
m_anilha_1 = 3.02
m_anilha_2 = 4.64
m_anilha_3 = 7.64
larg = 31.75*pow(10,-3)
esp = 3.175*pow(10,-3)
Rc = 367.5*pow(10,-3)
E = 200*pow(10,9)
I = 84.68*pow(10,-12)
m_sup = 0.86
# Dados de entrada (interface):
Label(janela, text = 'Insira a massa total em Kgs (com
exceção do suporte):', anchor = W).place(x=510,y=675)
massa_anilhas = Entry(janela)
massa_anilhas.place(x=510,y=695)
lb = Label(janela, text="Resultado:")
lb.place(x=510, y=755)
def bt_onclick():
carga_total = (float(massa_anilhas.get())+m_sup)*10
deform = (float(carga_total)*pow(Rc,3)/(2*E*I))*1000
lb["text"] ='A deflexão teórica de acordo com o teorema
de castigliano \né de {:.2f} mm.'.format(float(deform))
65
# Botão "Ok":
bt = Button(janela, text='Ok', command = bt_onclick)
bt.place(x=510,y=725)
# 6) Guindaste de torre:
# massa_carga -> Massa de carga
# lanca_guindaste -> Comprimento da lança guindaste
# dist_torre_cabo -> Distância entre torre e cabo
# angulo_torre_cabo -> Ângulo entre torre e cabo
# f -> força F
# Equação de momento:
def guindaste_de_torre():
#Tútulo:
Label(janela, text = 'GUINDASTE DE TORRE:',fg =
'black',bg='purple').place(x=900,y=20)
# Dados de entrada (interface):
Label(janela, text = 'Insira a massa em Kg na extremidade
da lança:', anchor = W).place(x=900,y=50)
massa_carga = Entry(janela)
massa_carga.place(x=900,y=70)
Label(janela, text = 'Insira em módulo a posição em relação
à torre do contrapeso em metros (caso não haja, insira 0):',
anchor = W).place(x=900,y=100)
x_cp = Entry(janela)
x_cp.place(x=900,y=120)
Label(janela, text = 'Insira o contrapeso em Kg(caso não
haja, insira 0):', anchor = W).place(x=900,y=150)
cp = Entry(janela)
cp.place(x=900,y=170)
lanca_guindaste = 1.95
dist_torre_cabo = 1.00
66
angulo_torre_cabo = 30
lb = Label(janela, text="Resultado:")
lb.place(x=900, y=230)
# Resultado de saída:
def bt_onclick():
f = ((float(massa_carga.get())*9.81*1.95)-
(float(x_cp.get())*float(cp.get())))/(math.sin(math.radians(ang
ulo_torre_cabo))*dist_torre_cabo)
lb["text"] = 'A carga teórica é de {:.2f} N\nA tensão
no cabo é de {:.2f}
N'.format(float(f),float(f)/math.sin(math.radians(30)))
# Botão "Ok":
bt = Button(janela, text='Ok', command = bt_onclick)
bt.place(x=900,y=200)
guindaste_de_torre()
deformação_viga_curva()
deflexao_viga_hiperestatica()
tensões_e_deformações_tubo()
deflexao_trelica_plana()
vaso_de_pressão()
#Fechamento da janela:
janela.mainloop()