Page 1

FACULDADE INDEPENDENTE DO NORDESTE – FAINOR CURSO ENGENHARIA DE COMPUTAÇÃO MARCOS SAMPAIO ARAPONGA

CONTROLE DE UM BRAÇO MECÂNICO POR CELULAR COM APLICATIVO ANDROID VIA BLUETOOTH

VITÓRIA DA CONQUISTA - BA 2013


MARCOS SAMPAIO ARAPONGA

CONTROLE DE UM BRAÇO MECÂNICO POR CELULAR COM APLICATIVO ANDROID VIA BLUETOOTH

Monografia apresentada ao curso de Engenharia da Computação, da Faculdade Independente do Nordeste – FAINOR, como requisito parcial para a obtenção do Título de Bacharel em Engenharia da Computação. Orientador: Leard de Oliveira Fernandes

VITÓRIA DA CONQUISTA - BA 2013


Dedico este trabalho à meu avô Antonio Araponga Sobrinho, aos meus pais a meus irmãos e a toda minha família, por estarem ao meu lado nos momentos difíceis e de felicidades. Por terem dedicado as suas vidas a minha criação como pessoa, me ensinando valores que levarei eternamente no desenvolver da minha profissão.


AGRADECIMENTOS

Ao Orientador Prof. Leard de Oliveira Fernandes pelo incentivo, presteza no auxílio às atividades e discussões desta Monografia de Conclusão de Curso. A todos os professores pela dedicação e entusiasmo demonstrado ao longo do curso, como também aos colegas de classe pela temporada de convivência ao longo do curso. À minha família pela dedicação e apoio que me prestaram. E que me presenteou por esta oportunidade e sonho que vem a se concretizar após muitos sacrifícios.


A662c

Araponga, Marcos Sampaio Controle de um braço mecânico por celular com aplicativo Android via Bluetooth./ Marcos Sampaio Araponga_ _ Vitória da Conquista, 2013. 55 f; il. Orientador(a): Prof. Leard de Oliveira Fernandes Monografia (Graduação) – Faculdade Independente do Nordeste, Curso de Engenharia da Computação, 2013. 1. Android. 2. Bluetooth. 3. Microcontrolador. 4. Robótica. I. Título. CDD: 004.16

Catalogação na fonte: Biblioteca da Fainor


RESUMO

Este trabalho tem como proposta demostrar o controle sem fio, de um braço robótico, por meio de um aplicativo para celular com sistema Android através da tecnologia Bluetooth. A aplicação pratica do controle sem fio baseia-se em um hardware na forma de uma placa de circuito, composta por: microcontrolador e dispositivo de comunicação Bluetooth. Visa ainda mostrar que a utilização do Bluetooth possibilita a conexão entre o smartphone e a placa proporcionando o envio e recebimento de informações para o controle do braço robótico. Palavras chave: Android. Bluetooth. Microcontrolador. Robótica.


ABSTRACT This paper aims to demonstrate the wireless control of a robotic arm through a mobile application with android system via Bluetooth technology. The practical implementation of wireless control based on hardware in the form of a circuit board, comprising: microcontroller and Bluetooth communication device. It also aims to show that the use of Bluetooth enables the connection between the smartphone and the board providing the sending and receiving information to control the robotic arm. Keywords: Android. Bluetooth. Microcontroller. Robotics.


LISTA DE FIGURAS

Figura 1 - Elos e juntas de um braço robótico........................................................16 Figura 2 - Sequencia de elos numa junta de um braço robótico............................16 Figura 3 - Braço robótico.........................................................................................17 Figura 4 - Tipos de juntas empregadas em robôs..................................................17 Figura 5 - Representação esquemática de juntas..................................................19 Figura 6 - Braços com um (à esquerda) e dois graus de liberdade (à direita).......19 Figura 7 - Movimentos de um punho com 3 GL, nas direções guinada, arfagem e rolamento................................................................................................................20 Figura 8 - Robô cartesiano (LLL)............................................................................22 Figura 9 - Braço robótico cilíndrico.........................................................................22 Figura 10 - Robô polar em configuração VVL........................................................23 Figura 11 - Robô com articulação horizontal SCARA.............................................24 Figura 12 - Robô articulado ou revoluto..................................................................24 Figura 13 - Modelo de garras de dois dedos..........................................................25 Figura 14 - Deslocamento angular de um braço com 1GL.....................................26 Figura 15 - Deslocamento angular de um braço com 2GL num plano...................27 Figura 16 - Piconet..................................................................................................30 Figura 17 - Implementação de um Scatternet........................................................31 Figura 18 - Servomotor...........................................................................................33 Figura 19 - Gráfico previsão dos 5 SO mais utilizados em smartphones no 1º Trimestre de 2012...................................................................................................36 Figura 20 - Estrutura do desenvolvimento de um aplicativo Android.....................37 Figura 21 - Representação da organização do microcontrolador AVR..................39 Figura 22 - Diagrama em blocos do protótipo........................................................41 Figura 23 - Layout da placa de circuito...................................................................42 Figura 24 - Placa do protótipo montada..................................................................43 Figura 25 - Placa do protótipo montada..................................................................43 Figura 26 - Fluxograma do firmware embarcado....................................................44 Figura 27 - Andorid SDK e Eclipse.........................................................................46 Figura 28 - Fluxograma do aplicativo android........................................................47


Figura 29 - Aspecto físico do braço robótico..........................................................49 Figura 30 - Exemplo de pulsos de controle de um servomotor..............................51 Figura 31 - Exemplo de período de um pulso de controle de servomotor.............51


LISTA DE QUADROS

Quadro 1 - Esquema de notação para designar configurações de robôs..............21 Quadro 2 - Esquema de notação para designar configurações do pulso..............21 Quadro 3 - Classes para dispositivos Bluetooth.....................................................32 Quadro 4 - Tabela explicativa do firmware.............................................................45 Quadro 5 - Tabela explicativa do aplicativo android...............................................48 Quadro 6 - Modelo dos servomotores....................................................................50


SUMÁRIO

1 INTRODUÇÃO.....................................................................................................14 1.1 Objetivo geral..................................................................................................15 1.2 Objetivos específicos.....................................................................................15 2 REFERENCIAL TEÓRICO..................................................................................16 2.1 Robótica...........................................................................................................16 2.1.1 A Importância da Robótica na Indústria....................................................16 2.1.2 Anatomia dos braços mecânicos industriais...........................................16 2.1.3 Juntas............................................................................................................18 2.1.4 Graus de liberdade.......................................................................................20 2.1.5 Configuração dos robôs.............................................................................22 2.1.5.1 Robô cartesiano........................................................................................23 2.1.5.2 Robô cilíndrico.........................................................................................23 2.1.5.3 Robô esférico ou polar............................................................................24 2.1.5.4 Robô SCARA............................................................................................24 2.1.5.5 Robô articulado ou revoluto....................................................................25 2.1.6 Órgão terminal..............................................................................................26 2.1.7 Precisão cartesiana em juntas robóticas..................................................27 2.2 Bluetooth..........................................................................................................30 2.2.1 Conceitos Básicos.......................................................................................30 2.2.2 Comunicação Bluetooth..............................................................................32 2.2.3 Rádio Bluetooth...........................................................................................33 2.3Servomotor...................................................................................................... 34 2.4 Android.............................................................................................................36 2.4.1 Ambiente de desenvolvimento eclipse......................................................38 2.5 Microcontrolador.............................................................................................39 2.5.1 Características Principais...........................................................................39 2.5.1.1 Memória......................................................................................................40 2.5.1.2 Interfaces de Entrada e Saída..................................................................40 2.5.1.3 Temporizadores e Contadores................................................................40 2.5.1.4 ULA (Unidade Lógica Aritmética) ..........................................................41 2.5.1.5 Interrupções.............................................................................................41 3 MATERIAIS E METODOS...................................................................................41


3.1 Diagrama de blocos.......................................................................................42 3.2 Placa de circuito impresso............................................................................43 3.3 Firmware embarcado......................................................................................44 3.4 Aplicativo android...........................................................................................47 3.5 Braço Robótico...............................................................................................50 3.5.1 Controle servomotor....................................................................................51 4 CONCLUSÃO......................................................................................................53 5 REFERÊNCIAS....................................................................................................55


14

1 INTRODUÇÃO A robótica esta cada vez mais presente no mundo moderno e a necessidade de novas tecnologias para se aperfeiçoar a substituição dos atuais controles de comando utilizados para manipulação dos robôs, por novos meios de controle de comando, como no presente caso, a utilização de smartphones e comunicação sem fio como o Bluetooth, tornaram possível o desenvolvimento de soluções de automação como no trabalho desenvolvido o controle do braço robótico. Com a popularização dos smartphones o uso de novas tecnologias ficou ao alcance de todos, pelo fato de possuírem baixo custo e funcionalidades avançadas que podem ser estendidas por meio de aplicativos executados por seu sistema operacional.

Entre

as

principais,

destaca-se

a

capacidade

de

memória,

processamento e de conexão com redes de dados móveis para acesso à Internet, bem como, Wi-Fi, Bluetooth e USB. Possui ainda a capacidade de sincronização dos dados do organizador com um computador pessoal, entre outras características próprias de milhares de aplicativos disponíveis gratuitamente. Destaca-se ainda o sistema operacional Android como o mais utilizado nos smartphones e faz parte da classe dos sistemas operacionais ditos "abertos", o que significa que é possível a qualquer pessoa desenvolver programas para esses telefones. A substituição do controle de comando baseia-se na adaptação de um novo hardware na forma de uma placa de circuito, composta por: microcontrolador e dispositivo de comunicação Bluetooth. A principal funcionalidade dessa placa é receber comandos através do celular via Bluetooth para controle do braço robótico. A utilização do Bluetooth possibilita a conexão sem fio entre o smartphone e a placa proporcionando o envio e recebimento de informações para o controle do braço robótico. Foi escolhido o Bluetooth como meio de comunicação sem fio, uma vez que está presente nos smartphones. Justifica-se ainda, pela aplicação não necessitar de grande taxa de transferência de informação e de grande alcance e, também, da implementação ser de baixo custo considerando o preço e o uso do chip Bluetooth. Dessa forma, o trabalho possibilita a utilização dos smartphones rodando o sistema operacional Android, transformar-se em controle remoto do braço robótico, substituindo os controles remotos atuais e adicionando um novo recurso ao telefone celular.


15

1.1 OBJETIVO GERAL Este trabalho propõe desenvolver uma interface de controle para o comando de um braço robótico por meio de smartphones que utilizam plataforma Android. O aplicativo fará uso de comunicação sem fio Bluetooth do telefone, capaz de transmitir informações através de comandos para uma interface instalada no braço robótico.

Essa

interface

será

composta

por

placa

de

circuito

impresso,

microcontrolada, preparada para receber as informações na forma de variáveis de controle, atuando no acionando dos servomotores. 1.2 OBJETIVOS ESPECÍFICOS São objetivos específicos deste trabalho: a) Confeccionar a placa de circuito impresso. b) Desenvolver o firmware da placa. c) Desenvolver a interface de controle através de um aplicativo Android para smartphone.


16

2. REFERENCIAL TEÓRICO 2.1 ROBÓTICA Podemos definir como robótica o controle de mecanismos eletroeletrônicos através de um computador, transformando-o em uma maquina capaz de interagir com o meio ambiente e executar ações decididas por um programa criado pelo programador a partir destas interações. (AMI, 93) 2.1.1 A Importância da Robótica na Indústria Podemos exemplificar o uso da robótica em diversas áreas de conhecimento. Na engenharia temos os robôs que mergulham a grandes profundidades para auxiliar em reparos nas plataformas de petróleo; na medicina, os robôs já auxiliam as cirurgias de alto risco. Outras aplicações podem ser menos percebidas, tal como a impressora que também e um robô. (SALANT, 1990). Indubitavelmente, a robótica garante uma maior flexibilidade e competitividade para o processo industrial, permitindo que os produtos sejam produzidos de acordo com as tendências do mercado. Os robôs industriais são de extrema importância para a sociedade moderna, graças a eles empresas conseguem produzir em grande escala em um curto prazo de tempo, suas funções e habilidades são as mais diversas possíveis, assim sendo aplicados em diversos meios, desde fabricas de carros a embalagens e produção de alimentos é possível encontrar muitos robôs industriais trabalhando de diversas formas diferentes. Além disso, em certas atividades, os robôs têm diversas vantagens em relação ao trabalho humano, eles podem atuar em lugares insalubres, realizam tarefas de alta precisão e de forma repetitiva sem estarem sujeitos a fatores emocionais (BASTOS, 1999). 2.1.2 – Anatomia dos braços mecânicos industriais Segundo Groover (1988), o braço robótico é composto pelo braço e pulso. O braço consiste de elementos denominados elos unidos por juntas de movimento


17

relativo, onde são acoplados os acionadores para realizarem estes movimentos individualmente, dotados de capacidade sensorial, e instruídos por um sistema de controle. O braço é fixado à base por um lado e ao punho pelo outro. O punho consiste de várias juntas próximas entre si, que permitem a orientação do órgão terminal nas posições que correspondem à tarefa a ser realizada. Na extremidade do punho existe um órgão terminal (mão ou ferramenta) destinada a realizar a tarefa exigida pela aplicação. A Figura 1 representa o sistema formado por uma série de elos contínuos e juntas de um braço robótico. A estrutura e as peças que revestem as juntas para protegê-las no local de trabalho, por vezes, dificulta a identificação dos elos e juntas nos braços reais. Figura 1: Elos e juntas de um braço robótico.

Fonte: Groover, 1988.

Toda junta apresentará 2 elos. O elo de entrada localiza-se mais próximo da base e elo de saída, por sua vez, mais próximo ao órgão terminal, como ilustrado na Figura 2. Figura 2: Sequencia de elos numa junta de um braço robótico.

Fonte: Groover, 1988.


18

A Figura 3 esquematiza um braço robótico industrial com todos seus constituintes. Figura 3: Braço robótico.

Fonte: Groover, 1988.

2.1.3 – Juntas As juntas (Fu, 1987) podem ser rotativa, prismática, cilíndrica, esférica, parafuso e planar. Estas são apresentadas na Figura 4 e suas particularidades funcionais são caracterizadas a seguir: Figura 4: Tipos de juntas empregadas em robôs.

Rotativa (1 GL)

Cilíndrica (2 GL)

Prismática (1 GL)


19

Esférica (3 GL)

Fuso (1 GL)

Planar (2 GL)

Fonte: Fu, 1987.

A junta prismática ou linear: Move em linha reta. São compostas de duas hastes que deslizam entre si;

A junta rotacional: Gira em torno de uma linha imaginária estacionária chamada de eixo de rotação. Ela gira como uma cadeira giratória e abrem e fecham como uma dobradiça;

A junta esférica: Funciona com a combinação de três juntas de rotação, realizando a rotação em torno de três eixos;

A junta cilíndrica: É composta por duas juntas, uma rotacional e uma prismática;

A junta planar: É composta por duas juntas prismáticas, realiza movimentos em duas direções;

A junta parafuso: É constituída de um parafuso que contém uma porca ao qual executa um movimento semelhante ao da junta prismática, porém, com movimento no eixo central (movimento do parafuso). Geralmente apenas juntas rotativas e prismáticas são aplicadas em Robôs

industriais. No entanto, a junta planar é usualmente conceituada uma junção de duas juntas prismáticas sendo, portanto, também utilizada. Considerando as juntas rotativas, essas podem ainda ser classificadas em relação às direções dos elos de entrada e saída em referencia ao eixo de rotação. Desse modo, tem – se as juntas rotativas a seguir: •

Rotativa de torção ou torcional T: Os elos de entrada e de saída têm a mesma direção do eixo de rotação da junta.

Rotativa rotacional R: Os elos de entrada e de saída são perpendiculares ao eixo de rotação da junta.


20

Rotativa revolvente V: O elo de entrada possui a mesma direção do eixo de rotação, mas o elo de saída é perpendicular a este.

A Figura 5 representa um esquema destas juntas, incluindo a junta prismática. Figura 5: Representação esquemática de juntas

Fonte: Fu, 1987.

2.1.4 – Graus de liberdade Os movimentos do braço robótico no espaço bidimensional ou tridimensional são definidos pelos graus de liberdade (GL). Como cada junta institui um ou dois graus de liberdade, o numero de GL total do robô é designado pela soma dos graus de liberdade de suas juntas. As juntas possuem um grau de liberdade dependendo da quantidade de eixo em que um movimento ocorre. E caso o movimento se de em mais de um eixo, caracteriza-se a junta com dois graus de liberdade, conforme é apresentado na Figura 6. No entanto, quanto maior a quantidade de graus de liberdade, mais complexo são a cinemática, a dinâmica e o controle do manipulador. O numero de graus de liberdade de um manipulador reúne a quantidade de variáveis posicionais independentes que permitem estabelecer a posição de todas as partes de forma homogênea. Figura 6: Braços com um (à esquerda) e dois graus de liberdade (à direita).


21

Fonte: Groover, 1988.

Os movimentos robóticos podem ser separados em movimentos do braço e do punho. Em geral os braços são dotados de 3 acionadores e uma configuração 3GL, numa configuração que permita que o órgão terminal alcance um ponto qualquer dentro de um espaço limitado ao redor do braço. Pode-se identificar 3 movimentos independentes num braço qualquer: •

Vertical transversal – movimento vertical do punho para cima ou para baixo.

Rotacional transversal – movimento do punho horizontalmente para a esquerda ou para a direita.

Radial transversal – movimento de aproximação ou afastamento do punho. Os punhos são formados por 2 ou 3 graus de liberdade. Suas juntas são

reunidas em pequeno volume de forma a não mover o órgão terminal em excesso ao serem ligadas. Particularmente, a movimentação do punho possui nomenclaturas próprias, que estão descritas a seguir, e mostradas na Figura 7. •

Roll ou rolamento - rotação do punho em torno do braço

Pitch ou arfagem - rotação do punho para cima ou para baixo

Yaw ou guinada - rotação do punho para a esquerda e para a direita.

Figura 7: Movimentos de um punho com 3 GL, nas direções guinada, arfagem e rolamento.

Fonte: Groover, 1988.


22

2.1.5 – Configuração dos robôs A configuração física dos robôs (Groover, 1988) está relacionada com os tipos de juntas que ele possui. Cada configuração pode ser representada por um esquema de notação de letras, como visto anteriormente. Considera-se primeiro os graus de liberdade mais próximos da base, ou seja, as juntas do corpo, do braço e posteriormente do punho. Como explanado anteriormente, um braço mecânico e constituído pela base, braço e punho. O braço e ligado a base e esta e fixada a uma superfície. O braço efetuará os movimentos e posicionará o punho, que também realiza movimentos destinados a orientar o órgão terminal. O órgão terminal executa a ação, no entanto, não compõe a anatomia do braço robótico, pois depende da aplicação a ser exercida pelo braço. A movimentação do braço e a orientação do punho são realizadas por juntas, que são articulações providas de motores. Quadro 1: Esquema de notação para designar configurações de robôs

Fonte: Autoria própria, 2013 Quadro 2: Esquema de notação para designar configurações do pulso.

Fonte: Autoria própria, 2013


23

2.1.5.1 - Robô cartesiano O robô de coordenadas cartesianas utiliza três juntas lineares e possui a configuração mais simples, pois desloca as três juntas uma em relação a outra. Este robô opera em um envoltório de trabalho cubico. Representado na figura 8. Figura 8: Robô cartesiano (LLL)

Fonte: Groover, 1988.

2.1.5.2 - Robô cilíndrico Formado por uma junta prismática na base, sobre a qual apoia-se uma junta rotativa (revolvente ou torcional). Uma terceira junta do tipo prismática e conectada na junta rotativa formando uma configuração LVL, como representada na Figura 9. Este braço apresenta um volume de trabalho cilíndrico e pode-se apresentar também na configuração TLL. Figura 9: Braço robótico cilíndrico


24

Fonte: Groover, 1988.

2.1.5.3 - Robô esférico ou polar Formado por duas juntas rotativas (movimenta o braço em torno de um eixo vertical) seguida de uma junta prismática (gira o conjunto ao redor de um eixo horizontal). O volume de trabalho é um setor esférico, origem do nome do manipulador. A nomenclatura “polar” ainda deve-se as coordenadas polares de sistemas de eixos cartesianos, caracterizadas por duas coordenadas angulares (juntas rotativas) e uma coordenada radial (junta prismática). O braço robótico esférico, representado na Figura 10, foi projetado para suportar grandes cargas e ter grande alcance. E bastante usado em carga e descarga de maquinas, embora o braço revoluto esteja mais presente nestas aplicações atualmente, deixando o esférico em desuso. Figura 10: Robô polar em configuração VVL

Fonte: Groover, 1988.

2.1.5.4 - Robô SCARA


25

Formado por duas juntas rotativas e uma junta linear, que atua sempre na vertical. O volume de trabalho deste braço é cilíndrico, porem, como utiliza juntas rotativas, e também considerado articulado. O nome é um acrônimo de Selective Compliance Assembly Robot Arm, ou Braço Robótico de Montagem com Complacência Seletiva. Bastante utilizado devido a suas características: compacto, muito preciso e de grande repetibilidade, no entanto possui alcance limitado. Estas características o tornam favoráveis para trabalhos de montagem mecânica ou eletrônica. Figura 11: Robô com articulação horizontal SCARA.

Fonte: Groover, 1988.

2.1.5.5 - Robô articulado ou revoluto Estes tipos de robôs (Groover, 1988, Adade Filho, 1992) possuem 3 juntas rotativas. Por terem uma configuração similar ao braço humano (braço, antebraço e pulso) são os mais utilizados nas industrias. O pulso é acoplado a extremidade do antebraço, o que propicia juntas adicionais para orientação do órgão terminal e assegura maiores movimentos dentro de um espaço compacto, o que o torna o mais versátil dos manipuladores. Os braços revolutos podem ser de dois tipos: cadeia aberta (distingue facilmente a sequencia natural formada por elo-junta, da base ate o punho) ou cadeia parcialmente fechada (o atuador da terceira junta efetua o movimento desta por meio de elos e articulações não motorizadas adicionais). Representado na Figura 12. Figura 12: Robô articulado ou revoluto


26

Fonte: Groover, 1988.

2.1.6 - Órgão terminal Na robótica, órgão terminal (Groover, 1988) é usado para descrever a mão ou ferramenta que está conectada ao pulso, como por exemplo, uma pistola de solda, garras, pulverizadores de tintas, entre outros. O órgão terminal é o responsável por realizar a manipulação de objetos em diferentes tamanhos, formas e materiais, porém esta manipulação depende da aplicação ao qual se destina. É importante apontar que os órgãos terminais precisam ser projetados cuidadosamente, pois é necessário regular a forca que será aplicada num objeto. Para isso, alguns órgãos terminais são dotados de sensores que fornecem dados sobre os objetos. Os modelos de garras que podem ser utilizadas em diversas aplicações são variados, como por exemplos: •

Garra de dois dedos;

Garra para objetos cilíndricos;

Garra articulada. A garra de dois dedos é um modelo simples, com movimentos paralelos ou de

rotação. A limitação na abertura dos dedos fornece pouca versatilidade na manipulação dos objetos, além do tamanho desses não poder exceder esta abertura. A representação esquemática é apresentada na Figura 13. Figura 13: Modelo de garras de dois dedos


27

Fonte: Groover, 1988.

2.1.7 - Precisão cartesiana em juntas robóticas Admitindo-se que sejam conhecidas as precisões (ou resolução do controle) em cada uma das juntas de um braço mecânico, deseja-se conhecer qual será a precisão cartesiana, isto e, qual será a precisão do braço num determinado ponto de trabalho. A precisão cartesiana depende do ponto de operação, pois os erros de juntas rotativas são mais evidentes quando o braço estiver estendido do que quando estiver recolhido. Faremos uma analise simples para um braço de apenas uma junta rotativa, e, a seguir, um braço composto de duas juntas rotativas movendo-se num plano. Considera-se um braço articulado movendo-se no plano xy, tal que a origem do sistema coincida com o eixo de rotação, conforme mostra a figura 14. Ao passar da posição P para a posição P', movendo-se do incremento mínimo (resolução da junta), as novas coordenadas cartesianas do ponto passam a ser x' e y'. Como o vetor de deslocamento v possui módulo a Δθ, e lembrando que PP' é perpendicular ao elo a em P para pequenos valores do ângulo Δθ, tem-se que:

Observa-se que um erro de posicionamento tanto pode ser positivo quanto negativo. No entanto, uma vez que deseja-se em geral o erro máximo que um dado braço possa apresentar, então deve-se obter o modulo do erro ou seja:


28

Figura 14: Deslocamento angular de um braço com 1GL.

Fonte: Groover, 1988.

Considera-se agora um braço com dois graus de liberdade e duas juntas rotativas movimentando-se num plano, como indica a figura 15. Neste braço observa-se que as imprecisões cartesianas dependem da movimentação de ambas as juntas, uma vez que tanto J1 quanto J2 movimentam a extremidade do braço (garra). O erro total será, dessa forma, composto pela soma dos erros causados por cada uma das juntas. A junta J2 provoca um erro semelhante ao causado por um braço de uma única junta, visto anteriormente, de tal forma que:

Figura 15: Deslocamento angular de um braço com 2GL num plano.

Fonte: Groover, 1988.

Se Δθ1 for também pequeno, então se pode projetar o vetor v em ambas as direções para se obter:


29

Onde r é a distância que vai do eixo de rotação da junta J1 até a extremidade do braço. Porém, percebe-se que r senθ1 = y e que r cosθ1 = x. Além disso, tem-se, da cinemática direta deste braço, que x = a1 cosθ1 + a2 cos(θ1 + θ2), e que y = a1 senθ1 + a2 sen(θ1 + θ2). Logo a precisão cartesiana total fica:

Se o braço possuir uma junta prismática, como visto abaixo, então segue imediatamente que a projeção do erro Δa nos eixos cartesianos devido ao movimento linear da junta J2 é dado por:

E o erro devido ao movimento rotacional da junta J1 é semelhante ao descrito no primeiro exemplo acima, resultando para o erro total:

Percebe-se nos exemplos mostrados que passando o incremento ao limite, tem-se que:

Onde ∂x/∂θ1 indica a derivada parcial da coordenada cartesiana x com relação à variação do ângulo θ1. Esta expressão vale também para a segunda junta,


30

e vale igualmente para braços que se movem no espaço. Isto permite generalizar a expressão para a precisão cartesiana na forma:

Onde w é um eixo cartesiano qualquer (x, y ou z), e os θi (i = 1, 2, ..., n) são as variáveis das n juntas deste braço. Esta mesma expressão pode ser utilizada em braços com juntas prismáticas, tomando-se apenas o cuidado de lembrar que nestas juntas a variável é o comprimento do elo e não o ângulo da junta. 2.2 BLUETOOTH 2.2.1 Conceitos Básicos Bluetooth é um padrão de comunicação sem fio de curto alcance, que utiliza tecnologia de ondas de rádio, possuindo um baixo custo e baixo consumo de energia, para permitir conexões ad hoc sem fios entre dispositivos. As conexões normalmente atingem a distância de 10 metros, podendo chegar a 100 metros caso se utilize transmissores de maior potência. O Bluetooth opera na banda Industrial, Scientific and Medical (ISM), na faixa de frequências entre 2,4 GHz e 2,4835 GHz (LOUREIRA, 2003). Essa tecnologia foi idealizada e desenvolvida pela empresa Ericsson, com o objetivo de substituir outros padrões já difundidos no mercado, como infravermelho, conexões USB, entre outros (JHONSON, 2007). Porém, através da especificação Bluetooth, tornou-se viável o desenvolvimento de redes pessoais sem fio de baixo custo. Dessa forma, segundo Rufino (2005), depois do lançamento do Bluetooth, empresas como Intel, IBM, Toshiba e Nokia se juntaram à Ericsson e formaram o consórcio Bluetooth SIG (Special Interest Group – Grupo de Interesse Especial) em 1998. O SIG é o consórcio responsável por publicar as especificações, administrar o programa de qualificação de empresas e também proteger os direitos da marca Bluetooth. Atualmente o SIG possui mais de 12 mil membros.


31

Dessa forma, a comunicação sem fio vem sendo cada vez mais utilizada em ambientes onde redes tradicionais apresentam sérias limitações, como indústrias fabricantes de líquidos corrosivos e inflamáveis, hidrelétricas e estações de linhas energéticas. Elevadas temperaturas, altas tensões elétricas, riscos de acidentes e locais de difícil acesso são alguns dos principais fatores para escolha da conectividade sem fio nesses ambientes. Em regra geral também há o uso, nesses locais, de microcontroladores tanto para o controle de processos lógicos quanto para o armazenamento de informações acerca do comportamento de determinado sistema (LOUREIRA, 2003). De acordo com Abella (2010), a estrutura básica de comunicação no Bluetooth é chamada de piconet, que consiste em um dispositivo mestre, aquele que iniciou uma conexão Bluetooth, se comunicando ativamente com até sete outros dispositivos, denominados escravos, formando uma topologia em estrela, com o mestre ao centro. Cada piconet pode conter até oito dispositivos Bluetooth diferentes. Em uma piconet existe um dispositivo funciona como mestre, enquanto os outros setes são escravos. A Figura 16, descrita abaixo, ilustra uma típica piconet em ação: Figura 16: Piconet.

Fonte: (Santana, 2004).

Todos os dispositivos em uma piconet compartilham o mesmo canal de salto de frequência, que é estabelecido pelos escravos sincronizando os seus clocks internos ao clock da unidade mestre. Isso permite que todas as unidades em uma piconet saltem de frequência para frequência na mesma sequência e estabeleça uma identidade única para essa piconet (STALLINGS, 2002). Assegura, ainda esse autor, que toda comunicação entre piconets em uma rede de difusão, são filtradas pelos seus dispositivos mestres. Em uma rede de


32

difusão é possível ter até dez piconets, contendo um total de oitenta dispositivos Bluetooth diferente. Acima desse número a rede fica saturada, visto que a tecnologia Bluetooth só utiliza setenta e nove frequências no total. Como cada piconet opera em um canal de salto de frequência diferente, é possível que diversas piconets compartilhem o mesmo espaço físico sem estarem conectadas. Assim, cada unidade de uma piconet pode se comunicar com uma de outro grupo somente se ela servir a um único Master por vez. Assim, quando essa unidade estiver se comunicando com um equipamento fora da sua piconet, ela estará por um curto período, fazendo parte da outra. Os piconets podem se interconectar formando uma scatternet. Isso pode ser bem ilustrado por meio da figura 17 abaixo:

Figura 17: Implementação de um Scatternet.

Fonte: (Masson; Cortez, 2006).

De acordo com Stallings (2002) a rede de difusão conhecida como scatternet é constituída pela união de diversas piconets, ou seja, para conectar mais de oito dispositivos, há a necessidade de formar outras piconets e conectar os dispositivos mestres de cada piconet. 2.2.2 Comunicação Bluetooth A comunicação Bluetooth utiliza um mecanismo denominado frequency hopping (salto de frequência), que altera constantemente a frequência, através de 79


33

canais

de

frequência

distintos,

para

combater

interferências

e

evitar

o

enfraquecimento do sinal. Existem cerca de 1600 saltos por segundo, ocorrendo assim um salto a cada 0,625 µseg. Dispositivos em uma mesma piconet utilizam o padrão de saltos de frequência determinado por atributos da especificação Bluetooth e por um clock do dispositivo mestre, fazendo com que todos os dispositivos que se comunicam com o mestre passem por um processo de identificação e sincronização. Todo o processo de comunicação é feito entre o mestre e um escravo, não sendo possível a comunicação direta entre escravos (STALLINGS, 2002). O Bluetooth utiliza a modulação GFSK (Gaussian Frequency Shift Keying), que é uma variação da modulação FSK aonde um filtro gaussiano é adicionado ao sinal antes dele ser modulado. As modulações ASK e PSK não foram utilizadas no projeto do Bluetooth pelos seguintes motivos: Na modulação ASK o ganho do canal é variável, visto que modificaria diretamente a amplitude do sinal, afetando a informação a ser transmitida. Já na modulação FSK, a modulação da envoltória se dá de maneira constante, o que diminui a complexidade dos circuitos de RF usados no projeto (MASSON; CORTEZ, 2006). Assegura esses autores supracitados que o Bluetooth possibilita, ainda, a comunicação de dispositivos quando estão dentro do raio de alcance (Bluetooth área). Os dispositivos usam um sistema de comunicação via rádio, por isso não necessitam estar na linha de visão um do outro, contanto que a transmissão recebida seja suficientemente potente. Dentre os dispositivos que utilizam Bluetooth, Masson e Cortez (2006) incluem os dispositivos inteligentes, como PDAs, telefones celulares, PCs, periféricos, como mouses, teclados, câmeras digitais, impressoras e dispositivos embarcados, como os utilizados em automóveis (travas elétricas, cd player, etc.). Para que fosse possível atender aos mais variados tipos de dispositivos, Rufino (2005) dividiu o Bluetooth em três classes como mostra no quadro 3. É importante frisar, no entanto, que dispositivos de classes diferentes podem se comunicar sem qualquer problema, bastando respeitar o limite daquele que possui um alcance menor. Quadro 3: Classes para dispositivos Bluetooth.

Classe Classe 1

Potência 100 mW

Raio de Alcance (aprox.) ~100 metros


34

Classe 2 Classe 3

2,5 mW 1 mW

~10 metros ~1 metro

Fonte: Autoria própria.

2.2.3 Rádio Bluetooth Bluetooth é uma tecnologia global que tenta criar uma ponte entre as indústrias de computadores e de comunicação. O padrão Bluetooth, no mínimo, promete eliminar fios e cabos entre dispositivos fixos e móveis separados por pequenas distâncias, facilitar comunicação de dados e voz e permitir a formação de redes Ad Hoc. A tecnologia Bluetooth incorpora um chip com rádio transmissor pequeno e de baixa tensão elétrica (ABELLA, 2010). O Rádio Bluetooth é a camada responsável por especificar detalhes, tais como, frequência de operação, potência e as técnicas de modulação e de transmissão utilizadas. Na maioria dos países essa banda de frequência varia de 2400 MHz a 2483.5 MHz, sendo essa dividida em 79 canais ordenados e que medem 1 MHz, começando em 2402 MHz [1] (MASSON; CORTEZ, 2006). 2.3 SERVOMOTORES Servomotores, segundo Correa (2009), são comumente utilizados para controlar movimentos angulares, tipicamente, entre 0º e 180º. Esses dispositivos são constituídos por um motor DC, um circuito eletrônico de controle, um potenciômetro, um conjunto de engrenagens e três condutores exteriores de ligação. Na figura 18 abaixo, exemplificamos um servomotor: Figura 18: Servomotor.


35

Fonte: http://amsfrancisco.planetaclix.pt, 2013

O motor do servomotor, segundo o autor supracitado, ao ser alimentado faz girar uma série de engrenagens redutoras (caixas de redução) que aumentam o torque do motor permitindo a movimentação de objetos acoplados ao eixo de forma muito precisa. Devido à combinação destas engrenagens redutoras obtém-se um aumento no torque do motor. Se o motor fosse ligado diretamente ao eixo de controle, para movimentar a mesma carga, seu tamanho físico deveria ser várias vezes maior do que os empregados nos servos. O funcionamento do servomotor consiste em um sistema de controle e um sensor de posição que está ligado ao eixo de saída e que permite ao circuito de controle monitorar o ângulo do eixo do servomotor. O motor para se o eixo estiver no ângulo correto e, se não, o motor é ativado até atingir o ângulo desejado. Nas engrenagens do servomotor existe um limitador que atua no giro do eixo fazendo com que este varie de 0° a 180°, porém é possível retirar esse limitador e fazer com que o servomotor trabalhe como um motor com caixa de redução com eixo girante de 360° (OTTOBONI, 2002). Com base nas leituras de Santos (2007), os tipos de servomotores mais

utilizados são os de corrente contínua, corrente alternada síncrona e corrente alternada assíncrona. A definição do tipo de servomotor, com seu respectivo servoconversor depende de vários critérios, entre eles, dinâmica, torque máximo, capacidade de sobrecarga, velocidade, manutenção, regime de trabalho, preço. Os servomotores de corrente contínua são os de custo mais elevado. Esses servomotores apresentam um rotor cujas espiras formam sua armadura e por um estator dotado de imãs permanentes, que fornecem o campo de excitação da


36

máquina, estabelecendo-se um fluxo magnético radial em relação ao rotor. O torque produzido é proporcional à corrente de armadura, a velocidade é proporcional a força contra eletromotriz induzida e o campo é constante, pois é gerado pelos imãs permanentes (OTTOBONI, 2002). Os robôs com servomotor de corrente contínua são os mais populares e trabalham, invariavelmente, em sistema de controle em malha fechada (com realimentação), ou seja, o computador, monitora constantemente a posição do robô, compara-a com a posição desejada e calcula o erro cometido. Em seguida, envia um comando (uma corrente elétrica contínua) ao robô que é proporcional ao erro cometido. Tal procedimento é continuamente seguido, até que o erro caia a zero, isto é, até que a posição executada seja igual à desejada. Tal tipo de controle é mais adequado ao motor de corrente contínua devido ao fato de que o movimento de rotação do mesmo é contínuo (SANTOS, 2007). O servomotor de corrente alternada possui um enrolamento trifásico no estator, que não foi projetado para ser ligado a rede trifásica comum, pois foi projetado para proporcionar ao motor características especiais de torque, velocidade e posicionamento. No rotor do servomotor existe um conjunto de imãs permanentes em uma extremidade e um gerador de sinais instalado para fornecer dados de velocidade e posicionamentos. (CORREA, 2009). 2.4 ANDROID O Android é um sistema operacional (SO) desenvolvido para dispositivos móveis e especialmente utilizado em smartphones e em tablets de diversos fabricantes. Suas principais características são: •

Desenvolvido pelo Google.

É gratuito.

Seu código é aberto.

Não está preso a um hardware específico.

O seu kernel é Linux. Uma versão personalizada voltada para dispositivos móveis.

Seus aplicativos são desenvolvidos em Java.


37

Possui uma quantidade imensa de aplicativos disponíveis, tanto gratuitos como pagos.

Sua comunidade de usuários, desenvolvedores e fãs crescem em progressão geométrica.

É grande a quantidade de fabricantes que estão adotando o Android como sistema operacional em seus smartphones, tablets e outros dispositivos móveis. Além disso, eles formam uma comunidade chamada Open Handset Alliance que conta com empresas como a Google, LG, Samsung, HTC, Motorola, Sony Ericsson, NVidia, Intel, entre outras, que dentre suas atividades, colaboram para a evolução e disseminação desse sistema operacional que veio para revolucionar o mercado de dispositivos móveis. Para explorar todo o potencial do sistema operacional Android e entender o que

ele

realmente

tem

para

oferecer,

juntamente

com

seus

aplicativos

desenvolvidos (apps) pela Google e por terceiros, é recomendável um aparelho moderno, com recursos como multitoque, acelerômetro, compasso digital (a antiga bússola), Wi-Fi, Bluetooth, GPS e câmera. Essa combinação do hardware com o sistema operacional Android e os aplicativos possibilitarão novas experiências. Segundo um relatório da International Data Corporation (IDC), é esperado que, em 2016, o Android possua 52,9% de market, seguido do Windows Phone (WP), com 19,2%, à frente do iOS, com 19%. Ainda nesse mesmo relatório, prevê que o WP será a 2a maior plataforma de dispositivos móveis em 2016. A previsão é que o Android e o iPhone irão ceder market share para o WP, sendo que o sistema da Apple perderá o posto que ocupa hoje, de segundo colocado. A Figura 19 abaixo apresenta a participação no mercado dos 5 SO mais utilizados em smartphones em 2012, com uma previsão para 2016. Figura 19: Gráfico previsão dos 5 SO mais utilizados em smartphones no 1º Trimestre de 2012.


38

Fonte: http://www.idclatin.com/, 2013

A força do Android com o Google no comando, impulsionada pela Open Handset Alliance pode ser resumida em benefícios concretos para o usuário e para os desenvolvedores, além da queda de barreiras artificiais as vezes impostas por alguns fabricantes. 2.4.1 Ambiente de desenvolvimento eclipse O ambiente de desenvolvimento de aplicativos para a plataforma Android proporciona

muitas vantagens

para

os desenvolvedores. O

ambiente

de

programação Android utiliza a poderosa linguagem de programação Java. A programação para aplicativos Android podem ser desenvolvidos em várias IDEs (Integrated Development Environment), tendo as mais utilizadas o Eclipse e o Netbeans. Para o desenvolvimento de aplicações Android no Eclipse deve ser baixado o SDK (Software Development Kit) e depois um plugin do Android deve ser instalado. O desenvolvimento de aplicativo no Eclipse já apresenta um projeto inicial pré-definido, contendo pastas organizadas com vários arquivos prontos para o


39

funcionamento de um aplicativo Android. A figura 20 abaixo apresenta a estrutura de uma aplicação Android. Figura 20: Estrutura do desenvolvimento de um aplicativo Android.

Fonte: Autoria Própria, 2013

As principais pastas deste projeto são a src e a layout. Na pasta layout está presente o arquivo xml, ou seja, o arquivo interface_xml.xml. Este arquivo será o responsável pela criação da interface do aplicativo Android. A pasta src armazena o arquivo java Classes_java.java. Esse arquivo será o responsável pela programação do aplicativo. Estão presentes na pasta src todos os códigos em Java desenvolvidos no projeto Android. Outro arquivo muito importante é o AndroidManifest.xm, presente na raiz do projeto. Todas as permissões e configurações necessárias para executar o aplicativo são geradas a partir deste arquivo. 2.5 MICROCONTROLADOR


40

Um

microcontrolador

é

um

dispositivo

eletrônico

que

contém

um

microprocessador, memórias com funções de leitura e escrita, interfaces de entrada e saída bem como diversos periféricos úteis no desenvolvimento de sistemas embarcados como: temporizadores, comparadores, geradores de clock, conversores analógico/digital

e

também

conversores

digital/analógico.

Em

regra

geral

microcontroladores contém uma grande quantidade de periféricos internos reduzindo, assim, a necessidade de utilização de muitos componentes externos. Microcontroladores são computadores de propósito específicos. Eles possuem tamanho reduzido, baixo custo e baixo consumo de energia. Devido a esses fatores há diversos segmentos, que os utilizam, tais como a indústria automobilística, de telecomunicações, de brinquedos, de eletrodomésticos, de eletroeletrônicos, bélica, Etc. A programação de um microcontrolador pode ser feita utilizando linguagens como Assembly, C, Basic, Pascal, entre outras. Após o programa ser compilado e montado em linguagem de máquina ele é transferido ao microcontrolador utilizando algum gravador compatível com o modelo. 2.5.1 Características Principais A Figura 21 mostra uma representação, em alto nível, da organização de um microcontrolador AVR. Essa figura apresenta módulos de memória, CPU, temporizadores, interfaces de entrada e saída. Figura 21: Representação da organização do microcontrolador AVR.

Fonte: (Schunk, 2001)

2.5.1.1 Memória


41

A memória é um dos componentes principais tanto na arquitetura Von Neumann quanto na Harvard, podemos dividi-la em duas categorias: memória de programa e memória de dados. A memória de programa é onde são carregados os programas em execução e nela os programas podem gerenciar comunicação de entrada e saída, executar instruções, etc. A memória de dados é utilizada para o armazenamento de resultados e dados que a CPU deve executar. 2.5.1.2 Interfaces de Entrada e Saída As interfaces de entrada e saída são a forma de comunicação que o microcontrolador possui para comunicação com periféricos externos, e assim expandir suas funcionalidades, possibilitar iteração com usuário, e até controlar outros dispositivos eletrônicos. Essas interfaces podem utilizar transmissão serial ou paralela. 2.5.1.3 Temporizadores e Contadores Os temporizadores são programados por software e podem operar independente dos demais sistemas do chip. O funcionamento deles é controlado por registradores internos. São utilizados normalmente para retardos, geração de pulsos, entre outras rotinas onde há uma necessidade de um controle temporal ou de uma contagem. 2.5.1.4 ULA (Unidade Lógica Aritmética) A ULA está presente em todos os microprocessadores. Ela contém circuitos destinados a realizar funções de cálculo e manipulação de dados durante a execução de um programa. A ULA de um microcontrolador funciona de forma análoga a ULA de um microprocessador. 2.5.1.5 Interrupções


42

Interrupção é a forma na qual permite ao microcontrolador interceptar eventos externos e internos (exemplo: divisão por zero e overflow) ao programa em execução. Quando uma interrupção é ativada ela interrompe o fluxo atual do programa em execução e uma sub-rotina pode ser executada. Após a execução dessa sub-rotina específica, e caso seja possível, retorna-se para execução normal do programa. 3 MATERIAIS E METODOS Neste capítulo serão apresentados os elementos utilizados para o desenvolvimento do protótipo. Pretende-se mostrar as etapas de desenvolvimento e testes

utilizando

o

microcontrolador

com

o

Bluetooth,

passando

pelo

desenvolvimento do software embarcado, e, ainda, pela realização do circuito elétrico e confecção da placa. Também será apresentado o aplicativo que irá rodar no smartphone. Os materiais e softwares utilizados para confecção deste trabalho foi o abaixo descrito: •

Microcontrolador AVR ATMEGA2561;

5 (cinco) Servo motores Hitec Servo modelos: HS-755HB, HS-485HB,

HS-645MG, HS-425BB; •

Fios, solda, etc.;

Braço robótico Lynxmotion AL5B-NE;

Modulo Bluetooth;

Gravador usb AVR Programmer;

Fonte de alimentação 5v 2A;

Celular Samsung Galaxy;

AVR Studio;

Android SDK;

Eclipse.

3.1 DIAGRAMA DE BLOCOS


43

No diagrama em blocos do protótipo, Figura 22, é apresentado o modelo esperado para o controle proposto. O diagrama mostra um smartphone rodando o sistema operacional Android, um dispositivo Bluetooth, microcontrolador e o braço robótico. Figura 22: Diagrama em blocos do protótipo.

Fonte: Autoria Própria, 2013

A comunicação entre o bloco Android e o bloco Bluetooth se dá por meio de RF, ou seja, sem fio, através do envio de informações seriais. O sistema Android localiza o dispositivo Bluetooth e após efetuar o pareamento, passa a enviar informações por comando manual via celular através de uma aplicação que simula uma comunicação serial UART. Por sua vez, o módulo Bluetooth está diretamente acoplado ao sistema do microcontrolador e faz uma comunicação pino a pino (TX e RX). No microcontrolador além da comunicação serial com o módulo Bluetooth, também há ligação com o braço robótico onde se pretende controlar os servomotores para movimentação do mesmo. Portanto, o microcontrolador recebe essas informações de controle e atua diretamente no acionamento dos servomotores. 3.2 PLACA DE CIRCUITO IMPRESSO São vários os processos conhecidos e utilizados para a confecção de PCIs. Neste projeto, o protótipo da placa confeccionada, foi utilizado o método conhecido por termo transferência. Onde o circuito elétrico é impresso em papel Glossy


44

fotográfico e transferido para uma PCI de fibra, face simples, devidamente limpa e recortada. A figura 23 abaixo exibe o layout da placa protótipo, para qual foi utilizado o software Cadsoft Eagle para sua criação. Figura 23: Layout da placa de circuito.

Fonte: Autoria própria, 2013

Nas figuras 24 e 25, é apresentada a placa do protótipo montada. A mesma foi testada e operou satisfatoriamente dentro das especificações do projeto. Figura 24: Placa do protótipo montada.


45

Fonte: Autoria própria, 2013

Figura 25: Placa do protótipo montada.

Fonte: Autoria própria, 2013

3.3 FIRMWARE EMBARCADO Neste projeto utilizou-se a linguagem de programação em C. Apresenta-se de maneira simplificada o funcionamento do firmware necessário para o controle do braço robótico. A figura 26 apresenta o fluxograma do firmware desenvolvido no software AVR Studio, onde fora, utilizado o gravador usb AVR Programmer para a programação do microcontolador. Figura 26: Fluxograma do firmware embarcado.


46

Fonte: Autoria pr贸pria, 2013

Segue abaixo o funcionamento do firmware embarcado:


47

1. O programa inicia automaticamente quando o circuito é alimentado, em seguida ocorre a configuração do microcontrolador e os servomotores são direcionados na posição central e sua velocidade padrão e definida como média; 2. O sistema entra em laço infinito, estando pronto para funcionamento, apenas aguardando o pareamento do celular com o modulo bluetooth; 3. Depois de pareado com o celular o programa aguarda os comandos de controle do aplicativo android para efetuar uma ação (configurar velocidade ou movimentação); 4. Os caracteres ‘1’, ‘2’ e ‘3’, quando recebidos determinam a velocidade lenta, média e rápida respectivamente; 5. Os caracteres ‘a’, ’b’, ’c’, ’d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’ e ‘j’ quando recebidos determinam os movimentes de um determinado servomotor. Para os caracteres acima discriminados no item 4 e 5, foi criado um protocolo de identificação especifico para ser utilizado no controle do sistema. Portanto, existe uma relação entre o software que é executado pelo microcontrolador (firmware) e o aplicativo que roda no smartphone. O reconhecimento do caractere se dá após recebimento pela porta serial, que depois de comparado, e, caso identificado, uma ação de controle é executada pelo microcontrolador. Segue abaixo quadro 4 explicativa: Quadro 4: Quadro explicativo do firmware.

Caractere (recebido) ‘1’ ‘2’ ‘3’ ‘a’ ‘b’ ‘c’ ‘d’ ‘e’ ‘f’

Ação (microcontrolador) Define velocidade de movimento lenta Define velocidade de movimento média Define velocidade de movimento rápida Move base para esquerda Move base para direita Move motor 2 para baixo Move motor 2 para cima Move motor 3 para cima Move motor 3 para baixo


48

‘g’ ‘h’ ‘i’ ‘j’

Move motor 4 para baixo Move motor 4 para cima Abre Garra Fecha Garra

Fonte: Autoria própria, 2013

3.4 APLICATIVO ANDROID

No desenvolvimento do aplicativo foi utilizada a linguagem de programação Java com o kit de desenvolvimento de software para Android OS (Andorid SDK e Eclipse), como mostra a figura 27. Figura 27: Andorid SDK e Eclipse.

Fonte: Autoria própria, 2013

A figura 28 representa o fluxograma do aplicativo desenvolvido. Figura 28: Fluxograma do aplicativo android.


49

Fonte: Autoria pr贸pria, 2013

Segue abaixo o funcionamento do aplicativo android:


50

1. Ao iniciar o aplicativo ele verifica a existência do Bluetooth no celular. 2. Se o celular não possuir Bluetooth, é enviada uma mensagem de erro ao usuário e o aplicativo é finalizado. 3. Se o aparelho possuir Bluetooth então verifica-se se está ligado. 4. Caso o bluettoth esteja desligado o aplicativo pede permissão ao usuário para liga-lo. Não permitindo a ligação do Bluetooth o aplicativo é finalizado, caso contrario é ligado. 5. Com o Bluetooth ligado ocorre a conexão com o a placa criada. 6. Após os dispositivos conectados é permitido o envio de comandos de controle pelo usuário. Podendo ele movimentar ou configurar a velocidade de movimento do braço robótico a qualquer momento. 7. Ao pressionar o botão velocidade1, velocidade2 ou velocidade3 ocorre o envio dos caracteres ‘1’, ‘2’ e ‘3’ respectivamente. 8. Ao pressionar os botões de 1 a 10 ocorre o envio dos caracteres ‘a’, ’b’, ’c’, ’d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘i’ e ‘j’. Segue abaixo quadro 5 explicativo:

Quadro 5: Quadro explicativo do aplicativo android.

Botão pressionado Velocidade1 Velocidade2 Velocidade3 1 2 3 4 5 6

Ação (Aplicativo android) Envia caractere ‘1’ Envia caractere ‘2’ Envia caractere ‘3’ Envia caractere ‘i’ Envia caractere ‘g’ Envia caractere ‘f’ Envia caractere ‘c’ Envia caractere ‘a’ Envia caractere ‘j’


51

7 8 9 10

Envia caractere ‘h’ Envia caractere ‘e’ Envia caractere ‘d’ Envia caractere ‘b’

Fonte Autoria própria, 2013

3.5 BRAÇO ROBÓTICO

A figura 29 apresenta o aspecto físico do braço robótico utilizado, onde podese observar os 4 graus de liberdade que o braço apresenta. Na figura, os pontos marcados de 1 a 5 descrevem a posição de cada servomotor utilizado no projeto. Figura 29: Aspecto físico do braço robótico.

Fonte: Autoria própria, 2013

O quadro 6 abaixo descreve o modelo de cada servomotor enumerado, em cada uma das juntas do braço. Quadro 6: Modelo dos servomotores.

Número Modelo do servomotor 1

Hitec Servo HS-485HB


52

2

Hitec Servo HS-755HB

3

Hitec Servo HS-645MG

4

Hitec Servo HS-485HB

5

Hitec Servo HS-425BB

Fonte: Autoria própria, 2013

3.5.1 Controle Do servomotor

O ângulo de rotação do motor dos servomotores é determinado pela duração do impulso (nível lógico alto) que se aplica na entrada de comando. O servomotor funciona em PWM (Pulse Width Modulation ou modulação por largura de impulso), sistema que consiste em gerar um sinal quadrado em que se varia a duração do impulso, mantendo-se fixo o período deste sinal. A largura mínima e máxima do impulso depende do tipo do servomotor. No entanto, e no caso geral, se o servomotor receber na sua entrada impulsos com a duração de 1.5ms, o seu eixo roda até ficar estável no centro do intervalo de rotação, a que corresponde o ângulo de 90º. Se receber impulsos com a duração de 1ms, roda, no sentido anti-horário, até atingir o limite do intervalo de rotação correspondente a 0º. Se receber impulsos com a duração de 2ms, roda, no sentido horário, até atingir o outro limite do intervalo de rotação correspondente a 180º ou um pouco mais. Impulsos ente 1ms e 1.5ms farão com que o servomotor rode para posições intermédias entre 0º e 90º, enquanto impulsos entre 1.5ms e 2ms farão com que o servomotor rode para posições intermédias entre 90º e 180º, movimentos exemplificados na figura 30.

Figura 30: Exemplo de pulsos de controle de um servomotor.


53

Fonte: Autoria própria.

Os impulsos, para que o servomotor funcione corretamente, devem ser aplicados a cada 20ms, mas valores entre 10ms e 30ms também são aceitos, onde apenas o que se varia é o tempo em que o sinal se mantém em nível lógico alto (largura do impulso). A figura 31 exemplifica essa característica. Figura 31: Exemplo de período de um pulso de controle de servomotor.

Fonte: Autoria própria, 2013

4 CONCLUSÃO


54

Neste trabalho inicialmente fez-se um estudo sobre robótica. Falou-se também do Bluetooth, suas principais características e alcance. Outro assunto abordado foi microcontroladores da família Atmel AVR. Ainda, fez-se um apanhado geral sobre o sistema Android utilizado, segundo o IDC, em mais de 60% dos smartphones produzidos em 2012. O trabalho concentrou-se no desenvolvimento de duas interfaces de controle sendo uma de hardware e outra de software. A interface de hardware foi realizada com o desenho do projeto eletrônico e com a confecção artesanal da PCI utilizando o microcontrolador ATmega2561. A esta PCI foi adicionada a capacidade de receber e processar informações através do acoplamento de um dispositivo Bluetooth. O funcionamento do hardware se deu pelo firmware embarcado, onde a partir das informações recebidas, ocorre o acionamento dos servomotores. Com essas mesmas informações de controle, também foi possível atuar na configuração da velocidade de movimentação, graduada em três níveis. Outra etapa importante do projeto foi o desenvolvimento do software para o smartphone. Essa interface de controle foi desenvolvida a partir da criação de um aplicativo Android com a ferramenta Andorid SDK e Eclipse. Esse aplicativo permitiu o controle planejado do sistema, através do envio pelo aparelho, das informações de controle de velocidade e movimento dos servomotores. O aplicativo, a partir de uma conexão de pareamento previamente estabelecida, pode enviar informações por Bluetooth. Assim, controlando o sistema do braço robótico. Ficou demostrado e comprovado neste trabalho que peças robóticas, no presente caso, um braço robótico, pode ser controlado por um sistema remoto sem fio, através de um aparelho celular com sistema android e tecnologia bluetooth, ficando assim demostrada a importância do presente estudo, uma vez que, existem inúmeros sistemas de automação que oferecem como interfaces de controle, painéis afixados em paredes, controles remotos, PDAs e até mesmo páginas Web. Neste trabalho, por se tratar de um projeto de código aberto e que utiliza tecnologias abertas, são inúmeras as possibilidades de adaptações, modificações e inserção de novos recursos. Por fim vale salientar, que os objetivos do presente trabalho foram alcançados. Pois ao final do trabalho com o desenvolvimento da placa de circuito impresso, o firmware da placa e o aplicativo android conseguiu-se desenvolver a


55

manipulação do braço robótico por meio de um smatphone com sistema operacional android via Bluetooth. Após a finalização deste trabalho é possível sugerir para melhorar e completar este projeto, a construção de um robô manipulador tático, construindo uma base móvel, tipo esteira, para operações de exploração e reconhecimento.

5 REFERÊNCIAS


56

ABELLA, Vinícius. Braço Robótico Com Controle Remoto Bluetooth. Monografia do Curso de Engenharia da Computação apresentada à Pontifícia Universidade Católica do Rio Grande do Sul. 2010 BASTOS, F. Aplicação de Robôs nas Indústrias. Monografia do Curso de Engenharia da Computação apresentada à Universidade Universidade Federal do Espírito Santo. 1999. CORRÊA, Marco Aurélio.Servoacionamentos e servomotores. Disponível em: < http://www.mecatronicaatual.com.br/secoes/leitura/494> Acesso em: 30/10/2011. GOOGLE. Portal de desenvolvedores para Android. Disponível em: < http://developer.android.com/index.html>. Acesso em: 15/08/2012. FU, K. S. Robotics: Control, Sensing, Vision and Inteligence. McGrall-Hill, New York, 1987. GROOVER, M. P.; Weiss, M.; Nagel, R. N.; ODREY, N. G. Industrial Robotics: Technology, Programming, and Applications. McGraw-Hill Higher Education, 1986. GROOVER, M. P.; Weiss, M.; Nagel, R. N.; ODREY, N. G. Robótica. Tecnologia e Programação. São Paulo: McGraw-Hill,1989. KERAMAS, James G. Robot Technology Fundamentals, local: delmar publisher, 1999. LECHETA, Ricardo R. Google Android. 2.ed. São Paulo: Novatec, 2009. LOUREIRO, A. F; Comunicação sem Fio e Computação Móvel. In: Mini curso – Congresso da Sociedade Brasileira de Computação, Campinas, 2003. Disponível em <http://www.dcc.ufmg.br/~loureiro/cm/docs/jai03.pdf > Acesso em10/10/2011. LUNG-WEN TSAI. Robot analysis, local: wiley, 1999. MASSON, F.; CORTEZ, P. Bluetooth - um estudo sobre a tecnologia implementada. Monografia do Curso de Engenharia da Computação apresentada à Universidade de Brasília. 2006. MILLER, Michael. “Descobrindo Bluetooth”. Disponível em http://www.wiiuse.net/. 2001. Acesso em 14/11/2011. OPEN Source Project. Android. Disponível em: <https://source.android.com/tech/security/. Acesso em 30/09/2012. OTTOBONI, Augusto. Servo - acionamentos. Mecatrônica Atual, São Paulo, v. 1, n. 6, p. 7- 14, outubro 2002. ROMANO, Vitor F. Robótica Industrial, local: edgard blucher, 2002. RUFINO, N. “Bluetooth e o gerenciamento de riscos”. 2005.


57

SALANT, M. A. Introdução à Robótica. São Paulo: McGraw-Hill, 1990. SANTOS, André. Servomotores. Disponível em: www.sumoderobos.org.br. Acesso em 10/11/2011. SCHUNK, Leonardo Marcilio; LUPPI, Aldo. Microcontroladores AVR: teoria e aplicações práticas. São Paulo: Érica, 2001. 180 p. STALLINGS, William. Arquitetura e Organização de Computadores. 5.ed. PrenticeHall Brasil, 2002. WIKIPÉDIA. Artigo: Android. Disponível em: <http://pt.wikipedia.org/wiki/Android>. Acesso em 10 out. 2012.

M01410  

Monografia FAINOR

Read more
Read more
Similar to
Popular now
Just for you