Professional Documents
Culture Documents
1 Introduo
Com o avano da tecnologia, os aparelhos eletrnicos ficaram mais inteligentes, com
mais recursos, necessitando cada vez mais se comunicarem entre si. Com isso a comunicao
paralela perdeu espao devido dificuldade em se estender barramentos paralelos a grandes
distncias.
Houve ento a necessidade de se utilizar o barramento serial e com isso vrios tipos
diferentes de protocolos foram desenvolvidos.
Segundo Deshmukh (2011), atualmente comum o uso de microcontroladores no
controle de vrios processos. Um microcontrolador um sistema microprocessador
encapsulado em um nico chip, com memrias, clock e perifricos mais limitados que um
computador. O uso desses circuitos integrados no somente reduz custo da automao como
tambm propicia mais flexibilidade. Dentre as plataformas de desenvolvimento que utilizam
microcontroladores, o Arduino tem ganhado um grande destaque.
Arduino uma plataforma de prototipagem aberta baseada em hardware e software
flexveis e de fcil utilizao segundo Banzi, (2011). O ambiente Arduino foi desenvolvido
para ser fcil para iniciantes que no possuem experincia com desenvolvimento de software
ou eletrnica (MARGOLIS, 2011). Neste contexto, este artigo apresenta uma soluo para
monitorar vibraes de estruturas usando a arquitetura Arduino. O prottipo desenvolvido
1
Alunos do curso de Engenharia Civil Faculdades Integradas Rui Barbosa (FIRB) Andradina-SP
Professor do curso de Engenharia Civil Faculdades Integradas Rui Barbosa (FIRB). E-mail:
estremot@gmail.com
2
143
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
ser responsvel por controlar as vibraes atravs de um programa desenvolvido pelo grupo.
O prottipo desenvolvido ser responsvel por obter os dados das vibraes, trat-los e
armazen-los.
2 Objetivos
Nesta seo so apresentados os objetivos deste trabalho:
2.1 Objetivo Geral
O objetivo geral do trabalho propor uma soluo com uso de hardware de baixo custo,
para monitorar vibraes em estruturas, de forma remota, armazenando-os em uma base de
dados que possa ser acessada pela web.
2.2 Objetivos Especficos
Os objetivos especficos so apresentar as vantagens da arquitetura Arduino e expor o
funcionamento da soluo proposta.
2.3 Justificativa
O trabalho se justifica por propor uma soluo de baixo custo, flexvel e prtica para o
monitoramento. Segundo Mcroberts (2011) o uso da plataforma Arduino tem como maior
vantagem a facilidade de sua utilizao. Outro aspecto favorvel ao uso do Arduino a
grande comunidade de pessoas que compartilham cdigos e diagramas de seus projetos para
que mais desenvolvedores copiem, modifiquem ou utilizem parte de suas ideias disseminando
ainda mais o uso da plataforma.
3 Soluo proposta
A proposta foi criar um sistema composto de Software e Hardware de baixo custo e
alta flexibilidade de uso para monitoramento e coleta de dados de vibrao em estruturas e
equipamentos (figura 1). O projeto ento foi dividido em duas partes: um mdulo transmissor
composto de sensor, microcontrolador e rdio transmissor com a finalidade de adquirir as
informaes e transmit-la para o segundo mdulo (receptor) composto por radio receptor,
microcontrolador e dispositivo de comunicao serial (USB), que sero detalhados a seguir.
144
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
ARDUINO
NRF24L01+
Pino
Funo
Pino
Pino
Funo
VCC
+5VCC
GND
GND
SCL
28
DAS
27
XDA
No Conectado
XLC
No Conectado
ADO
No Conectado
INT
No Conectado
GND
GND
+3,3VCC
+3,3VCC
CE
10
CSN
13
SCK
12
MISO
11
MOSI
No Conectado
IRQ
145
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
Figura 2 - Arduino
na
documentao tcnica
o
sensor
MPU6050
Figura 3 - MPU6050
146
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
3.1.2 O software
Para comunicarmos com o sensor e obtermos os valores, ns tnhamos duas opes:
desenvolver nossa prpria biblioteca baseada nas regras do protocolo IC e das informaes
dos documentos tcnicos do sensor ou utilizarmos uma biblioteca j pronta, dentre as vrias
disponveis gratuitamente pela internet.
Como o objetivo do projeto no diretamente o estudo dos protocolos envolvidos
optamos por utilizar a biblioteca desenvolvida por Jeff Rowberg e que pode ser baixada
gratuitamente do site: https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050.
Para acessar ento as informaes do sensor utilizando essa biblioteca, foi necessrio
acrescentar as seguintes linhas no cdigo do transmissor:
Na seo de declarao de variveis:
/*-----( Bibliotecas Necessrias )-----*/
/*---(PARA O MPU6050)---*/
#include "Wire.h"
#include "I2Cdev.h"
#include "MPU6050.h"
/*----------------------------------------------*/
MPU6050 sensor;
No procedimento Setup:
Wire.begin();
sensor.initialize();
No procedimento Loop:
//Obtm os dados do sensor MPU6050.
sensor.getMotion6(&dados[0], &dados[1], &dados[2], &dados[3], &dados[4], &dados[5]); //
147
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
Para o uso do radio transmissor tambm utilizamos uma biblioteca pronta que foi
desenvolvida
por
(maniacbug)
que
pode
ser
baixada
gratuitamente
do
site:
https://github.com/maniacbug/RF24.
Para que o rdio funcione como transmissor e envie as leituras feitas pelo sensor foram
acrescentadas as seguintes linhas no cdigo do transmissor.
No procedimento Setup:
radio.begin();
radio.setDataRate(RF24_2MBPS);
radio.setPALevel(RF24_PA_MAX);
No procedimento Loop:
// Envia os dados via rdio NRF24L01+.
radio.write(dados, sizeof(dados));
148
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
terminal de computador por comunicao serial (RS232) atravs de uma emulao de uma
porta COM pela porta USB.
A velocidade mxima de comunicao entre os dois rdios de 2 mbps e pode atingir
em condies favorveis 10m de distncia.
A Tabela 2 mostra como ligar os pinos do radio receptor com o Arduino.
NRF24L01+
Pino
Pino
Funo
GND
GND
+3,3VCC
+3,3VCC
CE
10
CSN
13
SCK
12
MISO
11
MOSI
No Conectado
IRQ
3.2.2 O Software
Assim como no mdulo transmissor usamos a mesma biblioteca para acessar os dados
que chegam pelo rdio receptor.
As linhas de cdigos so praticamente as mesmas com exceo de algumas linhas que
devem ser substitudas, pois um rdio configurado somente como transmissor e outro
somente como receptor.
No procedimento Setup substituir radio.openWritingPipe(pipe); por:
radio.openReadingPipe(1,pipe); // Define o rdio como receptor.
E acrescentar :
radio.startListening(); // Inicia a escuta para aguardar recebimento dos dados.
Para o recebimento dos dados no procedimento Loop deve-se usar um lao de repetio
at que uma varivel de controle seja marcada como verdadeiro quando da recepo total do
pacote enviado for concluda.
149
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
Aps montagem dos dois mdulos com a utilizao de dois kits do Arduino e
protoboads e desenvolvidos os softwares do transmissor e receptor, optamos por desenvolver
nossas prprias placas de circuito para eliminarmos alguns problemas que surgiram devido a
mau contato entre os diversos fios de conexo entre os dispositivos e a protoboard.
Pesquisando descobrimos o nmero mnimo de componentes necessrios ao perfeito
funcionamento de um microcontrolador da Atmel o Atmega328pu com o bootloader do
Arduino. Para isso usamos como referncia o projeto da placa BlackBoard da Robocore
que pode ser baixado gratuitamente do site: http://www.embarcados.com.br/placa-arduinoda-robocore-blackboard/
Para desenvolvemos o nosso projeto, com o esquema mostrado na figura 5, utilizamos
como ferramenta gratuita, um programa que auxilia a montagem de projetos em placas de
circuito impresso universais, chamado BlackBoard circuit designer que pode ser baixado
pelo site: http://blackboard.serverpool.org
A figura 6 mostra a placa de circuito vista de cima com os componentes eletrnicos. A
mesma placa foi utilizada para os dois mdulos (transmissor e receptor) o que diferenciou foi
somente o software carregado em cada microcontrolador.
O Esquema de soldagem das trilhas pode ser observado na figura 7 que mostra a vista
de baixo da placa de circuito impresso.
150
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
151
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
que
pode
ser
baixado
do
site:
http://www.microsoft.com/pt-
br/download/details.aspx?id=14422
Ainda para visualizao de cada eixo utilizamos outro componente adicional no Visual
Studio que gera um medidor analgico (gauge), que pode ser baixado gratuitamente pelo
site: http://www.codeproject.com/Articles/17559/A-fast-and-performing-gauge
Os dados ento so gravados em uma base de dados MYSQL para que se possa prover
acesso remoto a eles e manter um backup para posterior estudo.
A tela do programa mostrada na figura 8.
Figura 6 - Tela principal do programa de monitoramento de dados.
152
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
Sub
com_DataReceived(sender
As
Object,
As
SerialDataReceivedEventArgs)
Handles
com.DataReceived
Try
If com.IsOpen Then
BUFFER = com.ReadLine().Trim 'l os dados e armazena na varivel
readbuffer = True
End If
Catch ex As Exception
End Try
End Sub
- Config.Graus.Minimo) /
Aps ler os dados para a varivel BUFFER seu contedo separado em variveis
individuais para cada eixo e sensor e aps o mapeamento dos valores pelas funes de
mapeamento, estes dados so mostrados no grfico e nos mostradores analgicos e quando
solicitado pelo usurio eles so gravados na base de dados.
Consideraes finais
O sistema mostrou-se eficaz ao que foi proposto e as tecnologias utilizadas
possibilitam o desenvolvimento de uma soluo de baixo custo, uma vez que foi utilizado o
microcontrolador Arduno e tecnologia de software gratuito disponvel para uso.
O prottipo tambm se mostrou muito flexvel para anlises vibratrias de diversos
tipos de estruturas e equipamentos.
Revista InterAtividade, Andradina, SP, v.2, n. 2, 2 sem. 2014
153
Marco A. da Silva; Alessandro B. Carvalho; Jean C. Garrido; Marcos Antonio Estremote
Referncias
AGUIAR, Ygor Quadros de; MACIEL, Braian Konzgen; SOARES, Luciane Baldassari Universidade Federal de Rio Grande FURG, Barramento Serial IC e SPI, Disponvel em:
<http://www.ebah.com.br/content/ABAAAe7xoAL/barramento-serial-spi-i-c>,Acesso em 25
de junho de 2014.
ARDUINO .cc, nRF24L01. Disponvel em: <http:///playground.arduino.cc/interfacing
WithHardware / Nrf24L01> Acesso em: 28 de abril de 2014.
BANZI, M. Primeiros passos com o Arduino. So Paulo: Novatec, 2011.
DESHMUKH, A. V. Microcontrollers Theory And Applications, 2011.
EVANS, Martin; NOBLE, Joshua; HOCHENBAUM, Jordan: Arduino em Ao. So Paulo:
Novatec, 2013.
INVENSENSE, MPU-6000 and MPU-6050: Product Specification, Revision 3.1 Disponvel
em: <http://invensense.com/mems/gyro/documents/PS-MPU-6000A-00v3.4.pdf> Acesso em:
12 de abril de 2014.
LABORATRIO DE GARAGEM, Breakout MPU-6050 - Acelermetro & Giroscpio.
Disponvel em: <http://www.labdegaragem.org/loja/triple-axis-accelerometer-gyro-breakoutmpu-6050.html> Acesso em: 10 de abril de 2014.
MANIACBURG; Biblioteca RF24 v1. Disponvel em: <http://maniacbug. github.io
/RF24/index.html>. Acesso em: 10 de abril de 2014.
MARGOLIS, M. Arduino Cookbook. Sebastopol, CA, USA: O'RilleyMedia, 2011, p1.
MCROBERTS, M. Arduino Bsico. So Paulo: Novatec, 2011.
PROTOCOLO SPI; Disponvel em: <https://cld.pt/dl/download/03fa4282-3f3f-4231-89072e21bfed8207/N3E%20%20SmartBoost/4%C2%BA%20Ano/1%C2%BA%20semestre/Siste
mas%20Embebidos/Prof.%20Rui%20Rocha/Projectos/protocolo_spi_v2.pdf>, Acesso em: 23
de junho de 2014.
SACCO, Francesco. Comunicao SPI. Disponvel
com.br/spi-parte-1/>. Acesso em: 25 de junho de 2014.
em:
<http://www.embarcados.
WIKIPEDIA
Serial
Peripheral
Interface
Bus,
Disponvel
em:
<http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus>. Acesso em: 23 de junho de
2014.
WIKIPEDIA. Arduino. Disponvel em: <http://pt.wikipedia.org/wiki/Arduino>. Acesso em:
15 de maio de 2014.
WIKISPACES.
Nrf24L01-2.4GHz-HowTo.
Disponvel
em:
<http://arduino-info
.wikispaces.com/Nrf24L01-2.4GHz-HowTo> Acesso em: 28 de abril de 2014.