Escolar Documentos
Profissional Documentos
Cultura Documentos
Nome: Data:
Turma:
A ligação dos atuadores é primordial, afinal é eles que irão receber os comandos
enviados via código pelo arduino para executar ações que necessitamos, como virar o robô
para esquerda, seguir em frente, entre outros.
O primeiro atuador a ser ligado é o motor de corrente contínua, ele que irá receber
comandos e controlar os movimentos de nosso robôcar. O controle do motor se faz através do
uso de uma ponte H, dispositivo já visto que é capaz de controlar o sentido e velocidade de
rotação do motor.
Vale ressaltar que o motor não possui polaridade de conexão, ao inverter seus fios,
você apenas inverterá o sentido de rotação do motor, o mesmo pode ser feito através de
programação.
a) MOTOR - ATUADOR
Circuito de energia
A própria ponte H receberá através de seus pinos de energia como representado na
figura 1 abaixo (Vcc), a energia externa responsável por alimentar o motor, essa energia é
proveniente de uma fonte de corrente contínua ou uma bateria externa.
Figura 1 - Ponte H
Circuito de controle
De acordo com a ligação do motor na ponte, existirá uma seguinte lógica quanto aos
comandos enviados e suas respostas ao motor. A tabela a seguir mostra bem essa lógica. Aqui
enviamos entradas digitais, sendo um (1) representante digital igual ao valor máximo de
tensão(maior velocidade) e zero (0) um valor nulo, na qual não há entrega de tensão.
OBS: Para que o motor funcione, é preciso haver diferença entre a entrada INx e INx’,
ou seja, ambos devem ser diferentes digitalmente ou analogicamente (PWM) para que o
motor gire.
Tabela 1 - Lógica de acionamento dos motores
Uma vez já tendo ligado os motores, é importante o uso de sensores para receber
informações externas e converter em informações para os motores. Nosso sensor é analógico
e será o joystick. A imagem abaixo mostra os pinos desse nosso componente.
Uma vez o sistema elétrico montado, é necessário fixá-lo bem a carcaça do carrinho,
para garantir a integridade da placa e principalmente não danificar outros componentes. Use
meios para amarrar bem os componentes na carcaça. Seja organizado na fiação para não se
perder.
Motores conectados, joystick conectado corretamente e carcaça bem acoplada junto
aos componentes, agora chegou o momento da programação do nosso robôcar.
2. Programação
É uma boa prática no início do programa dar nome as portas que estão sendo utilizadas
no projeto. Logo, como mostra a Figura 6, foram associados nomes as entradas positivas e
negativas dos motores assim como a cada um dos eixos do analógico (joystick).
Figura 6 - Associando nomes as entradas
b) Assinando as funções
Note que os parâmetros passados para todas as funções são os pinos relacionados as
entradas positivas e negativas dos motores. O último parâmetro, chamado “d” é uma variável
de delay que será explicada mais à frente.
Ao serem conectados nas portas analógicas, cada eixo do Arduino será lido um valor
de 0 a 1023 como mostra a figura 11.
Figura 11 - Valores do analógico de acordo com a posição
e) Entendendo o algoritmo
Nesse projeto queremos que o carro vá para frente quando o analógico for colocado
para frente, permaneça parado quando o analógico estiver parado na posição do meio, dê a ré
quando o analógico for colocado para trás, assim como fazer as curvas para esquerda ou
direita de acordo com a posição do analógico no sentido horizontal.
Como se pôde notar, os eixos X e Y do analógico foram conectados as portas
analógicas, isso faz com que o menor dos movimentos cause ruído na leitura dos dados
fazendo o carro funcionar de maneira inesperada. Para solucionar esse problema
trabalharemos com intervalos de valores como mostra a Figura 12.
Figura 12 - Intervalos de valores para o movimento do analógico
A área pintada em azul representa o que será chamado de zona morta, o intervalo de
valores em que o analógico será considerado como parado no centro e fará com o que o carro
permaneça parado.
A área pintada em vermelho representa no eixo X, os valores para os quais o carro vai
para frente, e no eixo Y, os valores para os quais o carro vai para direita.
A área pintada em laranja representa no eixo X, os valores para os quais o carro vai
para trás, e no eixo Y, os valores para os quais o carro vai para esquerda.
Entendido os intervalos passamos ao programa principal.
Figura 13 - Loop
As variáveis valor_x e valor_y recebem os valores lidos dos eixos X e Y e seus valores
são testados para ver em quais intervalos eles se encaixam para assim chamar as funções com
seu valor de delay.
f) Entendendo as funções
Logo após a função loop iniciamos o corpo das funções, que é programar o que elas
vão fazer. As figuras 13 mostra a função frente. As funções frente, trás, esquerda e direita
funcionam da mesma forma, então usaremos a função frente para entender o algoritmo das
funções.
Ao entrar na função a variável v_read vai receber o valor lido do eixo. Nesse projeto
não queremos que os motores do carro sejam ligados com velocidade máxima pois o controle
ficaria muito impreciso, logo pensando na forma como um carro da vida real funciona,
devemos adicionar uma aceleração ao movimento, isso é feito no while dentro da função.
Para isso adicionamos a variável auxiliar “c”, que irá funcionar como uma
porcentagem indo de 0% a 100% da velocidade total do motor e esse valor será atualizado
pela variável “d” passada por parâmetro. Quanto maior o valor de “d” mais rápido o carro
chegará a velocidade máxima.
No while, uma das condições do loop é que o valor lido eixo esteja dentro do intervalo
de valores preestabelecidos e o outro é que ele não tenha chegado a velocidade máxima, isso
fará com que o valor da velocidade seja aumentado com valores “d” até que o máximo seja
atingido.
Quando o programa sai do loop do while o valor de “d” volta a 0 para ser
reaproveitado em outra função.
Como mostra a Figura 15, a função trás funciona da mesma forma só que com a
polaridade dos motores invertida, fazendo com que o carro dê ré.
Figura 15 - Função trás
As funções esquerda e direita funcionam da mesma forma, mas acelerando uma das
rodas com apenas a metade da velocidade, fazendo com que o carro faça a curva.
Como mostra a Figura 18, a função travar funciona de um jeito simples, ao ligar
simultaneamente os dois polos do motor ele fica travado sem girar nem para a esquerda nem
para a direita.
Figura 18 - Função travar
REFERÊNCIAS
NERY, Gustavo. Guia Definitivo de uso da Ponte H L298N. Blog ELETROGATE, 2022.
Disponível em: <https://blog.eletrogate.com/guia-definitivo-de-uso-da-ponte-h-l298n/>.
Acesso em: 25, julho de 2022.
DC motor controlled by Joystick using Arduino & L298N Motor driver - Wired
Connection. King studio, 2019. Disponível em:
<http://kingstudio1993.blogspot.com/2019/12/dc-motor-controlled-by-joystick-
using_31.html>. Acesso em: 25, julho de 2022.