PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
Controlar motor dc com Arduino
1. Clube de Robótica
1Espaço Programação e Eletrónica – Motores dc
Espaço Programação e Eletrónica
Motores dc em circuitos com arduino programado em S4A – estudo orientado
Introdução
O motor dc (ou motor de corrente contínua) é muito vulgar em equipamentos como impressoras, carrinhos de
brinquedo a pilhas e outros brinquedos baratos, pelo que é extremamente fácil ter acesso a um.
O controlo destes motores é muito simples: ligam-se os cabos do motor a uma fonte de alimentação contínua (uma
pilha, por exemplo) apropriada, de acordo com as caraterísticas do motor usado, e o motor começa a girar. Trocando
a polarização da fonte, o motor girará em sentido contrário.
O controlo deste tipo de motor com arduino não é, no entanto, tão simples como seria de supor porque, por um lado,
este motor exige mais corrente que aquela que o arduino consegue debitar e, por outro, os motores geram correntes
de indução que podem danificar o circuito caso este não esteja devidamente preparado.
O primeiro problema resolve-se alimentando o motor através de uma fonte de alimentação externa (como
uma pilha vulgar de 9V);
A segunda questão contorna-se colocando um díodo aos extremos do motor, impedindo a circulação de
corrente em sentido contrário gerada pelo próprio motor (o díodo, que é um componente polarizado, só deixa
passar a corrente num sentido).
Um pouco mais sobre o díodo: componente que só deixa passar a corrente num sentido.
Díodo diretamente polarizado:
Díodo inversamente polarizado:
2. Clube de Robótica
2Espaço Programação e Eletrónica – Motores dc
O controlo de motor começará por ser feito através de um transístor bipolar, cuja base será ligada a uma saída PWM
do arduino.
Um pouco mais sobre o transístor bipolar: A sua função é permitir a passagem de corrente entre dois pinos
(coletor e emissor) quando um terceiro (base) é ativado. O funcionamento de um transístor pode ser comparado
ao de uma torneira de monocomando que, ao ser aberta, deixa passar a água sempre num único sentido.
Funcionamento de um transístor bipolar:
TIP 120: Como transístor, será usado o TIP 120 que, na realidade, é composto por dois transístores (numa
configuração chamada Darlington). Seguem a pinagem e o circuito equivalente deste componente.
3. Clube de Robótica
3Espaço Programação e Eletrónica – Motores dc
Exercício 1 – Funcionamento básico do motor dc
Objetivo: Controlar a velocidade de um motor dc através de uma saída PWM.
Material a utilizar: Arduino, breadboard, Motor dc, 1 resistências 220 Ω, 1 resistência 10 kΩ, TIP 120, um díodo
1N4007, fonte de alimentação externa (pilha), resistência variável 10 kΩ, interruptor de pressão, fios.
Entradas / saídas do Arduino a utilizar: 1 saída PWM, 1 entrada digital, 1 entrada analógica
1.1. Efetuar a seguinte ligação:
1.1.1. No S4A, alterar o valor da saída D9 para vários valores entre 0 e 255. O que se observa?
1.1.2. Acrescentar ao circuito anterior uma resistência variável, ligá-la a uma entrada analógica, e controlar a partir
dessa resistência a velocidade do motor.
1.1.3. Acrescentar ao circuito montado em 1.1.2. um botão de pressão, de forma a que o motor só rode se o botão
estiver premido.
1.1.4. Alterar o programa anterior de forma a ligar o motor premindo o botão de pressão; nova atuação no botão,
deve desligar o motor.
1.1.5. Se se trocar a posição dos fios do motor, invertendo a sua polarização, o que se observa?
4. Clube de Robótica
4Espaço Programação e Eletrónica – Motores dc
Exercício 2 – Utilizar o driver L293D para controlar o motor dc
Objetivo: Controlar o sentido de rotação do motor dc através do driver L293D.
Material a utilizar: Arduino, breadboard, Motor dc, L293D, 2 resistências 10 kΩ, 2 botões de pressão, fios.
Entradas / saídas do Arduino a utilizar: 2 entradas digitais, 2 saídas PWM
2.1. Efetuar a seguinte ligação, ligando os pinos 2 e 7 às entradas digitais PWM 6 e 9.
Um pouco mais sobre o driver L293D: À medida se constrói circuitos mais complicados, é aconselhável começar
a utilizar circuitos integrados (CI), que mais não são que circuitos miniaturizados e encapsulados, “prontos a
utilizar”.
Para saber o que faz um CI, há que identificá-lo a partir da sua referência e procurar a sua datasheet (documento
que apresenta de forma resumida todos os seus dados e características) internet.
No caso do L293D, e de acordo com a sua datasheet (http://www.ti.com/lit/ds/symlink/l293.pdf) a sua pinagem
é a seguinte:
O seu circuito interno permite o controlo de vários tipos e número de motores. No nosso caso, controlaremos
apenas a direção de 1 motor dc, mas é possível encontrar muitos outros circuitos que apliquem este integrado.
5. Clube de Robótica
5Espaço Programação e Eletrónica – Motores dc
2.2. Acrescentar ao circuito anterior dois botões de pressão e ligá-los às entradas digitais D2 e D3.
2.3. Programar o circuito de forma a que o motor rode para um lado quando se usa um dos interruptores e que rode
para outro quando se usa o segundo interruptor. Premir duas vezes o mesmo interruptor, deve fazer parar o motor.
Premindo os dois botões em simultâneo deve também fazer parar o motor.
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Algumas soluções:
1.1.1. O motor adquire vários valores de velocidade.
1.1.2.
1.1.3.
1.1.4.
1.1.5. O motor inverte o sentido de rotação