Você está na página 1de 67

YOUR RC

(Prova de Aptidão Profissional)

Prova de aptidão profissional elaborada pelo aluno:

_______________________________________________

(Nirav Jayesh Gujjar)

Da turma TM18 do Curso Técnico de Mecatrónica


Nirav Gujjar

Turma TM18

Representante da OET: Professor Sérgio Rebelo

Orientadora educativa: Professora Sofia Trindade

Representante empresarial: Eng. Eduardo Pinto

Diretora pedagógica: Dra. Fernanda Torres

Coordenador de curso: Professor Jorge Cipriano

INETE – Instituto de Educação Técnica, Lisboa

Julho de 2021

1 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Resumo:
Esta prova de aptidão profissional consiste em desenvolver e criar um carro kit de montagem para crianças e
jovens interessados pela área da eletrónica e robótica e criar uma ferramenta de ensino para os mesmos. Pretendo
também colocar em prática os conhecimentos adquiridos nas disciplinas de eletricidade e eletrónica, aplicações de
mecatrónica, tecnologia mecatrónica e desenho técnico durante os 3 anos do curso.
Nos dias de hoje, em que os jovens passam cada vez mais tempo em casa, este carro kit é uma ferramenta de
ensino e entretenimento para aqueles que se encontrem dispostos a aprender mais sobre as áreas que o mesmo
aborda. O carro kit vem também a ser uma escapatória para aqueles que queiram estar longe dos ecrãs e que
queiram aproveitar o seu tempo livre para adquirir novos conhecimentos. Foi também construída uma plataforma
de marketing a partir do nome do projeto “Your RC”.

2 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Abstract:
This project consists of the developing a DIY robot kit for children and young people who would like to know
more about the electronics and maker field. The kit was developed in order to facilitate the assembly and it also
works as a learning tool.
Nowadays, with the evolution of the technologies of information and consequent modernization of the robotics,
and with a perspective to follow this trend on the part of professional education and non-professional, these kits
come to create a tool of stimulation to learning, particularly on robotics. One robot in reality is a tool that people
use for their tasks, thus increasing its productivity.

Agradecimentos:
Gostaria de começar por agradecer ao coordenador do curso e engenheiro, Professor Jorge Cipriano, pelo apoio,
ajuda, motivação, dedicação e pela disponibilidade prestada durante o meu percurso escolar, no desenvolvimento
desta prova de aptidão profissional e ao facto de me ter apoiado e ter “desvendado” de forma intuitiva, a área da
3 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
eletricidade e eletrónica, o que fez com que eu me apaixonasse pela área e prosseguisse os estudos na área da
4 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
Índice:
1º capítulo – Introdução 9
Motivação 9
Objetivos 10
Descrição 11
Enquadramento 12
Desenvolvimento da prova 13
Recursos utilizados 15
Estrutura do relatório 16

2º capítulo – Robótica móvel 17


Contextualização 17
Evolução histórica 18

3º capítulo – Desenvolvimento do protótipo 19


União das ideias 19

4º capítulo – Comunicações 20
Comunicação UART 20
Comunicação via Bluetooth 21
Módulo Bluetooth HC-05 21

5º capítulo – Programas utilizados 22


Arduino IDE 22
Interface 25
Fusion 360 26
MIT app inventor 27
Ultimaker Cura 28
EasyEDA 29

6º capítulo – Impressão 3D 30
A impressão 3D 30
Características da impressão 3D 31

7º capítulo – Motores DC 32
Motores utilizados 32
Servo motores 32
Controlo dos servo motores 32
Constituição de um servo motor 33
Análise do servo motor 34
Torque 34
Motor DC 35
Análise do motor DC 35
Controlo PWM 36
L293D shield 38
Vista geral do shield 39
Funcionamento do L293D 39
Esquema eletrónico do shield 41

5 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


PCB desenvolvida 42

8º capítulo – Microcontrolador Arduino e Sensores 43


Arduino UNO 43
Características do Arduino UNO 43
Comunicação do Arduino 44
Entradas e saídas do Arduino 44
Programação do Arduino 44
Esquema eletrónico do Arduino UNO 45
Sensor ultrassónico HC-SR04 46

9º capítulo – Programas desenvolvidos 47


1ª fase – Aplicação android 47
2ª fase – Controlo dos motores DC via Bluetooth e o shield L293D - Teste 49
Marca desenvolvida 52
10º capítulo – Trabalhos desenvolvidos 53
1ª fase – Montagem da estrutura e do circuito principal 53
2ª fase – O kit criado 55
Circuito geral da prova 57
11º capítulo – Programação desenvolvida 58
Void Setup - Programação 58
Void Loop - Programação 59
12º capítulo – F.C.T. Generis 62
A empresa 62
Funções desempenhadas 62
Máquinas 63
13º capítulo – Conclusão 64
Conclusão final 64
Referências 65

Índice de ilustrações:
Figura 1 - APP desenvolvida para testes.............................................................................................................................................13
Figura 2 - Desenvolvimento do protótipo...........................................................................................................................................13
Figura 3 - Impressão da estrutura........................................................................................................................................................14

6 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Figura 4 - Montagem da estrutura desenvolvida.................................................................................................................................14
Figura 5 - Marca desenvolvida............................................................................................................................................................14
Figura 6 - Robô utilizado para transporte de peças na fábrica da Seat, em Martotell........................................................................17
Figura 7 - Robô Big Dog.....................................................................................................................................................................18
Figura 8 - Protótipo desenvolvido.......................................................................................................................................................19
Figura 9 - Carregador de baterias LI-ION TP4056.............................................................................................................................19
Figura 10 - Data frame........................................................................................................................................................................20
Figura 11 - Esquema de ligação Arduino-HC-05...............................................................................................................................20
Figura 12 - Pinout do módulo HC-05.................................................................................................................................................21
Figura 13 - Arduino Uno.....................................................................................................................................................................24
Figura 14 - Interface Arduino IDE......................................................................................................................................................25
Figura 15 - Representação do software Fusion 360............................................................................................................................26
Figura 16 - Interface do software MIT APP inventor.........................................................................................................................27
Figura 17 - Aplicação desenvolvida....................................................................................................................................................27
Figura 18 - Interface do software Ultimaker Cura..............................................................................................................................28
Figura 19 - Interface Easy EDA..........................................................................................................................................................29
Figura 20 - Placa desenvolvida...........................................................................................................................................................29
Figura 21 - Representação elementar de uma impressora 3D.............................................................................................................30
Figura 22 - Ender 5.............................................................................................................................................................................31
Figura 23 - Impressão na Ender 5.......................................................................................................................................................31
Figura 24 - Representação de um servo motor...................................................................................................................................32
Figura 25 - Representação dos sinais de controlo do servo motor......................................................................................................33
Figura 26 - Representação do sinal PWM a 2,5 ms............................................................................................................................33
Figura 27 - Representação do sinal PWM a 0 ms...............................................................................................................................33
Figura 28 - Vista interna de um servo motor......................................................................................................................................34
Figura 29 - Representação do torque de um servo motor...................................................................................................................34
Figura 30 - Representação interna de um motor DC..........................................................................................................................35
Figura 31 - Relação tensão-corrente do motor DC.............................................................................................................................36
Figura 32 - Valor mínimo e máximo de rotação do motor DC...........................................................................................................36
Figura 33 - Sinal PWM.......................................................................................................................................................................36
Figura 34 - Circuito montado para verificação do sinal PWM...........................................................................................................37
Figura 35 - Verificação do sinal PWM...............................................................................................................................................37
Figura 36 - L293D Shield...................................................................................................................................................................38
Figura 37 - Shield L293D...................................................................................................................................................................39
Figura 38 - Esquema de funcionamento do L293D............................................................................................................................39
Figura 39 - Funcionamento do sentido de inversão da corrente na Ponte H......................................................................................40
Figura 40 - CI L293D..........................................................................................................................................................................40
Figura 41 - CI 74HC595.....................................................................................................................................................................40
Figura 42 - Esquema eletrónico- Shield L293D.................................................................................................................................41
Figura 43 – Desenvolvimento físico do shield....................................................................................................................................42
Figura 44 - Representação do Arduino Uno.......................................................................................................................................43
Figura 45 - Pinagem do CI ATMEGA 328P.......................................................................................................................................44
Figura 46 - Esquema eletrónico - Arduino UNO................................................................................................................................45
Figura 47 - Sensor ultrasónico HC-SR04...........................................................................................................................................46
Figura 48 - Funcionamento do sensor ultrassónico............................................................................................................................46
Figura 49 - Representação do design do MIT APP inventor..............................................................................................................47
Figura 50 - Representação da programação por blocos......................................................................................................................48
Figura 51 - Representação do bloco de seleção Bluetooth.................................................................................................................48
Figura 52 - Represetação dos blocos de deslocamento.......................................................................................................................48
Figura 53 - Representação da aplicação..............................................................................................................................................49
Figura 54 - Representação do protótipo..............................................................................................................................................49
Figura 55 - Representação do "void setup".........................................................................................................................................50
Figura 56 - Representação dos comandos inseridos no "void loop"...................................................................................................51
Figura 57 - Representação do "void frente"........................................................................................................................................51
Figura 58 - Representação do fluxograma..........................................................................................................................................51
7 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
Figura 59 - Representação do website................................................................................................................................................52
Figura 60 - Logótipo da empresa criada.............................................................................................................................................52
Figura 61 - Montagem da estrutura.....................................................................................................................................................53
Figura 62 - Montagem dos motores....................................................................................................................................................53
Figura 63 - Montagem dos componentes eletrónicos.........................................................................................................................54
Figura 64 - Ligação dos motores.........................................................................................................................................................54
Figura 65 - Representação da montagem da base...............................................................................................................................55
Figura 66 - Representação do projeto concluído................................................................................................................................55
Figura 67 - Placa desenvolvida...........................................................................................................................................................55
Figura 68 - Módulo TP4056................................................................................................................................................................56
Figura 69 - Representação das bibliotecas adicionadas......................................................................................................................58
Figura 70 - Representação das variáveis declaradas...........................................................................................................................58
Figura 71 - Representação da declaração dos motores e da variável "dados"....................................................................................58
Figura 72 - Representação do void setup............................................................................................................................................59
Figura 73 - Representação do void loop (1)........................................................................................................................................59
Figura 74 - Representação do void loop (2)........................................................................................................................................60
Figura 75 - Representação do void "esquerda"...................................................................................................................................60
Figura 76 - Representação do void "parar".........................................................................................................................................61
Figura 77 - Fluxograma do programa.................................................................................................................................................61
Figura 78 - Instalações da Generis na Venda Nova............................................................................................................................62
Figura 79 - Linha Marchesini Integra.................................................................................................................................................63

1º capítulo - Introdução
Motivação:
Esta prova foi realizada devido ao meu enorme gosto pela eletrónica, robótica e pela criação de kits. Foi
escolhida a ideia de construir um carro robot devido à possibilidade de se criar um kit e pela sua reduzida
dimensão e custos monetários, o que permite criar um kit relativamente mais barato do que os Legos e Meccanos e
também por ser um projeto apelativo para os jovens. A componente eletrónica, o desenvolvimento da estrutura e
das placas de circuito impresso permitiu tirar-me da minha “zona de conforto” e permitiu me descobrir novas
ideias e criar desafios, relativamente ao controlo dos motores DC, programação e desenvolvimento do sensor
ultrassónico e da estrutura em si que implicou ser uma dificuldade. A criação do protótipo também se revelou
essencial devido à sua complexidade, pelos recursos utilizados e pela programação desenvolvida pelas seguintes
8 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
fases:
9 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
Objetivos:
O objetivo principal desta prova de aptidão profissional consiste em desenvolver e criar um kit de montagem no
qual seja possível substituir facilmente partes da estrutura ou componentes eletrónicos para crianças e jovens
interessados pela área da eletrónica e robótica e criar uma ferramenta de ensino para os mesmos. Pretendo também
colocar em prática os conhecimentos adquiridos nas disciplinas de eletricidade e eletrónica, aplicações de
mecatrónica, tecnologia mecatrónica e desenho técnico durante os 3 anos do curso e dar a conhecer o Curso
Técnico de Mecatrónica. Pretendo também colocar em prática as seguintes competências:

 Criação e desenvolvimento de programas em C++ e desenvolvimento de aplicações Android, específica


para o projeto;
 Estudo das Telecomunicações utilizadas no projeto, nomeadamente Bluetooth;
 Desenho e criação de Placas de Circuito Impresso;
 Projeção, análise e dimensionamento e circuitos eletrónicos.

10 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Descrição:
O robô móvel “Your RC” consiste em criar uma ferramenta tecnológica que assista o ensino da programação e
da robótica, a jovens e crianças. Com este projeto pretende criar-se um kit robótico podendo ser utilizado como
ferramenta de ensino/aprendizagem. O kit robótico tem como principal objetivo a construção da própria estrutura
que seja capaz de, através de uma aplicação Android criada para o efeito na plataforma MIT App Inventor, via
Bluetooth, que realize o deslocamento nas principais direções, e ainda outras funções, nomeadamente:

 Movimentos variados;
 Desvio e recuo na presença de um obstáculo;
 Movimentação do sensor dependendo da direção pretendida (esquerda/direita).

Enquadramento:
Esta prova de aptidão profissional engloba os conhecimentos adquiridos nas disciplinas técnicas do curso dos 3
anos letivos frequentados. Para a criação da estrutura, os conhecimentos adquiridos na disciplina de desenho
técnico e de tecnologia mecatrónica foram indispensáveis para o uso dos programas AutoCAD e Fusion360. Os
conteúdos lecionados nas disciplinas de eletricidade/eletrónica e aplicações de mecatrónica foram um grande
apoio para a criação da estrutura eletrónica, escolha e dimensionamento dos componentes e para o
dimensionamento geral do projeto.
Este projeto prova-se inovador na área dos kits de montagem da classe Lego/Meccanno, pois consegue ser um
elo único entre os kits de montagem tradicionais e a prototipagem eletrónica e a programação. Possui também uma
componente didática para aqueles que gostariam de descobrir mais sobre a área da eletrónica, mecânica e
programação, bem como podendo ser aplicada em escolas como uma ferramenta de ensino prática.
11 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
Desenvolvimento da prova:
Esta prova de aptidão profissional foi realizada faseadamente e sempre com o objetivo de adicionar ideias e
alternativas que possam vir a surgir.
Na primeira fase procedeu se à criação de um código de programação e uma APP no MIT APP inventor,
utilizando os componentes disponíveis e foram efetuados testes da aplicação e do código da programação com o
objetivo de verificar eventuais falhas e adicionar ideias ao produto existente.
Para os testes foi utilizada uma plataforma com motores disponível na escola com o módulo de ponte em H
L298N que mais tarde viria a ser substituído pelo Shield L293D no protótipo elaborado na fase seguinte.

Figura 1 - APP desenvolvida


para testes

12 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Na segunda fase, já tendo a APP e o código funcional, foi adquirida uma estrutura em acrílico para alojar os
Numa terceira fase, já após o início do ano letivo, havendo mais recursos para avançar com a prova foi elaborada
uma estrutura e algumas peças adicionais no Fusion360 com o objetivo de abdicar do protótipo e conceber uma
estrutura final. As mesmas foram impressas com o auxílio de uma impressora 3D disponível na escola.

Figura 3 - Impressão da estrutura


Na quarta fase procedeu se à montagem da estrutura impressa e ao desenvolvimento do sensor ultrassónico e do
servo motor colocado na dianteira do carro com o objetivo de parar e recuar sempre que o mesmo detete um objeto
à sua frente. Foi também apurado e reformulado o código da programação com o auxílio do Professor Sérgio nas
aulas de AM.

Figura 4 - Montagem da estrutura


desenvolvida

Na quinta e última fase foram concebidos uma marca e um logótipo para completar o kit, foram desenvolvidas
placas de circuito impresso para substituir as existentes e foram efetuadas as últimas modificações.

Figura 5 - Marca desenvolvida

13 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Recursos utilizados:

Para a realização desta Prova de Aptidão Profissional foram utilizados os seguintes componentes:

 Um microcontrolador ATmega 328P integrado numa placa Arduino Uno com o objetivo de funcionar
como “cérebro” do carro, capaz de comunicar com o sensor, com a antena Bluetooth e com o shield
L293D;
 Foi utilizado o shield L293D para controlar os motores DC e do servo motor colocado na frente do carro;

De um ponto de vista eletrónico foram utilizados os seguintes componentes:

 Uma PCB shield desenvolvida com base no shield L293D adquirido para a fase de testes;
 Um sensor ultrassónico para utilizar como radar e evitar a colisão do carro face a obstáculos;
 Um servo motor para efetuar a movimentação do sensor ultrassónico consoante a direção do carro;
 Baterias Li-ion 18650 para a alimentação do circuito eletrónico geral.

14 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


15 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
Estrutura do relatório:
O presente relatório sobre o projeto “Your RC” encontra-se dividido em 13 capítulos. No primeiro capítulo está
apresentada a parte introdutória e no segundo capítulo está apresentada uma breve introdução sobre a robótica
móvel e as suas respetivas características.
O terceiro capítulo demonstra, de forma breve, o desenvolvimento do projeto relativamente à programação e a
elaboração de uma cronologia que demonstra o desenvolvimento do projeto ao longo do tempo e relativamente aos
processos elaborados.
No quarto capítulo abordo o tema das comunicações, e a comunicação Bluetooth utilizado no desenvolvimento
do projeto. No quinto capítulo apresento os programas utilizados para a programação, impressão 3D, desenho e
desenvolvimento das placas de circuito impresso e enumerando as principais características e comandos dos
mesmos. No sexto capítulo falo sobre os processos e desenvolvimento da impressão 3D das peças, e demonstro as
características das impressoras 3D, bem como todo o formato de impressão e os respetivos comandos. No sétimo
capítulo desenvolvo o tema sobre os motores utilizados no desenvolvimento da prova, apresento uma explicação
na íntegra sobre o seu funcionamento, testes, características e detalhes técnicos como o controlo PWM e as
respetivas formas de onda dos mesmos, bem como o controlo e ação dos motores utilizando o shield L293D. No
oitavo capítulo foi dedicado ao microcontrolador Arduino UNO e o sensor ultrassónico utilizado na prova. No
nono capítulo apresento os programas utilizados na prova e o respetivo funcionamento dos mesmos. No décimo
capítulo demonstro os trabalhos desenvolvidos, na íntegra, numerando e explicando todas as fases elaboradas no
desenvolvimento do projeto.
Por fim, no décimo primeiro capítulo desenvolvo o tema da programação desenvolvida no projeto na sua
totalidade, enumerando as suas características e respetivos exemplos de funcionamento. Para concluir, o décimo
segundo e décimo terceiro está reservado para desenvolver o conteúdo sobre o estágio e onde elaboro a respetiva
conclusão generalizada sobre a prova.

16 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


2º capítulo – Robótica móvel
Contextualização:

Nos últimos anos, tem-se observado um acelerado crescimento do potencial de sistemas robóticos. Um robô
autónomo é um sistema mecânico versátil que verifica, de forma autónoma o seu ambiente e interage com o
mesmo através dos atuadores e sensores nele colocados. As tarefas executadas no seu espaço de trabalho são
controladas por computador, sendo sua principal característica a ligação inteligente entre a perceção e a ação.
Entende-se como inteligência a capacidade do robô de se adaptar às mudanças que ocorrem no seu ambiente de
trabalho.
Os robôs móveis são robôs dotados de um sistema de locomoção que os torna capazes de navegar, através do seu
ambiente de trabalho, interagindo com este ambiente na realização de tarefas pelo uso de recursos próprios de
recolha de informação e tomada de decisão.
O robô desenvolvido para esta prova baseia se nos conceitos acima referidos, e foi criado devido à união entre os
robôs controlados via Bluetooth e a utilização de sensores, nomeadamente o sensor ultrassónico utilizado para
detetar e desviar se dos obstáculos.
A utilização de robôs autónomos em ambientes industriais é cada vez mais frequente, podendo os mesmos
desempenhar inúmeras funções de forma autónoma, reduzindo os custos e recursos humanos para a empresa e o
seu reduzido custo de manutenção torna os cada vez mais apelativos para as empresas.

Figura 6 - Robô utilizado para transporte de peças na


fábrica da Seat, em Martotell

O robô AGV da Seat (figura 6) funciona como um exemplo da evolução da robótica industrial num espectro de
anos. Com este projeto, a Seat melhora a sua eficiência e avança com o objetivo de tornar Martorell uma fábrica
mais inteligente através da “Internet of Things”, em ambientes industriais onde a automação e a digitalização de
processos são essenciais. Nos últimos anos, a Seat aplicou inovações tecnológicas em todo o seu ciclo de
produção, como os próprios AGV, integrados na linha de produção para o transporte de peças, o uso de drones
para entrega urgente de peças e robots colaborativos que, combinados com uma gestão de dados mais eficiente,
graças ao uso de inteligência artificial, “big data” e “blockchain”, permite processos mais eficazes, flexíveis e
ágeis.” [1]

17 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


18 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
Evolução histórica:

Durante a Segunda Guerra Mundial o primeiro robô móvel surge como o resultado de avanços técnicos
em campos de pesquisa relativamente novos como ciência da computação e cibernética. Eles eram na
sua maioria bombas voadoras. Como exemplos temos as bombas inteligentes que detonam apenas a uma
1939
determinada distância do alvo, o uso de sistemas de guiagem e o controle por radar. Os foguetes V1 e
V2 possuíam um "autopiloto" primitivo e sistemas de detonação automáticos. Estes foram os
predecessores dos mísseis de cruzeiro.

O seguidor de traços de Stanford foi um robô móvel capaz de seguir uma linha branca, utilizando uma
câmara. Era ligado via rádio a um mainframe que realizava o processamento necessário. Por volta da
mesma época (1966-1972), o Instituto de Pesquisa de Stanford estava a construir e a realizar pesquisas
1970
no Shakey, um robô que recebeu o seu nome devido à sua movimentação brusca. O Shakey detinha uma
câmara, um detetor de distância, sensores de toque e um link de rádio. Foi o primeiro robô capaz de
analisar as suas ações.

O interesse do público nos robôs aumenta, resultando em robôs que poderiam ser utilizados para uso
doméstico. Estes robôs eram voltados para o entretenimento ou educação. Alguns dos exemplos incluem
1980
o RB5X, que ainda existe, e a série HERO. O seguidor de linha de Stanford é agora capaz de navegar
entre obstáculos e fazer mapas de seu ambiente.

Os robôs Dante I e Dante II são desenvolvidos pela Universidade Carnegie Mellon. Ambos são robôs
1994
com membros utilizados para explorar vulcões ativos.

O Robosapien, um robô biomórfico brinquedo desenvolvido por Mark Tilden é disponível


comercialmente no mundo. No 'Projeto Centibots', 100 robôs autónomos trabalham juntos para
2004 mapearem um ambiente desconhecido e procurar objetos contidos neste ambiente. É realizado o
primeiro DARPA Grand Challenge, uma competição na qual veículos totalmente autónomos competem
em um percurso no deserto.

Em março a empresa Boston Dynamics exibe a nova geração do BigDog - um robô militar em
2008
desenvolvimento.

Figura 7 - Robô Big Dog

19 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


3º capítulo – Desenvolvimento do protótipo
União das ideias:
Com o término do 11ºano e devido à atual pandemia de COVID-19, decidi começar a reunir as ideias e para dar
início ao desenvolvimento da prova de aptidão profissional com o objetivo de reunir componentes e materiais para
a construção do protótipo. Foi efetuada uma pesquisa sobre projetos similares ao projeto a ser construído e foi
traçado o objetivo de criar um carro kit capaz de ser montado e desenvolvido por jovens interessados pela área.
Numa fase inicial foi desenvolvido um código de programação e uma aplicação para testes com o objetivo de
dimensionar uma estrutura eletrónica utilizando a ponte em H L298N. Com o dimensionamento, a estrutura e a
aplicação concluídos, os mesmos foram testados numa plataforma disponível na escola.
Após o êxito obtido nos testes, foi comprada uma estrutura própria para o desenvolvimento da prova e para
dimensionar os componentes criando um circuito eletrónico totalmente novo utilizando o Shield L293D que mais
tarde viria a ser modificado e dimensionado de acordo com as necessidades. Foi também colocado um sensor
ultrassónico na frente do carro com o objetivo de ser desenvolvido no futuro.

Figura 8 - Protótipo desenvolvido

Após a conclusão do protótipo, o código da programação foi alterado e reformulado, bem como a estrutura e as
ligações entre os componentes. Foi também adquirido um módulo para efetuar o carregamento das baterias LI-ION
(Lythium Ion) 18650.

Figura 9 - Carregador de baterias LI-ION TP4056

20 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


4º capítulo – Comunicações

Comunicação UART:
O Arduino permite a utilização de inúmeras interfaces de comunicação. Graças a estas, os projetos
desenvolvidos podem comunicar com outros sistemas, sensores, antenas ou com o computador. [2]

O seu princípio de funcionamento baseia-se no envio série de uma sequência de bits, que são
transformados em informação. Um conjunto de dados (data frame) é transmitido da seguinte forma:

Figura 10 - Data frame

A transmissão começa com o start bit, marcado como BS na figura. É sempre um bit que é zero lógico. Depois,
dependendo da configuração, existem 7, 8 ou 9 data bits (marcados de B0-B7) que são as informações a ser
enviadas. O stop bit (indicado como BK) é um bit um lógico.

Para que a transmissão funcione corretamente, deve ser definida a mesma velocidade de transferência de dados
em ambos os sistemas – conhecida como baud-rate ou taxa de transmissão. Esta especifica o número de bits
transmitidos por segundo. O valor utilizado neste projeto foi de 9.600 bits/s.

Ao usar o UART no Arduino, devemos ter em consideração dois pinos:

 Tx – envio de dados (pino 1);


 Rx – receção de dados (pino 0).

Como por exemplo, na fase de testes foi efetuada uma ligação entre o Arduino e uma antena Bluetooth HC-05, e
foi montado segundo o seguinte esquema:

Figura 11 - Esquema de ligação Arduino-HC-05

21 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Comunicação via Bluetooth:

A comunicação Bluetooth é um padrão global de comunicação sem fios e com um baixo consumo de energia,
que permite a transmissão de dados entre dispositivos. No entanto, os diapositivos têm de estar próximos entre
eles, num raio não superior a 10 metros. O Bluetooth é um elo entre o hardware e o software e permite que este
procedimento ocorra entre os mais variados tipos de aparelhos. A transmissão de dados é efetuada por ondas de
radiofrequência, que permite que um dispositivo detete o outro independentemente das suas posições, sendo
necessário apenas que ambos estejam dentro do limite de proximidade de 10 metros.

Para que seja possível atender aos mais variados tipos de dispositivos, o alcance máximo do Bluetooth foi
dividido em três classes:

Classe Potência máxima Alcance


1 100 mW 100m
2 10 mW 30m
3 2.5mW 10m
4 1mW 1m

Módulo HC-05:
O módulo HC-05 é um módulo que permite a comunicação entre o Arduíno com um diapositivo através de
Bluetooth. O módulo Bluetooth HC-05 é usado para a comunicação wireless entre o Arduíno e outro dispositivo
com Bluetooth, como, por exemplo, um smartphone utilizado neste projeto como comando.
As informações recebidas pelo módulo são enviadas ao Arduíno via porta série Pinos. O alcance do módulo é
igual ao alcance da comunicação Bluetooth, que é de aproximadamente 10 metros, dependendo do meio
envolvente.
Este módulo pode funcionar em modo master e slave, ou seja, permite que outros dispositivos se conectem a ele
e permite que ele próprio se conecte a outros dispositivos Bluetooth.
O módulo possui cinco pinos: VCC (alimentação de 3,6 V a 5 V), GND, RX e TX, o RX e o TX são usados para
comunicação com o microcontrolador, via porta série e o Enable e o Key utilizados para acionar os comandos AT
(AT commands).

Figura 12 - Pinout do módulo HC-05

22 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


5º capítulo – Programas utilizados

Arduino IDE:
O Arduíno Integrated Development Environment (IDE) é uma aplicação multiplataforma escrita em Java. É
esquematizado para introduzir a programação com o desenvolvimento de software. Inclui um editor de código com
recursos de realce de sintaxe, parênteses correspondentes e identificação automática, sendo capaz de compilar e
carregar programas para a placa com um único clique. Nas placas replicadas é necessário selecionar a placa e o
microcontrolador para compilar e carregar os códigos e utilizar drivers adicionais, caso necessário.

Exemplos de instruções pré-definidas:

 PinMode() - Configura o pino especificado para funcionar como uma entrada ou saída.

void setup() {
pinMode(13, OUTPUT); // configura o pino digital 13 como saída
}

 digitalWrite() - Aciona um valor HIGH ou LOW em um pino digital. Se o pino for configurado como saída (OUTPUT)
com a função pinMode(), sua tensão será acionada para o valor correspondente: 5V para o valor HIGH, 0V (ou ground)
para LOW.

void loop() {
digitalWrite(13, HIGH); // ativa o pino digital 13
delay(1000); // espera por um segundo
digitalWrite(13, LOW); // desativa o pino digital 13
delay(1000); // espera por um segundo
}

 digitalRead() - Lê o valor de um pino digital especificado, que pode ser HIGH ou LOW.

void loop() {
val = digitalRead(inPin); // lê o pino de entrada
digitalWrite(ledPin, val); // aciona o LED com o valor lido do botão
}

Funções pré-definidas:

 void setup() – A função setup() é chamada quando se inicia um sketch. Utiliza-se para inicialr variáveis, configurar o
modo dos pinos (INPUT ou OUTPUT), inicializar bibliotecas, etc. A função setup() será executada apenas uma vez, apoós
a placa ser alimentada ou acontecer um reset.

void setup() {
// Inicializa a porta serial
Serial.begin(9600);
// configura o pino 3 como INPUT
pinMode(buttonPin, INPUT);
}

23 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


 void loop() - Depois de criar uma função setup(), a qual inicializa e atribui os valores iniciais, a função loop() faz
precisamente o que o seu nome sugere, e repete-se consecutivamente enaqunto a placa estiver ligada, permitindo o seu
programa mudar e responder a essas mudanças.

void loop() {
if (digitalRead(buttonPin) == HIGH) {
Serial.write('H');
}
else {
Serial.write('L');
}

delay(1000);
}

Ciclos de repetição:

 for - O comando for é usado para repetir um bloco de código envolvido por chaves. Um contador de incremento é
geralmente utilizado para terminar o loop. O comando for é útil para qualquer operação repetitiva, e é usado
frequentemente com vetores para operar em coleções de dados ou pinos.

for (inicialização; condição; incremento) {


//comando(s);
}

 while - Um loop while irá repetir se continuamente, e infinitamente, até a expressão dentro dos parênteses (), se torne falsa.
Algo deve mudar a variável testada, ou o loop while nunca irá terminar.

while (condição) {
// código a ser executado repetidamente
}

(A condição é uma expressão booleana que resulta em true ou false.)

Decisão:

 IF – O comando if funciona com uma condição e executa-se o comando a seguir ou um bloco de comandos delimitados por
chaves, se a condição é verdadeira ('true').

if (condição) {
//comando(s)
}

 IF/ELSE – A combinação if…else permite um maior controlo sobre o fluxo de código que o comando mais básico if, por
permitir que testes sejam agrupados em conjuntos. Uma cláusula else (se presente) será executada se a condição do
comando if resulte em false.

if (condição1) {
// faz coisa A
}
else if (condição2) {
// faz coisa B
}
else {
// faz coisa C
}
24 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
 switch/case – Tal como o comando if, o comando switch case controla o fluxo do programa permitindo ao programador
especificar um código diferente para ser executado em várias condições. Em particular, um comando switch compara o
valor de uma variável aos valores especificados nos comandos case. Quando um comando case é encontrado cujo valor é
igual ao da variável, o código para esse comando case é executado.
A palavra-chave break interrompe o comando switch, e é tipicamente usada no final de cada case. Sem um comando
break, o comando switch irá continuar a executar as expressões seguintes (desnecessariamente) até encontrar um break, ou
até o final do comando switch ser alcançado.

switch (var) {
case valor1:
// comando(s)
break;
case valor2:
// comando(s)
break;
default:
// comando(s)
break;
}

Outros comandos:

 AnalogRead - Lê o valor de um pino analógico especificado. A placa Arduino possui um conversor analógico-digital 10 bts
de 6 canais (8 canais nos Mini e Nano, 16 no Mega, 7 canais em placas MKR). Isso significa que este irá mapear tensões
entre 0 e a tensão operacional (5V or 3.3V) para valores inteiros entre 0 e 1023. No Arduino UNO, por exemplo, isso
permite uma resolução entre leituras de: 5 volts / 1024 unidades, ou .0049 volts (4.9 mV) por unidade.

analogRead(pino)

 AnalogWrite - Aciona uma onda PWM num pino. Pode ser usada para variar o brilho de um LED ou acionar um
motor a diversas velocidades. Após a função analogWrite() ser chamada, no pino haverá uma onda quadrada
com o duty cycle (ciclo de trabalho) especificado até a próxima chamada de analogWrite() (ou uma chamada de
digitalRead() ou digitalWrite() no mesmo pino). A frequência do sinal PWM na maioria dos pinos é
aproximadamente 490 Hz. No Uno, os pinos 5 e 6 usam uma frequência de aproximadamente 980 Hz.

analogWrite(pino, valor)

Figura 13 - Arduino Uno

25 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Interface:
A interface do software foi concebida para ser apelativa e fácil de usar para os seus utilizadores. Possui funções
para compilar o código desenvolvido para corrigir eventuais erros no código, entre outras funções. O processo de
carregamento do programa para a placa também é relativamente fácil, à exceção de alguns erros que surgem
frequentemente quando a placa não for selecionada corretamente e relativamente ao uso de placas não originais,
onde pode ser necessário descarregar uma driver externa para o controle dos mesmos.
De forma geral, permite desenvolver códigos escritos em linguagem Java de forma fácil e intuitiva e foi essa
uma das razões que me justificam o uso de uma placa Arduino nesta prova.
O software inclui um editor de código com recursos de realce de sintaxe, parênteses correspondentes, sendo
capaz de compilar e carregar programas para a placa com um único clique.
Possui a capacidade de programar em C/C++, e assim permite criar com facilidade muitas operações de entrada e
saída, tendo de definir apenas duas funções no pedido para fazer um programa funcional:

 setup() – Inserida no inicio, na qual pode ser usada para inicializar configuração;

 loop() – Chamada para repetir um bloco de comandos ou esperar até que seja desligada.

Figura 14 - Interface Arduino IDE

Comandos elementares da interface:

1) Compilar o código desenvolvido


2) Envio do código para a placa a usar
3) Criar um ficheiro novo
4) Abrir um ficheiro
5) Guardar um ficheiro
6) Monitor da porta série

26 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Fusion 360:
O Fusion 360 é um programa concebido para o desenvolvimento de ficheiros CAD/CAM, e ao inverso do
programa AutoCad, foca-se mais no puro design e desenvolvimento de objetos e peças tridimensionais. O Fusion
360 facilita imenso o desenho e desenvolvimento de peças para CNC e impressão 3D, podendo apenas demorar 5
minutos a converter o desenho para um ficheiro STL para impressão 3D, o que facilita imenso o processo de
transformação de uma peça virtual para uma peça física.
A interface do mesmo também é apelativa e fácil de se compreender devido ao facto de ser muito focada para
estudantes e inventores.

Figura 15 - Representação do software Fusion 360

Este software revelou se essencial para a realização desta prova pois, sem ele não seria possível desenhar e
conceber a estrutura do carro e seria necessário utilizar outra plataforma afiliada do Fusion360, como por exemplo
o AutoCAD que é uma plataforma dirigida a arquitetos e utilizada mais em design de estruturas e planeamento das
mesmas.

Comandos base:

 Line – permite desenhar uma ou mais linhas para criar um desenho 2D;
 Extrude – permite efetuar a extrusão do desenho 2D, de modo a ter um desenho 3D;
 Trim – permite cortar as linhas desenhadas de modo a ter um desenho sem excessos;
 Rectangle – permite criar um retângulo ou quadrado;
 Circle - permite criar um círculo;
 Push-Pull – similar ao comando extrude, permitindo aumentar ou diminuir desenhos 3D existentes.

MIT APP inventor:

O MIT APP inventor é uma das ferramentas mais fáceis de utilizar para que alguém com o mínimo
conhecimento de programação possa criar uma aplicação. Esta ferramenta faculta um editor de interface gráfico
PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
27
através do simples "arrasto" de componentes, como é o caso de botões, labels, recursos, listas entre outros.
Figura 16 - Interface do software MIT APP inventor

O MIT APP inventor foi uma das primeiras plataformas a ser explorada no início desta prova devido à elevada
importância que revelou ser para este projeto e foi uma das áreas onde revelava mais dificuldades. Antes iniciar a
construção do protótipo, a aplicação foi a primeira parte a ser concluída e foi alvo de testes utilizando um projeto
disponível na escola.

Figura 17 - Aplicação
desenvolvida

28 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Ultimaker Cura:
O Ultimaker Cura é um software que permite converter os arquivos STL que contêm o design 3D em peças
físicas num único ambiente de trabalho. O software Ultimaker Cura gera um código (.gcode) que é compatível
com a grande maioria das impressoras 3D, sejam elas de referencial em delta ou cartesiano.
O Ultimaker Cura é uma aplicação muito simples de usar, com muitas opções e ajustes, tendo também
comandos mais integrais e complexos para o desenvolvimento de peças mais complexas.
A aplicação tem quase todas essas configurações e opções que se podem encontrar na maioria dos outros
softwares, nesta aplicação é possível alterar as opções de qualidade e velocidade.

Figura 18 - Interface do software Ultimaker Cura

Easy EDA:
29 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
O Easy EDA (Electronic Design Automation) é uma ferramenta de design e desenvolvimento de placas de
Figura 19 - Interface Easy EDA

O processo de criação de placas de circuito impresso efetua-se pela seguinte ordem:

1) Criação de um design esquemático;


2) Inserção das pistas e dos furos para os componentes (manualmente ou automaticamente);
3) Desenvolvimento da placa relativamente às suas dimensões e layout dos componentes;
4) Conversão do ficheiro para um ficheiro GERBER;
5) Envio do ficheiro GERBER para o fabricante.

Figura 20 - Placa desenvolvida

O fabrico da placa foi auxiliado pelo Professor Sérgio e pelo conteúdo lecionado no módulo de fabrico de placas
de circuito impresso.

30 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


6º capítulo – Impressão 3D

A impressão 3D:
A impressão 3D é um conjunto de tecnologias de fabricação aditiva, em vez de subtrativa, em que o modelo é
obtido, por deposição de camadas sucessivas de material a partir de um modelo digital 3D criado num software. [3]
Existem vários tipos de processos aditivos de metais, como Sinterização Seletiva a Laser (SLS), Sinterização de
Metal Direta por Laser (DMLS), Sinterização Seletiva de Metais (SLM). No caso mais comum, o processo SLS, a
impressão 3D é feita seletivamente por sinterização, formando uma massa sólida de material pelo calor, sem
chegar à liquefação. A principal vantagem do processo SLS é a precisão e a sua alta capacidade para reproduzir
geometrias complexas. As peças obtidas por este processo possuem boas características mecânicas. Este processo
pode usar uma grande variedade de materiais que são:

 Plástico PLA – Um dos materiais mais utilizados no mundo da impressão 3D por ter excelente custo
benefício e durabilidade.

 Plástico ABS – Assim como o PLA, o ABS é um material bastante popular. Apresenta boa resistência
mecânica e térmica, sendo bastante utilizado em protótipos.

 Plástico PET – Material translúcido, rígido, bem leve e com grande resistência a impactos. Bastante usado
para testes de forma em protótipos por conta da translucidez.

Figura 21 - Representação elementar de uma


impressora 3D

A impressora utilizada para produzir as peças da prova foi a Ender 5 (figura 19) desenvolvida pela Creality, em
Shenzen, na China. A impressora em si não ocupa muito espaço, o que a torna altamente eficaz e apetecível para o
mercado. Possui uma mesa de impressão de 22x22cm e tem algumas características que a tornam única,
nomeadamente a capacidade de resumir a impressão em caso de falta de energia, a sua relação custo-benefício e o
seu ruido de 55db.

31 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Figura 22 - Ender 5

As peças necessárias para a estrutura da prova foram desenhadas no Fusion 360, como referido no 4º capítulo e o
processo de impressão efetua-se da seguinte forma:

1) Conceção das peças num software de desenho;


2) Conversão dos ficheiros das peças desenhadas para ficheiro STL (Standard Triangle Language);
3) Dimensionamento das peças num slicer, com por exemplo o Ultimaker Cura e criação do código G;
4) Envio do ficheiro G para a impressora;
5) Configuração da impressora;
6) Impressão.

Figura 23 - Impressão na Ender 5

7º capítulo – Motores DC

32 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Motores utilizados:
Nesta prova foram utilizados motores DC com redutores para controlo do carro e um servo motor para executar
o movimento do sensor colocado na frente do carro. Foram utilizados motores DC padrão devido ao seu baixo
custo e elevado torque devido às reduções nele presentes. Como alternativa, era possível utilizar motores
brushless (sem escovas), mas para tal seria necessário utilizar ESCs para o controle dos mesmos e seria uma
alternativa dispendiosa e desnecessária, pois não existe necessidade de um torque e velocidade elevados para a
prova desenvolvida.
Relativamente ao servo motor, foi utilizado um SG90 devido à sua reduzida dimensão e bom desempenho.

Nesta prova foram utilizados motores DC com redutores para controlo do carro e um servo motor para executar

Os servomotores são dispositivos de alta qualidade e excelente para as suas necessidades, seja em
aeromodelismo ou em projetos de robótica com microcontroladores. Os servomotores são utilizados em várias
aplicações quando se deseja movimentar algum objeto de forma precisa e controlada.

Servo motores:

Figura 24 - Representação de um servo motor

Controlo dos servo motores:


Os servomotores são compostos por 3 entradas para realizar a ligação com o microcontrolador. Existem dois
desses pinos preto e vermelho que são feitos para alimentação do servo (VCC e GND), e um de comunicação que
corresponde pela cor amarela. Um servo é controlado enviando um sinal PWM (Pulse Width Modulation), ou seja,
a posição angular irá depender da largura de pulso enviado. O sinal de controle é uma onda quadrada (0 a 5V) de
1
frequência igual à 50 ou 60Hz, que por sua vez frequência de 50Hz corresponde a um perído de 20 ms (
50
=20𝑚𝑠). Imediatamente após o envio do sinal PWM, no primeiro milissegundo o sinal é de 0V, e servo ir-se-á
colocar na posição 0 graus. Se o sinal for igual a 5V durante o primeiro e segundo milissegundo, nesse caso o
servo ir-se á colocar na posição 180 graus.

Exemplos de sinais PWM e respetiva posição:

 1 ms a 5V e 19 ms a 0V corresponde a uma posição angular de 0 grau;


 1,005 ms a 5V e 18,995 ms a 0V corresponde a uma posição angular de 1 grau;
 2 ms a 5V e 18 ms a 0V corresponde a uma posição angular de 180 graus.

33 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Figura 25 - Representação dos sinais de controlo do servo motor

Constituição de um servo motor:


Um servo motor é constituído pelos seguintes dispositivos:

 Circuito de controlo – Normalmente formado por circuitos integrados e geralmente composto por um
oscilador e um por um controle PID (Controlo Proporcional Integrativo e Derivativo) que recebe um sinal
do potenciómetro (posição do eixo) e o sinal de controle aciona o motor no sentido necessário para
posicionar o eixo na posição desejada.
 Potenciómetro – É um potenciómetro acoplado ao eixo do servo. A qualidade do potenciómetro interfere
na precisão, estabilidade e vida útil do servo motor.
 Sistema de Acionamento – O sistema de acionamento é constituído por um motor DC (corrente contínua).
 Engrenagens – Reduzem a rotação do motor, transferem mais torque (binário) ao eixo principal de saída e
movimentam o potenciómetro junto com o eixo. O torque do servo motor utilizado na prova varia de
1.2Kg/cm a 2Kg/cm.

Como foi referido anteriormente, quando o servo recebe um sinal, ele


verifica se o potenciómetro se encontra na posição correspondente ao
sinal recebido, ou seja, se o potenciómetro não estiver na posição
correspondente, aciona o circuito de controlo que por sua vez aciona o
motor até que o potenciómetro esteja na posição correspondente.
A direção de rotação do servo motor depende da posição do
potenciómetro. O motor vai girar na direção levando o potenciómetro Figura 26 - Representação do sinal PWM a 0 ms
mais rapidamente para a posição correta.
Nas figuras 23 e 24 é possível ver as formas de onda do sinal PWM
aplicado no motor na posição 0º e 180º e verifica-se que o sinal PWM
corresponde à variação do eixo do mesmo, como foi referido na
explicação sobre o controlo dos servo motores acima apresentada.

Figura 27 - Representação do sinal PWM a 2,5 ms

Análise do servo motor:

34 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Engrenagens

Potenciómetro
Motor DC

Circuito
integrado

Figura 28 - Vista interna de um servo motor

Torque:

O torque é uma medida de força que se pode aplicar a um objeto a girar ao redor de um eixo. Assim como a
força, que faz um objeto acelerar em cinemática linear, o torque faz com que um objeto adquira aceleração
angular.
O torque é uma grandeza vetorial. O sentido do vetor torque depende do sentido da força no eixo. O torque
derivado do servo motor SG90 utilizado nesta prova varia de 1.2Kg/cm a 2.0Kg dependendo da tensão aplicada no
mesmo.

Figura 29 - Representação do torque de um servo


motor

Motor DC:
Um motor CC (motor de corrente contínua), é uma máquina capaz de converter energia elétrica em energia
mecânica.
A base do funcionamento de um motor CC está assente nas interações entre os seus polos. Ao fazer passar
corrente pela bobina/ímanes que se encontram agarrados ao estator cria-se um campo indutor. O rotor contém uma
bobina na sua constituição, cuja passagem de corrente nos seus enrolamentos cria um campo magnético. Desta
35forma, a interação entre os campos magnéticos do rotor
PROVA DEestator
e do APTIDÃO PROFISSIONAL
origina o movimento –doNirav [3] | YOUR RC
TM18
motor.
Figura 30 - Representação interna de um
motor DC

Análise do motor DC:


Os motores utilizados nesta prova possuem uma estrutura de plástico que contem redutores que aumentam o seu
torque e diminuem ligeiramente as RPM (rotações por minuto), sendo possível controlar o carro com mais precisão
e força. A dimensão reduzida dos motores foi um dos pontos a favor.

Especificações do motor com redutor:

 Voltagem: 3-6VDC
 Corrente: 0.3A a 1A
 Rpm: 100rpm
 Torque: 1 kg/cm

Caixa com engrenagens

Motor DC

Figura 31 - Relação tensão-corrente do motor DC

Durante a realização desta prova, foram efetuados inúmeros testes relativos ao funcionamento dos motores. No
teste abaixo representado, foi elaborado um código de programação com o objetivo de controlar um motor DC
com um potenciómetro e observar a sua forma de onda no valor mínimo e máximo de rotação, abaixo
representada.

36 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Na forma de onda acima representada é possível ver uma onda distorcida, consequência do campo
eletromagnético formado pelo motor DC que por sua vez causa a interferência.

Controlo PWM:
O controlo PWM ou Pulse Width Modulation (modulação por largura de impulso), é um controlo mais preciso,
permite um controlo de baixa velocidade com precisão, e uma eficiência energética acima dos 90%.
O método de controlo PWM consiste em ligar e desligar uma carga, neste caso o motor, a uma frequência fixa
através de um comutador, fazendo com que seja aplicada no motor uma tensão média proporcional à relação entre
o intervalo de tempo em que o comutador está fechado (Ton), e o período da frequência de comutação (T). A esta
relação dá-se o nome de Duty Cycle (D).

Figura 33 - Sinal PWM

37 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Na figura 31 está representado um sinal PWM com um duty cycle de 50% este pode ser calculado através da
equação (4), sendo o valor médio da tensão aplicada no motor igual ao produto da tensão de alimentação (+V) pelo
duty cycle (D9).
Com o objetivo de testar e verificar os impulsos PWM num osciloscópio foi efetuado o seguinte código de
programação:

void pinoanalog(){ - Criação do void para a leitura e transmissão dos dados

valor=analogRead(A0); - Variável “valor” = dados recebidos do potenciómetro


valor=map(valor,0,1023,0,255); - Função MAP

if(valor>230) – limitação da rotação do motor


{
valor=230;
}

if(valor<25) – limitação da rotação do motor


{
valor=25;
}

analogWrite(11, valor); - Pino de controlo do motor através do transístor TIP 112


}

void loop(){
pinoanalog();
}

E foi montado o seguinte circuito:

Figura 34 - Circuito montado para verificação do sinal PWM

E por fim, procedeu se à verificação do sinal:

Figura 35 - Verificação do sinal PWM

38 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


L293D Motor shield:

Com o objetivo de poder controlar os motores de uma forma eficiente e facilitar o desenvolvimento do código da
programação, o circuito do carro foi dimensionado utilizando o Shield L293D que nada mais é do que uma ponte
em H similar ao L298N, e possui algumas vantagens extra que o L298N não possui, tais como:

 Encaixa nos pinos do Arduino Uno ou Mega, ampliando o espaço na estrutura;


 Possui 2 canais destinados aos servo motores;
 Possui headers destinados aos pinos analógicos;
 Possui 2 pontes em H L293d, o que permite controlar 4 motores DC;
 Facilita o desenvolvimento do código da programação, utilizando a biblioteca “adafruit motor shield”.

O chip L293D possui internamente duas Pontes em H e suporta uma corrente de saída de até 600mA por canal,
ou seja, será possível controlar até 2 motores com 600mA cada, visto que neste shield temos 2 chips. A tensão
suportada de 4,5 a 36V.

Figura 36 - L293D Shield

Principais características:

 Indicado para o controlo do sentido de rotação dos motores e a velocidade;


 Pode controlar 4 Motores DC, 2 Motores de Passo ou 2 Servos;
 Resistências Pull Down mantém os motores desativados durante a entrada de alimentação;
 Botão Reset disponível na placa;
 Terminais em bloco de 2 pinos e jumper para ligação de uma alimentação externa;
 Duas unidades do circuito integrado L293D;
 Entra em operação sem limitar as entradas e saídas do Arduino;
 Fácil aplicação.

39 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Vista geral do shield:

Entradas dos
motores 1 e 2 Ponte em H
L293D

2 canais para os
servo motores

Ligação de
alimentação
externa

Ligação com os
pinos analógicos Ligação com os
e de alimentação pinos digitais

Ponte em H
Shift register L293D

Entrada dos
motores 3 e 4
Figura 37 - Shield L293D

Funcionamento do L293D:

O Circuito Integrado L293D é um CI fácil de se encontrar e que possui uma grande eficiência no controlo de
motores. Através dos seus dois circuitos denominados de Ponte em H, este possibilita o controlo de dois motores
simultaneamente através de um sinal externo gerado por um microcontrolador como o Arduino.
Fundamentalmente, a Ponte H é constituída por quatro chaves de contacto e uma fonte de alimentação. Cada
uma destas consegue controlar um Motor DC e o seu respetivo sentido de rotação, demonstrado no esquema
abaixo representado.

Figura 38 - Esquema de funcionamento do L293D

40 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Tomando a imagem acima como base, podemos determinar que através dela o sentido de rotação de um Motor
DC, através do acionamento de suas chaves, por exemplo, ao acionarmos as chaves C1 e C4 a corrente irá fluir
num sentido e ao acionar as chaves C2 e C4 este sentido de rotação será invertido, como representado nas figuras
seguintes:

Figura 39 - Funcionamento do sentido de inversão da corrente na Ponte H

Ao observarmos o datasheet do L293D encontramos diversas informações relevantes quanto ao seu


funcionamento, os seus limites de alimentação e a corrente de saída suportada pelo circuito, que é de 600mA por
canal com correntes de pico de até 1,2A enquanto que a tensão suportada pelo mesmo é de 4,5 à 36V.
Outra informação bastante importante que é possível verificar no datasheet diz respeito aos pinos do circuito
integrado e às suas devidas funções, através da imagem abaixo representada podemos averiguar os pinos de sinal e
alimentação, lembrando que ao desenvolver um projeto, todos os pinos de alimentação devem estar devidamente
conectados.

Figura 40 - CI L293D

Além dos pinos de alimentação, temos os pinos Enable 1 e 2 que fornecem a velocidade dos motores e estão
associados ao Arduino, os pinos Output 1, 2, 3 e 4 utilizados para a ligação dos motores e os pinos Input 1, 2, 3 e 4
utilizados para realizar o controlo do sentido de rotação dos motores através de um microcontrolador como o
Arduino.
O Motor Shield integra também um CI 74HC595 que é um registador de deslocamento que proporciona uma
saída paralela de 8 bits através de uma entrada digital, entrada essa que constitui três pinos, clock, latch e data.

Figura 41 - CI 74HC595

41 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Esquema eletrónico do shield:

Figura 42 - Esquema eletrónico- Shield L293D

1. Arduino;
2. Circuito integrado L293D 1;
3. Circuito integrado 74HC59 (shift register);
4. Circuito integrado L293D 2;
5. Array de resistências;
6. Circuito de iluminação de funcionamento;
7. Ligação dos pinos do Arduino para o shield.

PCB desenvolvida:
Conforme abordado no capítulo dos programas desenvolvidos, o shield controlador dos motores foi replicado e
adaptado
42 consoante a necessidade para a realização PROVA
deste projeto, e o desenvolvimento
DE APTIDÃO PROFISSIONAL da –mesma foi efetuada
Nirav TM18 | YOUR naRC
plataforma EasyEDA. A placa consiste em 2 layers (camadas) e foi criada para facilitar as ligações eletrónicas do
Figura 43 – Desenvolvimento físico do shield

Findo o processo de soldadura do shield, colocam se os circuitos integrados nos seus respetivos suportes e
procede-se à limpeza do mesmo com álcool isopropílico para retirar a sujidade deixada pelo processo de soldadura
e do fluxo de solda.
Como melhoria futura, tenho como objetivo melhorar o dimensionamento da placa e utilizar componentes SMD
(surface mount device) para economizar o espaço na placa, bem como utilizar um layout mais simplificado.

8º capítulo – Microcontrolador Arduino e Sensores

Arduino Uno:
Um microcontrolador é um pequeno computador incorporado num único circuito integrado no qual contem um
núcleo processador, memória e periféricos programáveis de entrada e saída. A memória de programação pode ser
RAM que, muitas vezes, é incluída no chip.
A Plataforma Arduíno é baseada numa plataforma open source, criada por Massimo Banzi e David Cuartielles,
projetada para a realização de projetos de prototipagem eletrónica de hardware e software. A marca Arduíno
disponibiliza no total treze modelos (Arduíno Uno; Arduíno Mega; Arduíno Leonardo; Arduíno Diecemilnove;
Arduíno Nano; Arduíno Diecimila; Arduíno Mini; Arduíno Extreme; Arduíno BT; Arduíno NG; Arduíno NG Plus;
LilyPad Arduíno; Serial Arduíno, etc.). Pode ser usado para o desenvolvimento de objetos interativos
independentes, ou ainda para ser conectado a um computador host (hospedeiro).
O microcontrolador Arduino escolhido para a realização deste projeto foi o Arduino UNO, devido à sua
compatibilidade com o motor shield, apresentado no 7º capítulo. Este possui 13 pinos digitais que podem ser
saídas ou entradas (dos 6 podem ser usados como saídas PWM), 8 entradas analógicas, um cristal oscilador de 16
MHz, um conector USB e um botão que serve para reiniciar o microcontrolador e uma memória de 32Kbytes.

43 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Figura 44 - Representação do Arduino Uno

Características do Arduino Uno:


 Microcontrolador ATmega328
O Arduino
TensãoUnooperacional 5V série de facilidades para se comunicar com um computador, outro Arduino, ou
possui uma
 microcontroladores.
outros Tensão de alimentação (recomendada)
O ATmega328 7-12V
fornece comunicação serial UART TTL (5V) que está disponível nos
 Tensão de alimentação (limites) 6-20V Pinos
pinos digitais 0 (RX) e 1 (TX). Um ATmega8U2 na placa I/O digitais
canaliza14esta
(doscomunicação
quais 6 podem serasaídas
para USB ePWM)
aparece como
 6 entradas analógicas
uma porta virtual para o software no computador. O firmware do '8U2 utiliza os drivers padrão USB COM e
 Disponibiliza
nenhum driver externo alimentação de 3,3V
é necessário. 50mA no Windows, um arquivo .inf é necessário. O software do
Entretanto,
Arduino inclui um
 Memoria monitor
flash: 32 KBserial que permite
(ATmega328) dosdados
quais de
0.5texto serem pelo
KB usados enviados e recebidos da placa. Os LEDs
bootloader
conectados
 SRAM: ao RX e TX
2 KB piscam enquanto os dados estiverem a ser transmitidos pelo chip USB-para-serial e pela
(ATmega328)
conexão USB (mas não para
 EEPROM: 1 KB (ATmega328) comunicação série nos pinos 0 e 1).
 Cristal: 16 MHz

Comunicação do Arduino:
Entradas e saídas do Arduino:
Programação do Arduino:

O um
Cada Arduino
dos 14Uno pode
pinos ser programado
digitais do Uno podem comseroutilizados
software como
Arduino
uma(download).
entrada ou umaSimplesmente selecionea-se
saída, utilizando-se as
"Arduino Uno" no menu Tools > Board.
funções pinMode(), digitalWrite(), e digitalRead(). Eles operam a 5V. Cada pino pode fornecer ou receber um
O ATmega328
máximo no Arduino
de 40mA e tem Unopull-up
um resistor vem pré-gravado com um bootloader
interno (desconectado quedelhe
por padrão) permite enviar um código novo
20-50kΩ.
sem
O Unoa utilização de umanalógicas,
tem 6 entradas programador de hardware
etiquetadas externo.
de A0 Ele comunica
a A5, cada uma tem 10utilizando o protocolo
bits de resolução original
(i.e. STK500
1024 valores
(referência, arquivos C header).
diferentes). Por padrão, elas medem de 0 a 5V, embora seja possível alterar o limite superior utilizando o pino
AREF e a função analogReference().

44 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Figura 45 - Pinagem do CI ATMEGA 328P

45 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Esquema eletrónico do Arduino UNO:

Figura 46 - Esquema eletrónico - Arduino UNO

1. ATMEGA 16U2 – Conversor série para USB


2. Chip ATMEGA328P – CI base da placa
3. Circuitos de amplificação
4. Regulador de tensão

46 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Sensor ultrassónico HC-SR04:
O sensor ultrassónico SR-04 possui uma grande importância para a realização desta prova, pois sem ele não seria
possível automatizar o carro para efetuar a função de deteção de obstáculos e a voltar para trás, caso detete um
obstáculo. O sensor de distância HC-SR04 foi desenvolvido para aperfeiçoar projetos de robótica e eletrónica, e é
ideal para calcular a distância com precisão de objetos. Este módulo possui um circuito com um emissor e recetor
acoplados e 4 pinos (VCC, Trigger, ECHO, GND) para realizar a respetiva medição. [4]

O HC-SR04 é um Sensor de Distância composto por um emissor e um recetor, com capacidade de medir
distâncias de ~2cm até ~4m, com uma precisão de aproximadamente 3mm. Este sensor emite sinais ultrassónicos
que refletem no objeto a ser atingido e retornam ao sensor, indicando a distância do alvo.

A velocidade do sinal ultrassónico emitida pelo Sensor HC-SR04 corresponde à velocidade do som, que é de
aproximadamente 340 m/s, assim, se o sensor estiver a uma distância x do objeto, o sinal percorrerá uma distância
equivalente a 2x, ou seja, a onda é enviada pelo sensor e rebatida no obstáculo, logo ela percorre 2 vezes a
distância procurada.

Figura 47 - Sensor ultrasónico HC-SR04

Por exemplo, se o objeto estiver a 10cm de distância, e se a velocidade do som for de 340 m/s ou 0.034 cm/µs a
onda ultrassónica terá de viajar durante 294 u segundos. A distância é calculada através da seguinte fórmula:
t × 0.034
d= e o seu funcionamento baseia-se no seguinte esquema:
2

Figura 48 - Funcionamento do sensor ultrassónico

47 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


9º capítulo – Programas desenvolvidos

Programas desenvolvidos:
Neste capítulo será demonstrada a conceção da aplicação Bluetooth na plataforma MIT App Inventor e serão
demonstrados os seguintes testes e experiências efetuadas:
 Aplicação Android;
 Acionamento dos motores via APP.

1ª fase – Aplicação Android

A aplicação para o funcionamento do projeto “Your RC” tem como principal objetivo enviar caracteres, de
maneira a que seja possível deslocar o robot nas principais direções como frente, trás, esquerda e direita.
A primeira fase desta aplicação consiste no desenvolvimento de um aspeto visual. Para tal, a programação no
MIT App Inventor fornece duas opções de “Designer” e “Blocks”, onde é possível, personalizar ao gosto do
criador, o design da aplicação e definir o comportamento de cada um dos componentes que constituem a
aplicação.
No lado esquerdo da interface está representada uma aba que contem as várias pastas com elementos que são
possíveis de usar. Essas pastas têm vários elementos como botões, imagens, caixas de texto, sensores ou até
elementos de conectividade como o Bluetooth.

Figura 49 - Representação do design do MIT APP inventor

Para o desenvolvimento desta aplicação, foram necessários uma lista e cinco botões, a lista correspondendo à
ativação do Bluetooth, os primeiros quatro botões correspondem a realização dos movimentos para quatro direções
que são frente, trás esquerda e direita e o restante corresponde à conectividade Bluetooth.
Para além dos botões foi necessária a ferramenta “BluetoothClient” para estabelecer a ligação Bluetooth. Para
além da personalização da aplicação também é preciso definir o comportamento de cada um dos componentes que
constituem a aplicação. Coma já foi referido anteriormente, o MIT App Inventor detém outra área chamada
“Blocks” onde se pode definir o comportamento de cada um dos componentes.
Nessa mesma área existe uma fração onde estão explicitas todas as funcionalidades de cada componente que foi
escolhido e várias ferramentas para combinação desses componentes como por exemplo blocos de controlo, de
texto, de variáveis, entre outros.

48 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Figura 50 - Representação da programação por blocos

Para a ligação do módulo Bluetooth funcionar corretamente com aplicação é preciso colocar os blocos de lista
“Bluetooth” e blocos de conectividade do “BluetoothClient”, ou seja, quando o botão de lista for pressionado, o
mesmo vai abrir uma lista dos todos módulos Bluetooth que já foram emparelhados ao telemóvel, ou seja, depois
de ter escolhido o Bluetooth que corresponde ao projeto a aplicação chama o respetivo “BluetoothClient” para
ligar ao módulo Bluetooth. A constituição dos blocos pode ser visualizada na figura 44.

Figura 51 - Representação do bloco de seleção Bluetooth

De seguida será demonstrado o processo que é formado para que robot execute, por exemplo o deslocamento
para frente. Para este processo funcionar enquanto o botão for acionado é chamado o “BluetoothClient” que vai
enviar o caracter que foi predefinido na caixa de texto, como no meu caso é caracter representado pelo “F”.
Quando não existir o acionamento do botão, volta a chamar o “BluetoothClient” para enviar outro caracter, que no
meu caso é representado pelo caracter “S” para parar o carro.
Este processo é constituído por um conjunto de blocos chamados de “TouchDown”, quando existe o
acionamento do botão vai realizar o deslocamento de um efeito para frente, e o “TouchUp”, é utilizado quando não
existir o acionamento do botão. Esse processo também é repetido para as outras direções, apenas havendo uma
alteração do botão que será pressionado e alteração dos caracteres que vão ser enviados.

Figura 52 - Represetação dos blocos de deslocamento

49 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


De seguinte forma foi possível concluir a parte dos blocos da aplicação que realiza a função de comando dos
todos os movimentos do carro. Desta forma, abaixo é apresentada uma imagem da aplicação desenvolvida.

Botão de seleção da ligação


Bluetooth

Botões de comando

Figura 53 - Representação da
aplicação

2ª fase – Controlo dos motores DC via Bluetooth com o shield L293D -Teste

Com o objetivo de testar o funcionamento dos motores via Bluetooth, foi criado um um código de programação
para o efeito que veio a ser implementado no protótipo desenvolvido na primeira fase da prova.

Figura 54 - Representação do protótipo

Este circuito tem como função de comandar o motor DC através de uma aplicação Android via Bluetooth,
carregando em botões colocados na aplicação.
Os botões têm associados caracteres, que no caso são o “F”, “B”, “L”,”R” e o “S”. Estes caracteres são enviados
via Bluetooth até ao Arduíno, a partir do momento que estes caracteres chegam ao Arduíno, ele converte-os em
funções pré-programadas.

50 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Tomando como exemplo o comando “FRENTE”, assim que o botão correspondente à função é pressionado, a
aplicação envia o caracter “F” ao Arduino, que por sua vez aciona a porta digital correspondente que comanda o
shield L293D que comanda o motor DC. Assim que o botão “FRENTE” é deixado de se premir, a aplicação envia
o caracter “S” ao Arduino que corresponde à função “PARAR”, que para o carro. A mesma lógica é aplicada aos
restantes comandos.
Para o funcionamento dos motores, são necessárias as bibliotecas <AFMotor.h> e <Servo.h>. A biblioteca
<AFMotor.h> une o shield L293D ao Arduino a nível de software e com ela pode-se programar o carro utilizando
os comandos específicos da mesma, sendo eles “motor1.setSpeed(255)” que faz controlar a velocidade do motor
associado, “motor1.run(FORWARD)”, comandando o motor para a frente ou para trás, e “AF_DCMotor
motor1(1, MOTOR12_1KHZ)” identificando os motores e definindo a sua frequência de funcionamento.
Após serem identificados os motores, procede-se à criação de uma identificação “char” que é um tipo de dado
utilizado para armazenar um caracter. Os caracteres são escritos entre aspas simples, desta forma: 'A'. De seguida
procede-se à última parte referente às configurações elementares, definindo a velocidade de comunicação
“Serial.begin(9600)” dentro do “void setup”, que é uma função que é chamada quando a placa Arduino é iniciada
e é utilizada para iniciar bibliotecas, declarar pinos e iniciar algum comando. Conforme abordado no 4º capítulo
relativo às comunicações, o comando “Serial.begin(9600)” tem como objetivo iniciar a comunicação da porta
série, configurando a taxa de transferência de bits, sendo neste caso de 9600 bits/s.

Figura 55 - Representação do "void setup"

De seguida procede-se a programação dos caracteres a serem recebidos. Os dados recebidos pela variável “char”
são organizados de forma a corresponderem a um “void” criado para direcionar os motores. Por exemplo, o
caracter “F” é recebido pela porta série, e vai acionar o “void frente()” que por sua vez vai colocar os motores a
andarem para a frente. Para tal, foi utilizado o comando switch/case e break, que funciona como o comando
IF/ELSE e tem com função controlar o fluxo do programa permitindo ao programador especificar um código
diferente para ser executado em várias condições. Em particular, um comando “switch” compara o valor de uma
variável aos valores especificados nos comandos “case”. Quando um comando “case” é detetado cujo valor é igual
ao da variável, o código para esse comando “case” é executado. A programação acima representada está integrada
no “void loop” que nada mais é do que um comando que é executado infinitamente. Este processo repete-se para
as restantes variáveis.

51 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Figura 56 - Representação dos
comandos inseridos no "void loop"

Por último estão representados os “voids” correspondentes às direções que o carro pode ter. Cada “void” possui
uma direção única e exclusiva que pode ser acionada pelo caracter recebido na porta série. Abaixo está
representado o “void frente()” que coloca os quatro motores do carro a girarem no sentido anti-horário, de modo a
moverem o carro para a frente e coloca a velocidade a 255, correspondente ao nível máximo. O mesmo
procedimento é adotado para as restantes direções.

Figura 57 - Representação do
"void frente"

Para auxiliar a parte teórica acima representada, foi desenvolvido o seguinte fluxograma que representa o
funcionamento do código:

Figura 58 - Representação do fluxograma

52 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


53 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
Marca desenvolvida:
Com o objetivo de criar uma ferramenta de marketing e de suporte tecnológico, foi criada uma marca e um
website para auxiliar o desenvolvimento e a disseminação do produto desenvolvido.
A Your RC foi desenvolvida para ser uma loja online de venda e assistência de forma a facilitar a compra dos
kits desenvolvidos, bem como prestar assistência aos clientes em caso de falhas e para a resolução de outros
assuntos pós-venda.
O website foi criado de forma a ser fácil de se navegar e ser intuitivo para o seu utilizador, e pode ser visitado
através do seguinte link: https://yourrc.webnode.pt/

Figura 59 - Representação do website

A Your RC vem reforçar a importâncias das PME no mercado nacional, tendo uma ferramenta para implementar
o produto (os kits) para o mercado nacional, fornecendo assim um produto inovador e low-cost para os amantes da
área da eletrónica e robótica.

Figura 60 - Logótipo da empresa criada

Como complemento, também foi criado um manual de instruções de forma a facilitar o processo de montagem e
programação para os compradores, disponível em anexo.

10º capítulo – Trabalhos desenvolvidos

54 Neste capítulo pretende-se demonstrar todos osPROVA


passos relacionados
DE APTIDÃOcom a montagem–física
PROFISSIONAL Nirav das
TM18variadas
| YOURpeças
RC
do projeto e a montagem dos componentes eletrónicos. Serão também demonstrados os circuitos eletrónicos
Figura 61 - Montagem da estrutura

O segundo passo consiste em montar os motores, com fios previamente soldados, na estrutura e passar os fios
para a placa superior através dos orifícios criados para o efeito. Por fim, monta-se as rodas e afixa-se a placa
inferior.

Figura 62 - Montagem dos motores

O terceiro passo consiste em montar o suporte das baterias, o Arduino UNO e colocar o shield acoplado ao
Arduino. Procede se também à ligação da parte da alimentação, através de um botão principal que vai ligar e
desligar a alimentação a todos os componentes eletrónicos.

55 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Com os componentes eletrónicos já montados, procede-se à ligação dos motores ao shield e à organização dos
fios provenientes dos motores. Utiliza-se uma abraçadeira especifica para fios de modo a manter a estética e
preservar a orientação dos fios.

Figura 64 - Ligação dos motores

De seguida, procede-se à montagem do suporte para o módulo Bluetooth na retaguarda do carro e à organização
das ligações na sua totalidade utilizando fita em espiral. A fase seguinte irá consistir em montar o suporte para o
servo motor e o sensor ultrassónico na frente do carro.

56 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Figura 65 - Representação da montagem da base

Por fim, coloca-se o suporte para o servo motor, que foi impresso previamente em 3D e coloca-se o sensor
ultrassónico no respetivo suporte. O último passo consiste em efetuar as respetivas ligações do servo motor e do
sensor ao Arduino e organizar as ligações usando fita em espiral.

Figura 66 - Representação do projeto concluído

2ª fase – O kit criado

Como o robot por si não se poderia ser considerado um kit, foi criado um carregador para as baterias 18650 de
iões de lítio, bem como a PCB que foi elaborada uma placa baseada no shield L293D com a função de controlar os
motores e as restantes ligações. Foi desenhada na plataforma EasyEDA e fabricada em Shenzen, na China, como
referido no capítulo dos motores DC.

Figura 67 - Placa desenvolvida

57 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


O carregador das baterias foi criado no Fusion 360, e o carregamento do mesmo é efetuado pelo módulo TP4056
que tem como base fornecer uma tensão regulada a 5V e uma corrente máxima de 2ª à bateria, durante o seu
carregamento.

Figura 68 - Módulo TP4056

Constituição do kit:
Conforme referido anteriormente, o kit é constituído pelo robot, pelo seu respetivo carregador das baterias e o
respetivo shield controlador dos motores. Numa seguinte fase, o kit também acompanhará a respetiva placa micro
controladora para substituir o Arduino UNO fornecido atualmente.

Shield L293D Estrutura plástica, Carregador de baterias


componentes e suportes LI-ION

O kit inclui também os respetivos sensores, motores, rodas, fios e outros materiais para ser montado na integra
sem ser necessário adquirir mais materiais. O kit pode facilmente ser modificado, consoante as ideias do seu
aquiridor.

58 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Circuito geral da prova:

Sensor ultrassónico

Servo motor
Módulo Bluetooth HC-05
Leds

Motores DC

Shield L293D

Baterias 18650

O esquema acima demonstrado é uma simplificação do esquema de ligações implementado neste projeto. Desta
forma é possível interpretar mais facilmente as ligações dos variados componentes descritos anteriormente no 7º e
8º capítulo.

11º capítulo – Programação desenvolvida


59 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
Void Setup – Programação
Em primeiro lugar, tal como na programação de testes desenvolvida no capítulo anterior, para realização de um
código no Arduíno é necessário predefinir as variáveis e incluir as bibliotecas necessárias como por exemplo
<AFMotor.h>, que foi utilizada para o funcionamento do shield L293D com objetivo de ativação das todas as
funções fornecidas pelo módulo para respetivo funcionamento dos motores e a biblioteca <Servo.h> para
acionamento dos servomotores que são ligados diretamente ao Arduino. As bibliotecas são adicionadas através de
uma função chamada “#include”.

Figura 69 - Representação das bibliotecas


adicionadas

De seguida é declarado o servo pelo comando “Servo servo1”, que liga o servo motor diretamente ao
microcontrolador Arduino. Também são declarados os pinos referentes ao sensor ultrassónico (ECHO e
TRIGGER) através do comando “const” que converte os valores obtidos pelo sensor ultrassónico para números
apenas legíveis e o valor da mesma não pode ser modificado, e o comando “ int” que armazena os números obtidos
pelo sensor ultrassónico. De seguida, é declarada a variável “long” que corresponde ao armazenamento do
comando “duracao” e ao contrário da variável “int”, permite armazenar variáveis de 32 bits (4 bytes). Por último é
declarada
Apósa variável “char”das
a declaração quevariáveis
corresponde por comandos
e dos receção dosadicionais,
dados. procede-se à identificação dos motores DC
posicionados no shield L293D através do comando específico do mesmo. No comando, declara se o número do
motor e a frequência de funcionamento que varia de 1KHz a 64KHz. Adiciona se também uma variável “ char” que
é responsável pelo armazenamento dos caracteres recebidos da aplicação.

Figura 70 - Representação das variáveis


declaradas

Figura 71 - Representação da declaração dos motores e


da variável "dados"

Depois de adicionadas todas as bibliotecas e declaradas todas as variáveis e endereços procedemos à


configuração do “void setup” em si. O “void setup” é uma das partes mais importantes de qualquer código de
programação, pois todas as configurações feitas dentro do respetivo “void setup” são executadas no início da placa
uma única vez, ou seja, no meu caso o “void setup” contem a respetiva configuração de velocidade da
comunicação do módulo Bluetooth (Baud rate) e é escrita da seguinte forma: “Serial.begin(9600)”, A seguir é
configurado o pino como saída para o servo que já foi referidos anteriormente, através da função
“servo1.attach(10)”, e “pinMode” que é responsável por configurar as portas digitais como entradas ou saídas.

60 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Void Loop – Programação
O seguinte passo é a realização do “void loop” onde serão colocadas todas as funções para realização dos
movimentos do projeto. Sendo assim, a primeira instrução a ser criada é uma função que realiza o teste de uma
condição que capaz diferenciar os caracteres recebidos através da porta de comunicação série, com a função “if
(Serial.available() > 0)”, como já foi referido anteriormente esta função atribui o caracter recebido à variável
“comando” com a seguinte função “comando = Serial.read()”. Foi utilizado o comando switch/case e break, que
funciona como o comando IF/ELSE e tem com função controlar o fluxo do programa permitindo ao programador
especificar um código diferente para ser executado em várias condições. Em particular, um comando “switch”
compara o valor de uma variável aos valores especificados nos comandos “case”. Quando um comando “case” é
detetado cujo valor é igual ao da variável, o código para esse comando “case” é executado. A programação acima
representada está integrada no “void loop” que nada mais é do que um comando que é executado infinitamente.
Este processo repete-se para as restantes variáveis.

Figura 73 - Representação do void loop (1)

61 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Dentro do “void loop” encontra se também uma parte reservada ao sensor ultrassónico que utiliza as funções
digitalWrite (trigpin , HIGH), delayMicroseconds(2), pulseIn(echoPin, HIGH) que captura a duração de um pulso
em um pino (que pode ser HIGH ou LOW). Por exemplo, se o valor “HIGH” é passado para a função, a função
pulseIn() espera o pino ir para do estado 'LOW' para “HIGH”, começa a temporizar, então espera que o pino vá
para o estado “LOW” e para de temporizar. Retorna o tamanho do pulso em microssegundos ou desiste e retorna 0
se não receber nenhum pulso dentro de um tempo máximo de espera especificado.

Figura 74 - Representação do void loop (2)

O passo seguinte consiste em criar um “void” para cada direção que o carro pode tomar e os procedimentos em
todas elas são idênticos. Em primeiro lugar definimos a velocidade dos motores 1,2,3 e 4 individualmente através
do comando “motor1.setSpeed(255)” e definimos o sentido de rotação dos motores, também individualmente
através da função motor1.run(direção), podendo a direção ser para a frente ou para trás (FORWARD ou
BACKWARD). Define se também a posição de rotação do servo motor de acordo com a direção pretendida
através da função “servo1.write(155)” e cria se uma função adicional que permite com que o carro possa parar e
andar para atrás na presença de um obstáculo, sendo isto possível através de uma condição elaborada com o
comando IF que é, na sua integra um comando que verifica uma condição e executa o comando a seguinte ou um
bloco de comandos delimitados por chaves, se a condição “distancia” for inferior ou igual a 30. O mesmo
processo repete se para as restantes direções.

Figura 75 - Representação do void


"esquerda"

Para imobilizar o carro, é efetuado um “void” similar ao acima representado, sem ter a condição da distância
pois, não é necessário e coloca-se o servo motor na sua posição inicial.

62 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


Figura 76 - Representação do void
"parar"

Para fortalecer a enunciação acima demonstrada, foi elaborado o seguinte fluxograma:

Figura 77 - Fluxograma do programa

Como se pode contemplar através do fluxograma, existem 5 transições possíveis para efetuar uma função no
projeto. Se nenhuma dela se verificar, volta à posição de imobilização até haver uma receção de um comando
correspondente a cada uma das funções.

63 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC


12º capítulo – F.C.T. Generis Farmacêutica

A empresa:
Criada em 2002, a Generis rapidamente se tornou uma empresa líder em Portugal no mercado de medicamentos
genéricos. Em 2006, adquire a sua primeira instalação fabril, com o objetivo de implementar uma estratégia de
crescimento sólida e sustentada. Hoje, a Generis® faz parte do Grupo Aurobindo, presente em mais de 20 países,
verticalmente integrado desde a I&D à comercialização. O Grupo detém 26 fábricas com os mais recentes
equipamentos e exporta para mais de 150 países.

Figura 78 - Instalações da Generis na Venda Nova

Funções desempenhadas:
As principais funções desempenhadas foram:

 Manutenção de instalações elétricas, eletromecânicas e pneumáticas;


 Manutenção de UTAs, Chillers e outros dispositivos de filtração e tratamento de ar;
 Manutenção das infraestruturas;
 Manutenção das máquinas alusivas ao fabrico e ao embalamento de comprimidos e cápsulas.

Trabalhos efetuados:

Trabalhos Manutenção de corretiva Manutenção corretiva Intervenções nas áreas técnicas,


serralharia,e preventiva às a máquinas elétricas e escritórios, parqueamentos e áreas
manutenção máquinas
de peças de mecânicas da área circundantes.
metálicas produção e e fabril.
componentes.embalamento de
comprimidos e
cápsulas.

Máquinas:
A máquina abaixo demonstrada é a Marchesini Integra e a sua função é embalar e empacotar blisters. No início
da linha é depositado o produto bruto (comprimidos ou cápsulas), que por sua vez é embalado num blister formado
64 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC
pela máquina através de processos térmicos e mecânicos. Mais adiante, os blisters formados são empacotados em
Aplicação do
Central de controlo alumínio e selagem
Entrada do produto do blister Saída do produto
da máquina Formação das
bruto final (caixa)
caixas e
empacotamento

Deposito do
produto bruto no
PVC formado em
blister

Além desta máquina, a Generis possui mais 5 máquinas de embalamento de comprimidos, cápsulas e saquetas.
Na área do fabrico, existem mais 8 máquinas que produzem comprimidos, pó de saquetas e efetuam o enchimento
de cápsulas. Dentro dessa área, também existem máquinas para efetuar o revestimento de comprimidos.

13º capítulo – Conclusão final

Desta forma, conclui-se o relatório da Prova de Aptidão Profissional, onde é possível concluir que os objetivos
definidos no início da prova foram concluídos, nomeadamente o funcionamento do carro e a adição do sensor
ultrassónico, a nível de programação e o desenvolvimento da estrutura a nível prático, bem como a criação do
respetivo kit. Figura 79 - Linha Marchesini
Integra
A nível de competências, adquiri conhecimentos de programação em C++, desenvolvimento, dimensionamento
de esquemas eletrónicos e desenho de placas de circuito impresso.
A nível de contratempos, foram detetados alguns erros que foi necessário corrigir, nomeadamente na
alimentação do shield L293D e a nível do módulo Bluetooth onde é necessário retirar os pinos TX e RX para
inserir o código na placa Arduino.
Foram também aplicados todos os conhecimentos adquiridos em sala de aula nos 3 anos do curso, bem como
todo o conteúdo lecionado nas aulas de Eletricidade e Eletrónica, Desenho Técnico, Aplicações de Mecatrónica e
Tecnologia Mecatrónica para fortalecer a qualidade do produto final.
Relativamente à formação em contexto de trabalho, resta dizer que foi uma das melhores experiências
profissionais que alguma vez tive. Obtive conhecimentos outrora totalmente desconhecidos para mim, por
exemplo, AVAC, infraestruturas, máquinas de fabrico e embalamento de comprimidos e cápsulas, entre outros.
65
Desenvolvi também laços com as pessoas com quem PROVA
tive aDEoportunidade
APTIDÃO PROFISSIONAL
de trabalhar e –que
Nirav TM18 | YOUR
dispuseram do seuRC
tempo para fazerem com que a minha formação fosse um êxito.
Referências

1 - Robótica móvel - https://www.aquelamaquina.pt/noticias/actualidade/detalhe/agv-os-robos-da-seat-que-fazem-


quase-250-km-por-dia.html

2 – Comunicação UART - https://paginas.fe.up.pt/~hsm/docencia/comp/uart/

3 - Impressão 3D - https://tecnoblog.net/240402/como-funciona-impressora-3d/

4 – Sensor HC-SR04 - https://howtomechatronics.com/tutorials/arduino/ultrasonic-sensor-hc-sr04/

66 PROVA DE APTIDÃO PROFISSIONAL – Nirav TM18 | YOUR RC

Você também pode gostar