Vous êtes sur la page 1sur 4

Controlando Motores DC com o Arduino

A utilizao de motores DC como atuadores em projetos mecatrnicos muito comum.


Estes motores podem ter o sentido de rotao controlado de acordo com o sentido da
corrente aplicada em seus terminais. Alm disso, utilizando modulao por largura de
pulso (PM! poss"#el controlar a #elocidade de rotao do motor sem $ue se perca o
tor$ue do mesmo.
%m circuito muito &til para controlar o sentido da corrente $ue alimenta um motor DC
o Circuito Ponte '. (o o o)jeti#o deste artigo e*plicar o +uncionamento deste
circuito, de modo $ue )asta sa)er $ue o mesmo composto por transistores e diodos
$ue, pela sua con+igurao, permite alterar o sentido da corrente aplicado em um motor
DC.
, circuito integrado -./01 um C2 $ue possui em seu interior duas Pontes ', sendo o
mesmo capaz de tra)al3ar com correntes de at 4A. Como neste artigo nosso o)jeti#o
apresentar uma +orma de se controlar motores DC utilizando o Arduino, o -./01 nos
atender5 per+eitamente, pois, alm de sua simplicidade, ele nos permite +ornecer ao
motor uma corrente )astante acima da$uela suportada pelo Arduino $ue por #olta de
67mA.
Para iniciar nosso estudo #amos comear analisando o C2 -./01. A +igura a)ai*o
apresenta a pinagem do mesmo8
9igura 4 : Pinagem do C2 -./01.
Este circuito contm internamente duas Pontes ' $ue podem controlar o sentido de
rotao (es$uerda, direita! de dois motores DC. ,s pinos ., 0, ; e < so respecti#amente
os pinos de entrada, sa"da, entrada e sa"da da primeira Ponte '. ,s pinos 4=, 46, 47 e 44
so respecti#amente entrada, sa"da, entrada e sa"da da segunda Ponte '. (ote $ue cada
ponte possui duas entradas e duas sa"das. De acordo com a entrada acionada, sua sa"da
correspondente conectada ao motor +icar5 ati#a, determinando o sentido de rotao do
motor ligado > mesma.
,? pinos 4 e / so utilizados para ati#ar tanto a primeira $uanto a segunda Ponte '.
@uando o pino 4 esti#er acionado, a primeira ponte +icar5 operante, por outro lado, se o
pino / +or acionado, a segunda ponte passa a +uncionar. ?e tanto o pino 4, $uanto o /
esti#erem acionados, as duas pontes passam a +uncionar ao mesmo tempo.
,s pinos 6, =, 4. e 40 de#em ser conectados ao terra. ,s dois primeiros so
correspondentes > primeira ponte e os dois &ltimos > segunda ponte. , pino 4< de#e ser
utilizado para alimentar o circuito e a tenso aplicada ao mesmo de#e estar entre 6,=A e
0<A. Alm disso, o pino B utilizado para conectar a alimentao dos motores e
tam)m de#er ter entre 6,=A e 0<A.
C importante ressaltar $ue de#eDse e#itar acionar ao mesmo tempo as duas entradas da
mesma Ponte ', so) risco de dani+icar o C2. Deste modo, se o pino . esti#er acionado,
preciso $ue o ; esteja desati#ado. , mesmo ocorre com os pinos 4= e 47.
%m dica interessante $ue podemos controlar a #elocidade de rotao dos motores
alimentando os pinos 4 e / com PM, de modo $ue #ariando a largura de pulso
aplicado aos pinos #ariaDse a #elocidade de rotao dos motores 4 e . respecti#amente.
Agora $ue j5 con3ecemos o C2 -./01, #amos iniciar a montagem do nosso projeto com
o Arduino.
OBJETIVO8 Controlar o sentido de rotao de um motor DC conectado ao Arduino
utilizandoDse dois )otEes. , acionamento de cada )oto determinar5 o sentido de
rotao do motor. Desse modo, $uando o )oto 4 +or acionado, o motor de#er5 girar
para a es$uerda e $uando o )oto . esti#er acionado o sentido de rotao in#ertera. Em
nen3um momento de#er5 ser permitido o acionamento dos dois )otEes ao mesmo
tempo.
MATERIAIS:
4 Arduino %no
4 C2 -./01 (no es$uema a)ai*o utilizado o -./0D, cuja pinagem a mesma
do -./01!
. 1otEes
4 Motor DC de /A
4 Proto)oard
4 1ateria de /A
9ios di#ersos
. Fesistores de 47 G,3m
PROCEDIMENTOS: Montar o circuito con+orme apresentado a)ai*o8

9igura . : Montagem do Projeto em Proto)oard.
PSEUDO CDIGO PARA O ARDUINO:
definir o pino 4 como input1
definir o pino 2 como enable1
definir o pino 5 como input2
definir o pino 6 como button1
definir o pino 7 como button2

rotina rotateLeft:
acionar enable1
desativar input2
acionar input1
fim

rotina rotateRight:
acionar enable1
desativar input1
acionar input2
fim

rotina parar:
desativar enable1
desativar input1
desativar input2
fim

enquanto button1 acionado:
rotateLeft
fim

enquanto button2 acionado:
rotateRight
fim

parar
SKETCH PARA ARDUINO:
int input1 = 4
int enable1 = 2
int input2 = 5
int button1 = 6
int button2 = 7

void setup!"#
pin$ode!input1% &'()'("
pin$ode!enable1% &'()'("
pin$ode!input2% &'()'("
pin$ode!button1% *+)'("
pin$ode!button2% *+)'("
,

void rotateLeft!"#
digital-rite!enable1% .*/."
digital-rite!input2% L&-"
digital-rite!input1% .*/."
,

void rotateRight!"#
digital-rite!enable1% .*/."
digital-rite!input1% L&-"
digital-rite!input2% .*/."
,

void parar!"#
digital-rite!enable1% L&-"
digital-rite!input1% L&-"
digital-rite!input2% L&-"
,

void loop!"#
0hile!digitalRead!button1" == .*/."#
rotateLeft!"
,

0hile!digitalRead!button2" == .*/."#
rotateRight!"
,

parar!"
,

Vous aimerez peut-être aussi