Você está na página 1de 30

Universidade Federal de São Carlos

Pró-Reitoria de Pesquisa
Coordenadoria dos Projetos de Iniciação Científica e Tecnológica

Programa Institucional de Iniciação Científica e Tecnológica sem


Remuneração (ICTSR)

Relatório Final do Projeto de Pesquisa

Título: Desenvolvimento de um Sensor Óptico de Baixo


Custo para a Medição de Torque em Eixos Rotativos

Aluno: Matheus da Costa Caffer Markies


Curso: Engenharia Mecânica

Orientador: Flávio Yukio Watanabe


Departamento de Engenharia Mecânica - DEMec
Centro de Ciências Exatas e de Tecnologia – CCET

São Carlos / 2023


Sumário
1. IDENTIFICAÇÃO 2
2. RESUMO DO PLANO INICIAL 3
3. INTRODUÇÃO 4
4. METODOLOGIA 10
5. RESULTADOS E DISCUSSÕES 15
6. CONCLUSÕES 19
7. REFERÊNCIAS BIBLIOGRÁFICAS 20
8. PRODUÇÃO TÉCNICO-CIENTIFICA 21
9. AUTO-AVALIAÇÃO 22
10. AVALIAÇÃO DO ORIENTADOR 23
11. DESTINO DO ALUNO 24

1
1. IDENTIFICAÇÃO

Unidade: Departamento de Engenharia Mecânica - DEMec/Centro de Ciências


Exatas e de Tecnologia - CCET

Orientador: Flávio Yukio Watanabe

E-mail: fywatanabe@ufscar.br
Telefone: (16) 3351-9703 ou (19) 99774-4789

Aluno: Matheus da Costa Caffer Markies

RA: 800676
Curso: Engenharia Mecânica
E-mail: matheus.markies@estudante.ufscar.br
Telefone: (14) 98142-2072

Título do Projeto: Desenvolvimento de um Sensor Óptico de Baixo Custo para a


Medição de Torque em Eixos Rotativos

Período de Vigência: setembro/2022 - agosto/2023

2
2. RESUMO DO PLANO INICIAL

O presente Projeto de Iniciação Científica teve como objetivo desenvolver um


dispositivo inovador para a medição não invasiva de torque em eixos rotativos,
utilizando leitores ópticos. Esse dispositivo foi criado para superar os problemas
associados ao custo elevado e à invasividade dos medidores de torque dinâmicos
convencionais, que frequentemente empregam sensores extensômetros (Spring
Gauge) e um conjunto de escovas para obter leituras do dispositivo fixo no eixo da
máquina em análise. O sistema óptico proposto utiliza faixas pretas e brancas
posicionadas em duas extremidades do eixo, permitindo medir o torque com base na
diferença de tempo entre as leituras das faixas, provocada pelo ângulo de torção. Essa
abordagem inovadora visa proporcionar uma solução mais econômica e não invasiva
para a medição de torque em sistemas mecânicos rotativos.

3
3. INTRODUÇÃO

A necessidade de desenvolvimento de máquinas e equipamentos cada vez


mais precisos, eficientes, confiáveis e que operem em condições seguras e acima dos
limites convencionais, tem ocasionado o surgimento de problemas de engenharia que
não podem ser solucionados mais por meros ajustes de parâmetros tradicionais de
projeto, sendo necessário o estudo e a adoção de novos materiais e tecnologias
modernas de projeto, fabricação, monitoramento e controle.
Na área industrial, o monitoramento de máquinas e equipamentos como
turbinas a gás ou vapor, compressores, motores de combustão interna, geradores e
motores elétricos emprega técnicas diversificadas como análise de ruído acústico e
vibrações, termografia, análise de óleo e análise estrutural. No entanto, o
monitoramento dos elementos rotativos demanda muitas vezes a realização de
medidas indiretas ou o uso de sensores sem contato.
Um dos parâmetros de interesse em elementos rotativos é o torque ou
momento torçor transmitido, seja para se detectar sobrecargas operacionais, prevenir
contra falhas e desgastes estruturais, controlar a condição operacional com o intuito
de tornar o sistema mais eficiente e seguro ou realizar ensaios de máquinas e
componentes, como exemplificado na Figura 1 que representa uma bancada FZG
(Forschungsstelle für Zahnräder und Getriebesysteme ou Gear Research Centre) de
testes de engrenagens e lubrificantes.

Figura 1 – Bancada FZG de testes de engrenagens e lubrificantes

Fonte: Adaptado de Weber, Tobie e Stahl (2017)


4
A medição de torque estático ou estrutural é realizada usualmente de forma
indireta, considerando a deflexão angular causada pelo momento torçor e
empregando extensômetros, ou strain gages, transdutores de deformação que são
colados na superfície do elemento medido, alinhados a ±45º, como na Figura 2a, ou
seja, alinhados com as direções principais de máximas tensões de tração e
compressão. Strain gages especiais permitem a adoção de uma configuração
simplificada, ilustrada na Figura 2b, mas que seguem os mesmos princípios de
alinhamento com as direções principais.

Figura 2 - Medição de torque empregando strain gages

(a) Strain gages alinhados a ±45º (b) Strain gge duplo e inclinado
Fonte: (a) HBK (2022); (b) FUTEK (2022)

A resistência elétrica de um strain gage varia em função das tensões e


deformações de tração ou compressão aplicadas e quando são conectados a um
circuito elétrico amplificador, uma ponte de Wheatstone, as variações de resistência
são convertidas em uma saída de tensão, que pode ser calibrada e convertida em
uma medida de deformação, força, tensão ou momento torçor, baseado nas teorias
da Mecânica dos Sólidos.
Os strain gages necessitam de conexões elétricas para alimentação de
energia, além de entrada e saída de dados, portanto, sua utilização em sensores de
torque rotativo exige o uso de anéis coletores e escovas, como ilustrado na Figura 3.
Entretanto, estes sensores têm um custo elevado e, como indicado por Borges et al.
(2015), devido ao contato deslizante, apresentam problemas de aquecimento,
desgaste, ruído no sinal, especialmente quando sujeitos a vibrações mecânicas e
altas rotações; todavia, apontam também para soluções alternativas desenvolvidas
para a alimentação elétrica usando transformadores rotativos ou baterias, e para a
transmissão de sinais, sistemas embarcados de telemetria. Embora promissoras,

5
estas alternativas apresentam problemas de custo elevado e massas adicionais
desbalanceadas que podem comprometer o funcionamento do sensor, especialmente
em altas rotações.

Figura 3 - Sensor de torque rotativo com strain gage

Fonte: Adaptado de Kyowa (2022)

Outra condição de contorno que restringe o uso de sensores de torque


baseados em strain gages é apontada por Wolffenbuttel e Foerster (1990) e reside em
limitações estruturais, uma vez que entalhes no eixo para a instalação dos
transdutores ou para aumentar a flexibilidade do eixo resultam em alta concentração
de tensões localizadas, inviabilizando o uso com torque elevados.
Outros pesquisadores exploram meios indiretos para a medição de torque
rotativo como o uso do ângulo de torção no eixo medido por meios ópticos ou com o
uso sensores de efeito Hall, uma vez que os ângulos de torção medidos estão
relacionados diretamente com os momentos torçores transmitidos e as características
de rigidez torcional dos eixos.
Lee e Cho (2014) desenvolveram um sensor de torque de baixo custo
utilizando sensores de efeito Hall e ímãs de neodímio alinhados e fixados
separadamente em um eixo rotativo (Figura 4).

Figura 4 - Sensor de torque de efeito Hall com imãs alinhados

Fonte: Adaptado de Lee e Cho (2014)


6
Os sensores magnéticos detectam a intensidade do campo magnético de
ímãs permanentes e a diferença de fase entre dois sinais de indução é empregado
para medir a deflexão angular do eixo e, indiretamente, o torque transmitido. Um
algoritmo de medição em tempo real que inclui filtragem e dados de calibração é
adotado para medir a magnitude do torque. Os resultados mostram que o sensor
funciona bem na faixa de rotações de 300 a 500 rpm e com torque mais elevado.
Borges et al. (2017) desenvolveram um outro tipo de sensor de torque para
eixos rotativos usando sensores de efeito Hall e ímãs de neodímio montados a 45º
em relação ao eixo longitudinal do elemento de torção (Figura 5). O princípio de
funcionamento deste sensor considera o deslocamento relativo entre os ímãs devido
à deflexão por torção que aumenta ou diminui a intensidade da força do campo
magnético. Testes dinâmicos foram realizados para validar esta técnica e os
resultados mostram sua eficácia e apontam para potenciais aplicações deste sensor
de torque.

Figura 5 - Sensor de torque de efeito Hall com imãs a 45

Fonte: Adaptado de Borges et al. (2017)

Pantaleo et al. (2005) apresentaram o uso de um transdutor ótico de baixo


custo para medir o ângulo de torção de uma barra de aço inoxidável em uma fresadora
de madeira de alta rotação. Sensores ópticos reflexivos de alta resolução foram
empregados para medir a defasagem entre duas faixas pretas de referência
posicionados nas extremidades do dispositivo (Figura 6). Testes do sensor apontam
que a faixa de operação do sensor está limitada a 50 Hz devido a problemas de
vibrações e que a incerteza relativa da medida de torque é da ordem de 1% do fundo
de escala.

7
Figura 6 - Sensores ótico de torque com faixas únicas

Fonte: Adaptado de Pantaleo et al. (2005)

Zappalá et al. (2018) empregaram faixas “zebradas” e sensores ópticos para


a medição do torque em um eixo rotativo (Figura 7), sendo o ângulo de torção
estimado a partir da defasagem sinais captados pelos sensores que medem a
passagem das listras posicionadas nas extremidades do eixo rotativo. O dispositivo
foi testado estaticamente e dinamicamente, sendo a incerteza relativa de medida
estimada em ±1.19%.

Figura 7 - Sensores ótico de torque com faixas “zebrada”

Fonte: Adaptado de Zappalá et al. (2018)

8
4. METODOLOGIA

O desenvolvimento do sensor óptico de medição de torque em eixos rotativos


exigiu a implementação de um plano metodológico cuidadosamente delineado. O
projeto foi dividido em etapas bem definidas, tanto para fornecer uma base sólida de
conhecimento ao estudante pesquisador quanto para se adaptar às demandas e
desafios encontrados ao longo do desenvolvimento.
Durante o primeiro período da pesquisa, foram realizadas diversas atividades
importantes para o desenvolvimento do projeto. A primeira delas foi a elaboração e
construção de um pequeno protótipo para teste de conceito. Essa atividade foi crucial
para verificarmos se a nossa ideia inicial era viável e se funcionaria na prática.
O protótipo consistiu em um conjunto de motores presos na ponta de um eixo
feito de um material flexível. Com o auxílio de um controlador (módulo driver Ponte H),
foi possível controlar ambos os motores individualmente, criando um ângulo de torção
no eixo. A ideia era utilizar um conjunto de sensores de cor RGB com filtro IR.
Desse modo, teríamos uma fita com vários pares de listras azuis, vermelhas
e verdes presas nas extremidades do eixo, e os sensores estariam em um suporte
logo abaixo apontados para essa faixa.
De acordo com a curva de resposta do sensor, seria possível determinar a
posição relativa do mesmo em relação às listras e o sentido de rotação. A seguir, são
descritas com mais detalhes as atividades propostas no início e durante o período do
projeto.

4.1 Investigação de Sensores Ópticos

Nesta etapa inicial, foram conduzidas análises detalhadas das características


de diferentes sensores ópticos, com base em uma revisão bibliográfica extensa e
consulta a comunidades técnicas, incluindo fóruns especializados como o fórum
Arduino.
Basicamente, nesse projeto com o sensor colorido haverá um eixo com várias
trilhas em uma sequência azul/vermelho/verde que se repete em toda a circunferência
do eixo, essas trilhas têm um comprimento bem curto, menos de um arco de 5 graus
de circunferência em um eixo de raio 2 cm = ~ 1,7 mm, e estão girando em alta
velocidade angular.

9
Figura 8 - Protótipo inicial com faixas coloridas e sensores óticos

Fonte: Autoria Própria

O sensor deve ser capaz de retornar a intensidade da banda perpendicular a


ele a cada instante e quando estiver em uma posição onde há uma transição entre
bandas de cores diferentes ele precisa ser capaz de retornar rapidamente os valores
interpolados dessas cores, ou seja, quando está em uma transição de uma faixa
vermelha para verde, o sensor precisa retornar um sinal em tempo real que começa
com um pico vermelho e muda suavemente para um pico verde. Dessa forma, seria
possível identificar a posição relativa do sensor em relação às trilhas do eixo, objetivo
que pretendo alcançar.
Basicamente, quando impomos um torque em um eixo ele sofre uma torção ,
um ângulo de deslocamento entre as pontas do eixo. Ao medir esse ângulo, podemos
converter o valor de graus em torque. O sensor preto e branco pode medir o número
de vezes que uma faixa branca passa por ele, então podemos usar 2 sensores e
comparar esses valores para saber o ângulo entre eles, apenas com base no atraso
da leitura de um dos sensores, causados pelo ângulo de torção. Nesse projeto é
desejado usar um sensor de cor, assim é possível obter mais precisão de leitura. Na
análise das faixas, se um dos sensores estiver em uma faixa azul e o outro em uma
faixa vermelha, sabendo que cada faixa está separada por 6 graus, conclui-se que o
ângulo de torção é de 6 graus.
Mas como o sensor é colorido pode-se usar essa configuração, se um dos
sensores marca apenas um pico de azul e valores iguais a zero nas outras cores sabe-
se que o sensor está exatamente no meio da faixa azul, se o outro sensor marca um
pico de vermelho e um pouco de azul, o ângulo de torção não é 6 graus, mas um valor

10
menor que 6. O mesmo ocorre se fosse um pico de vermelho e um pouco de verde, o
ângulo não seria 6, mas maior que 6 pois a faixa verde está do lado contrário a faixa
azul. Esse valor maior ou menor que 6, é possível de ser calculado com base na
diferença entre os valores das cores, que já foi implementado no projeto. O problema
desses sensores de cores é justamente a velocidade de leitura e a precisão de sua
leitura.
Dessa forma, foi encontrado o sensor TCS34725 que está trabalhando para
baixas velocidades, mas com uma precisão um pouco distante do que é preciso ao
detectar mudanças de faixa, isso também está sendo causado pela baixa velocidade
de resposta dele que está em 2,4 ms. A velocidade almejada ao realizar os próximos
testes é algo em torno de 44 rpm , que é a velocidade dos motores do protótipo que
foi criado. Foi calculado que para um eixo com 60 trilhas, cada trilha vai ocupar um
arco de 6 graus e para cada trilha o sensor terá que ser capaz de realizar 90 leituras,
então será possível traçar uma média móvel com um offset definido para 10, ou seja
em 90 leituras teremos 9 valores válidos, que serão posteriormente processados no
programa. Então é necessário um sensor que tenha velocidade de leitura de 0,25 ms
ou 34 KHz, valor esse calculado a partir das condições de contorno estabelecidas de
90 leituras por faixa para que seja possível usar um filtro de média móvel para cada 9
leituras, e assim ter 10 leituras efetivas.
Abordando mais detalhes sobre o Filtro Média Móvel (FMM), se possuirmos
um conjunto de dados com ruído, e esse conjunto possuir , por exemplo 100 dados,
podemos diminuir o ruído dos dados calculando a média em um intervalo fixo para
todas as amostras de dados do conjunto. Ou seja, calcular a média de 10 em 10
amostras e no fim ter uma lista de dados de 10 amostras com ruído reduzido.
Após todas as considerações serem feitas uma pesquisa por sensores mais
rápidos foi feita, e logo constatou-se que não seria viável o projeto colorido, mesmo
considerando todas suas vantagens.
Após a identificação dessa limitação um novo modelo de sensor foi procurado,
um sensor analógico preto e branco. O fato dele ser analógico indica que ele pode
realizar teoricamente um número infinito de leituras em um espaço de tempo muito
curto, sendo limitado apenas pelo ADC (Conversor Analógico Digital) do
microcontrolador escolhido.
O ADC ou Conversor Analógico-Digital, é um componente essencial em
eletrônica que desempenha um papel fundamental na interface entre o mundo
11
analógico e o mundo digital. Sua principal função é converter sinais analógicos, que
variam continuamente no tempo, em sinais digitais discretos, que podem ser
processados por microcontroladores. Os microcontroladores não conseguem ler
sinais analógicos diretamente porque sua arquitetura interna e seu funcionamento são
baseados em processamento digital, que lida com valores binários, 0(desligado) e 1
(ligado).
Os microcontroladores utilizam ADCs para permitir a aquisição de dados de
sensores e dispositivos que geram sinais analógicos, como temperatura, pressão, luz,
som e muitos outros parâmetros físicos. Com esses sinais analógicos em formato
digital, os microcontroladores podem processar e analisar essas informações.
O Arduino possui um ADC com velocidade de leitura de 15 mil amostras por
segundo ou 15KHz de velocidade de leitura. Ainda abaixo do valor teórico calculado.
Por esse motivo, além dos sensores analógicos ópticos (CNY70) foi implementado um
ADC externo, o MCP3002. Esse dispositivo é capaz de ler os sinais analógicos,
convertê-los para digitais e enviá-los para o Arduino através de comunicação I2C. A
velocidade de leitura do MCP3002 é de 100 mil amostras por segundo, ou seja, 100
kHz de velocidade de leitura nas configurações mais baixas.

4.2 Projeto do Elemento de Torção

O elemento de torção foi escolhido com base na sua forma e capacidade de


retornar à condição indeformada inicial, sendo realizado a análise de elementos finitos
com diversos materiais, como inicialmente em alguns materiais como alumínio e aço
para ser feito o eixo, porém, depois de não possuírem um bom desempenho nos testes
e simulações, foi decidido que seria melhor o uso de aço inox para a confecção da
estrutura e aço mola para o eixo. Um resumo dos resultados obtidos é apresentado
no Quadro 1.
Ademais, foi feita a análise de 2 formatos de eixo primordial no projeto, sendo
o primeiro formato composto por um único arame no centro, que funcionava como
elemento de torção, esse arame possui um diâmetro bem pequeno, e nos testes
realizamos simulações com 3 valores de diâmetro, 1mm, 2mm e 3mm. O outro formato
consistia em 3 arames dispostos em ângulos iguais formando uma espécie de
triângulo equilátero, com os arames colocados nos vértices. Esse formato
teoricamente deixava o eixo mais rígido e auxiliaria no retorno da deformação ao seu

12
valor inicial após a carga ser retirada do torquímetro, no entanto por dificuldades no
projeto, optou-se por trabalhar somente com o primeiro formato, feito com um arame
de aço mola (Figura

Quadro 1 – Simulação da rigidez

Fonte: Autoria própria

Figura 9 - Eixo primordial com arame de aço mola

Fonte: Autoria própria

4.3 Projeto, Construção e Ensaio do Elemento de Torção

Foi realizada a construção da parte mecânica da bancada, mas devido a


dificuldades e atrasos, não foi possível finalizar o desenvolvimento da parte eletrônica
e computacional do torquímetro óptico, e consequentemente, prosseguir com os
ensaios.

13
Figura 10 - Conclusão da parte mecânica

Fonte: Autoria própria

14
5. RESULTADOS E DISCUSSÃO

5.1 Desenvolvimento de software

O algoritmo demonstrou uma alta precisão na determinação da velocidade de


rotação do eixo. Isso foi verificado por meio da comparação com um sistema de
referência de velocidade. Ademais, além da velocidade de rotação, o sistema também
é capaz de determinar a posição angular do eixo, oque posteriormente é utilizado para
o cálculo do torque, isso é calculado com base no número de pulsos e na geometria
do dispositivo. O Arduino envia por comunicação serial os dados recolhidos dos
sensores Ópticos, o computador recebe os dados e inicia sua análise.

5.1.1 Análise de Intensidade Luminosa


Os dados provenientes dos sensores ópticos são transmitidos para um
computador via comunicação serial. O primeiro passo do algoritmo é adicionar o valor
de luz detectado pelo sensor à análise e registrá-lo em uma lista de valores, cada
sensor possui sua própria lista definida no objeto “Sensor.java”.

5.1.2 Utilização da taxa de variação para detecção de máximos e mínimos


O algoritmo utiliza um valor de limiar (threshold) predefinido
experimentalmente para determinar se o sensor está entrando em uma faixa branca
ou preta. Se o valor da luminosidade for maior que o threshold, o sensor está indo em
direção a uma faixa branca; caso contrário, está entrando em uma faixa preta. Ou
seja, indo em direção a um máximo ou a um mínimo.
Para taxas de variação positivas uma variável de estado no objeto
“Sensor.java” e definido como “INCREASE”, antes do valor ser alterado o sistema
compara o novo valor com o anterior, se o valor anterior era “DECREASE” um ponto
de mínimo foi detectado, caso o valor atual for definido como “DECREASE”, e o valor
anterior era “INCREASE” um máximo foi detectado.

5.1.4 Registro de Pulso e Implementação


Cada vez que um vale é detectado, o sistema registra esse evento e atualiza
a contagem de pulsos. Quando o número de pulsos atinge um valor correspondente
ao número de faixas pretas no dispositivo, o sistema calcula a partir do tempo

15
decorrido de uma rotação completa do eixo a velocidade em RPM. A implementação
do algoritmo foi realizada em uma plataforma Arduino e o Software desktop foi
desenvolvido em Java para a aquisição de dados dos sensores ópticos.

5.1.5 Detecção da velocidade de rotação


A detecção de velocidade de rotação do eixo é feita pelo método “addPulse”
definido na classe “Sensor.java”, ele conta sempre que um mínimo é detectado na
variável “pulseCounter” na classe “DataManager.java”, assim que o sensor percorre
por todas as faixas pretas, ou seja, “addPulse” é maior ou igual a o número de faixas
pretas existentes no dispositivo, o sistema utiliza o tempo da última volta completa
menos o tempo da volta atual para calcular o tempo decorrido (milissegundos) e assim
calcular o valor da velocidade em RPM.
60 ∗ 1000
𝑅𝑃𝑀 =
𝛥𝑡

5.2 Dados dos Ensaios

Devido a dificuldades e atrasos na construção da bancada, não foi possível


finalizar o desenvolvimento da parte eletrônica e computacional do torquímetro óptico
com seu modelo final, e consequentemente, prosseguir com os testes que trariam os
dados necessários.

16
6. CONCLUSÕES

Com o desenvolvimento do projeto, foi possível verificar a constante melhora


nos métodos, componentes e algoritmos desenvolvidos. A pesquisa por sensores
mais rápidos foi feita, e logo constatou-se que não seria viável o projeto colorido,
mesmo considerando todas suas vantagens, sendo considerado a melhor opção um
sensor analógico preto e branco. Também, o elemento de torção foi escolhido com
base na sua forma e capacidade de retornar à condição indeformada inicial, através
de dados foi decidido o uso de aço inox para a confecção da estrutura e aço mola para
o eixo.
Como os últimos meses foram todos voltados para o desenvolvimento do
algoritmo, não foi possível obter resultados referentes aos dados dos ensaios. Porém,
o algoritmo apresentado neste artigo oferece uma solução robusta para a detecção
da velocidade de rotação de um eixo usando sensores ópticos. A capacidade de
detectar picos e vales permite calcular a velocidade com alta precisão, enquanto a
contagem de pulsos possibilita o cálculo da posição angular. Este sistema tem
aplicações promissoras em uma variedade de setores industriais. Ademais, oferece
uma ferramenta valiosa para a medição de torque em sistemas de engenharia,
contribuindo para a eficiência e confiabilidade desses sistemas.

17
7. REFERÊNCIAS BIBLIOGRÁFICAS

ABDEL-HADY, F. Filament winding of revolution structures. Journal of reinforced


plastics and composites, v. 24, n.8, p. 855-868, 2005.
AHN, S. et al. Anisotropic Material Properties of Fused Deposition Modeling ABS.
Rapid Prototyping Journal, v. 8, n. 4, p. 248-257, 2002.
ASTM. F2971-13 Standard Practice for Reporting Data for Test Specimens Prepared
by Additive Manufacturing, 2013.
ASTM INTERNATIONAL D5947-18; Standard Test Methods for Physical Dimensions
of Solid Plastics Specimens. 10 p.
ASTM INTERNATIONAL D790-17; Standard Test Methods for Flexural Properties of
Unreinforced and Reinforced Plastics and Electrical Insulating Material
BAGSIK, A. Mechanical Properties of Fused Depositon Modeling Parts Manufactured
With ULTEM*9085. In: Annual Technical Conference of the Society of Plastic
Engineers, 69., 2011, Boston. Anais... Paderborn: Society of Petroleum Engineers,
2011. p. 1294-1298.
BIKAS, H.; STAVROPOULOS, P.; CHRYSSOLOURIS, G. Additive Manufacturing
methods and modelling approaches: a critical review. The International Journal of
Advanced Manufacturing Technology, v. 83, n. 1-4, p. 390-394, 2016.
GIBSON, I.; ROSEN, D.; STUCKER, B. Additive Manufacturing Technologies: 3D
Printing, Rapid Prototyping and Direct Digital Manufacturing. 2. ed. Nova Iorque:
Springer, 2015. p. 1-17.
HERNÁNDEZ-MORENO et al. Influence of winding pattern on the mechanical
behavior of filament wound composite cylinders under external pressure. Composites
Science and Technology, v. 68, n.3–4, p. 1015-1024, 2008.
ISO 178: 2010 Plastics -- Determination of flexural properties.
NOVAKOVA-MARCINCINOVA, L.; NOVAK-MARCINCIN, J. Verification of Mechanical
Properties of ABS Materials Used in FDM Rapid Prototyping Technology.
Proceedings in Manufacturing Systems, v.8, n.2, p. 87-92, 2013.
PANDITA, S. et al. Clean wet-filament winding - Part 1: design concept and
simulations. Journal of Composite Materials, v. 47, 379-390, 2013.
PETERS, S. (1998). Handbook of Composites, 2nd. ed. Chapman&Hall, London,
1118 p.

18
8. PRODUÇÃO TÉCNICO-CIENTÍFICA

Durante a vigência do Projeto de Pesquisa, o aluno Matheus da Costa Caffer


Markies não apresentou os resultados do presente projeto de pesquisa em nenhum
evento técnico-científico, mas deverá apresentá-los no Congresso de Iniciação em
Desenvolvimento Tecnológico e Inovação da UFSCar em 2024.

19
9. AUTO-AVALIAÇÃO

Este projeto teve um impacto positivo em meu desenvolvimento pessoal e


profissional. A resolução de problemas complexos e a aplicação de conhecimentos
técnicos, nas areas de engenharia e desenvolvimento de software, me ajudaram a
crescer como engenheiro. Além disso, a experiência de criar um sensor de torque
ótico de baixo custo me abriu portas para futuras oportunidades e desafios na área.
Embora tenha havido alguns contratempos com o sensor inicialmente escolhido
e na montagem final do sistema, acredito que fiz um trabalho satisfatório neste projeto,
conseguindo cumprir a maioria das atividades propostas e obter resultados
importantes. Contudo, posso melhorar ainda mais, alcançar resultados ainda mais
significativos no futuro, com este ou outros projetos que envolvem a engenharia como
um todo.

Matheus da Costa Caffer Markies

20
10. AVALIAÇÃO DO ORIENTADOR

O Projeto de Iniciação Científica e Tecnológica desenvolvido pelo estudante


Matheus da Costa Caffer Markies envolve o desenvolvimento de um sensor de torque
de baixo custo para aplicações didáticas em eixos rotativos.
Nas etapas iniciais do projeto, houve muita dificuldade em se definir os
sensores adequados, bem como as configurações da bancada de testes, no entanto,
o estudante demonstrou iniciativa e conhecimento para testar diferentes tipos de
sensores óticos, definindo o mais adequado aos objetivos do trabalho.
O estudante também realizou simulações numérica empregando um software
de elementos finitos para verificar rigidez do sistema mecânico da bancada de testes.
No entanto, devido às dificuldades na construção da bancada, houve um atraso na
realização dos testes finais do sensor de torque e por este motivo não são
apresentados no presente relatório.
Pode-se afirmar que o estudante Matheus da Costa Caffer Markies cumpriu
de modo satisfatório os objetivos do projeto de pesquisa, complementando sua
formação em Engenharia Mecânica e desenvolvendo novas habilidades e
competências.

Flávio Yukio Watanabe

21
11. DESTINO DO ALUNO

O estudante Matheus da Costa Caffer Markies dará continuidade ao Curso de


Graduação em Engenharia Mecânica da UFSCar.

22
APÊNDICE A – Listagem dos códigos de programação

public class Sensor {


private int pulseCounter;

private double deltaTime;


private double globalDeltaTime;
private double rotationDeltaTime;
private double lightValue;
List<Double> lightValueHistory = new ArrayList<>();
private double sensorPosition;
public Date previousAddedTime = new Date();
public Date startTime = new Date();
private Transducer transducer;
DataManager.Condition currentCondition =
DataManager.Condition.NONE;

public Sensor(Transducer transducer) {


System.err.println("Create new Sensor!");

this.transducer = transducer;
DateTimeFormatter dtf =
DateTimeFormatter.ofPattern("HH:mm:ss.SSSSSSSSS");
LocalTime localTimeNow = LocalTime.now();

LocalDateTime localTime =
localTimeNow.atDate(LocalDate.now());

Instant instant =
localTime.atZone(ZoneId.systemDefault()).toInstant();

previousAddedTime = (Date.from(instant));
startTime = (Date.from(instant));
}

23
public Sensor() {
//System.err.println("Create new Sensor!");
}
boolean lock = false;
double oldDiscrepancy = 0;
public boolean pulseRegister(double lightValue){
LocalTime localTimeNow = LocalTime.now();

LocalDateTime localTime =
localTimeNow.atDate(LocalDate.now());

Instant instant =
localTime.atZone(ZoneId.systemDefault()).toInstant();

deltaTime = Date.from(instant).getTime() -
previousAddedTime.getTime();

globalDeltaTime = Date.from(instant).getTime()-
startTime.getTime();
previousAddedTime = (Date.from(instant));

if(lock)
sensorPosition +=
360/transducer.getTracksNumber().getValue();

this.lightValue = lightValue;
this.lightValueHistory.add(lightValue);
return addPulse();
}

int peak = 0;
int valley = 0;

24
public void addPeak(){
peak ++;
}
public void addValley(){
valley ++;
}

public int getPulseCounter() {


return pulseCounter;
}

public void setPulseCounter(int pulseCounter) {


this.pulseCounter = pulseCounter;
}

public boolean addPulse() {

if (transducer != null) {
int tracks =
(int)transducer.getTracksNumber().getValue();
if((pulseCounter >= tracks)) {
this.pulseCounter = 0;
sensorPosition = 0;

LocalTime localTimeNow = LocalTime.now();


LocalDateTime localTime =
localTimeNow.atDate(LocalDate.now());
Instant instant =
localTime.atZone(ZoneId.systemDefault()).toInstant();

double instatTime = Date.from(instant).getTime();

setRotationDeltaTime(instatTime -
rotationAddedTime.getTime());

25
double rpm = (double) Math.round((60000 /
getRotationDeltaTime()) * 100) /100;

rotationAddedTime = Date.from(instant);
lock = true; //Comecar a contar a posicao relativa
apos a primeira volta
return true;
}
}
return false;
}
}

Sensor.java

void changeSensorInfo(double brightness, Sensor currentSensor) {


AxleData axleData = new AxleData();

if (brightness >= 3.9) {


if (currentSensor.getCurrentCondition() ==
Condition.NONE)

currentSensor.setCurrentCondition(Condition.INCREASE);
else if (currentSensor.getCurrentCondition() ==
Condition.DECREASE) {
currentSensor.addValley();

currentSensor.setPulseCounter(currentSensor.getPulseCounter()+1);

currentSensor.setCurrentCondition(Condition.INCREASE);
}
} else if (brightness < 3.9) {
if (currentSensor.getCurrentCondition() ==
Condition.NONE)

currentSensor.setCurrentCondition(Condition.DECREASE);
else if (currentSensor.getCurrentCondition() ==
Condition.INCREASE) {
currentSensor.addPeak();

26
currentSensor.setCurrentCondition(Condition.DECREASE);
}
}

currentSensor.pulseRegister(brightness);
axleDataHistory.add(axleData);
}

DataManager.java metodo changeSensorInfo() responsável pelo algoritmo de maximos e


minimos.

@Override
public void serialEvent(SerialPortEvent event) {
if (event.getEventType() !=
SerialPort.LISTENING_EVENT_DATA_AVAILABLE)
return;
byte[] buffer = new byte[port.bytesAvailable()];

String inputString = new String(buffer,


StandardCharsets.UTF_16LE);

Scanner scanner_stream= new Scanner(


port.getInputStream());
while(scanner_stream.hasNextLine()) {
String received_string = scanner_stream.nextLine();

inputString = received_string;

try {
try {
}catch (Exception exception){}
switch (inputString) {

case "a":
readingSensorIndex = 0;
break;
case "b":
readingSensorIndex = 1;
break;

case "None:":

27
getReadType = false;
break;

case "B:":
readType = ReadType.B;
getReadType = false;
break;

case "DT:":
readType = ReadType.DT;
getReadType = false;
break;

case "SC:":
readType = ReadType.SC;
getReadType = false;
break;

default:
if (getReadType) {
readType = null;
}
if (readType != null)
switch (readType) {
case None:
getReadType = true;
break;

case B:
controller.getDataManager()
.changeSensorStats(readingSensorIndex,Double.parseDouble(inputStrin
g));
getReadType = true;
break;

case DT:
getReadType = true;
break;
case SC:
getReadType = true;
break;
}

28
break;
}
}catch (Exception exception){
}
controller.chartRefresh();
}

Algoritmo de leitura da comunicação serial SerialRunnable.java

29

Você também pode gostar