Você está na página 1de 72

UNIVERSIDADE DO VALE DO PARABA

FACULDADE DE ENGENHARIA, ARQUITERURA E URBANISMO


Engenharia Eltrica/Eletrnica

Brao Articulado Controlado


Remotamente Via Bluetooth

Guilherme Jos Lopes


Valter de Lima Oliveira

Relatrio do Trabalho de Concluso de Curso apresentado


Banca Avaliadora da Faculdade de Engenharia,
Arquitetura e Urbanismo da Universidade do Vale do
Paraba, como parte dos requisitos para obteno do Ttulo
de Engenheiro Eltrico / Eletrnico

So Jos dos Campos SP


06 / 2013
Brao Articulado Controlado
Remotamente via Bluetooth

Guilherme Jos Lopes


Valter de Lima Oliveira

Banca Avaliadora
Presidente: Jos Ricardo Abalde Guede
Orientador: Marcio Tadeu de Assis Honorato Muella
Convidado: Alessandro Correa Mendes

___________________________________
Marcio Tadeu de Assis Honorato Muella
Orientador Acadmico

___________________________________
Jos Ricardo Abalde Guede
Coordenador da Disciplina de TCC

Data: 04/07/2013

2
Agradecimentos

Seria impossvel a concluso deste


trabalho e, por consequncia do curso de
Engenharia sem o apoio de vrias pessoas ao
longo destes anos.
Agradecemos o apoio de nossas esposas,
filhos, pais e todos de nossa famlia que nos
auxiliaram neste caminho.
A todos os professores que tivemos o
prazer do convvio, especialmente ao Prof.
Marcio Tadeu de Assis Honorato Muella pela
orientao, nosso sincero muito obrigado.

3
Dedicatria

Dedicamos este trabalho nossa famlia


pelo apoio e compreenso em todos os
momentos, especialmente nas situaes mais
difceis vividas ao longo dos ltimos cinco
anos.

4
RESUMO
O projeto desenvolvido e descrito a seguir como Trabalho de Concluso do Curso teve
como objetivos principais o desenvolvimento de habilidades nas reas de sistemas robticos,
programao e transmisso de dados, a criao de uma base de conhecimento para o
desenvolvimento futuro de aplicaes para organizaes que necessitem de sistemas robticos
controlados remotamente e o conhecimento e a familiarizao com a plataforma de
desenvolvimento Arduino.
O sistema desenvolvido foi um brao mecnico articulado, com os movimentos
executados por servomotores e controlado remotamente atravs de comandos seriais enviados
por interface Bluetooth. Este projeto de TCC poder futuramente servir de base para o
desenvolvimento de um novo negcio a partir dos conhecimentos agregados.
Os resultados esperados foram alcanados com a concepo de um prottipo
completamente funcional cobrindo todos os objetivos inicialmente propostos.
Adicionalmente, foram agregados novos conhecimentos em Linguagem C, protocolos de
comunicao serial via Bluetooth, sistemas robticos, desenvolvimento de prottipos e outras
reas de interesse complementares ao curso de Engenharia Eltrica.
Como oportunidades de desenvolvimento e melhorias futuras no trabalho desenvolvido,
est sendo analisada a substituio dos servomotores utilizados nos movimentos do brao
mecnico por motores de passo e o desenvolvimento de um novo programa que venha a
explorar as possibilidades abertas pelo uso destes motores, criando um sistema com
movimentos mais precisos e com maiores possibilidades de controle. Adicionalmente, o
trabalho gerou uma ideia, que est sendo desenvolvida, de formatao de um novo negcio
visando o fornecimento de kits de ensino de robtica baseados nos conhecimentos adquiridos
durante o desenvolvimento.

Palavras-Chave: Brao Mecnico, Robtica, Servomotor, Arduino, Bluetooth.

5
NDICE GERAL

1 - Introduo 10
2 - Materiais Utilizados 11
2.1 - A Plataforma Arduino 11
2.2 - Servomotores 12
2.3 - Bluetooth 15
2.3.1 - Histrico 16
2.3.2 - Tecnologia Bluetooth: Frequncia e Comunicao 16
3 - Metodologia Empregada 18
3.1 - Detalhamento do Hardware: Arduino Uno 19
3.1.1 - Alimentao 21
3.1.2 - Memria e I/O 21
3.1.3 - Comunicao 22
3.1.4 - Programao 23
3.1.5 - Proteo Contra Sobrecorrente na Porta USB 23
3.2 - Mdulo Bluetooth 23
3.3 - Servomotores 25
3.3.1 - Servo MG 995 25
3.3.2 - Servo TG9e 26
3.4 - Fonte de Alimentao 27
4 - Montagem Final 28
4.1 - Diagrama em Blocos 28
4.2 - Mecnica e Materiais 29
4.2.1 - Fabricao 41
4.2.2 - Evoluo do Projeto 41
4.3 - Software 49
4.4 - Custo do Projeto 50
5 - Resultados e Discusses 50
6 - Concluses 52
7 - Referncias Bibliogrficas 54
8 - Anexos do Manuscrito: Fluxograma e Software Comentado 55
9 - Anexos do Projeto: Desenhos de Montagem 61

6
INDICE DE FIGURAS

Figura 1 - Vista em corte de um servomotor genrico 13


Figura 2 - Detalhe de um servomotor genrico 13
Figura 3 - Partes internas de um servomotor desmontado 13
Figura 4 - Pulsos de controle de um servomotor 14
Figura 5 - Padres de conectorizao de servomotores 15
Figura 6 - Diagrama bsico do sistema proposto 18
Figura 7 - Placa Arduino Uno e seus componentes principais 19
Figura 8 - Dimenses da placa Arduino Uno 20
Figura 9 - Diagrama esquemtico da placa Arduino Uno 20
Figura 10 - Mdulo Bluetooth EGBT-046S 23
Figura 11 - Esquema de conexo do mdulo Bluetooth a um microcontrolador 24
Figura 12 - Imagem de catlogo do servomotor MG 995 25
Figura 13 - Detalhe das engrenagens do servomotor MG 995 26
Figura 14 - Imagem de catlogo do servomotor TG9e 26
Figura 15 - Fonte externa utilizada no projeto 27
Figura 16 - Detalhe do plugue de sada DC da fonte 28
Figura 17 - Diagrama em blocos do sistema desenvolvido 28
Figura 18 - Desenho da montagem final do brao articulado: vista lateral direita 29
Figura 19 - Desenho da montagem final do brao articulado: vista lateral esquerda 30
Figura 20 - Rob modelo ABB 1400 30
Figura 21 - Base do brao articulado 31
Figura 22 - Giro da mesa do brao articulado 32
Figura 23 - Suportes laterais do brao articulado 32
Figura 24 - Tensor 1: interligao do servomotor com o tensor 2 33
Figura 25 - Tensor 2: interligao tensor 2 com o corpo do brao 33
Figura 26 - Interligao dos suportes laterais e do Tensor 02 com a base de giro 34
Figura 27 - Base de adaptao do giro da garra 34
Figura 28 - Interligao do servomotor de giro da garra com o corpo da munheca 35
Figura 29 - Corpo da munheca 35
Figura 30 - Fixao lateral do corpo da munheca ao corpo da garra. 36
Figura 31 - Corpo da garra. 36
Figura 32 - Articulao da garra. 37

7
Figura 33 - Extremidade da garra. 37
Figura 34 - Vista lateral direita do brao articulado 38
Figura 35 - Vista lateral esquerda do brao articulado 38
Figura 36 - Vista superior do brao articulado 39
Figura 37 - Vista traseira do brao articulado 39
Figura 38 - Vista frontal do brao articulado 40
Figura 39 - Viso geral da montagem final do brao articulado 40
Figura 40 - Incio da montagem do da base do brao articulado 41
Figura 41 - Giro da base e acoplamento dos servomotores de acionamento do brao 42
Figura 42 - Montagem da base com os cabos de acionamento dos servomotores 42
Figura 43 - Primeiro modelo de garra utilizado no prottipo e abandonado devido
dificuldade de fixao dos servomotores. 43
Figura 44 - Dimenses relativas da garra em relao base do brao articulado. 43
Figura 45 - Testes de desenvolvimento do Arduino e dos servomotores. 44
Figura 46 - Testes de desenvolvimento do Arduino e dos servomotores. 44
Figura 47 - Testes de montagem final do prottipo, da nova verso do brao superior e das
garras com posicionamento de fixao dos servomotores de giro do brao, acionamento da
munheca e das garras. 45
Figura 48 - Verso final do prottipo com a finalizao da fixao dos servomotores e do
chicote com o cabeamento de acionamento e controle. 45
Figura 49 - Vista lateral do brao articulado com detalhe do servomotor de giro do brao
superior. 46
Figura 50 - Vista superior do brao articulado com detalhe das garras. 46
Figura 51 - Vista inferior da base do brao articulado. 47
Figura 52 - Detalhe inferior da base do brao articulado com a posio do servomotor
de giro da mesa com a acomodao do Arduino e do cabeamento. 47
Figura 53 - Vista frontal do brao articulado. 48
Figura 54 - Verso final da montagem mecnica do brao articulado com todos os
componentes. 48
Figura 55 - Fluxograma do aplicativo de controle do brao articulado. 49

8
INDICE DE TABELAS

Tabela 6 - Caractersticas Eltricas da Placa Arduino Uno 19


Tabela 7 - Caractersticas Eltricas do mdulo EBGT-046S 24
Tabela 8 - Custos do Projeto 50

9
1. INTRODUO

Automao de processos certamente uma das reas mais promissoras e de maior


potencial para novas oportunidades nos prximos anos. Os grandes projetos de infraestrutura
em execuo no pas nas reas de energia, transporte, indstria e construo civil vo
demandar conhecimentos em projetos de sistemas robticos, desenvolvimento de software e
aquisio/transmisso de dados de forma automatizada e remota.
Com esse projeto, objetiva-se desenvolver habilidades nas reas de sistemas robticos,
programao e transmisso de dados, desenvolver conhecimentos da plataforma Arduino e
criar sistema que sirva de base para o desenvolvimento futuro de aplicaes para empresas
que necessitem de sistemas robticos controlados remotamente.
Outro aspecto importante no desenvolvimento deste projeto foi a utilizao da
plataforma de hardware/software de cdigo aberto Arduino. Esta plataforma possibilita o
desenvolvimento de aplicaes de baixo custo em diversas reas, podendo, por exemplo, ser
utilizada para a implementao de kits que possibilitem a iniciao no ensino de robtica e
programao.
Dentro deste contexto, o projeto foi desenvolvido com um sistema composto de um
brao mecnico articulado utilizando servomotores, conectado a uma placa Arduino UNO
controlada remotamente via Bluetooth. O projeto se justifica por propor uma soluo de baixo
custo, flexvel e prtica para o desenvolvimento de sistemas robticos. O uso da plataforma
Arduino tem como maior vantagem a facilidade de sua utilizao. Uma caracterstica
interessante e favorvel ao uso do Arduino similaridade de sua linguagem de programao
com a Linguagem C, o que facilita a criao de cdigos e serve oportunidade de
desenvolvimento de tcnicas de programao.
No relatrio mostrado a seguir sero abordados os materiais utilizados no
desenvolvimento do projeto com uma introduo terica sobre a plataforma Arduino,
servomotores e seu funcionamento bsico e protocolo Bluetooth. Na sequncia, ser detalhada
a metodologia empregada no desenvolvimento com detalhamentos da placa Arduino Uno
utilizada, do mdulo bluetooth, dos servomotores e da fonte de alimentao. A montagem
final do prottipo ser detalhada mostrando o diagrama em blocos do sistema, a concepo
mecnica e os materiais utilizados e o software de controle desenvolvido. Finalizando o
trabalho, sero apresentados e comentados os resultados obtidos destacando pontos positivos
observados ao longo do desenvolvimento bem como pontos negativos e oportunidades de
melhorias identificadas.

10
2. MATERIAIS UTILIZADOS

A ideia inicial do projeto era desenvolver um sistema baseado na plataforma Arduino


permitindo o controle remoto de um brao articulado com movimentos providos por
servomotores. Nos itens a seguir, sero apresentadas as informaes bsicas iniciais sobre
cada um destes trs componentes a saber: plataforma Arduino, servomotores e protocolo
Bluetooth.

2.1 A PLATAFORMA ARDUINO

O projeto foi desenvolvido utilizando a plataforma Arduino. O Arduino faz parte do


conceito de hardware e software livre e est aberto para uso e contribuio de toda sociedade.
O conceito Arduino surgiu na Itlia em 2005 com o objetivo de criar um dispositivo para
controlar projetos e prottipos construdos de uma forma menos dispendiosa do que outros
sistemas disponveis no mercado. [1]
O Arduino uma plataforma de computao fsica (so sistemas digitais ligados a
sensores e atuadores, que permitem construir sistemas que percebam a realidade e respondem
com aes fsicas), baseada em uma simples placa de Entrada/Sada microcontrolada e
desenvolvida sobre uma biblioteca que simplifica a escrita da programao em C/C++. O
Arduino pode ser usado para desenvolver artefatos interativos autnomos ou conectados a um
computador ou a outro sistema em que possa interagir. [1]
Um microcontrolador (tambm denominado MCU) um computador em um chip, que
contm processador, memria e perifricos de entrada/sada. um microprocessador que
pode ser programado para funes especficas, em contraste com outros microprocessadores
de propsito gerais (como os utilizados nos PCs). Eles so embarcados no interior de algum
outro dispositivo, no caso desse projeto o Arduino, para que possam controlar suas funes ou
aes atravs da interao com o ambiente externo. [1]
O Arduino um kit de desenvolvimento capaz de interpretar variveis no ambiente e
transform-las em sinal eltrico correspondente, atravs de sensores ligados aos seus
terminais de entrada, e atuar no controle ou acionamento de algum outro elemento
eletroeletrnico conectado ao terminal de sada. Ou seja, uma ferramenta de controle de
entrada e sada de dados, que pode ser acionada por um sensor (por exemplo, um resistor
dependente da luz - LDR) e que, logo aps passar por uma etapa de processamento, o
microcontrolador, poder acionar um atuador (um motor, por exemplo). [1]

11
O Arduino baseado em um microcontrolador (Atmega), e dessa forma logicamente
programvel, ou seja, possvel a criao de programas, utilizando uma linguagem prpria
baseada em C/C++, que, quando implementadas fazem com que o hardware execute certas
aes. Dessa forma, estamos configurando a etapa de processamento. [1]
O grande diferencial desta ferramenta que ela desenvolvida e aperfeioada por uma
comunidade que divulga os seus projetos e seus cdigos de aplicao, pois sua concepo
open-source, ou seja, qualquer pessoa com conhecimento de programao pode modific-lo e
ampli-lo de acordo com a necessidade, visando sempre a melhoria dos produtos que possam
ser criados aplicando o Arduino. [1]
Ele foi projetado com a finalidade de ser de fcil entendimento, programao e
aplicao, alm de ser multiplataforma, ou seja, podemos configur-lo em ambiente
Windows, GNU/Linux e Mac OS. Assim sendo, pode ser perfeitamente utilizado como
ferramenta educacional sem se preocupar que o usurio tenha um conhecimento especfico de
eletrnica. Pelo fato de ter o seu esquema e software de programao open-source, acabou
chamando a ateno dos tcnicos e engenheiros de eletrnica, que comearam a aperfeio-la
e a criar aplicaes mais complexas. [1]
O projeto foi desenvolvido utilizando uma placa Arduino UNO. Especificaes e
maiores detalhes sero fornecidos nos prximos tpicos.

2.2 SERVOMOTORES

O servomotor um dispositivo eletromecnico que, a partir de um sinal eltrico em sua


entrada, pode ter seu eixo posicionado em uma determinada posio angular. Por serem
pequenos e compactos, alm de permitir um posicionamento relativamente preciso de seu
eixo, os servomotores so amplamente utilizados em robtica e modelismo. [2]
Um servomotor possui um sistema eletrnico de controle e um potencimetro interno
que est conectado ao eixo de sada. Este potencimetro possibilita ao circuito de controle
monitorar o ngulo do eixo do servomotor. Se o eixo estiver no ngulo correto o motor para
de girar. Se o circuito detecta que o ngulo est incorreto, o motor ativado at que o ngulo
desejado seja obtido. Nas engrenagens de um servomotor existe um limitador que atua no
ngulo de giro do eixo, fazendo com que este varie de 0 a 180. Este limitador pode ser
removido e o servomotor pode ser utilizado como um motor com caixa de reduo com eixo
girante de 360. Nas figuras 1 e 2 so mostrados detalhes internos de um servomotor genrico.
[2]

12
Figura 1 - Vista em corte de um servomotor genrico [2]

Figura 2 - Detalhe de um servomotor genrico [2]

Na figura 3 mostrado um servomotor desmontado com suas partes internas explicadas


em detalhes na sequncia.

Figura 3 - Partes internas de um servomotor desmontado [2]

13
a) Circuito de Controle: Responsvel por receber os sinais de energia do sistema de
controle, monitorar a posio do potencimetro e posicionar o motor conforme o sinal
recebido do sistema de controle e o potencimetro. [2]
b) Potencimetro: Ligado ao eixo de sada do servo, tem a funo de monitorar a
posio do mesmo. [14]
c) Motor: Movimenta as engrenagens e o eixo principal do servo. [2]
d) Engrenagens: Reduzem a rotao do motor, transferem mais fora ao eixo principal
e movimentam o potencimetro juntamente com o eixo. [2]

O ngulo do eixo determinado a partir da durao da largura de um pulso PWM


enviado entrada de sinal de controle do servomotor. Este sinal pode ser 0 ou 5 volts. O
circuito de controle do servomotor monitora este sinal em intervalos de 20 ms. Caso seja
percebida alguma variao dentro deste intervalo, durante um perodo entre 1 ms e 2 ms o
servo altera a posio do seu eixo para coincidir com o sinal recebido. Na figura 4 detalhada
a correlao entre os pulsos de controle e a posio relativa do eixo do servomotor. [2]

Figura 4 - Pulsos de controle de um servomotor [2]

Uma vez que o servomotor receba um sinal de, por exemplo, 1,5 ms, verificado se o
potencimetro encontra-se na posio correspondente e caso positivo nenhuma alterao de
posio feita. Caso o potencimetro no estiver na posio correspondente ao sinal recebido,
o circuito de controle aciona o motor at o potencimetro atingir a posio correta. A direo

14
de rotao do motor do servo vai depender tambm da posio relativa do potencimetro e o
motor ir girar na direo que mais rpido levar o potencimetro at a posio correta. [2]
O padro de conectorizao dos servomotores mostrado na figura 5:

Figura 5 - Padres de conectorizao de servomotores [2]

2.3 BLUETOOTH

O Bluetooth uma tecnologia que permite uma comunicao simples, rpida, segura e
barata entre computadores, smartphones, telefones celulares, mouses, teclados, fones de
ouvido, impressoras e outros dispositivos, utilizando ondas de rdio no lugar de cabos. Assim,
possvel fazer com que dois ou mais dispositivos comecem a trocar informaes com uma
simples aproximao entre eles. [4]

15
2.3.1 HISTRICO
A histria do Bluetooth comea em meados de 1994. Na poca, a empresa Ericsson
comeou a estudar a viabilidade de desenvolver uma tecnologia que permitisse a comunicao
entre telefones celulares e acessrios utilizando sinais de rdio de baixo custo, ao invs dos
tradicionais cabos. Em 1997, o projeto comeou a despertar o interesse de outras empresas
que, logo, passaram a fornecer apoio. Por conta disso, em 1998 foi criado o consrcio
Bluetooth SIG (Special Interest Group), formado pelas empresas Ericsson, Intel, IBM,
Toshiba e Nokia. Note que esse grupo composto por dois "gigantes" das telecomunicaes
(Ericsson e Nokia), dois nomes de peso na fabricao de PCs (IBM e Toshiba) e a lder no
desenvolvimento de chips e processadores (Intel). [4]
A denominao Bluetooth uma homenagem a um rei dinamarqus chamado Harald
Bltand, mais conhecido como Harald Bluetooth (Haroldo Dente-Azul). Um de seus grandes
feitos foi a unificao da Dinamarca, e em aluso a esse fato que o nome Bluetooth foi
escolhido, como que para dizer que a tecnologia proporciona a unificao de variados
dispositivos. [4]

2.3.2 A TECNOLOGIA BLUETOOTH: FREQNCIA E COMUNICAO


O Bluetooth um padro global de comunicao sem fio e de baixo consumo de energia
que permite a transmisso de dados entre dispositivos compatveis com a tecnologia. Para
isso, uma combinao de hardware e software utilizada para permitir que essa comunicao
ocorra entre os mais diferentes tipos de aparelhos. A transmisso de dados feita atravs de
radiofrequncia, permitindo que um dispositivo detecte o outro independente de suas
posies, desde que estejam dentro do limite de proximidade. [4]
Para que seja possvel atender aos mais variados tipos de dispositivos, o alcance
mximo do Bluetooth foi dividido em trs classes:

Classe 1: potncia mxima de 100 mW, alcance de at 100 metros;


Classe 2: potncia mxima de 2,5 mW, alcance de at 10 metros;
Classe 3: potncia mxima de 1 mW, alcance de at 1 metro.

Isso significa que um aparelho com Bluetooth classe 3 s conseguir se comunicar com
outro se a distncia entre ambos for inferior a 1 metro, por exemplo. Neste caso, a distncia
pode parecer inutilizvel, mas suficiente para conectar um fone de ouvido a um telefone
celular pendurado na cintura de uma pessoa. importante frisar, no entanto, que dispositivos
16
de classes diferentes podem se comunicar sem qualquer problema, bastando respeitar o limite
daquele que possui um alcance menor. [4]
A velocidade de transmisso de dados no Bluetooth baixa; at a verso 1.2, a taxa
pode alcanar no mximo 1 Mb/s. Na verso 2.0 esse valor passou para at 3 Mb/s. Embora
essas taxas sejam curtas, so suficientes para uma conexo satisfatria entre a maioria dos
dispositivos. Todavia, a busca por velocidades maiores constante, como prova a chegada da
verso 3.0, capaz de atingir taxas de at 24 Mb/s. [4]
O Bluetooth uma tecnologia criada para funcionar no mundo todo, razo pela qual se
fez necessria adoo de uma frequncia de rdio aberta, que seja padro em qualquer lugar
do planeta. A faixa ISM (Industrial, Scientific, Medical), que opera frequncia de 2,45 GHz,
a que me mais se aproxima dessa necessidade e utilizada em vrios pases, com variaes
que vo de 2,4 GHz a 2,5 GHz. [4]
Como a faixa ISM aberta, isto , pode ser utilizada por qualquer sistema de
comunicao, necessrio garantir que o sinal do Bluetooth no sofra e no gere
interferncias. O esquema de comunicao FH-CDMA (Frequency Hopping - Code-Division
Multiple Access), utilizado pelo Bluetooth, permite tal proteo, j que faz com que a
frequncia seja dividida em vrios canais. O dispositivo que estabelece a conexo vai
mudando de um canal para outro de maneira muito rpida. Esse esquema chamado "salto de
frequncia" (frequency hopping). Isso faz com que a largura de banda da frequncia seja
muito pequena, diminuindo sensivelmente as chances de uma interferncia. No Bluetooth,
pode-se utilizar at 79 frequncias (ou 23, dependendo do pas) dentro da faixa ISM, cada
uma espaada da outra por 1 MHz. [4]
Como um dispositivo se comunicando por Bluetooth pode tanto receber quanto
transmitir dados (modo full-duplex), a transmisso alternada entre slots para transmitir e
slots para receber, um esquema denominado FH/TDD (Frequency Hopping/Time-Division
Duplex). Esses slots so canais divididos em perodos de 625 s (microssegundos). Cada salto
de frequncia deve ser ocupado por um slot, logo, em 1 segundo tem-se 1600 saltos. [4]
No que se refere ao enlace, isto , ligao entre o emissor e receptor, o Bluetooth faz
uso, basicamente, de dois padres: SCO (Synchronous Connection-Oriented) e ACL
(Asynchronous Connection-Less). O primeiro estabelece um link sincronizado entre o
dispositivo master e o dispositivo escravo, onde feita uma reserva de slots para cada um.
Assim, o SCO acaba sendo utilizado principalmente em aplicaes de envio contnuo de
dados, como voz. Por funcionar dessa forma, o SCO no permite a retransmisso de pacotes
de dados perdidos. Quando ocorre perda em uma transmisso de udio, por exemplo, o

17
dispositivo receptor acaba reproduzindo som com rudo. A taxa de transmisso de dados no
modo SCO de 432 Kb/s, sendo de 64 Kb/s para voz. [4]
O padro ACL, por sua vez, estabelece um link entre um dispositivo master e os
dispositivos slave existentes em sua rede. Esse link assncrono, j que utiliza os slots
previamente livres. Ao contrrio do SCO, o ACL permite o reenvio de pacotes de dados
perdidos, garantindo a integridade das informaes trocadas entre os dispositivos. Assim,
acaba sendo til para aplicaes que envolvam transferncia de arquivos, por exemplo. A
velocidade de transmisso de dados no modo ACL de at 721 Kb/s. [4]

3. METODOLOGIA EMPREGADA

Neste tpico sero detalhados os componentes empregados no desenvolvimento do


projeto, com o fornecimento das especificaes tcnicas dos mdulos utilizados: placa
Arduino Uno, mdulo Bluetooth, servomotores e fonte de alimentao.

A ideia bsica do projeto a concepo de um brao mecnico articulado controlado


remotamente. As articulaes do brao mecnico so feitas com a utilizao de servomotores,
o controlador a placa Arduino UNO equipada com um mdulo Bluetooth adicional acessado
remotamente, atravs de um smartphone ou um notebook, atravs de comandos seriais.
O diagrama bsico do projeto mostrado na figura 6:

Figura 6 - Diagrama bsico do sistema proposto

18
3.1 DETALHAMENTO DO HARDWARE: ARDUINO UNO

A figura 7 mostra uma placa Arduino UNO similar utilizada no projeto. Nela podemos
identificar os elementos principais da placa, detalhados na sequncia:

Figura 7 - Placa Arduino Uno e seus componentes principais [2]

Um resumo das caractersticas eltricas principais mostrado na tabela 1.

Tabela 1 - Caractersticas eltricas da placa Arduino Uno [2]

Microcontrolador ATmega328
Tenso de operao 5V
Tenso de entrada (recomendada) 7-12V
Tenso de entrada (limites de operao) 6-20V
Pinos I/O digitais 14 (6 com sada PWM)
Entradas analgicas 6
Corrente tpica ns pinos I/O 40 mA
Corrente tpica nos pinos 3.3V 50 mA
Flash Memory 32 KB (ATmega328) 0.5 KB usedos pelo bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock 16 MHz

19
O Arduino UNO uma placa microcontroladora baseada no chip ATmega328. A placa
dispe de 14 pinos de I/O digitais (6 com sada PWM), 6 entradas analgicas, cristal oscilador
de 16MHz, conector para alimentao externa, leitor de ICSP e um boto de reset manual. A
placa comporta tudo o que necessrio para suportar o microcontrolador, conect-lo a um PC
utilizando um cabo USB de forma bastante simples, carregar o software necessrio, aliment-
lo com uma fonte DC externa e rodar a aplicao. [2]
As dimenses bsicas da placa so mostradas na figura 8. O conector USB e o plug de
alimentao excedem lateralmente a dimenso do comprimento da placa em alguns
milmetros. H quatro furos na placa para fixao. [2]

Figura 8 - Dimenses da placa Arduino Uno

O diagrama esquemtico da placa mostrado na figura 9:

Figura 9 - Diagrama esquemtico da placa Arduino Uno [2]

20
3.1.1 ALIMENTAO
O Arduino UNO pode ser alimentado atravs do conector USB ou com uma fonte
externa. A fonte a ser utilizada selecionada automaticamente. [2]
A alimentao externa (exceto USB) pode ser fornecida por uma bateria ou um
adaptador AC/DC. O conector de entrada de alimentao DC existente na placa de 2.1mm
com terminal positivo no pino central. [2]
A placa pode operar com uma tenso entre 6 ~ 20V. Entretanto tenses abaixo de 7V
podem levar o pino de exteriorizao de 5V a fornecer tenses abaixo do nominal e a placa
pode passar a ter operao instvel. Tenses acima de 12V podem gerar sobreaquecimento no
regulador de tenso existente na placa. Desta forma, o range de operao recomendado entre
7 e12V. [2]
Os pinos existentes no conector de exteriorizao so os seguintes:
Vin: Tenso de entrada da placa quando estiver sendo utilizada uma fonte externa.
Este pino pode ser usado como entrada, ou, caso seja aplicada tenso pelo conector
de 2.1mm, esta tenso pode ser acessada neste pino;
5V: Sada de 5V disponibilizada pelo regulador existente na placa;
3V3: Sada de 3.3V disponibilizada pelo regulador existente na placa. A corrente
mxima desta sada 50mA;
GND: Terra. [2]

3.1.2 MEMRIA E I/O


O microcontrolador ATmega328 dispe de 32KB (0.5KB utilizado pelo bootloader).
Ele ainda tem 2KB de SRAM e 1KB de EEPROM (pode ser lida/escrita com o uso da
biblioteca EEPROM do software Arduino). [2]
Cada um dos 14 pinos digitais pode ser utilizado como entrada ou sada atravs da
aplicao das funes pinMode(), digitalwrite() e digitalRead(). Estes pinos operam em 5V
podendo fornecer/receber correntes de at 40mA e tem ainda um resistor pull-up
(desconectado default) de 20-50K. Alguns pinos tm funes especiais, descritas a seguir:
Serial: 0(RX) e 1(TX). Pinos utilizados para transmitir e receber dados seriais;
Interrupes externas: 2 e 3. Estes pinos podem ser configurados para acionar uma
interrupo em nvel lgico 0, edge de subida ou descida ou alterao de valor;
PWM: 3,5,6,9,10,11. Sada PWM 8bits com o uso da funo analogWrite();

21
SPI: 10(SS), 11(MOSI), 12(MISO), 13(SCK). Estes pinos oferecem suporte a
comunicao SPI utilizando a biblioteca SPI do software Arduino;
LED: 13. A placa tem um LED conectado ao pino digital 13. [2]
O Arduino UNO dispe de 6 entradas analgicas, identificadas como A0 ~ A5, cada
uma delas com um conversor AD de 10bits de resoluo. Por padro estas entradas medem de
0 a 5V, entretanto possvel alterar o limite superior deste range usando o pino AREF em
conjunto com a funo analogReference(). Adicionalmente, alguns pinos tm funes
especiais, descritas a seguir:
TWI: A4 ou pino DAS e A5 ou pino SCL. Estes pinos oferecem suporte a
comunicao TWI utilizando a biblioteca Wire do software Arduino;
AREF: Tenso de referncia para as entradas analgicas utilizada em conjunto
com a funo analogReference();
Reset: Nvel lgico 0 aplicado a este pino provoca reset do microcontrolador. [2]

3.1.3 COMUNICAO
O Arduino UNO dispe de diversas facilidades na comunicao com um PC, outro
Arduino, ou outros microcontroladores. O ATmega328 disponibiliza comunicao serial
padro UART TTL (5V) atravs dos pinos digitais 0 (RX) e 1 (TX). Um conversor USB-
Serial(ATmega16U2) existente na placa canaliza a comunicao serial na interface USB
aparecendo como uma porta COM virtual no gerenciador de dispositivos. O firmware do
conversor USB-Serial utiliza drivers USB COM padro, no sendo necessrio nenhum driver
externo. Entretanto, no ambiente Windows, um arquivo .inf necessrio. [2]
O software Arduino inclui um monitor serial que possibilita o recebimento/envio de
dados seriais simples da placa Arduino. Os leds RX e TX na placa iro piscar durante a
transmisso de dados Arduino PC. (OBS: estes leds no piscam para comunicao serial
pelos pinos 0 e 1). [2]
O uso da biblioteca SoftwareSerial possibilita a habilitao de comunicao serial em
qualquer um dos pinos digitais do Arduino UNO. O ATmega328 suporta ainda comunicao
I2C (TWI) e SPI. O software Arduino inclui bibliotecas que simplificam o uso de
barramentos I2C (biblioteca Wire) e de comunicao SPI (biblioteca SPI). [2]

22
3.1.4 PROGRAMAO
O Arduino UNO pode ser programado utilizando o software (IDE) Arduino. O
ATmega328 vem pr-gravado com um carregador de inicializao que possibilita a carga de
novos cdigos sem o uso de um programador externo. [2]

3.1.5 PROTEO CONTRA SOBRECORRENTE NA PORTA USB


O Arduino UNO dispe de um fusvel passvel de reinicializao que protege as portas
USB do PC conectadas placa contra curtos-circuitos e sobrecorrente. Independente da
proteo nativa existente na maioria dos PCs, o Arduino UNO adiciona uma camada extra de
proteo. Caso correntes acima de 500mA sejam aplicadas na porta USB, o fusvel ir
interromper a conexo at que a ocorrncia tenha sido normalizada. [2]

3.2 MDULO BLUETOOTH


O mdulo Bluetooth utilizado no projeto foi o EGBT-046S montado em uma placa de
extenso dos pinos, mostrado na figura 10.

Figura 10 - Mdulo Bluetooth EGBT-046S

As caractersticas principais deste mdulo esto listadas na tabela 2.

23
Tabela 2 - Caractersticas eltricas do mdulo EBGT-046S

Protocolo Bluetooth Bluetooth Specification v2.0+EDR


Protocolo USB USB v1.1/2.0
Frequncia 2.4 GHz ISM band
Modulao GFSK (Gaussian Frequency Shift Keying)
Potncia de Transmisso 4 dBm, Class 2
Sensibilidade -84 dBm at 0.1% BER
Asynchronous: 2.1 Mbps(Max) / 160 kbps Synchronous: 1
Taxas
Mbps/1 Mbps
Opes de Segurana Autenticao e encriptao
Modos Suportados Bluetooth serial port slave device
Tenso 3,6 - 6 VDC (50 mA)
Temperatura de trabalho 5 ~ +45 C

A placa EGBT-046S um mdulo Bluetooth genrico com firmware SPP UART para
aplicaes wireless. um mdulo simples com uma configurao permanente para operao
no modo escravo sem a necessidade de insero de cdigos de instalao no firmware do
microcontrolador associado.
O esquema bsico de conexo do mdulo Bluetooth ao microcontrolador mostrado na
figura 11:

Figura 11 - Esquema de conexo do mdulo Bluetooth a um microcontrolador

24
3.3 SERVOMOTORES
Na concepo do brao mecnico decidiu-se pela implementao de seis movimentos
diferentes assim identificados:
1) Giro da base
2) Primeira elevao do brao
3) Segunda elevao do brao
4) Giro da mo do brao
5) Movimento tipo munheca da mo
6) Movimento tipo pina
Para a obteno destes movimentos foram utilizados sete servomotores, empregados na
configurao padro, descrita no item 2.2, com amplitude de movimentos de 180, no tendo
sido executada nenhuma adaptao no que diz respeito ao padro bsico de giro.
Dentro da ideia inicial, os movimentos 1 a 5 estariam sujeitos a um esforo mais
elevado, visto que deveriam suportar o movimento de parte da estrutura do prprio brao
mecnico alm de prover o seu prprio movimento previamente definido. O movimento de
pina por outro lado, estaria sujeito a um esforo menor pois no teria que suportar a carga da
estrutura mecnica do sistema.
Assim, dentro destas premissas, foram escolhidos dois tipos diferentes de servomotores
para aplicao no projeto. Estes servomotores so descritos a seguir.

3.3.1 SERVO MG 995


No projeto foram utilizados cinco servomotores modelo MG995 conforme figuras 12 e
13.

Figura 12 - Imagem de catlogo do servomotor MG 995

25
Figura 13 - Detalhe das engrenagens do servomotor MG 995

Estes servomotores foram utilizados para a execuo dos movimentos 1 a 5 citados no


item 3.3 e suas principais caractersticas so descritas a seguir:
Alimentao: atravs de adaptador externo.
Estvel e prova de choque.
Comprimento do fio: 300 mm
Dimenses: 40 mm x 19 mm x 43 mm
Peso: 55g
Velocidade de operao: 0.17sec / 60 graus (4.8V sem carga)
Velocidade de operao: 0.13sec / 60 graus (6.0V sem carga)
Torque: 13 kg-cm (180,5 oz-in) em 4.8V
Torque: 15 kg-cm (208,3 oz-in) em 6V
Tenso da operao: 4.8 - 7.2Volts
Tipo de engrenagem: metlica
Conector do fio: Heavy Duty, 11,81 "(300 mm)

3.3.2 SERVO TG9e


No projeto foram utilizados dois servomotores modelo TG9e conforme figura 14 .

Figura 14 - Imagem de catlogo do servomotor TG9e

26
Estes servomotores foram utilizados para a execuo do movimento 6 citado no item
3.3 e suas principais caractersticas esto listadas a seguir:
Dimenses: 23 x 12.2 x 29 mm
Torque: 1.5kg/cm (4.8V)
Velocidade de operao: 0.10sec/60 graus
Voltagem: 4.8V
Temperatura de operao: 0-55C
Comprimento do fio: 16 cm

3.4 FONTE DE ALIMENTAO


Foi utilizada no projeto uma fonte de alimentao de 6 V 5 A conforme figura 15.

Figura 15 - Fonte externa utilizada no projeto

As suas principais caractersticas esto listadas a seguir:


Tenso de Entrada: 90 Vac ~ 250 Vac (Automtica)
Tenso de Sada: 6 Vdc (Estabilizada)
Corrente de Sada: 5 A
Proteo Contra Curto-circuito
Proteo Contra Sobre-tenso
Proteo Contra Sobre-temperatura
Altura: 42 mm
Largura: 53 mm
Comprimento: 100 mm
Cabo de Sada: 1,50 m
Cabo de Entrada: 1,50 m

27
O plugue de sada P4 (Positivo Interno) pode ser visto na figura 16.

Figura 16 - Detalhe do plugue de sada DC da fonte

4. MONTAGEM FINAL

4.1 DIAGRAMA EM BLOCOS

O diagrama em blocos do sistema final contemplando as premissas iniciais propostas


para o projeto est mostrado na figura 17.

FONTE DE GND
ALIMENTAO M7 M6 M5 M4 M3 M2 M1
VCC

11 10 09 08 07 06 05

PINOS BARRAMENTO
TX RX
R TX
Arduino UNO 5v 5v
Modulo Bluetooth
GND GND

GND VCC

GND VCC

FONTE DE
ALIMENTAO

Figura 17 - Diagrama em blocos do sistema desenvolvido

28
As funes de cada motor so descritas abaixo:

M1: giro da mesa

M2: pantgrafo (ajusta a primeira elevao do brao)

M3: avano (ajusta a segunda elevao do brao, aumentando o alcance do


movimento)

M4: giro da mo (executa movimento de rotao da mo do brao mecnico)

M5: munheca (executa movimento tipo munheca na mo do brao mecnico)

M6 e M7: garra (executam abre/fecha da garra).

4.2 MECNICA E MATERIAIS

A montagem final do prottipo ficou conforme as figuras 18 e 19. O prottipo foi


inspirado no rob ABB 1400, que pode ser visto na figura 20.

Figura 18 - Desenho da montagem final do brao articulado: vista lateral direita

29
Figura 19 - Desenho da montagem final do brao articulado: vista lateral esquerda

Figura 20 - Rob modelo ABB 1400

30
O material utilizado no projeto foi o policloreto de polivinila (tambm conhecido
como cloreto de vinila ou policloreto de vinil - nome IUPAC policloroeteno) mais
conhecido pelo acrnimo PVC (da sua designao em ingls Polyvinyl chloride) um
plstico no 100% originrio do petrleo .
O PVC contm, em peso, 57% de cloro (derivado do cloreto de sdio - sal de
cozinha) e 43% de eteno (derivado do petrleo). Como todo plstico, o vinil feito a
partir de repetidos processos de polimerizao que convertem hidrocarbonetos,
contidos em materiais como o petrleo, em um nico composto chamado polmero. O
vinil formado basicamente por etileno e cloro.
Este d ao vinil duas vantagens, a de no ser to susceptvel s mudanas de
preo no mercado de petrleo e de no ser um bom combustvel como os derivados de
petrleo.
Por uma reao qumica, o etileno e o cloro combinam-se formando o dicloreto
de etileno, que por sua vez transformado em um gs chamado "VCM " (Vinyl
chloride monomer, em portugus cloreto de vinila). O passo final a polimerizao,
que converte o monmero num polmero de vinil, que o PVC, ou simplesmente,
vinil.
A partir da ideia inicial mostrada nos desenhos das figuras 18, 19 e 20 com base
na utilizao de placas e tubos de PVC para a estrutura mecnica do brao articulado e
levando em contas dimenses das peas a serem agregadas ao projeto para a montagem
final chegou-se aos desenhos das partes mecnicas mostradas a seguir nas figuras 21 a
39. Os desenhos de montagem com as respectivas cotas esto no item 9 - Anexos do
Projeto.

Figura 21 - Base do brao articulado

31
Figura 22 - Giro da mesa do brao articulado

Figura 23 - Suportes laterais do brao articulado

32
Figura 24 - Tensor 1: interligao do servomotor com o tensor 2

Figura 25 - Tensor 2: interligao tensor 2 com o corpo do brao

33
Figura 26 - Interligao dos suportes laterais e do Tensor 02 com a base de giro

Figura 27 - Base de adaptao do giro da garra

34
Figura 28 - Interligao do servomotor de giro da garra com o corpo da munheca

Figura 29 - Corpo da munheca

35
Figura 30 - Fixao lateral do corpo da munheca ao corpo da garra.

Figura 31 - Corpo da garra.

36
Figura 32 - Articulao da garra.

Figura 33 - Extremidade da garra.

37
Figura 34 - Vista lateral direita do brao articulado

Figura 35 - Vista lateral esquerda do brao articulado

38
Figura 36 - Vista superior do brao articulado

Figura 37 - Vista traseira do brao articulado

39
Figura 38 - Vista frontal do brao articulado

Figura 39 - Viso geral da montagem final do brao articulado

40
4.2.1 FABRICAO

Foram adquiridos placas de PVC de 6,7mm e foram utilizados mtodos de


modelismo amador para fabricao do modelo, ou seja, foi desenhado sobre a placa de
PVC e logo aps cortado com utilizao de uma serra do tipo tico -tico e feito o
esquadrejamento utilizando um esmeril de baixa velocidade e um paqumetro para
controlar o desbaste e esquadro. Para o acabamento, foram utilizadas laminas de
estilete pra remoo de rebarbas e quebrar os cantos. Para fixao das partes de PVC
foi utilizado o Cianoacrilato, que um tipo de adesivo criado acidentalmente em 1942
por Harry Coover durante experincias visando a criao de um polmero transparente,
comercializados como colas instantneas de ampla utilidade, sendo o Super Bonder da
Henkel um dos pioneiros no Brasil e, portanto um sinnimo popular para este tipo de
produto.

4.2.2 EVOLUO DO PROJETO

No relatrio fotogrfico a seguir, so mostradas algumas etapas da evoluo do


projeto, apresentando atividades realizadas no teste dos mdulos individuais,
fabricao das peas de PVC do brao articulado e na montagem final do prottipo.

Figura 40 - Incio da montagem do da base do brao articulado

41
Figura 41 - Giro da base e acoplamento dos servomotores de acionamento do brao

Figura 42 - Montagem da base com os cabos de acionamento dos servomotores

42
Figura 43 - Primeiro modelo de garra utilizado no prottipo e abandonado devido dificuldade de fixao
dos servomotores.

Figura 44 - Dimenses relativas da garra em relao base do brao articulado.

43
Figura 45 - Testes de desenvolvimento do Arduino e dos servomotores.

Figura 46 - Testes de desenvolvimento do Arduino e dos servomotores.

44
Figura 47 - Testes de montagem final do prottipo, da nova verso do brao superior e das garras com
posicionamento de fixao dos servomotores de giro do brao, acionamento da munheca e das garras.

Figura 48 - Verso final do prottipo com a finalizao da fixao dos servomotores e do chicote com o
cabeamento de acionamento e controle.

45
Figura 49 - Vista lateral do brao articulado com detalhe do servomotor de giro do brao superior.

Figura 50 - Vista superior do brao articulado com detalhe das garras.

46
Figura 51 - Vista inferior da base do brao articulado.

Figura 52 - Detalhe inferior da base do brao articulado com a posio do servomotor de giro da mesa
com a acomodao do Arduino e do cabeamento.

47
Figura 53 - Vista frontal do brao articulado.

Figura 54 - Verso final da montagem mecnica do brao articulado com todos os componentes.

48
4.3 SOFTWARE

Foi desenvolvido um cdigo na IDE do Arduino cuja concepo bsica era


controlar remotamente os 7 servomotores agregados ao brao mecnico, conferindo os
movimentos de giro da mesa, elevao 1(pantgrafo), elevao 2(avano/recuo), giro
da mo(rotao interna/externa do punho), munheca e abertura/fechamento das
garras(efeito de pina). O fluxograma bsico mostrado a seguir e o cdigo
comentado est nos anexos do manuscrito no item 8 juntamente com o fluxograma
detalhado.

Figura 55 - Fluxograma do aplicativo de controle do brao articulado

49
4.4 CUSTO DO PROJETO

Foi feita uma estimativa do custo para desenvolvimento do projeto baseado nos valores
dos materiais utilizados, no estando considerados nesta estimativa os custos homem/hora e
de investimento e utilizao de ferramentas. Os valores esto na tabela 3.

Tabela 3 - Custos do projeto

DESCRIO DO ITEM QUANTIDADE UNITRIO TOTAL


KIT ARDUINO 1 R$ 150,00 R$ 150,00
SERVOMOTOR TG9e 2 R$ 10,00 R$ 20,00
SERVOMOTOR MG 995 5 R$ 40,00 R$ 200,00
FONTE DE ALIMENTAO 1 R$ 60,00 R$ 60,00
MDULO BLUETOOTH 1 R$ 50,00 R$ 50,00
CHAPA PVC 6 mm 1 R$ 50,00 R$ 50,00
CHAPA PVC 10 mm 0,5 R$ 100,00 R$ 50,00
CONEXES PVC 2 R$ 5,00 R$ 10,00
TUBOS DE COLA 4 R$ 5,00 R$ 20,00
MISCELNEOS (FIOS, CONECTORES, REBITES, FITAS) 1 R$ 50,00 R$ 50,00

VALOR TOTAL DO PROJETO R$ 660,00

5. RESULTADOS E DISCUSSES

Foram executados diversos testes do brao mecnico sob operao local e por controle
remoto.
A operao local foi feita atravs da porta USB do Arduino UNO, utilizando o monitor
serial existente no software do Arduino para o envio de comandos seriais.
A operao remota foi feita de duas formas distintas: 1) atravs de um smartphone
Android LG Optimus P970 Black, utilizando o aplicativo S2 Bluetooth Terminal verso
3.1.0 para o envio de caracteres pela interface serial; 2) atravs da interface Bluetooth de um
notebook HP G42-371BR acessada por um aplicativo Hyperterminal.
Todos os testes apresentaram desempenho bastante satisfatrio, tendo sido possvel
controlar os 7 servomotores, local e remotamente, simulando os movimentos de giro da mesa,
elevao 1(pantgrafo), elevao 2(avano/recuo), giro da mo(rotao interna e externa),
giro da mo(movimento tipo munheca) e abertura/fechamento da garra(movimento tipo
pina).

50
Foram enviadas sequncias de comandos simulando uma operao real, recolhendo um
objeto em uma determinada posio e colocando-o em outra posio definida.
Como os testes foram feitos no laboratrio, no foi determinado o alcance mximo da
cobertura da interface Bluetooth utilizada. Entretanto, dentro das dependncias do laboratrio
o hardware foi montado em diversas posies tendo sido possvel remoto em todas as
condies simuladas.
Durante o desenvolvimento do projeto foram feitas observaes, tendo sido verificados
alguns aspectos positivos e negativos, conforme listados a seguir:

Pontos Positivos
A plataforma Arduino realmente cumpre o que promete nos quesitos facilidade de
operao e disponibilidade de informao. O hardware realmente bem simples e de
operao bastante intuitiva, sendo que o mesmo pode ser dito do software que
tambm de desenvolvimento muito simples. Outro ponto a destacar a grande
disponibilidade de informao disponvel. Como uma plataforma aberta, h um
volume realmente gigantesco de material disponvel para informao e referncia.
Outro aspecto positivo que merece destaque diz respeito ao custo. Com um pequeno
investimento foi realmente possvel desenvolver uma aplicao bem interessante.
Ponto mais uma vez para a plataforma aberta que praticamente zera os custos de
licenas e outras tecnologias proprietrias tornando bastante acessvel o
desenvolvimento de prottipos baseados em sistemas microcontrolados.

Pontos negativos
No foi possvel definir com preciso onde era realmente o problema, mas a
operao do Arduino mostrou-se instvel em algumas situaes, como por exemplo
travando ao iniciar, no sendo reconhecido na primeira inicializao, no sendo
possvel fazer o upload em outro PC com o software de mesma verso. Pode ser
um problema da interao do Arduino Uno com o ambiente Windows 7, mas como
no havia mquinas disponveis com outros sistemas operacionais no foi possvel
uma confirmao.
A abundncia de informao, que a principio uma virtude, pode se tornar um
problema. Como h muita informao disponvel, muito fcil encontrar coisas boas
mas tambm h inevitavelmente muito contedo de baixa qualidade. Saber filtrar a

51
informao, selecionando o contedo realmente adequado e que seja de relevncia na
aplicao em desenvolvimento fundamental para no perder o foco e desperdiar
recursos importantes.

Caractersticas do projeto que foram observadas e que no podem ser definidas como
negativas ou positivas, mas sim como inerentes aos sistemas em questo incluem:

Capacidade do Arduino Uno: A capacidade do Arduino Uno interessante para


aplicaes simples, mas caso seja necessrio controlar mais motores ou executar um
cdigo mais complexo, uma soluo mais robusta deve ser considerada.
Os servomotores foram uma soluo simples e de custo reduzido para o
desenvolvimento do projeto, mas certamente apresentam inconvenientes como a
limitao do range de atuao em 180, certa impreciso no posicionamento do eixo,
rudo e aquecimento considerveis. Para aplicaes onde um alcance e uma preciso
maiores sejam necessrios, outras alternativas como motores de passo ou servos de
rotao contnua sejam uma opo mais interessante.
Outra dificuldade observada durante o projeto foi em relao fonte de alimentao
empregada. O projeto foi iniciado utilizando uma fonte que se imaginava ser
suficiente para a aplicao em questo. Aps alguns problemas verificados onde
chegou-se a suspeitar da consistncia do cdigo e do hardware utilizado,
descobrimos que a instabilidade era devida fonte de alimentao que estava
subdimensionada. Desta forma, ateno especial deve ser dada a este aspecto
importante do projeto.

6. CONCLUSES

Analisando os objetivos propostos, com o desenvolvimento do trabalho e a partir dos


resultados obtidos podemos afirmar que o projeto foi bem sucedido, tendo sido alcanados
todos os objetivos determinados, listados abaixo:
Foi agregado conhecimento de sistemas robticos, programao e transmisso de
dados atravs da concepo de um brao articulado controlado remotamente.

52
A plataforma Arduino foi conhecida e utilizada com sucesso em uma aplicao,
estando alinhado com as novas diretrizes das disciplinas de microcontroladores e
Robtica da Univap.
Foram desenvolvidos conhecimentos de programao a partir da criao do software
de controle do brao articulado atravs da IDE do Arduino. Como a linguagem
utilizada no Arduino bastante similar linguagem C, indiretamente os
conhecimentos neste ambiente de programao foram revistos e refinados.
Habilidades em transmisso de dados tambm foram adquiridas com o
desenvolvimento de um sistema bsico remotamente controlado por comandos via
interface serial atravs de terminais baseados na tecnologia Bluetooth.
Conforme proposto, foi obtido um sistema robtico de baixo custo baseado na
plataforma Arduino.
O sistema desenvolvido gerou uma aplicao que poder ser utilizada no
desenvolvimento e na fomentao de novos negcios.

Uma reflexo final fica por conta da relevncia de um programa de TCC bem
estruturado e orientado do qual tivemos o privilgio de participar. Esta atividade permite aos
alunos dos cursos de Engenharia um primeiro contato com uma das atividades mais
corriqueiras e comuns aos Engenheiros: a execuo e gesto de pequenos projetos, definindo
e especificando materiais, desenvolvendo prottipos e sistemas de testes, controlando prazos,
medindo os resultados e redirecionando o andamento das atividades pertinentes ao projeto.
Fica como sugesto o direcionamento das ementas das disciplinas Projeto em Engenharia
Eltrica/Eletrnica de modo a criar um ambiente de estmulo e evoluo que culmine com a
concluso do TCC.

53
7. REFERENCIAS BIBLIOGRFICAS

[1] Guimares, Pereira da Fonseca Erika / Beppu, Mathyan Motta Apostila Arduino
Universidade Federal Fluminense, 2010.

[2] Arduino Home Page - http://www.arduino.cc/ - acessado em maio de 2013

[3] Servomotores http://www.pictronics.com.br/downloads/apostilas/servomotores.pdf -


acessado em maio de 2013 autor: Andr Santos Porto Alegre, 2007.

[4] Tecnologia Bluetooth - http://www.infowester.com/bluetooth.php - acessado em maio de


2013 - autor: Emerson Alecrim - So Paulo, 2008.

[5] Haykin, Simon / Moher, Michael - Sistemas Modernos de Comunicao Wireless, 1


Edio. Porto Alegre: Bookman, 2008.

Mc Roberts, Michael Arduino Bsico,1 Edico. So Paulo: Novatec, 2011.

http://www.sr.ifes.edu.br/~eduardomax/arquivos/Tut_Arduino.pdf - acessado em maio de


2013

54
8. ANEXOS DO MANUSCRITO: FLUXOGRAMA E SOFTWARE COMENTADO

55
56
57
#include <Servo.h> // inclue a biblioteca de controle de servomotores
Servo Agirodamesa; // cria um objeto tipo Servo associado ao giro da mesa
Servo Bpantografo; // cria um objeto tipo Servo associado ao pantgrafo
Servo Cavanco; // cria um objeto tipo Servo associado ao avano do brao
Servo Dgirodamao; // cria um objeto tipo Servo associado a rotao da mo
Servo Emonheca; // cria um objeto tipo Servo associado ao movimento de munheca
Servo Fmaodireita; // cria um objeto tipo Servo associado ao fechamento da garra direita
Servo Gmaoesquerda; // cria um objeto tipo Servo associado ao fechamento da garra esquerda
int V=3; // define varivel V do tipo inteiro
int A; // define varivel A do tipo inteiro
int B; // define varivel B do tipo inteiro
int C; // define varivel C do tipo inteiro
int D; // define varivel D do tipo inteiro
int E; // define varivel E do tipo inteiro
int F; // define varivel F do tipo inteiro
int G; // define varivel G do tipo inteiro
// inicio do setup
void setup () {
Agirodamesa.attach(5); // associa o servo giro de mesa ao pino 5
Agirodamesa.write(105); // define posio inicial do servo giro de mesa
delay(10);
Bpantografo.attach(6); // associa o servo pantografo ao pino 6
Bpantografo.write(100); // define posio inicial do servo pantografo
delay(10);
Cavanco.attach(7); // associa o servo avano ao pino 7
Cavanco.write(90); // define posio inicial do servo avano
delay(10);
Dgirodamao.attach(8); // associa o servo giro da mo ao pino 8
Dgirodamao.write(90); // define posio inicial do servo giro da mo
delay(10);
Emonheca.attach(9); // associa o servo munheca ao pino 9
Emonheca.write(78); // define posio inicial do servo munheca
58
delay(10);
Fmaodireita.attach(10); // associa o servo mo direita ao pino 10
Fmaodireita.write(105); // define posio inicial do servo mo direita
delay(10);
Gmaoesquerda.attach(11); // associa o servo mo esquerda ao pino 11
Gmaoesquerda.write(110); // define posio inicial do servo mo esquerda
delay(10);
Serial.begin(9600); // inicializa comunicao serial
}
// inicio do loop
void loop()
{
char z = Serial.read(); // define uma varivel tipo char associada ao valor lido pela serial
if(z == '1') A=30; // testa o valor de z e escreve em A conforme retorno do condicional
if(z == '2') A=105; // testa o valor de z e escreve em A conforme retorno do condicional
if(z == '3') A=180; // testa o valor de z e escreve em A conforme retorno do condicional
int a= Agirodamesa.read(); // define uma varivel a tipo int associada ao valor lido da serial
a=constrain(a,30,180); // limita o valor de a entre 30 e 180
if(a>A )a--; // decrementa a em funo do resultado do teste condicional
if(a<A )a++; // incrementa a em funo do resultado do teste condicional
Agirodamesa.write(a); // posiciona o servo giro de mesa com valor de a
delay(V);
if(z == '4') B=80; // testa o valor de z e escreve em B conforme retorno do condicional
if(z == '5') B=100; // testa o valor de z e escreve em B conforme retorno do condicional
if(z == '6') B=150; // testa o valor de z e escreve em B conforme retorno do condicional
int b= Bpantografo.read(); // define uma varivel b tipo int associada ao valor lido da serial
b=constrain(b,70,150); // limita o valor de b entre 70 e 150
if(b>B )b--; // decrementa b em funo do resultado do teste condicional
if(b<B )b++; // incrementa a em funo do resultado do teste condicional
Bpantografo.write(b); // posiciona o servo pantografo com valor de b
delay(V);
if(z == '7') C=60; // testa o valor de z e escreve em C conforme retorno do condicional
if(z == '8') C=90; // testa o valor de z e escreve em C conforme retorno do condicional
if(z == '9') C=110; // testa o valor de z e escreve em C conforme retorno do condicional
int c= Cavanco.read();// define uma varivel c tipo int associada ao valor lido da serial
c=constrain(c,50,130); // limita o valor de c entre 50 e 130
if(c>C )c--; // decrementa c em funo do resultado do teste condicional
if(c<C )c++; // incrementa c em funo do resultado do teste condicional
Cavanco.write(c); // posiciona o servo avano com valor de c
delay(V);
if(z == 'y') D=0; // testa o valor de z e escreve em D conforme retorno do condicional
if(z == 't') D=95; // testa o valor de z e escreve em D conforme retorno do condicional
if(z == 'u') D=180; // testa o valor de z e escreve em D conforme retorno do condicional
int d= Dgirodamao.read(); //define uma varivel d tipo int associada ao valor lido da serial
d=constrain(d,0,180); // limita o valor de d entre 0 e 180
if(d>D )d--; // decrementa d em funo do resultado do teste condicional
if(d<D )d++; // incrementa d em funo do resultado do teste condicional
Dgirodamao.write(d); // posiciona o servo giro da mo com valor de d
delay(V);
if(z == 'j') E=0; // testa o valor de z e escreve em E conforme retorno do condicional
if(z == 'k') E=80; // testa o valor de z e escreve em E conforme retorno do condicional
if(z == 'l') E=130; // testa o valor de z e escreve em E conforme retorno do condicional
int e= Emonheca.read(); //define uma varivel e tipo int associada ao valor lido da serial
e=constrain(e,0,150); // limita o valor de e entre 0 e 150
if(e>E )e--; // decrementa e em funo do resultado do teste condicional
if(e<E )e++; // incrementa e em funo do resultado do teste condicional
Emonheca.write(e); // posiciona o servo giro da mo com valor de e
delay(V);
if(z == 's') F=70; // testa o valor de z e escreve em F conforme retorno do condicional
if(z == 'f') F=124; // testa o valor de z e escreve em F conforme retorno do condicional
int f= Fmaodireita.read(); //define uma varivel f tipo int associada ao valor lido da serial
f=constrain(f,80,129); // limita o valor de e entre 80 e 129
if(f>F )f--; // decrementa f em funo do resultado do teste condicional
if(f<F )f++; // incrementa f em funo do resultado do teste condicional
59
Fmaodireita.write(f); // posiciona o servo fecha mo direita com valor de f
delay(0);
if(z == 's') G=130; // testa o valor de z e escreve em G conforme retorno do condicional
if(z == 'f') G=75; // testa o valor de z e escreve em G conforme retorno do condicional
int g= Gmaoesquerda.read(); //define uma varivel g tipo int associada ao valor lido da serial
g=constrain(g,71,130); // limita o valor de g entre 71 e 130
if(g>G )g--; // decrementa g em funo do resultado do teste condicional
if(g<G )g++; // incrementa g em funo do resultado do teste condicional
Gmaoesquerda.write(g); // posiciona o servo fecha mo esquerda com valor de g
delay(0);
}

60
9. ANEXOS DO PROJETO: DESENHOS DE MONTAGEM

61
62
63
64
65
66
67
68
69
70
71
72

Você também pode gostar