74
Universidade Federal do Rio de Janeiro Escola Polit´ ecnica DepartamentodeEletrˆonicaedeComputa¸c˜ao Projeto da Eletrˆ onica Embarcada para um Robˆ oM´ovel Aplicado a Atividades de Terapia Ocupacional Autor: Rafael dos Santos de Oliveira Orientador: Ramon Romankevicius Costa, D.Sc. Coorientador: Rodrigo Fonseca Carneiro Examinador: Fernando Cesar Lizarralde, D.Sc. Examinador: Alessandro Jacoud Peixoto, D.Sc. DEL Mar¸co de 2014

Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Embed Size (px)

Citation preview

Page 1: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Universidade Federal do Rio de Janeiro

Escola Politecnica

Departamento de Eletronica e de Computacao

Projeto da Eletronica Embarcada para um Robo Movel

Aplicado a Atividades de Terapia Ocupacional

Autor:

Rafael dos Santos de Oliveira

Orientador:

Ramon Romankevicius Costa, D.Sc.

Coorientador:

Rodrigo Fonseca Carneiro

Examinador:

Fernando Cesar Lizarralde, D.Sc.

Examinador:

Alessandro Jacoud Peixoto, D.Sc.

DEL

Marco de 2014

Page 2: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO

Escola Politecnica - Departamento de Eletronica e de Computacao

Centro de Tecnologia, bloco H, sala H-217, Cidade Universitaria

Rio de Janeiro - RJ CEP 21949-900

Este exemplar e de propriedade da Universidade Federal do Rio de Janeiro, que

podera incluı-lo em base de dados, armazenar em computador, microfilmar ou adotar

qualquer forma de arquivamento.

E permitida a mencao, reproducao parcial ou integral e a transmissao entre bibli-

otecas deste trabalho, sem modificacao de seu texto, em qualquer meio que esteja

ou venha a ser fixado, para pesquisa academica, comentarios e citacoes, desde que

sem finalidade comercial e que seja feita a referencia bibliografica completa.

Os conceitos expressos neste trabalho sao de responsabilidade do(s) autor(es).

ii

Page 3: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

DEDICATORIA

Dedico este trabalho ao povo brasileiro que contribuiu de forma significativa a

minha formacao e estada nesta Universidade. Este projeto e uma pequena forma de

retribuir o investimento e confianca em mim depositados.

iii

Page 4: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

AGRADECIMENTO

Agradeco em primeiro lugar a Deus. Sem sua Graca, eu nada poderia ter feito.

Agradeco a minha famılia, que sempre me apoiou e me incentivou a estudar e a

nao desistir dos meus sonhos. Sem seu apoio, nao teria conseguido trilhar o caminho

que me fez chegar ate o fim deste curso.

Agradeco a meus professores. Cada um deles teve um papel essencial, ensinando

importantes licoes que vao muito alem do conteudo do curso.

Agradeco a meus amigos e a meus colegas. As amizades formadas dentro e fora

deste curso facilitam essa caminhada e tornam prazeroso o dia-a-dia em meio a aulas

e provas.

iv

Page 5: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

RESUMO

O presente trabalho trata do desenvolvimento da eletronica embarcada ne-

cessaria para controlar um robo movel a ser utilizado em atividades de Terapia Ocu-

pacional. Nessas atividades, o robo recebera comandos de um usuario via rede Wi-Fi

para realizar pinturas sobre uma tela de papel seguindo uma trajetoria aleatoria.

A velocidade de deslocamento do robo e a cor da tinta sendo utilizada serao sele-

cionaveis pelo usuario a distancia a partir de um computador, funcionando como

console de comando. Dentre as varias partes desse projeto, envolvendo areas de

eletronica, mecanica e software, este trabalho apresenta o desenvolvimento da parte

principal da eletronica embarcada: seu modulo de controle. Tal modulo e responsavel

por receber os comandos do usuario via Wi-Fi e gerar os sinais eletricos correspon-

dentes para o controle dos motores. Alem disso, o modulo de controle e responsavel

pela navegacao do robo. Visto que o usuario nao guiara o robo, este devera ter um

mınimo grau de autonomia para navegar em seu ambiente de trabalho desviando

de obstaculos detectados atraves de sensores. Portanto, o trabalho tambem inclui

o desenvolvimento de uma parte computacional que guiara o robo em seu trajeto

atraves de sua eletronica embarcada. Por fim, os desafios da implementacao do

trabalho e seus resultados serao apresentados.

Palavras-Chave: robotica, Wi-Fi, TCP, teleoperacao, controle, acionamento de

motores DC, pintura

v

Page 6: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

ABSTRACT

The present work deals with the development of the embedded electronics

required to control a mobile robot to be utilized in Occupational Therapy activities.

In such activities, the robot will receive commands from a user via Wi-Fi network

to perform paintings on a paper screen following a random trajectory. The user

will be able to select the robot’s speed and the ink color in use from a remote com-

puter. Among the various parts of this project, involving electronics, mechanics,

and software areas, this work presents the development of the embedded electronics’

main part: its control module. This module is responsible for receiving the user

commands via Wi-Fi and for generating the corresponding electric signals to control

the robot’s motors. Besides that, the control module is responsible for the robot’s

navigation. The user will not guide the robot. This way, it should have a minimum

degree of autonomy in order to navigate its work environment avoiding obstacles

detected by sensors. Therefore, this work also includes the development of a com-

putational component that will guide the robot on its path through its embedded

electronics. Finally, this work’s implementation challenges and its results will be

presented.

Keywords: robotics, Wi-Fi, TCP, teleoperation, control, DC motor driving, pain-

ting

vi

Page 7: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

SIGLAS

ASCII - do ingles, American Standard Code for Information Interchange

BJT - do ingles, Bipolar Junction Transistor (Transistor Bipolar de Juncao)

BSS - Basic Service Set (Conjunto Basico de Servicos)

COPPE - Instituto Alberto Luiz Coimbra de Pos-Graduacao e Pesquisa em En-

genharia

CPU - do ingles, Central Processing Unit (Unidade de Processamento Central)

DC - do ingles, Direct Current (Corrente Contınua)

DHCP - do ingles, Dynamic Host Configuration Protocol

EEPROM - do ingles, Electrically Erasable Programmable Read-Only Memory

IGBT - do ingles, Insulated-Gate Bipolar Transistor (Transistor Bipolar de Porta-

Isolada)

IP - do ingles, Internet Protocol

LABCON - Laboratorio de Controle do Programa de Engenharia Eletrica da

COPPE/UFRJ.

MOSFET - do ingles, Metal-Oxide-Semiconductor Field-Effect Transistor (Tran-

sistor de Efeito de Campo de Metal-Oxido-Semicondutor)

PC - do ingles, Personal Computer (Computador Pessoal)

PWM - do ingles, Pulse Width Modulation (Modulacao por Largura de Pulso).

RAM - do ingles, Random Access Memory (Memoria de Acesso Aleatorio)

vii

Page 8: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

SSID - do ingles, Service Set IDentifier

TCP - do ingles, Transmission Control Protocol

UART - do ingles, Universal Assynchronous Receiver Transmitter

UFRJ - Universidade Federal do Rio de Janeiro

USART - do ingles, Universal Synchronous Assynchronous Receiver Transmitter

WLAN - do ingles, Wireless Local Area Network (Rede de Area Local sem Fio)

viii

Page 9: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Sumario

1 Introducao 1

1.1 Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Delimitacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2.1 Organizacao do Sistema . . . . . . . . . . . . . . . . . . . . . 2

1.2.2 As Atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.6 Descricao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Especificacoes do Projeto 8

2.1 Comunicacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.2 Navegacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Pintura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Componentes Principais 11

3.1 Modulo Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1.1 Modulo RN-XV . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2 Sistema de Tracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2.1 Motores DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2.2 Modelo do Motor . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2.3 Torque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2.4 Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2.5 Circuito Integrado L298N . . . . . . . . . . . . . . . . . . . . 18

3.3 Driver dos Motores das Bombas . . . . . . . . . . . . . . . . . . . . . 19

ix

Page 10: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

3.3.1 Bombas Peristalticas . . . . . . . . . . . . . . . . . . . . . . . 19

3.3.2 Circuito Integrado L293D . . . . . . . . . . . . . . . . . . . . 19

3.4 Microcontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.4.1 Arquitetura Basica de um Microcontrolador . . . . . . . . . . 20

3.4.2 ATmega32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Desenvolvimento 24

4.1 Desenvolvimento do Hardware . . . . . . . . . . . . . . . . . . . . . . 24

4.1.1 Projeto da Placa de Controle Central . . . . . . . . . . . . . . 25

4.1.2 Projeto da Placa de Drivers . . . . . . . . . . . . . . . . . . . 28

4.2 Desenvolvimento Computacional . . . . . . . . . . . . . . . . . . . . . 28

4.2.1 Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.2.2 Comunicacao a partir do PC . . . . . . . . . . . . . . . . . . . 36

5 Implementacao do Projeto 37

5.1 Configuracao do Modulo Wi-Fi . . . . . . . . . . . . . . . . . . . . . 37

5.2 Implementacao do Firmware . . . . . . . . . . . . . . . . . . . . . . . 39

5.3 Implementacao do Hardware . . . . . . . . . . . . . . . . . . . . . . . 40

5.4 Dificuldades Encontradas . . . . . . . . . . . . . . . . . . . . . . . . . 45

6 Conclusoes e Trabalhos Futuros 47

A Redes Locais Sem Fio 49

B Protocolo IP 51

C Protocolo TCP 55

D Controle de Velocidade via PWM 57

Bibliografia 59

x

Page 11: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Lista de Figuras

1.1 Diagrama de blocos geral do sistema em que o trabalho esta envolvido . . 2

1.2 Exemplos de acionadores (PELOSI, 2011). . . . . . . . . . . . . . . . . . 3

1.3 Esquema de uma area de trabalho . . . . . . . . . . . . . . . . . . . . . 4

3.1 Topologia de uma ponte H (Fonte: http://en.wikipedia.org/wiki/H-bridge). 18

3.2 Arquitetura basica de um microcontrolador . . . . . . . . . . . . . . . . 20

4.1 Diagrama esquematico da placa de controle central . . . . . . . . . . . . 26

4.2 Diagrama esquematico da placa dos drivers . . . . . . . . . . . . . . . . 29

4.3 Fluxograma principal do firmware . . . . . . . . . . . . . . . . . . . . . 31

4.4 Diagrama de transicao de estados da Maquina 1 . . . . . . . . . . . . . . 32

4.5 Diagrama de transicao de estados da Maquina 2 . . . . . . . . . . . . . . 33

4.6 Disposicao dos sensores de colisao . . . . . . . . . . . . . . . . . . . . . 36

5.1 Modulo Wi-Fi RN-XV (Fonte: https://www.sparkfun.com/products/10822) 38

5.2 Adaptador USB para o Modulo Wi-Fi (ROGERCOM, 2014) . . . . . . . 38

5.3 Programador para microcontroladores PIC utilizado no projeto (Fonte:

Manual do fabricante, fornecido com o produto) . . . . . . . . . . . . . . 40

5.4 Plataforma robotica utilizada para testes . . . . . . . . . . . . . . . . . 41

5.5 Diagrama esquematico do circuito de testes . . . . . . . . . . . . . . . . 42

5.6 Conjunto de baterias de 2500 mAh . . . . . . . . . . . . . . . . . . . . . 43

5.7 Conjunto de baterias de 2300 mAh . . . . . . . . . . . . . . . . . . . . . 43

5.8 Robo de testes montado . . . . . . . . . . . . . . . . . . . . . . . . . . 44

B.1 Camadas da suıte de protocolos da Internet (STRABELLO, 2010). . . . . 51

D.1 Exemplos de sinais PWM (OLSON, 2013)). . . . . . . . . . . . . . . . . 58

xi

Page 12: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Lista de Tabelas

3.1 Estimativas da parte mecanica do robo . . . . . . . . . . . . . . . . . 17

3.2 Especificacoes de um motor que atende as estimativas de torque do

projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

B.1 Exemplo de endereco IP . . . . . . . . . . . . . . . . . . . . . . . . . 52

xii

Page 13: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Capıtulo 1

Introducao

1.1 Tema

Este trabalho trata do projeto de sistemas de controle. No presente caso, a

enfase se da no controle digital de dispositivos roboticos semiautonomos telecoman-

dados por meio de uma infraestrutura de rede sem fio.

1.2 Delimitacao

Pessoas portadores de deficiencia fısica ou mental tem sua capacidade de

expressao limitada devido a perda de movimentos ou a limitacoes na capacidade de

raciocınio. A Terapia Ocupacional visa cuidar da melhoria da qualidade de vida

dessas pessoas utilizando recursos variados, tais como atividades de entretenimento.

Com esse fim, professoras do curso de Terapia Ocupacional da UFRJ encomendaram

a empresa junior Fluxo Consultoria desta universidade o projeto de um robo para

ser utilizado em atividades de expressao artıstica envolvendo pintura.

A Fluxo e o Laboratorio de Controle (LABCON) do Programa de Engenharia

Eletrica (PEE) da COPPE estao desenvolvendo este projeto em conjunto e com o

auxılio de alunos, cada um destes encarregado de uma das tres partes principais:

eletronica embarcada, software e mecanica. O presente projeto visa a desenvolver a

parte principal da eletronica embarcada: o modulo de controle do robo.

Um projeto de graduacao anterior (STRACHAN, 2012) ja havia sido reali-

zado a esse respeito. Nesse trabalho, no entanto, foram utilizados motores de passo

1

Page 14: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

para a tracao do robo e um modulo Bluetooth para a comunicacao com o PC do

usuario. O trabalho atual apresenta uma solucao utilizando motores DC do tipo

brushed para tracao e um modulo Wi-Fi para a comunicacao.

1.2.1 Organizacao do Sistema

A Figura 1.1 apresenta o diagrama de blocos geral do sistema em que este

trabalho esta envolvido. A equipe de software e responsavel pelos programas que

estarao em execucao no computador do usuario. Contudo, o driver de comunicacao,

que implementa a troca de dados com o robo atraves de protocolos especıficos,

constitui parte das responsabilidades da equipe da eletronica. Esta tambem desen-

volvera a parte relacionada aos sensores, modulo de controle, bateria e driver de

acionamento. A equipe da mecanica e responsavel pela especificacao dos motores e

das bombas de tinta, alem de toda a parte estrutural do robo.

Figura 1.1: Diagrama de blocos geral do sistema em que o trabalho esta envolvido

Neste trabalho, sera abordado o projeto do modulo de controle e dos drivers

de acionamento do do robo.

2

Page 15: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

1.2.2 As Atividades

As atividades de Terapia Ocupacional em que o robo estara envolvido con-

sistirao de um usuario acionar comandos de selecao de velocidade e cor e envia-los

para o robo atraves de uma interface grafica num computador pessoal. O robo,

entao, executara uma trajetoria aleatoria liberando a tinta sobre a tela que portara

a pintura. Ao longo do trajeto, a velocidade e a cor da tinta poderao ser mudadas

atraves dos controles na interface. Esses comandos serao enviados do computador

do usuario para o robo via rede Wi-Fi.

Como os usuarios em que se foca esse trabalho serao pessoas portando as

mais diversas deficiencias fısicas e motoras, os controles da interface deverao ser

simples. Por isso, as professoras pretendem utilizar dispositivos de tecnologia assis-

tiva chamados acionadores (PELOSI, 2011). Na Figura 1.2, sao mostrados alguns

exemplos de acionadores que poderao ser usados no projeto. Estes dispositivos sao

basicamente diferentes especies de botoes adaptados a diversos tipos de deficiencias

fısicas e motoras. Desse modo, os controles serao apenas comandos de selecao, sem

envolver controles de direcao e de velocidade lineares e iterativos, como joysticks.

Embora existam alguns modelos de joysticks utilizados em tecnologia assistiva, es-

tes nao serao utilizados neste projeto. Com isso, para gerar uma certa forma de

expressao artıstica, o robo devera mover-se por si proprio sem necessitar de um

usuario indicando cada direcao para onde ir. Tal aspecto requer um nıvel mınimo

de autonomia do robo para que ele nao seja danificado ou acabe ficando preso num

canto apos uma colisao.

Figura 1.2: Exemplos de acionadores (PELOSI, 2011).

3

Page 16: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Nas atividades de Terapia Ocupacional, o robo atuara, a princıpio, dentro

de uma area retangular delimitada (ver Figura 1.3). Pequenas tabuas podem ser

dispostas no entorno, formando paredes, para impedir que o robo saia de sua area

de trabalho e acabe derramando tinta em local indesejado.

Figura 1.3: Esquema de uma area de trabalho

1.3 Justificativa

Com o desenvolvimento e a reducao de custos da tecnologia computacional,

robos moveis hoje em dia sao capazes de integrar uma grande quantidade de pe-

rifericos para auxilia-los em sua navegacao e controle. Dentre estes, dispositivos de

comunicacao via redes sem fio vem ganhando destaque nos ultimos anos, como e o

caso dos dispositivos Zigbee (BARONTI et al., 2007), por exemplo, que se tornaram

bastante populares nessa area. Alem deles, entretanto, o emprego de dispositivos que

fazem uso de padroes de rede ja existentes, como Bluetooth e Wi-Fi, vem crescendo,

devido ao barateamento dessas tecnologias e a sua popularidade. Com isso, tornou-

se possıvel a construcao, a relativo baixo custo, de robos teleoperados por meio de

rede sem fio. Inclusive, alguns modelos comerciais ja se encontram disponıveis no

mercado ha alguns anos (BONA; PRENTICE, 2009).

Empregando a tecnologia de rede Wi-Fi para comunicacao, um robo pode

ser controlado a distancia a partir de computadores pessoais e dispositivos moveis,

como smartphones, sem a necessidade de hardware adicional por parte do operador

remoto, devido a presenca dessa tecnologia ja integrada nesses dispositivos. Para

4

Page 17: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

isso, contudo, varios desafios tem de ser superados, de modo a poder oferecer um

produto final funcional e utilizavel para usuarios leigos quanto a area de redes.

Alem dos desafios por parte da comunicacao, a interface com dispositivos

mecanicos encontrados em sistemas roboticos utilizando motores eletricos tambem

envolve desafios relacionados a eletronica de potencia. Esta area lida com o acio-

namento e o controle de dispositivos de potencia elevada em relacao ao dispositivo

controlador. Cuidados com o interfaceamento e a possibilidade de interferencias

dificultam os projetos nessa area. Estas questoes tambem serao abordadas neste

trabalho.

Por fim, o algoritmo necessario para prover o robo com certo grau de auto-

nomia durante a execucao de suas tarefas tambem sera abordado no trabalho. Isto

requerera o emprego de algumas tecnicas simples de navegacao autonoma.

Desse modo, o estudo apresentado neste trabalho envolvera diversas areas da

Engenharia Eletronica e sua integracao num unico projeto.

1.4 Objetivos

Este trabalho objetiva desenvolver um circuito eletronico capaz de receber

comandos via rede Wi-Fi e decodifica-los em sinais eletricos para o acionamento de

motores de tracao e de bombas de tinta e controlar a navegacao empregando sistemas

de deteccao de colisao. A unidade de controle central deste circuito tambem devera

ser capaz de gerar os movimentos que o robo executara durante seu deslocamento.

1.5 Metodologia

Para cumprir os objetivos especificados, a seguinte sequencia de tarefas foi

planejada para o projeto da eletronica embarcada do robo como um todo.

Especificacao das funcionalidades

Primeiramente serao levantadas as especificacoes quanto as funcionalidades do

projeto com base nas exigencias das atividades de terapia ocupacional em que

o robo estara envolvido.

5

Page 18: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Especificacao de hardware

Com base nas funcoes esperadas da parte eletronica do projeto, um hardware

eletronico mınimo podera ser especificado. Dentre essas especificacoes, pode-

mos ter as caracterısticas necessarias da unidade de controle central do robo,

do modulo de comunicacao, dos drivers dos motores, das baterias etc.

Projeto do hardware

Nesta fase, temos o projeto e construcao dos circuitos principais do hardware

eletronico com base nas especificacoes levantadas anteriormente.

Desenvolvimento do firmware

Com a unidade de controle central e seus circuitos de interface construıdos, o

trabalho prosseguira para o desenvolvimento e teste das rotinas de codigo que

serao executadas na unidade de controle central. Tais rotinas serao desenvolvi-

das para controlar os motores e outros atuadores que vierem a ser incluıdos no

robo, detectar obstaculos, comunicar-se com o PC do usuario e decodificar os

comandos recebidos. Com os testes, novas especificacoes podem ser levantadas

para o hardware.

Finalizacao do hardware

Tendo sido testadas e desenvolvidas as rotinas, especificacoes resultantes para

o hardware serao levantadas a partir de testes com a parte mecanica do robo,

que ja devera estar pronta a esse ponto. A bateria e os circuitos de alimentacao

serao desenvolvidos. Com isso, o trabalho prosseguira para ajustes no projeto

do hardware e a implementacao de um sistema final.

Desenvolvimento de biblioteca para comunicacao com o robo pelo o software do PC

Uma biblioteca com funcoes para a comunicacao entre o computador do usuario

do robo sera desenvolvida em uma ultima fase para que as funcionalidades do

robo possam ser acessadas pela programa que contem a interface grafica.

Testes finais

Apos o desenvolvimento do prototipo, testes gerais serao realizados para avaliar

a integracao das partes mecanica e de software com a eletronica embarcada

6

Page 19: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

do robo. Com esses testes, ajustes poderao ser feitos no hardware para a

finalizacao e entrega de um dispositivo funcional e utilizavel.

Neste trabalho, entretanto, serao abordadas apenas as tarefas descritas ate o item

Desenvolvimento do firmware. As outras tarefas sao dependentes da conclusao dos

trabalhos das outras equipes do projeto, responsaveis pela mecanica e pelo software,

para ajustes e integracao.

1.6 Descricao

No capıtulo 2, serao apresentadas as especificacoes do projeto, descrevendo

suas partes principais e os requisitos necessarios. O capıtulo 3 apresenta os compo-

nentes principais da parte de controle da eletronica embarcada e aspectos teoricos

de seu funcionamento. Ja o desenvolvimento do projeto a partir das especificacoes,

fazendo uso dos componentes principais, e apresentado no capıtulo 4. A seguir, o

capıtulo 5 descreve como se deu a implementacao do trabalho realizado e os tes-

tes. Por fim, a conclusao e feita no capıtulo 6 com recomendacoes para trabalhos

futuros.

7

Page 20: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Capıtulo 2

Especificacoes do Projeto

Estes capıtulo descreve as especificacoes basicas do projeto com base nas

exigencias das atividades em que o robo estara envolvido.

2.1 Comunicacao

Para que haja troca de dados entre o robo e o computador do usuario, o robo

devera estar conectado a uma rede Wi-Fi. Para que isso ocorra, existem basicamente

duas possibilidades:

1. O robo se conecta a uma rede Wi-Fi pre-existente.

2. O usuario conecta seu computador a uma rede Wi-Fi em que o robo e o ponto

de acesso.

Ambas as opcoes possuem vantagens e desvantagens.

Na opcao 1, o usuario poderia fazer uso de sua rede Wi-Fi ja existente ou criar

uma nova. O robo, no entanto, teria que ter as informacoes de acesso da rede, como,

por exemplo, o nome da rede e a senha, armazenadas em sua memoria. Portanto,

de alguma forma transferir esses dados teriam que ser previamente transferidos para

o robo. Ou, no caso de ser criada uma rede nova, o robo poderia ser programado

a se conectar sempre a uma rede com nome e senha ja pre-programados em sua

memoria. O usuario, entao, quando quisesse se conectar ao robo, criaria essa rede

com informacoes de acesso predeterminadas.

8

Page 21: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Na opcao 2, o robo lancaria sua propria rede e o computador do usuario

seria conectado a esta. Com isso, o usuario teria que desconectar seu computador

de qualquer rede a que ja estivesse conectado. Algo que poderia acontecer seria o

usuario perder sua conexao com a Internet, caso estivesse tendo este acesso por meio

de uma conexao compartilhada proveniente de um roteador, por exemplo.

Existem problemas tambem relacionados ao endereco IP que o robo estaria

utilizando. Contudo, uma analise mais detalhada dessas opcoes e mais detalhes sobre

redes Wi-Fi, envolvendo suas caracterısticas e sua arquitetura, serao apresentados

na Secao 3.1.

Os comandos a serem enviados ao robo serao numeros correspondentes a

velocidade de deslocamento do robo e a cor da tinta utilizada. Estes comandos

serao enviados para o robo por meio da rede Wi-Fi utilizando estruturas de dados

com formato padronizado de modo que o robo saiba identificar os pacotes de dados

certos e extrair as informacoes que precisa. Mais detalhes sobre os comandos e sua

implementacao serao discutidos na Secao 4.2.

2.2 Navegacao

O robo devera ser capaz de calcular seus proprios movimentos, mantendo uma

velocidade de deslocamento determinada pelo usuario. Para isso, o robo poderia se-

guir formas geometricas pre-definidas, como cırculos, retangulos e outros polıgonos,

ou gerar movimentos aleatorios, sem seguir um padrao em particular. Segundo as

exigencias feitas pelas clientes, no entanto, a forma escolhida seria a de gerar movi-

mentos aleatorios. Por outro lado, para qualquer uma das opcoes de movimentacao,

o robo necessitaria de um certo grau de autonomia para detectar colisoes e corrigir

sua trajetoria.

A deteccao de colisoes, ou possıveis colisoes, com obstaculos pode se dar de

varias maneiras. Todavia, para este trabalho foram consideradas algumas das mais

simples, utilizando sensores de toque ou sensores de proximidade e a deteccao sem

sensores (DOISY, 2012), que baseia-se no monitoramento do torque exercido pelos

motores da tracao.

9

Page 22: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

2.3 Pintura

Para realizar a pintura, pretende-se que o robo utilize bombas peristalticas.

Elas apresentam mecanismos simples e relativamente compactos para serem in-

cluıdos no robo, alem de geralmente serem controladas por motores DC.

Devem ser utilizadas quatro cores para a pintura. O usuario selecionara a cor

pela interface, e o computador enviara o comando correspondente via Wi-Fi para o

robo. Este, a partir da decodificacao do comando, acionara a bomba correspondente.

Cada bomba funcionara como um injetor independente. O controle das mesmas sera

feito a partir da velocidade de rotacao de seu motor. Deste modo, podera ser feito

um controle de dosagem de cada tinta.

Existe tambem a possibilidade de se oferecer uma gama maior de cores para

o usuario a partir do acionamento simultaneo de mais de uma bomba de tinta e o

controle da vazao de cada uma. Tendo quatro cores basicas, como ciano, magenta,

amarelo e preto, do modelo CMYK (Cyan Magenta Yellow blacK ), seria possıvel,

a princıpio oferecer qualquer cor de pigmentacao ao usuario (GALER; HORVAT,

2003). Embora o foco deste trabalho nao esteja na arte visual em si, o hardware do

robo pode ser preparado para ter essa opcao futuramente implementada a nıvel de

firmware, isto e, a nıvel de programacao do microcontrolador.

10

Page 23: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Capıtulo 3

Componentes Principais

Neste capıtulo serao apresentados os componentes principais da eletronica

embarcada do robo e alguns dos princıpios teoricos que regem seu funcionamento.

3.1 Modulo Wi-Fi

Redes Wi-FiTM estao amplamente presentes em uma diversidade de ambi-

entes modernos, envolvendo desde casas a empresas de grande porte, por si so ou

sendo parte de uma rede maior. Isto inclui a conexao a Internet, que acaba sendo

um grande fator motivador para o emprego dessa tecnologia. Devido a essa popula-

rizacao, tem-se facilitado a implementacao de redes Wi-Fi pela reducao de custos e

a diversificacao de produtos capazes de se comunicar via Wi-Fi.

O acesso a Internet permite monitorar e controlar dispositivos a distancia. O

termo Internet das Coisas identifica as tecnologias que tem sido desenvolvidas com

o fim de formar redes envolvendo dispositivos do mundo real de todos os tipos, tais

como eletrodomesticos, redes de sensores, televisores etc., conectados a Internet,

acessıveis de qualquer lugar (BRECH et al., 2013). Com isso, tem ocorrido um

aumento no numero e na diversidade de ferramentas de desenvolvimento disponıveis

para a criacao de produtos capazes de se conectar a rede. Uma delas e o modulo

Wi-Fi utilizado neste projeto.

Em comparacao com o Bluetooth R©, a capacidade de se conectar via Wi-Fi

e mais facilmente encontrada em laptops, por estes serem dispositivos portateis e

muito utilizados para acesso a Internet. Redes Wi-Fi sao inerentemente expansıveis,

11

Page 24: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

enquanto o Bluetooth e voltado para a comunicacao ponto-a-ponto. A troca de

dados em redes Wi-Fi pode ser feita utilizando os ja bem estabelecidos protocolos

para comunicacao via Internet em redes cabeadas. Estes e outros aspectos estao

mais detalhados nos apendices A, B e C deste documento. Alem disso, dispositivos

Wi-Fi apresentam maior alcance via radio e menor consumo de energia quando nao

estao trocando dados (FRIEDMAN; KOGAN; KRIVOLAPOV, 2013).

3.1.1 Modulo RN-XV

O modulo de radio RN-XV (ROVING NETWORKS, 2012) e um dispositivo

de acesso a redes locais sem fio . Algumas caracterısticas desse modulo sao listadas

abaixo.

• Suporta os padroes IEEE 802.11b/g

• Implementa pilha TCP/IP completa internamente;

• Possui baixo consumo de potencia;

• Possui sistema de gerenciamento de consumo inteligente;

• Faz interface de hardware via TTL UART;

• Pode ser configurado via Wi-Fi ou UART usando comandos ASCII simples;

• Conecta-se a redes operando em modo ad hoc ou infraestrutura.

• Suporta mecanismos de autenticacao: WEP, WPA-PSK (TKIP) e WPA2-

PSK.

• Suporta operar como Ponto de Acesso;

• Possui varias aplicacoes de rede embutidas: TCP, UDP, cliente HTTP, Telnet,

cliente e servidor (no modo Ponto de Acesso) DHCP, entre outras.

Este modulo foi escolhido para o projeto por:

• suportar os padroes Wi-Fi 802.11b/g, largamente empregados por computa-

dores pessoais, celulares e tablets ;

12

Page 25: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

• ter uma interface de hardware simples de utilizar via UART (Universal As-

synchronous Receiver Transmitter);

• implementar a pilha TCP/IP por completo internamente;

• possuir uma interface de comandos ASCII simples de utilizar; e

• por ter um custo de aquisicao relativamente baixo.

Os padroes IEEE 802.11b e 802.11g sao emendas ao padrao IEEE 802.11 origi-

nal que estabelecem especificacoes para a comunicacao via Wi-Fi utilizando tecnicas

de modulacao diferentes para a transmissao dos sinais. A principal diferenca, no en-

tanto, esta na taxa de transmissao de dados que cada padrao consegue atingir. O

802.11b alcanca um taxa de dados bruta de 11 Mbits/s, enquanto o 802.11g chega

a 54 Mbits/s. Contudo, ambos os padroes utilizam sinais de portadora na banda de

frequencia de 2.4 GHz, que e compartilhada por outros sistemas de comunicacao sem

fio a curta distancia, tais como o Bluetooth, telefones sem fio etc. Deste modo, os

padroes 802.11b/g estao sujeitos a interferencia de dispositivos operando em sistemas

totalmente diferentes. Por outro lado, ha menores exigencias quanto ao hardware

do que em outros padroes, como 802.11n, que operam em frequencias mais altas.

A capacidade de comunicacao via UART e facilmente encontrada pela maioria

dos microcontroladores para uso em sistemas eletronicos embarcados atualmente.

Estes, geralmente, oferecem perifericos internos que lidam com essa comunicacao

para o firmware do usuario de maneira automatica, sem serem necessarios muitas

configuracoes, e utilizando poucos pinos do microcontrolador.

3.2 Sistema de Tracao

Os motores de tracao formarao um sistema de direcao diferencial (RIBEIRO;

LIMA, 2012). Neste tipo de sistema, duas rodas motrizes independentes produzem

a tracao para mover o robo. A direcao que o robo segue e controlada pela diferenca

entre as velocidades de rotacao das rodas. Por exemplo, se a roda da esquerda esta

girando a uma velocidade menor que a da direita, o robo tendera a virar para a

esquerda. Semelhantemente, o robo pode girar em torno de seu eixo vertical, sem

13

Page 26: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

se deslocar, ao fazer as duas rodas girarem na mesma velocidade, mas em sentidos

de rotacao opostos em relacao ao eixo horizontal que as une.

3.2.1 Motores DC

Motores DC sao motores eletricos operando a base de corrente contınua. Eles

podem ser encontrados em diferentes tipos, dentre eles, temos alguns principais:

motores com escova (brushed) e motores sem escova (brushless).

Os motores brushed sao constituıdos por um eixo girante contendo um ou

mais enrolamentos de fios conectados a comutadores acionados por escovas em meio

a um campo magnetico fixo (CONDIT, 2010). Tal conjunto de enrolamentos e cha-

mado armadura. A corrente eletrica flui por um enrolamento quando os contatos

dos comutadores fecham circuito com as escovas, que sao fixas e estao ligadas aos

terminais do motor. Nisto, um campo magnetico desalinhado com o campo fixo e

gerado, forcando o rotor a se mover. Logo que um enrolamento perde contato, outro

e acionado. Este ciclo se repete, e o motor segue girando.

Motores brushless utilizam na verdade corrente alternada para produzir um

campo magnetico girante em enrolamentos fixos que propulsiona um rotor de ımas

permanentes (YEDAMALE, 2003). Estas correntes sao geradas, no entanto, a partir

de circuitos inversores alimentados por tensoes eletricas DC.

A perda de contato momentanea nos motores brushed varias vezes seguidas

a cada segundo acabam produzindo ruıdo na corrente do motor que pode passar

para as linhas de alimentacao ou se propagar por ondas eletromagneticas (WONG,

2012) e interferir em outras partes do circuito, que podem ser sensıveis a ruıdo. Isto

os torna menos vantajosos para operacoes com circuitos de comunicacao em relacao

aos motores brushless. Estes possuem comutacao eletronica, gerando muito menos

ruıdo (YEDAMALE, 2003). No entanto, este tipo de comutacao exige drivers de

hardware muito mais complexos, o que proporciona aos motores brushless um custo

maior que os do tipo brushed em geral.

Motores de passo tambem podem ser classificados como um tipo especial de

motores DC do tipo brushless, por operarem a base de corrente contınua em suas

bobinas e por nao apresentarem escovas para o contato eletrico. Este tipo de motor

e encontrado em tipos diferentes no mercado (CONDIT; JONES, 2004). Contudo,

14

Page 27: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

como caracterıstica geral, eles rotacionam em passos discretos. Seus estatores sao

constituıdos por um numero de bobinas responsaveis por gerar o campo magnetico

que ira impulsionar o rotor. Para que haja rotacao, e necessario que haja um

acionamento em sequencia dessas bobinas para que o rotor entre em rotacao um

passo apos o outro. Deste modo, e possıvel conhecer a posicao e a velocidade de

rotacao do rotor, mesmo em sistemas de malha aberta, a partir da contagem e da

frequencia dos pulsos, respectivamente, o que seria vantajoso em diversas aplicacoes.

Motores de passo apresentam algumas desvantagens em relacao aos outros

tipos de motores apresentados (NI, 2011). Dentre elas, esse tipo de motor consomem

corrente independentemente da carga, visto que suas bobinas precisam estar sendo

sempre chaveadas para este girar. Portanto, mesmo a uma carga mecanica redu-

zida, o motor continuara consumindo uma corrente elevada para se manter parado

ou girando. Eles tambem necessitam de uma eletronica de chaveamento e sequenci-

amento, mesmo no controle em malha aberta, que e mais complexa que a necessaria

para os motores DC do tipo brushed.

Para este trabalho, foram escolhidos motores DC do tipo brushed por seu

custo relativamente baixo, sua eletronica de controle simples e por seu relativamente

baixo consumo de energia. Alem disso, neste trabalho, nao sera necessario um

monitoramento preciso da posicao e da velocidade de rotacao dos motores de tracao,

tirando as vantagens em se utilizar motores de passo.

3.2.2 Modelo do Motor

O torque e a velocidade angular de um motor DC do tipo brushed podem ser

calculados em funcao da corrente de armadura e da intensidade do fluxo magnetico

atravessando a mesma. Num motor cujo estator e composto por ımas permanen-

tes, a intensidade do fluxo magnetico do estator e constante. Para este trabalho,

assumiremos o motor operando em regime permanente, ou seja, desprezaremos os

transitorios dinamicos e eletromagneticos. Em sistemas com reducao mecanica, o

torque devido a carga a ser girada pelo motor tambem e consideravelmente redu-

zido. No caso do robo em questao, este pode ser desprezado para fins de eletronica de

controle. Portanto, a partir das formulacoes de RASHID (2011), com as condicoes

assumidas, os motores de tracao podem ter uma modelagem simplificada em funcao

15

Page 28: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

da corrente de armadura ia pelas seguintes equacoes:

τ = kτIa (3.1)

ω = kωIa (3.2)

onde τ corresponde a quantidade de torque eletromagnetico, ω a velocidade angular

do rotor, e kτ e kω sao constantes de proporcionalidade dependentes de diversos

fatores inerentes ao motor, mas que podem ser medidas experimentalmente. Alem

disso, em regime permanente, a tensao de armadura pode ser modelada como:

Va = RaIa + Ea (3.3)

onde Ra corresponde a resistencia eletrica da armadura e Ea e a forca contra-

eletromotriz produzida pelo motor em rotacao. Esta e dada por:

Ea = kvω (3.4)

onde kv e uma constante que depende, dentre outros fatores, da quantidade de fluxo

magnetico atravessando a armadura.

3.2.3 Torque

O torque maximo necessario e um valor importante de ser estimado para

levantar as especificacoes do driver dos motores de tracao. Na Tabela 3.1, se encon-

tram as estimativas da parte mecanica do robo elaboradas por seu projetista. De

acordo com essas estimativas, o torque requerido foi calculado em 8,3 kg-cm. Este

valor de torque pode ser considerado como o torque maximo que o motor devera

exercer para tirar o veıculo da inercia e acelera-lo ate a velocidade maxima desejada

dentro do tempo de aceleracao esperado.

Para o valor de torque estimado foram encontrados alguns modelos de mo-

tor DC disponıveis no mercado, inclusive modelos com caixa de reducao acoplada.

Uma caixa de reducao e necessaria para aumentar a capacidade de torque do motor,

ao custo de reducao da velocidade de rotacao. Um dos motores encontrados (RO-

BOTSHOP, 2013b) com reducao acoplada possui as especificacoes encontradas na

16

Page 29: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Peso bruto do veıculo 6,5 lb (3 kg)Peso em cada roda 3,25 lb (1,5 kg)Raio da roda 10 in (25 cm)Velocidade maxima desejada 4 ft/s (10 cm/s)Tempo de aceleracao desejado 1 s

Angulo maximo de inclinacao do piso 2 grausPior superfıcie de trabalho ConcretoFator de resistencia do motor 1,1Coeficiente de atrito com o solo 0,5

Tabela 3.1: Estimativas da parte mecanica do robo

Tabela 3.2.

Tensao de operacao 6V 12VVelocidade de rotacao livre 50 rpm 100 rpmCorrente em rotacao livre 250 mA 300 mATorque maximo 110 oz-in (7,93 kg-cm) 220 oz-in (15,8 kg-cm)Corrente maxima 2,5 A 5,0 A

Tabela 3.2: Especificacoes de um motor que atende as estimativas de torque doprojeto

3.2.4 Drivers

O acionamento de motores DC do tipo brushed pode ser feito de algumas

formas diferentes. No entanto, para um controle de velocidade e sentido de rotacao,

a forma mais utilizada e o acionamento atraves de circuitos de chaveamento em

ponte H (CONDIT, 2010).

Uma ponte H e constituıda de quatro elementos de chaveamento dispostos

como no circuito da Figura 3.1. Fechando chaves em posicoes diametralmente opos-

tas (S1:S4 ou S2:S3) na ponte H, o motor gira em sentido horario ou anti-horario,

dependendo do par de chaves ligadas. As outras chaves sao mantidas abertas, nesse

caso. Por outro lado, fechando chaves paralelas (S1:S3 ou S2:S4), o motor tem uma

parada forcada. Enquanto que, se todas as chaves forem abertas, o motor tem uma

parada gradual em movimento livre.

Os elementos de chaveamento sao em geral de estado solido. Dependendo

principalmente da potencia da carga a ser acionada, podem ser utilizados transistores

17

Page 30: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Figura 3.1: Topologia de uma ponte H (Fonte: http://en.wikipedia.org/wiki/H-bridge).

BJT, MOSFETs ou IGBTs. Ha tambem alguns tipos de drivers integrados no

mercado (TEXAS INSTRUMENTS, 2014). No caso de chaveamento a MOSFET,

por exemplo, encontram-se circuitos integrados chamados gate drivers, que geram os

nıveis de tensao necessarios para ativar os gates dos MOSFETs, tanto do lado inferior

quanto do lado superior da ponte. Por outro lado, para nıveis baixos de potencia,

isto e, ate algumas poucas dezenas de watts, podem ser encontrados drivers na forma

de um unico circuito integrado contendo a ponte e circuitos de interface de baixa

tensao para a logica de controle do motor.

Quando comparadas as pontes feitas com componentes discretos, pontes H

integradas, alem do tamanho reduzido, tem a vantagem de ja virem balanceadas de

fabrica. Isto significa que seus transistores internos sao dimensionados e polarizados

de maneira que haja uma simetria praticamente perfeita entre os dois lados da ponte.

Com isso, a ponte pode fornecer ao motor o mesmo nıvel de potencia em ambos os

sentidos rotacao.

3.2.5 Circuito Integrado L298N

O circuito integrado L298N (ST MICROELECTRONICS, 2000) e um exem-

plo de driver para motores DC com a ponte H e uma interface para a logica de

controle do motor integradas. Ele foi escolhido para este projeto pelas seguintes

caracterısticas:

• Popularidade no mercado, sendo facil de encontrar nos principais distribuidores

de componentes eletronicos;

18

Page 31: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

• Baixo custo;

• Possui duas pontes H completas integradas;

• Capaz de fornecer ate 2A de corrente contınua, suportando ate 3A de pico nao

repetitivo.

Neste integrado, cada ponte H tem uma entrada de controle para habilita-la.

Com a ponte desabilitada, todas as suas chaves sao abertas. O motor entra, entao,

em movimento livre, podendo parar, se essa condicao se manter. Desta forma, pode

ser implementado um controle de velocidade via PWM. Maiores detalhes quanto a

tecnica de controle de velocidade por PWM sao descritos no Apendice D.

3.3 Driver dos Motores das Bombas

3.3.1 Bombas Peristalticas

Para ejetar tinta sobre a superfıcie que o robo ira pintar, foram escolhidas

bombas peristalticas (VERDERFLEX, 2014). Tais dispositivos possuem mecanis-

mos relativamente simples, sendo movidos por motores DC do tipo brushed (RO-

BOTSHOP, 2013a), geralmente, assim como os motores de tracao. Portanto, foi

utilizado o mesmo tipo de driver que o dos motores de tracao.

3.3.2 Circuito Integrado L293D

O integrado L293D (ST MICROELECTRONICS, 1996) possui quatro drivers

do tipo push-pull que podem ser acionados individualmente. Cada um destes e

capaz de entregar ate 1A de corrente na saıda. Alem disso, este circuito integrado

ja possui em si diodos para protecao contra sobretensao devido a forca contra-

eletromotriz. Pelo motor ser constituıdo de enrolamentos de fios condutores, este

apresenta caracterısticas de uma carga indutiva. Portanto, quando sua corrente e

interrompida, e gerada uma forca contra-eletromotriz, que pode danificar o circuito

do driver caso nao haja uma protecao.

Este integrado foi escolhido para o projeto devido as caracterısticas descritas

acima e a sua disponibilidade no mercado. Cada um de seus drivers internos sera

usada para acionar uma das quatro bombas de tinta que o robo ira comportar.

19

Page 32: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

3.4 Microcontrolador

Microcontroladores sao dispositivos que integram um nucleo de processa-

mento, memorias e os mais diversos perifericos num unico chip (BRAIN, 2013). Eles

sao encontrados em uma diversidade de aparelhos e sistemas eletronicos embarca-

dos, como os presentes em automoveis. Alem disso, microcontroladores tambem sao

largamente utilizados em projetos na area de robotica, devido a sua versatilidade e

grau de miniaturizacao.

3.4.1 Arquitetura Basica de um Microcontrolador

A Figura 3.2 apresenta o diagrama de blocos da arquitetura basica de um

microcontrolador. Esta varia principalmente quanto as conexoes, podendo alguns

perifericos terem acesso direto as portas ou a memoria de dados, por exemplo. Alem

disso, pode estar presente mais uma memoria para dados, dessa vez, nao volatil,

sendo, geralmente, uma EEPROM (do ingles, Electrically Erasable Programmable

Read-Only Memory).

Figura 3.2: Arquitetura basica de um microcontrolador

20

Page 33: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

As portas de entrada/saıda sao a conexao entre o microcontrolador e o mundo

exterior. Elas sao conectadas aos pinos do circuito integrado designados para funcoes

de entrada/saıda. Contudo, elas podem ter suas funcoes multiplexadas internamente

com diversos perifericos(MICROCHIP, 2008), podendo funcionar como entradas

analogicas para um conversor A/D, por exemplo, ou como terminais de comunicacao

via protocolo I2C (do ingles, Inter-Integrated Circuit) (NXP, 2012).

A memoria de dados e, geralmente, do tipo RAM (do ingles, Random Access

Memory). Ela guarda os dados do microcontrolador de forma temporaria, sendo

estes perdidos apos a alimentacao ser desligada. Dentre esses dados podem estar

variaveis do programa sendo executado pela CPU e registradores de controle internos

que guardam configuracoes da CPU e de seus perifericos.

A CPU (do ingles, Central Processing Unit), ou unidade de processamento

central, compreende os componentes centrais do microcontrolador responsaveis pela

execucao do programa armazenado na memoria. Dentre eles, podemos encontrar a

unidade de logica e aritmetica, o registrador de instrucao, sistemas de interrupcao,

circuitos para geracao de sinal de clock etc..

Os perifericos podem ser desde temporizadores a conversores analogico-digital

(A/D) de varios bits de precisao, incluindo modulos de comunicacao implementando

os mais diversos protocolos para troca de dados entre dispositivos, como o I2C, men-

cionado anteriormente. Essa diversidade de perifericos e um dos principais fatores

motivadores para o uso de microcontroladores. A possibilidade de ter um sistema

completo para amostragem, processamento e armazenamento de dados, alem da

implementacao de protocolos de comunicacao variados, em um unico chip reduz

consideravelmente a necessidade de componentes externos nos projetos envolvendo

microcontroladores.

A memoria de programa e responsavel por armazenar de forma persistente as

instrucoes de maquina que formam o programa a ser executado pelo microcontrola-

dor. No entanto, alguns microcontroladores oferecem a opcao de se escrever nessas

memorias em tempo de execucao a partir do proprio programa (MICROCHIP, 2008).

Isto torna possıvel a utilizacao da memoria de programa para armazenar valores de

variaveis temporarias durante a execucao do programa. No entanto, isso nao e uma

pratica comum, visto que as mesmas tem quantidades de ciclos de escrita e apa-

21

Page 34: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

gamento limitada, as escritas e apagamentos sao feitas em blocos, alem de serem

muito mais lentas que numa memoria do tipo SRAM. Um uso mais eficaz para essa

funcionalidade torna-se armazenar variaveis que precisam ter seus valores armazena-

dos persistentemente quando nao ha uma memoria de dados nao-volatil disponıvel

(NXP, 2011). O uso mais comum para a escrita em tempo de execucao, entretanto,

e para a criacao de bootloaders. Estes sao programas executados logo apos o reset do

microcontrolador que permitem que este seja programado por meio de perifericos,

como modulos de comunicacao UART, por exemplo (BENINGO, 2012).

3.4.2 ATmega32

Para este trabalho, o microcontrolador deveria apresentar as seguintes carac-

terısticas mınimas:

• 3 canais PWM independentes para controle dos motores das rodas e das bom-

bas;

• 1 UART para comunicacao com o modulo Wi-Fi;

• Encapsulamento DIP para montagem em placa de circuito impresso artesanal,

sem a necessidade de equipamento especial para montagem em superfıcie;

• Memoria de programa de tamanho suficiente para conter o firmware necessario.

• Quantidade de pinos de entrada/saıda suficiente para controle dos drivers, do

modulo Wi-Fi, interface com sensores de colisao e LEDs para indicacao de

status.

Uma infinidade de modelos de microcontroladores no mercado atenderia a

essas especificacoes. No entanto, havia disponıvel o microcontrolador ATmega32-

16pu da Atmel (ATMEL, 2011) no LABCON. Portanto, este foi escolhido para

controlar a eletronica embarcada do robo.

Dentre as principais caracterısticas deste microcontrolador(ATMEL, 2011),

podemos citar as seguintes:

• Execucao de ate 16 milhoes de instrucoes por segundo (MIPS);

• 32 KB de memoria de programa do tipo Flash;

22

Page 35: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

• 1024 B de memoria de dados nao-volatil do tipo EEPROM;

• 2 KB de memoria de dados do tipo RAM estatica (SRAM);

• 2 temporizadores/contadores de 8 bits;

• 1 temporizador/contador de 16 bits;

• 4 canais PWM;

• Conversor A/D de 10 bits com 8 canais;

• 1 Modulo USART;

• Encapsulamento PDIP de 40 pinos.

23

Page 36: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Capıtulo 4

Desenvolvimento

Este capıtulo descreve o hardware projetado para atender as especificacoes

do projeto e o firmware necessario para exercer essas funcionalidades.

4.1 Desenvolvimento do Hardware

O hardware para a eletronica embarcada do robo foi projetado de acordo com

as seguintes especificacoes:

• ser controlavel via rede Wi-Fi;

• controlar 2 motores DC brushed de tracao em modo de direcao diferencial;

• controlar 4 motores DC brushed em bombas de tinta;

• detectar colisoes em sua navegacao utilizando sensores de colisao.

Para implementar tais especificacoes, foram elaboradas duas placas: uma

para fornecer controle a um nıvel central e outra dedicada ao controle dos motores.

A primeira contem o microcontrolador e se comunica com o computador do usuario

utilizando o Wi-Fi. A segunda recebe os comandos da placa central e aciona os

motores. Separar o projeto do modulo de controle do robo em duas placas, estando

a placa dos dispositivos de potencia separada, evita interferencias geradas por ruıdo

na corrente dos motores.

24

Page 37: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

4.1.1 Projeto da Placa de Controle Central

O projeto da placa de controle central foi centrado em torno dos seus com-

ponentes principais: o modulo Wi-Fi e o microcontrolador. O esquematico final do

circuito e apresentado na Figura 4.1.

Para controlar o modulo Wi-Fi, foram utilizados seu pino de reset e os pinos

TX (transmissor) e RX (receptor) de seu periferico UART. Utilizando o reset, seria

possıvel reiniciar o modulo sempre que o microcontrolador fosse reiniciado. Deste

modo, pode haver sincronismo entre a operacao dos dois sistemas.

4.1.1.1 Conversao de Nıveis Logicos

Uma das primeiras dificuldades encontradas e o fato do modulo Wi-Fi tra-

balhar a um nıvel de tensao de alimentacao mais baixo que o do microcontrolador.

O primeiro trabalha com uma logica de 3,3V, enquanto o segundo utiliza o padrao

de 5V. Consequentemente, ligar os terminais de comunicacao dos dois diretamente

poderia causar problemas na interpretacao dos nıveis logicos de tensao pelos circui-

tos de entrada de suas portas. Por isso, foram utilizados circuitos a diodo entre o

microcontrolador e o modulo Wi-Fi para adaptar os nıveis de tensao gerados por

ambos.

4.1.1.2 Controle das Bombas de Tinta

Para controlar as quatro bombas de tinta via PWM, o que permitiria regular

o fluxo de cada uma, seria necessario compartilhar um dos canais PWM do micro-

controlador. Este possui apenas quatro canais com essa funcao. Dois destes ja estao

reservados para controlar os motores de tracao. Portanto, restariam apenas dois, o

que nao e suficiente para controlar diretamente quatro bombas.

A solucao para esse problema foi multiplexar o controle das bombas de tinta

utilizando um demultiplexador (comumente abreviado como demux ) digital. A en-

trada deste foi ligada ao pino PWM do microcontrolador e as saıdas ligadas aos

drivers das bombas. O circuito integrado que atendia minimamente a essas especi-

ficacoes foi o CD4555.

O CD4555 e composto por dois demultiplexadores de uma entrada e quatro

saıdas. Apenas um dos demux foi utilizado no projeto.

25

Page 38: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Figura 4.1: Diagrama esquematico da placa de controle central

26

Page 39: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Cada demux do CD4555 tem uma entrada enable (E) que habilita a selecao de

suas saıdas. Isto e, quando um dos demux esta desabilitado (E=1), todas as saıdas

sao mantidas desativadas. Neste caso, com o integrado em questao, elas apresentam

nıvel logico ’0’. Por outro lado, quando o demux utilizado esta habilitado (E=0), a

saıda selecionada pelos pinos A e B e ativada, apresentando nıvel logico ’1’, enquanto

as demais permanecem em ’0’. Deste modo, pode-se transmitir um sinal chaveado

em logica inversa para a saıda selecionada atraves do pino enable.

Para implementar o controle das bombas, entao, um dos canais de PWM

do microcontrolador (OC0) gera o sinal de entrada para o demux no seu terminal

enable (E). Outros dois pinos do microcontrolador, funcionando como saıdas digitais,

selecionam uma das saıdas do demux atraves de suas entradas de enderecamento (A

e B). Cada uma das saıdas do demux (Q0 a Q3) esta ligada a uma das quatro

bombas de tinta, atraves de seu driver correspondente, na outra placa.

4.1.1.3 Controle do Sistema de Tracao

Os sinais para o controle do sistema de tracao diferencial sao transmitidos

diretamente ao circuito integrado L298N na placa dos drivers. Dois canais de PWM

do microcontrolador (OC1A e OC1B) geram os sinais para os pinos de enable de

cada ponte H do driver, provendo o controle de velocidade conforme discutido no

item 3.2.5. Outros dois pares de saıdas digitais do microcontrolador geram os sinais

para as entradas que controlam o sentido de rotacao do motor em cada ponte H.

4.1.1.4 Sensores

Nao foram incluıdos circuitos para sensores na placa para garantir certa fle-

xibilidade ao projeto. No entanto, para se conectar a sensores externos, foram dis-

ponibilizados conectores compartilhando vias de alimentacao e canais de conversao

analogico-digital do microcontrolador. Isso permitiria uma certa flexibilidade ao

sistema para se conectar a sensores que tem uma saıda de tensao analogica, como

alguns sensores de proximidade por reflexao de sinais de luz infravermelha.

27

Page 40: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

4.1.1.5 Indicacao de Estado

Por ultimo, foram disponibilizados tres LEDs para indicacao de estado do

sistema pelo microcontrolador. Cada um foi escolhido com uma cor diferente, para

indicar um tipo de informacao, tais como, estado da conexao, recepcao de dados,

transmissao de dados etc.

4.1.2 Projeto da Placa de Drivers

O projeto da placa dos drivers foi relativamente simples, e se baseou nas

especificacoes dadas pelo manual do fabricante de cada circuito integrado desta. O

diagrama esquematico da placa e apresentado na Figura 4.2.

Cada um dos drivers push-pull do L293D e conectado a um dos terminais

de cada motor das bombas de tinta. O outro terminal de cada motor e conectado

ao 0V do sistema. Dessa forma, quando um dos drivers tem sua entrada em nıvel

logico alto (’1’), o motor em sua saıda e ligado. Caso contrario, o motor permanece

desligado.

Como o sinal PWM gerado pelo microcontrolador na placa de controle central

e transmitido aos drivers pelo pino de enable do demux, pino este que e ativo em

’0’, este sera implementado em logica inversa pelo firmware do microcontrolador.

Os dois motores de tracao sao ligados as saıdas das pontes H do integrado

L298N. De acordo com o manual do fabricante, cada uma destas precisa ser ligada a

uma ponte de diodos quando uma cargas indutivas sao acionadas. Isso evita danos

aos circuitos internos do driver causados pela forca contra-eletromotriz do motor

quando este e desligado subitamente, como no caso de chaveamento via PWM.

Portanto, o projeto teve de incluir pontes de diodos de protecao associados a cada

motor do sistema de tracao. No caso do L293D, utilizado para acionar as bombas,

isto nao foi necessario por este ja incluir diodos de protecao internamente na saıda

de cada driver.

4.2 Desenvolvimento Computacional

O sistema computacional deste projeto e composto de duas partes: o firmware

do microcontrolador e o software para o PC do usuario. Quanto a este ultimo, no

28

Page 41: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Figura 4.2: Diagrama esquematico da placa dos drivers

entanto, a parte da interface esta sendo desenvolvida por outra equipe. A equipe

da eletronica esta encarregada apenas do software necessario para a comunicacao da

interface com o robo.

4.2.1 Firmware

O firmware corresponde ao codigo fixo presente na memoria de programa

do microcontrolador. Tal codigo implementa a inteligencia do robo, o controle dos

motores e a codificacao e decodificacao dos dados para a comunicacao via modulo

29

Page 42: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Wi-Fi.

O fluxograma principal do programa a ser executado pelo microcontrolador

e apresentado na Figura 4.3.

Quando o microcontrolador inicia sua operacao, o programa inicializa suas

variaveis e os perifericos que serao utilizados. As velocidades iniciais sao zeradas.

Paralelamente, o modulo Wi-Fi, previamente configurado, e inicializado e lanca um

ponto de acesso Wi-Fi automaticamente. O robo entra, entao, em modo de espera

por uma conexao TCP de um computador remoto com o modulo Wi-Fi.

Apos uma conexao via TCP ser estabelecida, o robo entra num ciclo central

do programa. Primeiramente, este checa as leituras dos sensores de colisao para

verificar se o robo colidiu com algum obstaculo antes de enviar qualquer comando

aos motores de tracao. Deste modo, o robo pode desviar do obstaculo antes de dar

prosseguimento a sua operacao.

Logo apos a verificacao e a abordagem de colisoes, o programa verifica se

algum novo comando foi recebido via Wi-Fi atraves de rotinas proprias para recepcao

de comandos via serial. Dentre os comandos possıveis, estao os de atualizacao de

configuracao, cor e velocidade do robo. Caso o comando recebido nao tenha sido

nenhum desses, ou nao esteja no formato ou faixa de valores correto, um erro e

registrado e sinalizado ao usuario.

4.2.1.1 Comunicacao

A recepcao de dados via UART pelo microcontrolador foi desenvolvida na

forma de maquinas de estados. Estas verificam os dados recebidos byte a byte,

comparando com as strings que notificam abertura ou fechamento de conexao, ou

verificando se e um comando de velocidade ou de cor atraves do formato.

Ha uma maquina de estados responsavel pelo monitoramento da conexao

TCP com dois estados possıveis:

1. Aguardando Conexao

2. Conexao Estabelecida

Chamaremos esta de Maquina 1.

30

Page 43: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Figura 4.3: Fluxograma principal do firmware

31

Page 44: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

No ultimo estado desta, e executada outra maquina de estados com tres

possıveis estados:

1. Aguardando Comando

2. Recebendo velocidade

3. Recebendo Cor

Esta chamaremos de Maquina 2.

Quando uma conexao TCP com o modulo Wi-Fi e aberta, este notifica

o microcontrolador via porta serial enviando a sequencia de caracteres (string)

”*OPEN*”. Do mesmo modo, quando a conexao e fechada, a string ”*CLOS*”e

enviada. Com isso, o microcontrolador foi programado para identificar essas strings

na sua rotina de recepcao de dados via UART para detectar uma mudanca de estado

da conexao. Ao ser detectada essa mudanca de estados, a rotina principal do pro-

grama, detalhada no fluxograma da Figura 4.3, e avisada atraves de uma variavel

que funciona como um flag de sinalizacao.

Figura 4.4: Diagrama de transicao de estados da Maquina 1

A Maquina 1 funciona conforme o diagrama apresentado na Figura 4.4. Inici-

almente, a maquina e inicializada no estado Aguardando Conexao. Quando a string

”*OPEN*”e recebida, o estado da Maquina 1 passa para Conexao Estabelecida.

Nesse momento, um flag e setado de modo que o loop principal do programa possa

32

Page 45: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

detectar a mudanca. A partir daı, a Maquina 2 entra em execucao conjunta, sendo

inicializada em Aguardando Comando, conforme o diagrama na Figura 4.5.

Figura 4.5: Diagrama de transicao de estados da Maquina 2

Ao receber um comando de velocidade ou de selecao de cor da tinta, a

Maquina 2 passa para o estado correspondente e aguarda a recepcao por inteiro

de um desses comandos. Apos isso, ou caso a recepcao falhe, por receber uma string

em formato diferente, a Maquina 2 volta ao seu estado inicial. Pode ocorrer tambem

que a string ”*CLOS*”seja recebida. Neste caso, o estado da Maquina 1 e alterado

para o inicial, e a Maquina 2 deixa de ser executada.

Os comandos de velocidade sao strings da forma ”vXX”, onde ”XX”e um

numero decimal de dois dıgitos em caracteres ASCII que pode valer de ”00”a ”10”.

Por exemplo, ”v05”, indica que o robo deve mudar sua velocidade para o valor 5,

que significa 50% do maximo atingıvel.

Quanto a selecao das cores, os comandos sao da forma ”cX”, onde ”X”e um

dıgito decimal de 0 a 4. O comando ”c0”indica que nenhuma bomba de tinta deve ser

acionado. Ja os comandos ”c1”a ”c4”indicam que a bomba de tinta correspondente,

dentre uma das quatro bombas disponıveis, deve ser acionada. Estes comandos sao

mutuamente exclusivos. Ou seja, se a bomba 3 estiver acionada, e o robo receber o

comando ”c2”, a bomba 3 e desligada e a bomba 2 e ligada.

33

Page 46: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

4.2.1.2 Geracao de Movimentos Aleatorios

Foi adotado para o robo o modelo cinematico do uniciclo(CARONA; AGUIAR;

GASPAR, 2008), dado por:

x

y

θ

=

cos(θ) 0

sin(θ) 0

0 1

· v

ω

(4.1)

onde v corresponde a velocidade de deslocamento linear, θ, ao angulo de orientacao,

ω, a velocidade de deslocamento angular em relacao ao mesmo eixo da orientacao,

e x e y sao as coordenadas da posicao do robo no plano.

A velocidade a ser mudada pelos comandos e a velocidade de deslocamento

linear do robo. A velocidade angular foi tornada a parcela aleatoria do sistema.

A intervalos de tempo de duracao pre-determinada, um novo valor de veloci-

dade angular e gerado para o robo. Dessa forma, este pode descrever uma trajetoria

curva e relativamente suave.

4.2.1.3 Controle dos Motores de Tracao por PWM

Adaptando o modelo do uniciclo ao caso de um robo com direcao diferencial,

podemos encontrar a relacao entre as entradas (v e ω) e as velocidades de cada roda

(v1 e v2), que serao nesse caso as saıdas. No caso do programa a ser executado pelo

microcontrolador, o que importa saber, no entanto, e o calculo do duty cycle de cada

PWM a ser transmitido aos motores do sistema de tracao.

Assumindo um robo de duas rodas simetricas e com um referencial posicio-

nado no centro do eixo entre as duas rodas, podemos deduzir as seguintes equacoes:

v =v1 + v2

2(4.2)

ω =v2 − v1RA

(4.3)

onde v1 e v2 sao as velocidades lineares da roda a esquerda e da roda a direita do

referencial. RA corresponde a distancia entre o centro do eixo das rodas e cada roda,

que e simetrica. Precisamos, no entanto, das relacoes envolvendo as velocidades de

34

Page 47: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

rotacao de cada roda (ω1 e ω2), que sao diretamente proporcionais ao duty cycle de

cada sinal PWM dos motores de tracao.

Sabemos que v1 = Rwω1

v2 = Rwω2

(4.4)

onde Rw corresponde ao raio das rodas. Substituindo 4.4 em 4.2 e 4.3, obtemos o

seguinte sistema v

ω

= Rw ·

12

12

− 1RA

1RA

·ω1

ω2

(4.5)

de onde podemos obter a inversaω1

ω2

=RA

Rw

·

1RA−1

2

1RA

12

· v

ω

(4.6)

A partir deste sistema, podemos ver queω1 = av − bω

ω2 = av + bω

(4.7)

onde a e b sao constantes que dependem das dimensoes fısicas do robo. Entre-

tanto, como o intuito e apenas desenvolver um algoritmo capaz de gerar movimentos

aleatorios, os valores de a e b podem ser arbitrados. Dessa forma, sabendo que o

duty cycle do PWM e proporcional a velocidade angular da roda, podemos adotar

as seguintes equacoes: n1 = a1v + b1ω

n2 = a2v + b2ω

(4.8)

onde n1 e n2 correspondem aos valores de duty cycle de cada PWM, e a1, a2, b1

e b2 sao constantes que dependem, neste caso, da potencia de cada motor. Estes

podem ter pequenas diferencas quanto a capacidade de torque e a velocidade maxima

atingıvel, fazendo com que respondam de maneira diferente a variacoes no valor do

duty cycle do PWM. Portanto, o sistema permite esse ajuste para compensacao, de

modo que o movimento do robo nao tenda para o lado do motor mais potente.

35

Page 48: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

4.2.1.4 Navegacao

A logica de navegacao do robo consistiu do emprego de uma tecnica simples

reativa. A cada iteracao do loop principal do programa, o robo checa o estado de

seus sensores de colisao. Foram considerados dois sensores de toque, ambos frontais,

estando um no canto esquerdo e outro no direito, como na Figura 4.6. Caso estes

indiquem uma colisao, o robo inicia uma sequencia de movimentos para se desviar

do obstaculo que atingiu. A sequencia e simplesmente recuar, e virar o veıculo em

direcao oposta a do obstaculo. Apos isso, o robo volta a sequencia de movimentos

aleatorios.

Figura 4.6: Disposicao dos sensores de colisao

4.2.2 Comunicacao a partir do PC

O desenvolvimento do driver para o PC do usuario foi deixado para um

trabalho futuro. Para testes, no entanto, foi utilizado o protocolo Telnet para a

comunicacao entre o computador e o robo atraves do software PuTTY.

Com o Telnet, e possıvel abrir um canal de comunicacao entre dois hosts

numa rede TCP/IP para troca bidirecional direta de dados entre terminais (POS-

TEL; REYNOLDS, 1983). O software PuTTY oferece um terminal para que dados

codificados em texto ASCII possam ser enviados e recebidos do modulo Wi-Fi. Isso

possibilitou testar o protocolo de comunicacao elaborado para a transmissao de co-

mandos ao robo.

36

Page 49: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Capıtulo 5

Implementacao do Projeto

A implementacao do projeto foi gradativa, iniciando pelo teste e configuracao

do modulo Wi-Fi, e seguindo ate a montagem de um prototipo para testes da

eletronica a ser embarcada no produto final. Nao foi possıvel, entretanto, obter

o hardware mecanico completo do robo para implementar e testar o projeto. Este

ainda nao estava concluıdo pela equipe responsavel pela parte mecanica. Por isso, foi

utilizada uma plataforma robotica desenvolvida pelo aluno para projetos pessoais.

5.1 Configuracao do Modulo Wi-Fi

O modulo RN-XV da Roving Networks (ver Figura 5.1) que foi utilizado

no projeto apresenta formato fısico e pinagem semelhante(ROVING NETWORKS,

2012) ao dos modulos XBee R© da Digi International (DIGI, 2014). Deste modo,

o RN-XV torna-se compatıvel com a maioria das ferramentas de desenvolvimento

disponıveis para os modulos XBee. Dentre elas, temos os adaptadores USB, dos

quais o modelo oferecido por (ROGERCOM, 2014) foi utilizado (ver Figura 5.2).

Um dos primeiros procedimentos a fazer antes de comecar a utilizar as fun-

cionalidades oferecidas pelo modulo e atualizar seu firmware. Para fazer isto, e

necessario acessar o modulo em modo de comando e enviar-lhe uma determinada

sequencia de comandos (ROVING NETWORKS, 2013).

O acesso ao modulo, por sua vez, pode ser realizado atraves da porta serial

ou de uma conexao TCP. A porta serial pode ser acessada atraves de uma conexao

USB com o adaptador mencionado anteriormente. Quanto ao acesso via TCP, no

37

Page 50: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Figura 5.1: Modulo Wi-Fi RN-XV (Fonte: https://www.sparkfun.com/products/10822)

Figura 5.2: Adaptador USB para o Modulo Wi-Fi (ROGERCOM, 2014)

entanto, o modulo ainda nao esta configurado para se conectar a alguma rede Wi-

Fi em particular no primeiro uso. Portanto, para acessa-lo via TCP e necessario

inicializa-lo em modo Soft AP, que o faz funcionar como ponto de acesso, ou Ad Hoc,

dependendo da versao do firmware presente originalmente (ROVING NETWORKS,

2013). Isto pode ser feito via hardware utilizando pinos especıficos do modulo, o

que torna possıvel essa configuracao no primeiro uso.

O firmware do modulo foi atualizado para a versao 4.0 neste trabalho, que

era a mais recente na epoca em que se iniciou o uso do dispositivo. No momento,

ja existe uma versao mais nova. Esta, no entanto, apresentou problemas no modo

Soft AP que desencorajaram seu uso.

Para que um computador remoto se conecte ao robo, existem algumas ma-

neiras possıveis, como descrito na Secao 2.1. Utilizar o modulo em modo Soft AP

corresponde a opcao 2 descrita, em que o robo lanca sua propria rede. Neste caso,

o modulo Wi-Fi pode utilizar um endereco IP fixo sem conflitos, ja que o proprio

38

Page 51: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

modulo distribui os enderecos IP via DHCP as estacoes clientes da rede. Com isso,

o modulo atua como um servidor, e o computador do usuario, como cliente. Esta

opcao se mostrou a mais conveniente para o projeto. A unica desvantagem seria a

possıvel perda do acesso a Internet pelo computador do usuario. Todavia, durante

as atividades em questao, este deve ser reservado somente para o controle do robo.

5.2 Implementacao do Firmware

Para desenvolver o firmware, este foi implementado utilizando um microcon-

trolador PIC18F4620 da Microchip que o aluno possuıa em casa. Desta forma, foi

possıvel dedicar mais horas a esta etapa do projeto do que seria possıvel no labo-

ratorio. O ATmega32-16pu sera utilizado para a implementacao final do produto

que sera entregue as clientes do projeto.

Tanto o PIC (MICROCHIP, 2008) quanto o ATmega (ATMEL, 2011) sao

programaveis em linguagem C. Ambos os modelos utilizados sao microcontrolado-

res de 8 bits e com caracterısticas semelhantes. Dentre as principais diferencas,

no entanto, temos que o PIC18F4620 tem o dobro da quantidade de memoria de

programa do ATmega32-16pu e quase o dobro tambem de memoria SRAM (3968 B

contra 2048 B), tendo, contudo, apenas dois canais PWM independentes e veloci-

dade de operacao maxima de 10 MIPS a um clock de 40 MHz.

Para contornar essas diferencas, podemos manter o tamanho do programa em

termos de instrucoes e de dados dentro do compatıvel entre os dois microcontrola-

dores. Outra medida necessaria foi a mudanca do controle das bombas de tinta para

um do tipo on/off (liga/desliga), em vez de PWM, ja que o PIC utilizado possuıa

apenas dois canais PWM.

O ambiente de desenvolvimento integrado MPLAB X da Microchip, fabri-

cante do PIC, foi utilizado para o desenvolvimento do firmware. Ele oferece ferra-

mentas para o gerenciamento de projetos de firmware, a edicao e a compilacao de

codigo e a programacao de microcontroladores PIC. Dentre essas, o compilador XC8,

tambem da Microchip, proveu os meios para utilizar a linguagem C na programacao

do microcontrolador. Ambas as ferramentas sao disponibilizadas em versoes gratui-

tas e pagas. As diferencas entre as versoes estao basicamente no nıvel de otimizacao

39

Page 52: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

do codigo de maquina gerado. Na versao gratuita, utilizada no presente projeto, a

otimizacao e mınima. No entanto, isso nao veio a atrapalhar o desenvolvimento do

firmware neste trabalho.

Para programar o microcontrolador, foi utilizada a ferramenta PKBurner (ver

Figura 5.3), fabricado pela Carelle. Este e um programador e debugger para PICs

que utiliza o firmware PICKit2 da Microchip. Ele permite programacao via ICSP,

sigla, em ingles, para In-Circuit Serial Programming (MICROCHIP, 2003). Com

isso, e possıvel programar o microcontrolador, sem retira-lo do circuito, atraves de

um cabo proprio.

Figura 5.3: Programador para microcontroladores PIC utilizado no projeto (Fonte: Ma-nual do fabricante, fornecido com o produto)

5.3 Implementacao do Hardware

Foi utilizada uma plataforma robotica experimental, apresentada na Figura

5.4, para testes. Esta e constituıda de dois motores com caixa de reducao originarios

de servomotores de aeromodelismo para tracao. Ha uma roda de livre do tipo castor

para apoiar o robo. Chaves de fim-de-curso sao utilizadas como sensores de colisao.

O chassis e feito de alumınio.

O software Eagle da Cadsoft foi utilizado na diagramacao dos circuitos eletronicos

40

Page 53: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Figura 5.4: Plataforma robotica utilizada para testes

projetados. Este software e fornecido em versoes gratuitas e pagas por sua empresa.

A versao gratuita, que foi utilizada, nao ofereceu limitacoes que viessem a interferir

negativamente no desenvolvimento do projeto.

Para testar o projeto, nao foi montado o circuito da Figura 4.1 em conjunto

com o da Figura 4.2, mas sim o da Figura 5.5, em uma protoboard. Os motivos para

tal alteracao foi a utilizacao de outro microcontrolador, a inclusao de um adaptador

para o modulo Wi-Fi, que o torna utilizavel em protoboard, e a ausencia de mo-

tores de bombas peristalticas para testes. Contudo, o circuito montado mostrou-se

suficiente para provar os conceitos a serem implementados no produto final e fazer

os ajustes necessarios no firmware, que tambem sera adaptado para a versao de

entrega.

Os LEDs indicam o estado do programa. O LED1 se mantem piscando

durante a execucao do loop principal. o LED2 acende quando uma conexao TCP e

estabelecida pelo modulo e reconhecida pelo microcontrolador. Este LED se mantem

aceso ate que a conexao venha a se fechar.

Nao foi empregado o integrado L293D, ja que nao estavam disponıveis os

motores das bombas peristalticas ou outros motores que se pudessem utilizar para

testes. Contudo, a parte responsavel pelo acionamento dessas cargas foi implemen-

tada no firmware.

A alimentacao do circuito foi providenciada por dois conjuntos de baterias

de nıquel metal-hidreto (NiMH) em serie, cada um fornecendo uma tensao de 4,8V.

O conjunto inferior, com baterias de 2500mAh (ver Figura 5.6), fornece alimentacao

diretamente para os motores, que demandam maior capacidade de corrente. Indire-

41

Page 54: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Figura 5.5: Diagrama esquematico do circuito de testes

42

Page 55: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

tamente, este conjunto se soma ao conjunto superior, com baterias de 2300mAh (ver

Figura 5.7), para fornecer alimentacao para a parte logica do circuito. Um conjunto

nao seria suficiente para este fim, pois a tensao das baterias pode variar ao longo

de seu ciclo de descarga. Dentre essas variacoes, ela pode estar bastante acima dos

valores maximos suportados pelo integrados, o que seria danoso para os mesmos.

Portanto, a melhor solucao foi elevar essa tensao, de modo a poder regula-la com

um regulador de tensao, mantendo-a estabilizada em um valor aceitavel ao longo da

descarga das baterias.

Figura 5.6: Conjunto de baterias de 2500 mAh

Figura 5.7: Conjunto de baterias de 2300 mAh

O conjunto completo montado, envolvendo a plataforma, as baterias e o cir-

cuito montado na protoboard, e mostrado na Figura 5.8. Este robo experimental

foi utilizado para testar as rotinas de navegacao e geracao de movimento aleatorio.

Com o proprio ajuste das constantes na Equacao 4.8, o robo pode apresentar uma

movimentacao satisfatoria. Contudo, um melhor sistema de equacoes para determi-

nar os valores de duty cycle para o PWM de cada motor de tracao em funcao da

43

Page 56: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

velocidade linear v foi determinado durante os testes comon1 = (a1 + k)v

n2 = (a2 + k)v

(5.1)

onde a1 e a2 sao constantes que dependem da resposta dos motores ao PWM e k

e um valor gerado aleatoriamente a intervalos regulares de tempo. Neste sistema,

podemos dizer que o termo de velocidade angular (ω) e uma funcao de v, sendo

ω = kv (5.2)

Portanto, este novo sistema gera um movimento aleatorio cuja intensidade acompa-

nha o valor da velocidade linear. Ou seja, se o valor de velocidade linear for pequeno,

as mudancas de velocidade angular tambem serao pequenas. No sistema anterior,

isto nao acontecia, gerando alguns movimentos bruscos quando o robo estava em

baixa velocidade.

Figura 5.8: Robo de testes montado

44

Page 57: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

5.4 Dificuldades Encontradas

Com o modulo Wi-Fi funcionando como ponto de acesso, ele cria uma rede a

qual o computador do usuario pode se conectar. Ao conectar-se, atraves do DHCP, o

modulo associa um endereco IP ao computador. Com o IP corretamente associado,

o computador pode passar a usufruir dos servicos da rede. Entretanto, houveram

problemas nesse processo. O modulo teve dificuldades em reconhecer pedidos de

conexao feitos pelo PC rodando o sistema operacional Windows R© 7, da Microsoft.

Algumas vezes, era necessario tentar novamente o processo para que a associacao do

IP fosse feita. O mesmo nao acontecia com smartphones Android R©, que conseguiam

se conectar na primeira tentativa.

Para contornar o problema descrito acima uma possıvel solucao seria o modulo

associar-se a uma rede preexistente. Neste caso, ele receberia um endereco IP dado

pelo ponto de acesso da rede. Como este processo e automatico e o endereco IP

associado e desconhecido a princıpio, o modulo precisaria informar seu endereco ao

console de comando do usuario. Isto pode ser feito atraves de mensagens de broad-

cast via UDP (POSTEL, 1980), outro protocolo da camada de transporte da suıte

TCP/IP. Contudo, esta solucao foi deixada para uma implementacao futura.

Na implementacao do firmware, houveram dificuldades relacionadas ao con-

trole dos motores. Dependendo da frequencia do PWM, pulsos de largura pequena

poderiam nao ser suficientes para tirar o motor da inercia. Isso poderia causar um

ruıdo audıvel em algumas situacoes, caso a frequencia estivesse dentro da faixa de

audio.

Observacoes demonstraram que frequencias mais baixas obtinham melhores

resultados com pulsos pequenos. Outro fator, entretanto, que influencia nesse caso

e que a resolucao do PWM tambem e dependente da frequencia do mesmo e da

frequencia de clock do microcontrolador (MICROCHIP, 2008). Dependendo desses

valores, uma resolucao de 10 bits, a maxima fornecida pelo PIC, nao seria possıvel.

Com isso, pequenos valores de duty cycle nao surtiriam efeito por estarem abaixo

do limites da resolucao. Frequencias baixas funcionariam melhor, porem um ruıdo

audıvel poderia ser gerado, mesmo com o motor em rotacao. Portanto, foi necessario

encontrar um equilıbrio entre a frequencia do PWM e a resolucao do mesmo. De

qualquer forma, uma zona morta, faixa de valores que nao surtiam efeito no motor,

45

Page 58: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

do duty cycle do PWM nao teve como nao ser evitada, e limites mınimos foram

incluıdos na rotina de geracao de movimentos aleatorios.

Um ultimo problema que ocorreu durante testes com o robo foi o modulo Wi-

Fi deixar de funcionar como havia sido configurado. Sua rede nao estava mais sendo

lancada. Isto pode ter sido causado por ruıdos causados pelos motores que foram

transmitidos atraves das linhas de alimentacao. Uma investigacao mais profunda

sera necessaria para confirmar essa possibilidade. Todavia, uma maneira de evitar

esse problema seria colocar o modulo em uma placa separada da dos drivers, como

a projetada na Secao 4.1.1, com linhas de alimentacao melhor filtradas.

46

Page 59: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Capıtulo 6

Conclusoes e Trabalhos Futuros

O trabalho apresentado consistiu em elaborar o projeto do modulo de con-

trole e dos drivers de acionamento dos motores de um robo controlado via Wi-Fi a

ser utilizado em atividades de Terapia Ocupacional envolvendo pintura. As placas

correspondentes foram projetadas. Um circuito eletronico de testes pos a prova o

firmware desenvolvido e a parte principal do hardware do robo. Por fim, uma plata-

forma robotica experimental foi utilizada para verificar o funcionamento do trabalho

desenvolvido. Este cumpriu com o esperado.

O projeto do robo como um todo ainda esta em fase de desenvolvimento. Por

isso, nao foi possıvel utilizar o hardware mecanico final do robo alvo deste projeto

para realizar testes e prosseguir com o desenvolvimento. Isto, contudo, sera feito a

medida que o projeto prosseguir.

Como trabalhos futuros, ainda e necessario melhorar a parte de deteccao de

colisao. Pretende-se trocar os sensores de toque por sensores de corrente eletrica

e utilizar o monitoramento da corrente passando pelo motor como indicador de

colisao quando o robo estiver em deslocamento. Ao colidir, o motor necessitara fazer

um esforco maior que o usual para girar o roda, a qual sera forcada a parar pelo

obstaculo. Com isso, a demanda por torque exigira uma corrente de armadura maior

para o motor, situacao que podera, entao, ser detectada pelo modulo de controle.

Isso oferece uma solucao mais compacta e robusta para a deteccao de obstaculos,

por nao depender da area de abrangencia dos sensores de toque.

Alem dos sensores, o driver de comunicacao para o PC tambem deve ser

desenvolvido para que haja a conexao entre o robo e a interface grafica. O driver

47

Page 60: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

implementara a comunicacao via TCP/IP com o robo e metodos para a interface

acessar as funcionalidades do mesmo sem ter que implementar o encapsulamento

dos dados e o uso dos protocolos necessarios.

48

Page 61: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Apendice A

Redes Locais Sem Fio

Redes locais sem fio, ou WLANs (Wireless Local Area Networks), sao redes

formadas por dispositivos interconectados por meio de links de radio, que utilizam,

em sua maioria, os padroes IEEE 802.11 (IEEE STANDARDS ASSOCIATION,

2012) e sua famılia de padroes, conhecidos pela marca Wi-FiTM. Hoje em dia,

alem dos dispositivos conhecidamente capazes de se comunicar via Wi-Fi, tais como

computadores, roteadores, celulares e tablets, encontramos impressoras, webcams,

brinquedos, televisores, geladeiras e cada vez mais dispositivos conectados em rede

via Wi-Fi (MOREAU, 2014).

Cada dispositivo acessıvel dentro de uma rede Wi-Fi e referido como uma

estacao. O bloco basico de toda rede Wi-Fi, no entanto, e o conjunto basico de

servicos (IEEE STANDARDS ASSOCIATION, 2012), expresso em ingles como Ba-

sic Service Set (BSS). Cada BSS e formado por um grupo de estacoes associadas

em rede dentro de uma area de cobertura determinada, dentre outros fatores, pelo

alcance das estacoes e do ponto de acesso.

Uma rede Wi-Fi pode ser formada por varios BSSs conectados entre si por

um sistema de distribuicao, que tambem e um componente arquitetural de redes

IEEE 802.11. O sistema de distribuicao nao necessariamente e composto de por

um meio de propagacao via radio, podendo, por exemplo, utilizar-se de uma rede

cabeada, operando, neste caso, em outro padrao. Esse e o caso de redes que cobrem

locais amplos como shoppings, campi universitarios, bibliotecas etc. Neste caso, por

exemplo, uma estacao pode ser movel e sair da area de cobertura de um BSS e entrar

na area de outro, mantendo-se, no entanto, associada a mesma rede. Os multiplos

49

Page 62: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

BSSs junto ao sistema de distribuicao formam um conjunto de servicos estendido,

em ingles, extended service set (ESS).

Quanto ao modo de operacao, cada BSS pode operar de duas maneiras dife-

rentes: ad hoc e infraestrutura. O modo ad hoc constitui o mais simples. Nele,

duas estacoes podem se comunicar diretamente, formando um BSS independente

(IBSS), sem a utilizacao de um ponto de acesso a redes externas, como a Internet.

Entretanto, esse modo so e possıvel quando as estacoes tem essa capacidade. Este

nao e o caso de alguns smartphones, por exemplo.

O segundo modo de operacao, infraestrutura, consiste o modo mais utilizado.

Nele pode ocorrer a presenca de varias BSSs interligadas por um sistema de distri-

buicao, como descrito acima. Neste modo, as estacoes podem ser classificadas em

dois tipos basicos: clientes e pontos de acesso. Pontos de acesso sao estacoes que

dao acesso a rede, ou seja, que permitem que dados e servicos sejam compartilhados

entre suas estacoes associadas e o restante da rede ou redes externas. Clientes sao

as estacoes que se utilizam dos pontos de acesso para se conectar.

Toda rede Wi-Fi, seja ela ad hoc ou infraestrutura, e identificada por uma

SSID (Service Set IDentifier), que pode ser entendido como o nome da rede. Este

nome e o que aparece, geralmente, na listagem de redes Wi-Fi disponıveis no menu

de conexoes num PC ou num celular. No entanto, uma rede pode ser secreta, e nao

ter sua SSID divulgada. Neste caso, para se conectar a rede, um dispositivo precisa

ter esse nome previamente informado.

Quanto a seguranca, redes Wi-Fi podem ter suas conexoes criptografadas

atraves de alguns protocolos. Os mais comuns sao o WPA (Wi-Fi Protected Access)

e o WPA2 (BENTON, 2010).

Numa rede Wi-Fi, assim como numa rede cabeada, os nos da rede, no caso,

as estacoes, podem ser acessados por seu endereco IP atraves da rede. Este esquema

de enderecamento e discutido no Apendice B.

50

Page 63: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Apendice B

Protocolo IP

O IP (Internet Protocol) e o principal protocolo de comunicacao utilizado na

Internet atualmente. Ele estabelece meios para a transmissao de pacotes de dados

entre os nos da rede, onde cada no e identificado por um endereco de comprimento

fixo (POSTEL, 1981a). Nele tambem sao providos metodos para fragmentacao e

remontagem de pacotes de dados.

Na suıte de protocolos da Internet, que pode ser dividida num modelo de 4

camadas, o IP faz parte da camada de interligacao de redes, em ingles, chamada de

internet layer, que nao deve ser confundido com a rede Internet global. A camada de

interligacao possibilita a interconexao de diversas redes locais em uma unica grande

rede, como e a Internet. Na Figura B.1 sao apresentadas as camadas e os principais

protocolos e padroes utilizados em cada uma atualmente.

Figura B.1: Camadas da suıte de protocolos da Internet (STRABELLO, 2010).

51

Page 64: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

O IP, por si so, nao fornece metodos para o transporte dos pacotes de da-

dos de um ponto a outro. Estes sao fornecidos pela camada acima, a camada de

transporte. Esta camada, por sua vez, utiliza metodos do IP para que seus dados

cheguem ao destino desejado. A camada de interligacao, entao, recebe os pacotes e

os repassa pela camada de rede fısica. Nesta ultima, temos a distincao entre as redes

cabeadas e as redes sem fio Wi-Fi. Acima dela, no entanto, pode-se utilizar todos

os protocolos das outras camadas da mesma maneira, tanto numa rede cabeada (via

Ethernet, por exemplo) como numa rede Wi-Fi. Desta forma, no desenvolvimento

de uma aplicacao para controle via rede Wi-Fi, torna-se possıvel a utilizacao dos

principais protocolos utilizados atualmente na Internet e em redes locais cabeadas

sem diferenca a nıvel de interligacao, transporte ou aplicacao.

Enderecos IP identificam cada host (dispositivo conectado a rede) numa

rede IP. Na versao 4 do IP, a principal utilizada atualmente, embora existam mais

recentes, constitui o endereco IP por um numero binario de 32 bits separados em

octetos. Estes sao geralmente visualizados com cada octeto binario separado por

pontos e convertido para um numero decimal, como na Tabela B.1.

Endereco IP (binario): 1100000 10101000 00000001 00000001Endereco IP (decimal): 192 168 1 1Forma de apresentacao: 192.168.1.1

Tabela B.1: Exemplo de endereco IP

Os primeiros bits de um endereco IP indicam o numero da rede a qual ele per-

tence, enquanto os bits restantes indicam o endereco local. Para essa divisao, existem

tres formatos, divididos em classes, principais de endereco (POSTEL, 1981a):

• Classe A: O bit mais significativo e ”0”, os proximos 7 bits sao o numero da

rede e os 24 bits restantes formam o endereco local.

• Classe B: Os 2 bits mais significativos sao ”10”, os proximos 14 bits sao o

numero da rede e os 16 bits restantes formam o endereco local.

• Classe C: Os 3 bits mais significativos sao ”110”, os proximos 21 bits sao o

numero da rede e os 8 bits restantes formam o endereco local.

Alem destas, existem ainda classes de enderecos para propositos especiais

que sao reservadas. Alguns exemplos sao listados abaixo (COTTON et al., 2013)

52

Page 65: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

na notacao CIDR (FULLER et al., 1993). Nesta notacao, o numero apos a barra

indica quantos dos bits mais significativos pertencem ao numero da rede, sendo os

restantes reservados para enderecos locais.

• Localhost (acesso do host a si proprio internamente): 127.0.0.0/8;

• Redes privadas: 10.0.0.0/8, 172.16.0.0/12, 169.254.0.0/16, 192.168.0.0/16;

• Broadcast (destinado a todos os hosts): 255.255.255.255.

Enderecos locais podem tambem ser agrupados em sub-redes dentro de uma

rede maior. Tais agrupamentos sao definidos pela mascara de sub-rede, tambem

muitas vezes chamada apenas de mascara de rede.

Uma mascara de sub-rede determina quais bits pertencem ao numero de rede,

tambem chamado prefixo de rede. Ela tem o formato de um endereco IP, sendo que,

em binario, seus 1’s indicam os bits pertencentes ao numero da rede e seus 0’s, os

que pertencem ao endereco do host. Como exemplo, podemos utilizar a configuracao

abaixo:

Numero de rede : 192.168.1.0

Mascara de sub-rede : 255.255.255.0

Neste caso, os ultimos 8 bits do endereco IP sao reservados para os hosts. Com

isso, estes tem disponıveis os enderecos de 192.168.1.1 a 192.168.1.254. O endereco

192.168.1.0 identifica a rede, e nao e utilizado para hosts. 192.168.1.255 e o endereco

de broadcast da rede.

Quanto a atribuicao, enderecos IP podem ser estaticos ou dinamicos. En-

derecos estaticos sao atribuıdos manualmente pelo administrador da rede a um

host. Enderecos dinamicos sao atribuıdos a um host por um perıodo de tempo

pre-determinado. Uma das maneiras de se fazer isso e atraves do protocolo DHCP

(Dynamic Host Configuration Protocol).

O DHCP (DROMS, 1997) fornece metodos para configurar um host dentro

de uma rede automaticamente. Ao conectar-se a uma rede, um host cliente envia um

pacote especial de broadcast, que e destinado a todos os nos da rede. Este pacote

e capturado pelo servidor DHCP, que numa rede domestica trata-se do roteador.

53

Page 66: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Este servidor, entao, responde ao cliente com com a configuracao que este devera

ter, contendo endereco IP associado ao cliente, mascara de sub-rede, endereco do

gateway padrao e o tempo de emprestimo desse endereco IP, alem de outros dados

possıveis.

Um gateway (termo da lıngua inglesa que pode ser traduzido como portal)

e o no da rede local responsavel por rotear dados enviados de um no local a um no

de uma rede externa. Ou seja, dados enviados a um endereco IP que nao pertenca

a rede sao encaminhados para o gateway No caso de redes domesticas, o gateway

padrao e o roteador.

Apos o tempo de emprestimo ser esgotado, o cliente devera solicitar nova-

mente a configuracao. Quando o cliente se desconecta ou seu tempo de emprestimo

se esgota, seu endereco IP volta a uma lista de enderecos disponıveis no servidor

DHCP.

Utilizando o DHCP, portanto, dispositivos podem se conectar a uma rede

automaticamente, sem haver a possibilidade de conflitos de enderecos IP entre eles.

54

Page 67: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Apendice C

Protocolo TCP

O TCP (Transmission Control Protocol) (POSTEL, 1981b) e um dos proto-

colos mais utilizados para transmissao de dados na Internet e em redes locais. Ele e

um dos protocolos principais da suıte de protocolos da Internet, a ponto desta suıte

ser tambem chamada TCP/IP.

Uma das caracterısticas centrais na concepcao do TCP e a confiabilidade.

Este protocolo lida com a segmentacao e o ordenamento dos dados enviados pela

aplicacao do usuario remetente e o reagrupamento destes na sequencia correta na

aplicacao do destinatario. O protocolo tambem oferece mecanismos de controle de

fluxo para garantir que cada uma das partes seja capaz de enviar e receber os dados

trocados integralmente. Todos esses aspectos, no entanto, ficam, em sua maioria,

invisıveis para a aplicacao do usuario.

O TCP permite que multiplos processos dentro de um mesmo host (um

dispositivo conectado a rede) se comuniquem simultaneamente com os processos de

outros hosts. Isto e possibilitado atraves de um sistema de enderecamento por pontos

de entrada e saıda de dados chamados portas. Cada porta pode ser conectada a um

processo diferente dentro de um mesmo host, e, atraves dela, um processo a outro

num host remoto.

O TCP e um protocolo orientado a conexoes. No TCP, conexoes sao forma-

das a partir da interligacao de soquetes. Estes sao identificadores constituıdos do

endereco IP de um host seguido de um de numero de porta. Dados sao trocados

entre pares de soquetes formados por uma origem e um destino. Uma conexao,

por sua vez, e formada por esse par de soquetes em conjunto com informacoes de

55

Page 68: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

controle de fluxo e o fluxo de dados em si.

Em sua interface, o TCP fornece a camada de aplicacao metodos para a

abertura, o fechamento e o monitoramento de conexoes, alem dos metodos para

envio e recebimento de dados. Isto e feito de maneira semelhante a interface para

manipulacao de arquivos num sistema operacional. Desta forma, uma aplicacao

pode enviar e receber dados via TCP como se estivesse escrevendo ou lendo um

arquivo, respectivamente, sem ter que lidar com detalhes relativos a maneira como

isso e implementado.

56

Page 69: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Apendice D

Controle de Velocidade via PWM

Conforme visto na equacao 3.2, a velocidade de rotacao de motores DC do

tipo brushed pode ser controlada atraves da intensidade da corrente eletrica fluindo

pela armadura do motor. Esta, por sua vez, pode ser controlada analogicamente

ou digitalmente. Neste ultimo caso, a tecnica de controle geralmente utilizada e

a modulacao por largura de pulso, ou, em ingles, pulse width modulation (PWM)

(CONDIT, 2010).

No controle via PWM, a grandeza a ser controlada e chaveada a uma frequencia

constante, mas com pulsos de largura variavel, como na Figura D.1. Como con-

sequencia, o valor medio da variavel torna-se controlavel digitalmente, sendo dire-

tamente proporcional ao ciclo de trabalho (em ingles, duty cycle). Este e a razao

entre o tempo de duracao do pulso e o perıodo do sinal, sendo geralmente expresso

por uma porcentagem.

No caso de um motor DC brushed nas condicoes assumidas neste projeto, a

corrente de armadura e proporcional a tensao, conforme se deduz pelas equacoes 3.3

e 3.4. Com isso, a tensao de armadura pode ser chaveada via PWM atraves de um

driver em ponte H para se obter um controle de corrente, e, consequentemente, de

velocidade de rotacao do motor.

57

Page 70: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Figura D.1: Exemplos de sinais PWM (OLSON, 2013)).

58

Page 71: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

Referencias Bibliograficas

ATMEL. 8-bit Microcontroller with 32KBytes In-System Programmable Flash:Atmega32 atmega32l. [S.l.], 2011. paginas 22, 39

BARONTI, P. et al. Wireless sensor networks: A survey on the state of the artand the 802.15. 4 and zigbee standards. Computer communications, Elsevier, v. 30,n. 7, p. 1655–1695, 2007. paginas 4

BENINGO, J. Bootloader design for microcontrollers in embedded systems.In: Embedded Systems Conference - East 2012. Beningo Engineering, 2012.Disponıvel em: 〈http://beningo.com/images/Papers/bootloader\ design\ for\microcontrollers\ in\ embedded\ systems\%20.pdf〉. Acesso em: 11 Mar. 2014.

paginas 22

BENTON, K. Report, The Evolution of 802.11 Wireless Security. Identity Theftand Financial Fraud Research and Operations Center, 2010. Disponıvel em:〈http://itffroc.org/pubs/benton\ wireless.pdf〉. paginas 50

BONA, J.; PRENTICE, M. Pyrovio: Python api for wowwee rovio. New York,p. 1–9, 2009. paginas 4

BRAIN, M. How microcontrollers work. HowStuffWorks. Np, nd Web, v. 10,2013. Disponıvel em: 〈http://electronics.howstuffworks.com/microcontroller.htm〉.Acesso em: 9 Mar. 2014. paginas 20

BRECH, B. et al. The Interconnecting of Everything. IBM Academy of Technology,2013. Disponıvel em: 〈http://www.redbooks.ibm.com/redpapers/pdfs/redp4975.pdf〉. Acesso em: 9 Mar. 2014. paginas 11

CARONA, R.; AGUIAR, A. P.; GASPAR, J. Control of unicycle type robots:Tracking, path following and point stabilization. In: Proc. of IV Jornadas deEngenharia Electronica e Telecomunicacoes e de Computadores. Lisboa, Portugal:Instituto Superior Tecnico, 2008. p. 180–185. paginas 34

CONDIT, R. AN905: Brushed DC Motor Fundamentals. 2010. Disponıvel em:〈http://ww1.microchip.com/downloads/en/AppNotes/00905B.pdf〉. Acesso em: 12Mar. 2014. paginas 14, 17, 57

CONDIT, R.; JONES, D. W. AN907: Stepping Motors Fundamentals. 2004.Disponıvel em: 〈http://ww1.microchip.com/downloads/en/AppNotes/00907a.pdf〉.Acesso em: 14 Mar. 2014. paginas 14

59

Page 72: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

COTTON, M. et al. (Ed.). RFC 6890 Special-Purpose IP Address Registries. InternetEngineering Task Force, 2013. Disponıvel em: 〈http://tools.ietf.org/html/rfc6890〉.paginas 52

DIGI. Need Wireless? Choose XBee. 2014. Disponıvel em: 〈http://www.digi.com/xbee/〉. Acesso em: 12 Mar. 2014. paginas 37

DOISY, G. Sensorless collision detection and control by physical interactionfor wheeled mobile robots. In: Proceedings of the Seventh Annual ACM/IEEEInternational Conference on Human-Robot Interaction. New York, NY, USA:ACM, 2012. (HRI ’12), p. 121–122. ISBN 978-1-4503-1063-5. Disponıvel em:〈http://doi.acm.org/10.1145/2157689.2157715〉. paginas 9

DROMS, R. (Ed.). RFC 2131 Dynamic Host Configuration Protocol. InternetEngineering Task Force, 1997. Disponıvel em: 〈http://tools.ietf.org/html/rfc2131〉.Acesso em: 16 Fev. 2014. paginas 53

FRIEDMAN, R.; KOGAN, A.; KRIVOLAPOV, Y. On power and throughputtradeoffs of wifi and bluetooth in smartphones. Mobile Computing, IEEETransactions on, v. 12, n. 7, p. 1363–1376, July 2013. ISSN 1536-1233. paginas 12

FULLER, V. et al. (Ed.). RFC 1519 Classless Inter-Domain Routing (CIDR): anAddress Assignment and Aggregation Strategy. Internet Engineering Task Force,1993. Disponıvel em: 〈http://www.ietf.org/rfc/rfc1519.txt?number=1519〉. paginas53

GALER, M.; HORVAT, L. Cmyk colour. In: . Digital Imaging: EssentialSkills. [S.l.]: Taylor & Francis, 2003. (Photography Essential Skills Series), cap.Colour Management, p. 74. paginas 10

IEEE STANDARDS ASSOCIATION. Part 11: Wireless LAN Medium AccessControl(MAC) and Physical Layer (PHY) Specifications. New York, NY, USA,2012. (IEEE Standard for Information technology - Telecommunications andinformation exchange between systems, Local and metropolitan area networks -Specific requirements). paginas 49

MICROCHIP. In-Circuit Serial Programming (ICSP) Guide. [S.l.], 2003. Disponıvelem: 〈http://ww1.microchip.com/downloads/en/devicedoc/30277d.pdf〉. Acessoem: 18 Mar. 2014. paginas 40

MICROCHIP. PIC18F2525/2620/4525/4620 Data Sheet : 28/40/44-pin enhancedflash microcontrollers with 10-bit a/d and nanowatt technology. [S.l.], 2008. paginas21, 39, 45

MOREAU, E. 10 Everyday Household Appliances Now with Wi-Fi. 2014. Disponıvelem: 〈http://webtrends.about.com/od/Mobile-Web-Beginner/tp/Wi-fi-Appliances.htm〉. Acesso em: 15 Fev. 2014. paginas 49

NI. Motor Fundamentals. [S.l.], 2011. Disponıvel em: 〈http://www.ni.com/white-paper/3656/en/〉. Acesso em: 14 Mar. 2014. paginas 15

60

Page 73: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

NXP. AN11008 - Flash based non-volatile storage: Application note. 2011. Dis-ponıvel em: 〈http://www.digikey.com/Web\%20Export/techzone/microcontroller/nxp-an11008.pdf〉. Acesso em: 11 Mar. 2014. paginas 22

NXP. I2C-bus specification and user manual. [S.l.], 2012. paginas 21

OLSON, D. Tutorial 21: Timer Tricks (PWM). 2013. Disponıvel em:〈http://mspsci.blogspot.com.br/2013/04/tutorial-21-timer-tricks-pwm.html〉.Acesso em: 10 Mar. 2014. paginas xi, 58

PELOSI, M. Profa. Dra. Miryam Pelosi Tecnologia Assistiva. 2011.Http://miryampelosi.blogspot.com.br/2011/03/acionadores.html. (Acessoem 14 Fevereiro 2014). paginas xi, 3

POSTEL, J. User Datagram Protocol. 1980. Disponıvel em: 〈https://www.ietf.org/rfc/rfc768.txt〉. Acesso em: 16 Mar. 2014. paginas 45

POSTEL, J. RFC 791 Internet Protocol - DARPA Internet Program,Protocol Specification. Internet Engineering Task Force, 1981. Disponıvel em:〈http://tools.ietf.org/html/rfc791〉. paginas 51, 52

POSTEL, J. RFC 793 Transmission Control Protocol - DARPA Internet Program,Protocol Specification. Internet Engineering Task Force, 1981. Disponıvel em:〈http://tools.ietf.org/html/rfc793〉. paginas 55

POSTEL, J.; REYNOLDS, J. TELNET PROTOCOL SPECIFICATION. 1983.Disponıvel em: 〈https://tools.ietf.org/html/rfc854〉. Acesso em: 16 Mar. 2014.paginas 36

RASHID, M. H. Basic characteristics of dc motors. In: . Power Electronics :Circuits, devices, and applications. 3. ed. New Delhi, India: Pearson, 2011. cap. 15,p. 641–645. ISBN 978-81-317-0246-8. paginas 15

RIBEIRO, M. I.; LIMA, P. Kinematics Models of Mobile Robots. 2012. Disponıvelem: 〈http://users.isr.ist.utl.pt/∼mir/cadeiras/robmovel/Kinematics.pdf〉. Acessoem: 12 Mar. 2014. paginas 13

ROBOTSHOP. Peristaltic Liquid Pump with Silicone Tubing. 2013. Disponıvel em:〈http://www.robotshop.com/en/peristaltic-liquid-pump-w-silicone-tubing.html〉.Acesso em: 15 Mar. 2014. paginas 19

ROBOTSHOP. Pololu 12V, 100:1 Gear Motor w/Encoder. 2013. Disponıvelem: 〈http://www.robotshop.com/en/pololu-12v-100-1-gear-motor-encoder.html〉.Acesso em: 18 Fev. 2014. paginas 16

ROGERCOM. Xbee Adaptador Usb + Cabo Usb. 2014.Disponıvel em: 〈http://produto.mercadolivre.com.br/MLB-537801968-xbee-adaptador-usb-cabo-usb-pro-digi-n-rogercomexplore-\ JM〉.Acesso em: 12 Mar. 2014. paginas xi, 37, 38

ROVING NETWORKS. RN-171-XV 802.11 b/g Wireless LAN Module. [S.l.], 2012.paginas 12, 37

61

Page 74: Universidade Federal do Rio de Janeiro Escola Polit …monografias.poli.ufrj.br/monografias/monopoli10009552.pdf · Universidade Federal do Rio de Janeiro Escola Polit ecnica Departamento

ROVING NETWORKS. WiFly Command Reference, Advanced Features &Applications User?s Guide. [S.l.], 2013. paginas 37, 38

ST MICROELECTRONICS. L293D, L293DD: Push-pull Four Channel Driver withDiodes. [S.l.], 1996. Disponıvel em: 〈http://pdf.datasheetcatalog.com/datasheet/stmicroelectronics/1330.pdf〉. Acesso em: 12 Mar. 2014. paginas 19

ST MICROELECTRONICS. L298 Dual Full-bridge Driver. [S.l.], 2000. paginas 18

STRABELLO, V. Os modelos OSI e TCP/IP. 2010. Disponıvel em: 〈http://vstrabello.blogspot.com.br/2010/10/os-modelos-osi-e-tcpip.html〉. Acesso em: 12Mar. 2014. paginas xi, 51

STRACHAN, G. C. Projeto e Construcao de um Prototipo para a EletronicaEmbarcada de um Robo Movel Aplicado a Terapia Ocupacional. Rio de Janeiro,RJ: Universidade Federal do Rio de Janeiro, 2012. paginas 1

TEXAS INSTRUMENTS. Motor Control: Brushed DC : Block diagram (sbd)for brushed dc motor system featuring microcontrollers, gate drivers, isolation,industrial interface and power management. [S.l.], 2014. Disponıvel em:〈http://www.ti.com/solution/motor-control-brushed-dc-diagram〉. Acesso em: 12Mar. 2014. paginas 18

VERDERFLEX (Ed.). How do peristaltic dosing pumps work? 2014. Disponıvelem: 〈http://www.verderflex.com/how-do-peristaltic-pumps-work/〉. Acesso em: 15Mar. 2014. paginas 19

WONG, K. D. A Short Guide On Motor Electrical Noise Reduc-tion. 2012. Disponıvel em: 〈http://www.kerrywong.com/2012/01/26/a-short-guide-on-motor-electrical-noise-reduction/〉. Acesso em: 12 Mar.2014. paginas 14

YEDAMALE, P. Brushless DC (BLDC) Motor Fundamentals. 2003. Disponıvelem: 〈http://educypedia.karadimov.info/library/00885a.pdf〉. Acesso em: 12 Mar.2014. paginas 14

62