3
Robô Seguidor de Linha sobre a Plataforma Arduino (1) . Werther Alexandre de Oliveira Serralheiro (2) ; Jucemar Paes Neto (3) ; Lucas Antônio Zavarize dos Santos (4) ; Daniel Machado Barbosa (5) . Resumo Expandido (1) Trabalho executado com recursos do Edital n° 04/2015/PROPPI (2) Professor orientador; Instituto Federal de Santa Catarina; Araranguá, SC; [email protected]; (3-5) Estudantes do Curso Técnico Integrado em Eletromecânica; Instituto Federal de Santa Catarina; Araranguá, SC. . RESUMO: O presente trabalho objetiva o projeto, fabricação, montagem e programação de um robô móvel sobre rodas que tem a função de seguimento de linha. Para tanto, foram utilizados elementos eletro- eletrônicos de baixo custo montados sobre uma plataforma mecânica específica. O microcontrolador utilizado para a tarefa foi um ATMEGA328 implementado numa placa Arduino Uno. Uma placa de sensores foi desenvolvida especificamente para medir a posição do robô em relação à linha a ser seguida. Os alunos desenvolveram a montagem e programação do robô de forma cooperativa e com a colaboração de um estudante de Engenharia de Computação da UFSC. O robô demonstrou-se eficaz na tarefa de seguimento de linha nos testes finais. Palavra Chave: robótica móvel, protótipo, microcontroladores. I. INTRODUÇÃO Robôs móveis têm sido tema de pesquisa científica e de desenvolvimento tecnológico nos últimos anos. Este campo de conhecimento – se utilizado para fins pacíficos – pode trazer melhorias significativas para a qualidade de vida do ser humano e benefícios para a sociedade. Existe um potencial muito amplo no campo de conhecimento em Robótica Móvel, que tem atraído jovens a ingressarem neste universo tecnológico. Eventos, como a Olimpíada Brasileira de Robótica - OBR, reúnem estudantes e hobistas em torno de competições impondo desafios e tarefas a robôs móveis construído pelos próprios alunos. Um desafio clássico para os robôs é Seguimento de Linha, na qual um robô móvel com rodas percorre um trajeto específico, definido através de uma linha pintada no solo. Comumente, a plataforma mais utilizada para este desafio é o Lego Mindstorm, produto comercial amplamente difundido e de fácil programação para alunos do Ensino Médio. Porém, um dos grandes desafios para os alunos deste nível de ensino - principalmente alunos de cursos técnicos da área - é o desenvolvimento do seu próprio Robô. Tendo em vista este desafio, o presente projeto se propõe, como objetivo central, projetar e implementar um robô seguidor de linha, baseado na plataforma Arduino. II. METODOLOGIA O desenvolvimento deste projeto contou com a colaboração de um bolsista ITI-A de um projeto de pesquisa subsidiado pelo CNPq que tem como objetivo de fomentar a nucleação de equipes de robótica móvel no Campus Araranguá. O bolsista estudante de Engenharia de Computação da UFSC atuou no treinamento e co-orientação dos alunos no que se diz respeito à programação do microcontrolador e no projeto e fabricação de placas eletrônicas. Chassis do robô O robô foi desenvolvido em uma plataforma mecânica composta por duas placas montadas como um sanduiche: um chassi de polímero pré- fabricado e uma placa tri-laminada de alumínio e borracha. Estas duas placas foram posicionadas e afastadas paralelamente por barras roscadas. Os motores, bateria e sensores foram montados na parte inferior (placa tri-laminada) enquanto o microcontrolador e o drive de potência foram montados na parte superior (chassi de polímero). Sistema de movimentação O robô possui duas rodas de borracha acionadas cada uma por um motor de corrente contínua independente. Os motores possuem tensão nominal de 6V – porém testes preliminares determinaram a possibilidade de poderem ser acionados com uma tensão de até 9V.

Robô Seguidor de Linha sobre a Plataforma Arduino(1)docente.ifsc.edu.br/werther/publicacoes/2016-SEPEIa.pdf · estudante de Engenharia de Computação da UFSC. ... uma falha eletrônica

Embed Size (px)

Citation preview

Page 1: Robô Seguidor de Linha sobre a Plataforma Arduino(1)docente.ifsc.edu.br/werther/publicacoes/2016-SEPEIa.pdf · estudante de Engenharia de Computação da UFSC. ... uma falha eletrônica

Robô Seguidor de Linha sobre a Plataforma Arduino(1).

Werther Alexandre de Oliveira Serralheiro(2); Jucemar Paes Neto(3); Lucas Antônio Zavarizedos Santos(4); Daniel Machado Barbosa(5).

Resumo Expandido

(1) Trabalho executado com recursos do Edital n° 04/2015/PROPPI(2) Professor orientador; Instituto Federal de Santa Catarina; Araranguá, SC; [email protected]; (3-5) Estudantes do Curso Técnico Integrado em Eletromecânica; Instituto Federal de Santa Catarina; Araranguá, SC..

RESUMO: O presente trabalho objetiva o projeto, fabricação, montagem e programação de um robô móvelsobre rodas que tem a função de seguimento de linha. Para tanto, foram utilizados elementos eletro-eletrônicos de baixo custo montados sobre uma plataforma mecânica específica. O microcontroladorutilizado para a tarefa foi um ATMEGA328 implementado numa placa Arduino Uno. Uma placa de sensoresfoi desenvolvida especificamente para medir a posição do robô em relação à linha a ser seguida. Os alunosdesenvolveram a montagem e programação do robô de forma cooperativa e com a colaboração de umestudante de Engenharia de Computação da UFSC. O robô demonstrou-se eficaz na tarefa de seguimentode linha nos testes finais.

Palavra Chave: robótica móvel, protótipo, microcontroladores.

I. INTRODUÇÃO

Robôs móveis têm sido tema de pesquisacientífica e de desenvolvimento tecnológico nosúltimos anos. Este campo de conhecimento – seutilizado para fins pacíficos – pode trazer melhoriassignificativas para a qualidade de vida do serhumano e benefícios para a sociedade.

Existe um potencial muito amplo no campo deconhecimento em Robótica Móvel, que tem atraídojovens a ingressarem neste universo tecnológico.Eventos, como a Olimpíada Brasileira de Robótica -OBR, reúnem estudantes e hobistas em torno decompetições impondo desafios e tarefas a robôsmóveis construído pelos próprios alunos. Umdesafio clássico para os robôs é Seguimento deLinha, na qual um robô móvel com rodas percorreum trajeto específico, definido através de uma linhapintada no solo.

Comumente, a plataforma mais utilizada paraeste desafio é o Lego Mindstorm, produto comercialamplamente difundido e de fácil programação paraalunos do Ensino Médio. Porém, um dos grandesdesafios para os alunos deste nível de ensino -principalmente alunos de cursos técnicos da área -é o desenvolvimento do seu próprio Robô.

Tendo em vista este desafio, o presenteprojeto se propõe, como objetivo central, projetar eimplementar um robô seguidor de linha, baseado naplataforma Arduino.

II. METODOLOGIA

O desenvolvimento deste projeto contou coma colaboração de um bolsista ITI-A de um projeto depesquisa subsidiado pelo CNPq que tem comoobjetivo de fomentar a nucleação de equipes derobótica móvel no Campus Araranguá. O bolsistaestudante de Engenharia de Computação da UFSCatuou no treinamento e co-orientação dos alunos noque se diz respeito à programação domicrocontrolador e no projeto e fabricação de placaseletrônicas.

Chassis do robô

O robô foi desenvolvido em uma plataformamecânica composta por duas placas montadascomo um sanduiche: um chassi de polímero pré-fabricado e uma placa tri-laminada de alumínio eborracha. Estas duas placas foram posicionadas eafastadas paralelamente por barras roscadas. Osmotores, bateria e sensores foram montados naparte inferior (placa tri-laminada) enquanto omicrocontrolador e o drive de potência forammontados na parte superior (chassi de polímero).

Sistema de movimentação

O robô possui duas rodas de borrachaacionadas cada uma por um motor de correntecontínua independente. Os motores possuemtensão nominal de 6V – porém testes preliminaresdeterminaram a possibilidade de poderem seracionados com uma tensão de até 9V.

Page 2: Robô Seguidor de Linha sobre a Plataforma Arduino(1)docente.ifsc.edu.br/werther/publicacoes/2016-SEPEIa.pdf · estudante de Engenharia de Computação da UFSC. ... uma falha eletrônica

O acionamento dos motores é dado por umdrive de potência comercial baseado no chip L298N,ilustrado na Figura 1, que fornece tensão na formade PWM (pulse width modulation) para até doismotores de corrente contínua em Ponte H.

Figura 1 – Driver Ponte H L298N.

Uma bateria de LiPo (lítio-polímero) de 12V e2650mAh foi usada como fonte de energia para todoo robô. Como o sinal de comando é do tipo PWM,pode-se limitar a tensão máxima de alimentação domotor em 9V (PEREIRA, 2009).

Placa de Sensores

Foi fabricada em uma placa ilhada um circuitoeletrônico composto de sensores de refletânciaTCRT5000 e divisores de tensão para condicionar aleitura da refexão de luz para um sinal analógico de0 a 5Vcc a ser lido pelo microcontrolador.

Montagem do robô

Inicialmente foi montado o chassis, com oselementos mecânicos e eletromecânicos do robô.Então, os elementos eletrônicos foram posicionadose suas ligações elétricas efetuadas.

A Figura 2 ilustra o diagrama esquemático deligação dos elementos eletro-eletrônicos do robô.

Figura 2 – Diagrama eletrônico esquemático

Lógica de programação

O código do projeto baseia-se na linguagemde programação utilizada no Arduino, desenvolvidaem C/C++ (BANZI, 2011; McROBERTS, 2015).

O sinal recebido por cada sensor éproporcional à quantidade de branco presente nolocal em que o sensor de refletância está localizado.Portanto, a linha preta possui um sinal de valor maisbaixo do que o sinal recebido pela pista branca.

Como são cinco sensores, o objetivo daprogramação é de manter o sensor do meio com onível mais baixo de sinal. Caso os sensores àesquerda na placa tiverem seus valores elevados, orobô tenderá a andar com uma potência maior dolado esquerdo. A lógica para os sensores da direitaé a mesma. Assim o robô girará em torno do próprioeixo e será afastado da linha preta, fazendo comque o robô “fuja” da linha preta.

Para regular os sensores para as condiçõesda superfície e da linha em que o robô é posto, foifeito uma programação para calibrar os sensores.Este código verifica os menores e os maioresvalores que podem ser lidos na pista, identificandoassim o que é a linha (valor baixo) e o que é asuperfície (valor alto). Este valor é mapeado paravalores entre 0 e 100. Dessa forma é possívelinserir o valor lido dos sensores diretamente naequação que converte o valor lido para potência domotor, que será:

P = 2V – 100, (1)

onde P é a potência do motor e V é o valor lido pelosensor.

Para simplificar o código, algumas funçõesforam transformadas em bibliotecas em arquivos .he .cpp que são interpretadas pelo Arduino: asfunções de calibração, de potência para o motor ede leitura dos sensores.

Page 3: Robô Seguidor de Linha sobre a Plataforma Arduino(1)docente.ifsc.edu.br/werther/publicacoes/2016-SEPEIa.pdf · estudante de Engenharia de Computação da UFSC. ... uma falha eletrônica

III. RESULTADOS

Para validar a funcionalidade do robô comoseguidor de linha, uma arena foi construídasimulando um circuito fechado com uma linha pretade 1,5cm de espessura, composta por segmentosde reta, curvas com diversos raios e ângulos retos,como ilustra a fotografia da Figura 3.

Figura 3 – O robô na tarefa de seguidor de linha.

O robô foi deixado autonomamentepercorrendo o circuito fechado ilustrado na figura.Durante esta tarefa, ele demonstrou seguir linha empercursos de até doze ciclos sem cometer falhas.

Contudo também ocorreram casos em que orobô se desviou do trajeto. Na maioria dos casoseram erros na montagem do circuito, devido aosistema de montagem prototipada em que seutilizam condutores removíveis e que podemeventualmente se desconectar, causando assimuma falha eletrônica.

Outros testes em arenas específicas foramrealizadas. Houveram casos em que o robô sedesviou do trajeto devido a curvas muito fechadas(menos de 90°), a equipe não obteve umaexplicação concreta sobre esses fenômenos poremo mais provável seja algum detalhe deprogramação.

Outras configurações mecânicas do robôforam realizadas durante o desenvolvimento doprojeto. A Figura 4 ilustra a que se demonstrou maisconfiável em relação ao seguimento de linha. Nestaconfiguração, um sensor ultrassônico foi utilizadopara identificar obstáculos para serem desviados eassim completar tarefas do desafio proposto naOlimpíada Brasileira de Robótica – OBR.

Figura 4 – Melhor configuração do robôseguidor de linha.

IV. CONCLUSÕES

O projeto demonstrou ser uma oportunidadede integração das disciplinas do curso técnico emEletromecânica, pois é uma aplicação prática dasteorias abordadas durante o curso – tanto nasmatérias técnicas quanto nas disciplinaspropedêuticas.

Os resultados práticos obtidos sedemonstraram satisfatórios. Porém, como trabalhosfuturos os autores sugerem (i) implementar umaplaca de circuito impresso para alojar o sistema desensoreamento de linha, evitando falhas deconexão presentes no sistema com placa ilhada; (ii)desenvolver um circuito de Ponte H que respeite oslimites de fonte de tensão e a tensão nominal dosmotores utilizados e (iii) substituir o sistema deprotoboard por um shield, conferindo melhororganização e reduçãode falhas de conexão.

AGRADECIMENTOS

Os autores agradecem a participação efetiva eimportante do bolsista Renan Rocha Darós, sem oqual este projeto não teria tido os resultadosconquistados.

REFERÊNCIAS

BANZI, M. Primeiros passos com o Arduino, 1. ed. SãoPaulo: Novatec, 2011.

McROBERTS, M. Arduino Básico, 2. ed. São Paulo:Novatec, 2015.

PEREIRA, F. Microcontroladores PIC – Programaçãoem C, São Paulo: Editora Érica, 2009.