08.11.2017 Views

arduino_básico_Michael_McRoberts

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capítulo 5 ■ Controlando um motor CC<br />

123<br />

No loop principal, potValue é definida com o valor lido no pino analógico 0 (o potPin)<br />

e, depois, é dividida por 4:<br />

potValue = analogRead(potPin) / 4;<br />

Essa operação é necessária, pois o valor analógico irá de 0 (para 0 V) a 1023 (para 5<br />

V). O valor que você deve escrever no pino do transistor pode ir apenas de 0 a 255,<br />

por isso você divide o valor do pino analógico 0 (1023, no máximo) por 4, obtendo<br />

um valor máximo de 255, atribuível ao pino digital 9 (utilizando analogWrite, uma vez<br />

que você está usando PWM).<br />

Em seguida, o código escreve no pino do transistor o valor do potenciômetro:<br />

analogWrite(transistorPin, potValue);<br />

Em outras palavras, quando você gira o potenciômetro, valores diferentes, indo de 0<br />

a 1023, são lidos; esses valores são convertidos para o intervalo entre 0 e 255. Então,<br />

o valor é escrito (via PWM) no pino digital 11, alterando a velocidade do motor CC.<br />

Gire o potenciômetro totalmente para a direita e o motor desliga, gire para a esquerda<br />

e o motor acelera até que atinja a velocidade máxima. O código é muito simples e<br />

não deve lhe apresentar nenhuma novidade.<br />

Vamos, agora, examinar o hardware utilizado neste projeto, e descobrir como tudo<br />

funciona.<br />

Projeto 15 – Controle de um motor simples – Análise do hardware<br />

O circuito é essencialmente dividido em duas seções. A seção um é o potenciômetro,<br />

conectado aos 5 V e ao terra, com o pino central indo para o pino analógico 0. Conforme<br />

você gira o potenciômetro a resistência se altera, para permitir que voltagens<br />

de 0 V a 5 V saiam do pino central, cujo valor é lido utilizando o pino analógico 0.<br />

A segunda seção é a que controla a alimentação do motor. Os pinos digitais no Arduino<br />

fornecem no máximo 40 mA (miliampères). Um motor CC pode exigir cerca de<br />

500 mA para operar em velocidade máxima; esse é obviamente um valor alto demais<br />

para o Arduino. Se você tentasse controlar o motor diretamente a partir de um pino<br />

do Arduino, danos sérios e permanentes poderiam acontecer.<br />

Portanto, você tem de encontrar uma forma de fornecer uma corrente mais alta a<br />

ele. A solução é utilizar uma fonte de alimentação externa, a qual fornecerá corrente<br />

suficiente para alimentar o motor. Você poderia utilizar a saída de 5 V do Arduino,<br />

capaz de fornecer até 800 mA, quando conectada a uma fonte de alimentação externa.<br />

Entretanto, placas do Arduino são caras, e é muito fácil danificá-las quando conectadas<br />

a fontes de correntes elevadas, como motores CC. Por segurança, é melhor utilizar<br />

uma fonte de alimentação externa. Da mesma forma, seu motor pode exigir 9 V ou<br />

12 V, ou amperagens mais altas, e isso está além do que o Arduino pode fornecer.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!