Engenharia Mecatrônica TCC/2015

13
Engenharia Mecatrônica TCC/2015 DESENVOLVIMENTO DE UM KIT DIDÁTICO DE ROBÓTICA MÓVEL UTILIZANDO A PLATAFORMA ARDUINO Aluno: Hugo Rafael Palma Vieira de Almeida Orientador: PhD. Kelen C. Teixeira Vivaldini Centro Universitário de Araraquara (UNIARA) 2015. Área: Robótica Subárea: Programação de microcontroladores e controle de servomotores Resumo: Este projeto teve como objetivo o desenvolvimento de um kit que permite construir um robô móvel, além de permitir a sua personalização e que possa ser utilizados no contexto educacional no qual a ênfase está em sua utilização como instrumento didático de ensino. A importância na utilização da robótica no ensino decorre da possibilidade de que ela, além de ser um elemento atrativo, proporciona a popularização da tecnologia aos estudantes. Serão abordados os principais conceitos sobre a robótica, por meio de uma apresentação didática voltada para estudantes no tema e que possa ser utilizado por qualquer usuário iniciante na área de robótica. Estes conceitos relacionados a Robótica Inteligente envolvem a introdução sobre os conhecimentos teóricos e a prática com o uso de dispositivos eletrônicos e mecânicos (do tipo de sensores e motores), e de dispositivos computacionais programáveis (do tipo de microcontroladores, como por exemplo o Arduino). A partir deste kit poderá ser desenvolvida a adaptação para diversos níveis de aprendizado. Iniciando com o funcionamento básico dos sensores (infravermelho, seguidor de linhas e sonar) e atuadores (motores), até a aplicação do robô (Robô Explorador, etc). Desta forma, para desenvolvimento do trabalho as seguintes etapas foram realizadas: estrutura mecânica, hardware, funcionamento dos sensores e atuadores, e desenvolvimento de práticas de programação e montagem de nível básico, intermédio e avançado. Como resultado do estudo, pretende-se que estes kit possa ser utilizado para melhorar o conhecimento na área de eletrônica, hardware e software. Palavras-chave: Kit Didático. Robótica educacional. Robô de seis patas. Arduino.

Transcript of Engenharia Mecatrônica TCC/2015

Page 1: Engenharia Mecatrônica TCC/2015

Engenharia Mecatrônica TCC/2015

DESENVOLVIMENTO DE UM KIT DIDÁTICO DE ROBÓTICA MÓVEL

UTILIZANDO A PLATAFORMA ARDUINO

Aluno: Hugo Rafael Palma Vieira de Almeida

Orientador: PhD. Kelen C. Teixeira Vivaldini

Centro Universitário de Araraquara (UNIARA) 2015.

Área: Robótica

Subárea: Programação de microcontroladores e controle de servomotores

Resumo: Este projeto teve como objetivo o desenvolvimento de um kit que permite construir

um robô móvel, além de permitir a sua personalização e que possa ser utilizados no contexto

educacional no qual a ênfase está em sua utilização como instrumento didático de ensino. A

importância na utilização da robótica no ensino decorre da possibilidade de que ela, além de

ser um elemento atrativo, proporciona a popularização da tecnologia aos estudantes. Serão

abordados os principais conceitos sobre a robótica, por meio de uma apresentação didática

voltada para estudantes no tema e que possa ser utilizado por qualquer usuário iniciante na

área de robótica. Estes conceitos relacionados a Robótica Inteligente envolvem a introdução

sobre os conhecimentos teóricos e a prática com o uso de dispositivos eletrônicos e mecânicos

(do tipo de sensores e motores), e de dispositivos computacionais programáveis (do tipo de

microcontroladores, como por exemplo o Arduino). A partir deste kit poderá ser

desenvolvida a adaptação para diversos níveis de aprendizado. Iniciando com o

funcionamento básico dos sensores (infravermelho, seguidor de linhas e sonar) e atuadores

(motores), até a aplicação do robô (Robô Explorador, etc). Desta forma, para

desenvolvimento do trabalho as seguintes etapas foram realizadas: estrutura mecânica,

hardware, funcionamento dos sensores e atuadores, e desenvolvimento de práticas de

programação e montagem de nível básico, intermédio e avançado. Como resultado do estudo,

pretende-se que estes kit possa ser utilizado para melhorar o conhecimento na área de

eletrônica, hardware e software.

Palavras-chave: Kit Didático. Robótica educacional. Robô de seis patas. Arduino.

Page 2: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

2

1. INTRODUÇÃO

No atual modelo de convivência social, a tecnologia deve estar sempre acessível e deve

permitir às pessoas novas experiências, novas descobertas e novas formas de aprender. No

entanto, a fim de que a população e, em particular, estudantes possam usufruir das

ferramentas tecnológicas existentes, é necessário que o processo educativo inclua práticas

tecnológicas em seu contexto educacional. Na busca por ambientes de aprendizagem mais

ricos e inovadores, a robótica educacional se destaca por mostrar, na prática, conceitos

teóricos e por desenvolver competências como raciocínio lógico, investigação e resolução de

problemas (Miranda, 2010).

A robótica educacional incentiva a criação e exploração de ambientes interativos para o

processo de ensino e aprendizagem no estudo das diversas disciplinas, unindo a robótica e a

educação, através da multidisciplinaridade da robótica, que é capaz de envolver temáticas

relacionada a ela, como mecânica, eletrônica e computação, entre outras áreas não

relacionadas tais como matemática, ciências, línguas, ciências sociais (Fernandes, 2013).

Desta forma, a robótica educacional ensina o aluno através da investigação, estimulando a

criatividade, no desenvolvimento de um método científico, através do erro construtivo,

estímulo da lógica, aprimoramento da motricidade, ente outros (Zili, 2004).

Umas das metodologias adequadas para o desenvolvimento de aulas de robótica educacional

em sala de aula é através de oficinas de robótica, nas quais os alunos seguem um conjunto de

passos: análise do desafio, montagem do protótipo robótico e programação do robô. O desafio

proposto pode envolver assuntos relacionados a grade curricular, desde as disciplinas básicas

de Introdução as Técnicas de Programação e Circuitos Eletrônicos, até as disciplinas

avançadas de Sistemas Embarcados e Microprocessados e Robótica. E como resultado desta

aplicação, obtemos o retorno positivo do aluno que valida os conhecimentos obtidos na

prática.

Importante ressaltar que algumas limitações restringem a inserção de robótica educacional,

pois o acesso aos kits de robótica no Brasil é dificultado devido à relação entre recursos e

custos, pois os kits importados são, em sua maioria, mais caros, enquanto que os nacionais

apresentam limitações de hardware e software (Miranda, 2010; Fernandes, 2013).

2. PROJETO DO KIT DIDÁTICO

O kit proposto neste trabalho teve como finalidade o desenvolvimento do raciocínio lógico

e o desenvolvimento acadêmico sobre a área de robótica. Este kit tem uma configuração

inicial de uso, mas é possível a alteração e inclusão de diversos componentes a fim de

possibilitar uma experiência de aprendizado rica e didática.

Na configuração inicial será disponibilizado um modelo mecânico baseado na configuração

de patas (Figura 1) para sua movimentação, e um sensor sonar capaz de medir a distância de

objetos para que o mesmo possa desviar de obstáculos.

A configuração de patas foi inspirada no modelo Crawler Kit For Boe Bot (PARALLAX,

2004) e escolhido devido à facilidade de montagem, o custo baixo e o efeito visual que este

proporciona, visando estimular o interesse de estudantes de diversas faixas etárias na área de

robótica.

Page 3: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

3

Figura 1 - Estrutura Mecânica

Fonte: Próprio Autor

A Figura 1 demonstra em modelagem 3D toda a estrutura montada e a disposição corretas das

patas para conseguir um movimento uniforme que faça com que o robô seja capaz de se

movimentar.

Figura 2 - Exemplo de robôs possíveis com o kit didático

Fonte: Adaptado de Boe Bot por Parallax

O desenvolvimento do kit foi dividido em quatro etapas. Na primeira etapa apresenta-se a

estrutura mecânica e são explicadas as escolhas realizadas para definição das peças e de qual

forma utilizá-las. Na segunda etapa apresenta-se o hardware utilizado, bem como as possíveis

substituições para outro tipo de microcontrolador ou microprocessador utilizado. Na terceira

etapa, os atuadores e sensores escolhidos para a configuração inicial e exemplos de diversas

modificações que podem ser realizadas são apresentadas. E na quarta etapa são apresentados

os resultados obtidos no desenvolvimento do kit proposto e exemplificada a lógica de

programação adotada.

Page 4: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

4

2.1. Estrutura Mecânica

Para a montagem é necessário verificar a escolha do tipo de robô a ser montado. Como

se pode observar, o Chassi (Fig. 3A) pode ser adaptado para a utilização de robô com patas ou

com rodas. Os demais desenhos do kit exemplifica o uso do chassi para a montagem de um

robô com patas (Fig. 3 B à E).

Figura 3 - Estrutura Mecânica : (a) Chassi, (b) Lateral robô com patas, (c) Pata 4 furos, (d) Pata de

ligação e (e) Pata do meio - Fonte: Próprio autor

A estrutura mecânica do robô proposto para o kit didático é baseada no movimento de uma

aranha, utilizam-se seis patas para chegar ao movimento desejado.

A grande diferença desta estrutura está no fato de somente as patas do meio serem atuadas,

utilizando apenas um motor de cada lado do robô, dois motores no projeto todo, para

conseguir um movimento completo de “rastejar” (do inglês craw).

Os desenhos técnicos em CAD estão disponíveis para download

[http://www.thingiverse.com/thing:1122043]. As peças da estrutura podem ser

confeccionadas em uma impressora 3D ou em metal, ambos os materiais são facilmente

encontrados no mercado e por preços acessíveis.

Caso queira utilizar o robô com rodas simplesmente remova a lateral e as patas deixando

somente o servomotor que é instalado diretamente no chassi (Figura 3) e instale as rodas nos

respectivos servos de cada lado do chassi. Também será necessário um acoplamento esférico

na parte frontal para o equilíbrio, conforme mostrado na Figura 2 (Robô com rodas).

Page 5: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

5

Figura 4 - Posição do servo contínuo

Fonte: Próprio Autor

2.2. Hardware

Para este kit didático optamos por utilizar a plataforma Arduino UNO (Atmega328p,

Tab. 1), pois a finalidade do kit didático é estimular o interesse a área de robótica de

desenvolver o raciocínio lógico necessário. O Arduino é uma das plataformas mais simples e

com maior documentação disponível dentre todos os microcontroladores e plataformas

disponíveis no mercado (Arduino, 2013). É possível a substituição por qualquer outra

plataforma do mercado e por qualquer outro microcontrolador que possua as mesmas

especificações, porém o código e o diagrama elétrico disponíveis nesse kit não irão funcionar

e terão que ser adaptados.

Microcontrolador ATmega328P

Tensão de operação 5V

Tensão de Alimentação 7-12V

Lim. da tensão de alimentação 6-20V

Entradas/Saídas Digitais 14 (da qual 6 são saídas PWM)

Entrada/Saída Digitais PWM 6

Entradas analógicas 6

Corrente contínua por pino 20 mA

Corrente contínua pino 3.3v 50 mA

Memória flash 32 KB (ATmega328P)

SRAM 2 KB (ATmega328P)

EEPROM 1 KB (ATmega328P)

Freq. De Clock 16 MHz

Largura 68.6 mm

Altura 53.4 mm

Peso 25 g

Tabela 1 - Especificações Arduino Uno. Fonte: Atmel

Para substituir o hardware utilizado será necessário observar os requisitos mínimos

necessários para o projeto apresentado na Tab. 1. As especificações em negrito precisam ser

iguais ou superiores, exceto a tensão de operação (Operating Voltage) que precisa ser

exatamente 5V.

Page 6: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

6

Para o projeto apresentado com patas e sensor ultrassônico de distância utilizam-se somente

três saídas PWM, uma saída digital e uma entrada digital.

2.2.1 Arduino

“É uma plataforma de prototipagem eletrônica de hardware livre e de placa única,

projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma

linguagem de programação padrão baseada na estrutura C/C++” (ARDUINO, 2015).

A placa de desenvolvimento Arduino é o hardware do nosso projeto, o Arduino permite que

códigos de computador na linguagem C++ se transformem em comandos no mundo da

eletrônica. Ela interpreta os sinais dos sensores e decide a ação executada baseada na

programação que é inserida.

Figura 5 - Placa arduino UNO

Fonte: Arduino.cc

2.3 Atuadores e Sensores

A programação disponível neste kit didático é para a construção de um robô que desvia de

obstáculos, medindo a distância em várias direções e decidindo qual é a melhor rota a ser

tomada. Para isso foi utilizado:

Um sensor de distância ultrassônico modelo HC - SR04

Dois motores do tipo servo de rotação continua modelo SM - S4303R

Um motor micro servo modelo SG 90

Page 7: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

7

2.3.1 HC - SR04

Figura 6 - Sensor ultrassônico genérico HC

Este sensor funciona emitindo uma onda ultrassônica de um lado e medindo quanto tempo a

onda demora a retornar no outro, o tempo de resposta nos dará a distância da barreira.

2.3.2 SM - S4303R

O servo de rotação contínua diferente de um servo comum não permite controle do

ângulo do movimento, ele é modificado para que seja possível ajustar apenas a velocidade da

rotação. Neste projeto será utilizado para movimentar as patas do robô, recebendo apenas o

comando para girar para um lado ou para o outro.

Figura 7 - Servo de rotação contínua S4303R

Fonte: Pololu

2.3.3 SG90

O servo SG90 é um servo clássico com seu giro restrito a 180°, ele nos permite

controlar quantos graus exatamente você deseja executar em um giro, escolhendo valor de 0

(posição inicial) até 180 (posição final).

Figura 8 - Servo SG90

Neste projeto será responsável por controlar a direção do sensor ultrassônico.

Page 8: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

8

2.4 Software

O programa foi desenvolvido utilizando a Arduino Software IDE (Integrated

Development Environment), plataforma de código aberto do arduino que facilita programar e

enviar o código à placa. A plataforma escrita em Java é compatível com os sistemas

operacionais Windows, Mac OSX e Linux.

O código foi escrito na linguagem arduino que é baseada na estrutura C/C++ e tem a

finalidade de fazer com que o robô se movimente livremente em um ambiente sem que atinja

nenhum obstáculo, após a programação na IDE o código é então transferido a placa via porta

USB.

3. MONTAGEM

3.1 Diagrama Montagem Arduino

Figura 9 - Esquema de montagem

Fonte: Próprio Autor

Page 9: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

9

Para alimentar o robô utiliza-se duas baterias 9v em paralelo e alimente o Arduino com o cabo

para baterias 9v que acompanha a placa.

Pino Arduino Fio correspondente Objetivo

PWM 9 Pulso do servo direito Saída para controlar o motor do lado direito

PWM 3 Pulso do servo esquerdo Saída para controlar o motor do lado esquerdo

PWM 6 Pulso do servo do sensor Saída para controlar o motor que movimenta o sensor sonar

Digital 4 Trigger HC-SR04 Envia sinal ao sensor sonar

Digital 5 Echo HC-SR04 Recebe o sinal do sensor sonar Tabela 2 - Pinos utilizados no arduino

Fonte: Próprio autor

Obs.: O sensor ultrassônico HC - SR04 possui nomenclatura em cada um de seus pinos,

facilitando identifica-los.

3.2 Mecânica

1. Conforme a Figura 3 os servos contínuos (S4303R) foram fixados diretamente no

chassi de forma que o eixo de rotação esteja mais próximo da parte da frente do robô

(Frente do robô conforme Figura 10).

2. A lateral foi alinhada e fixada com parafusos e porcas 2mm, para fixação da lateral foi

utilizado somente os furos em azul conforme Figura 10.

3. As patas foram colocadas conforme ilustrado na Figura 1, para a fixação foi utilizado

parafusos 2mm, arruelas e buchas de metal lisa rosqueada.

4. Os processosde fixação das laterais e das pastas são idênticos para os dois lados do

robô.

Figura 10 - Alinhamento lateral

Fonte: Próprio Autor

Page 10: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

10

4. RESULTADOS

4.1 Movimentação

Utilizando o mecanismo de barras obteve-se sucesso para a movimentação das seis patas

somente com dois motores. O motor aciona somente a pata do meio que transfere o

movimento as outras patas de acordo com o clico da rotação em que o mesmo se encontra.

Figura 11 - Movimento das patas

Fonte: Próprio autor

Para movimentar o robô em todas as direções segue-se a seguinte lógica:

Movimento para frente: motores direito e esquerdo giram para frente.

Movimento para trás: motores direito e esquerdo para trás.

Movimento para esquerda: motor esquerdo gira para frente e direito gira para trás.

Movimento para direita: motor direito gira para frente e esquerdo gira para trás.

4.2 Desvio de Obstáculos

A partir do desenvolvimento da programação para a movimentação das patas,

adiconamos a inteligência para que o robô fosse capaz de executar um percurso com objetos à

sua frente sem colidir escolhendo a melhor rota para desvio. Para isso, como detalhado

anteriormente foi utilizado um sensor sonar e acoplado a ele um moto para efetuar a

movimentação do mesmo a fim de verifica qual dos lados o robô poderia se movimentar.

Figura 12 - Protótipo

Page 11: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

11

Fonte: Próprio Autor

E

Figura 13 - Sequência de imagens do percurso executado pelo robô

Fonte: Próprio Autor

Quadros:

1. Robô se movimenta em direção aos obstáculos.

2. Perante há um objeto logo à sua frente o robô para.

3. O servo (SG90) que controla o sensor sonar gira pra direita e mede a distância do

objeto.

4. Servo gira pra esquerda e mede a distância, durante a medição o robô percebe um

caminho livre.

5. Ele segue o caminho.

6. Continua a rota sem colidir.

4.3 Lógica de programação

A Figura 14 exibe um fluxograma que foi a base do código escrito para dar vida ao robô, o

código completo está disponível no link [http://www.thingiverse.com/thing:1122043] junto

com os arquivos CAD e desenhos técnicos necessários, também é possível tirar dúvidas pelo

site caso queira construir o kit didático.

Page 12: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

12

Figura 14 - Fluxograma da lógica de programação

Fonte: Próprio autor

Page 13: Engenharia Mecatrônica TCC/2015

ALMEIDA, H.R.P.V. Desenvolvimento de um kit didático de robótica móvel utilizando a plataforma

arduino. Trabalho de Conclusão de Curso, Centro Universitário de Araraquara, 2015.

13

5. CONCLUSÃO

Conseguiu-se construir e programar um robô acessível por menos de R$ 300,00 que pode

ser utilizado como plataforma didática em universidades e cursos profissionalizantes de forma

a fixar o aprendizado teórico sobre robótica ou até mesmo em escolas de ensino-médio para o

desenvolvimento do racíocinio lógico do aluno.

A proposta foi bem sucedida, o robô foi capaz de executar um percurso com objetos à sua

frente sem colidir escolhendo a melhor rota para desvio.

As possibilidades de alterações são infinitas, como por exemplo, é possível substituir as patas

por rodas utilizando o mesmo servo motor proposto para obter um movimento mais ágil e

preciso (Figura 2). Também é possível incluir diversos outros sensores como: sensor de cor,

sensor de temperatura, sensor de humidade, sensor infravermelho. Ou até mesmo construir

garras mecânicas e acoplar ao kit para movimentação de peças, o desenho do chassi do kit

possui diversos furos e lugares onde é possível a inclusão de novas partes mecânicas.

6. REFERÊNCIAS

Arduino, what is it? Disponível em: < https://www.arduino.cc/>. Acesso em: 12 de agosto.

2015.

Crawler Kit for the Boe-Bot™ Robot (#30055). Disponível em:

<https://www.parallax.com/sites/default/files/downloads/30055-Boe-Bot-Crawler-

Documentation-v2.0.pdf>. Acesso em: 12 de agosto. 2015.

FERNANDES, C. (2013). S-EDUC: Um simulador de ambiente de robótica educacional em

plataforma virtual. Dissertação de mestrado. Universidade Federal do Rio Grande do Norte -

UFRN, Natal - RN.

MIRANDA, L. C., Fábio F. Sampaio & José Antonio S. Borges (2010), ‘Robofácil:

Especificação e implementação de um kit de robótica para a realidade educacional

brasileira’, Revista Brasileira de Informática na Educação 18(3).

ZILI, S. (2004). A robótica educacional no ensino fundamental? Perspectivas e práticas.

Dissertação de mestrado. Universidade Federal de Santa Catarina – UFSC, Florianópolis –

SC.