Manual

do

Maker

.

com

Controlar motor DC com PWM ou potenciômetro

Controlar motor DC com PWM ou potenciômetro

Esse artigo é bastante simples, mas nunca foi tão fundamental para mim fazer esse controle e ter que pensar qual seria a melhor opção para a aplicação. Estou fazendo um segundo relógio, que é esse da imagem de destaque, mas com algumas modificações. O relógio modificado deve chegar em alguns dias, talvez vire artigo e a única parte eletrônica a controlar nele é o motor DC com PWM ou potenciômetro.

Relógio de pêndulo tradicional

Esse relógio foi projetado para usar com pêndulo tradicional, sendo totalmente mecânico, mas não vou fazer assim porque é necessário dar corda todos os dias. Lembro do meu avô incomodado com seu cuco, que tinha um funcionamento bastante similiar, durando em média 30 horas de corda.

Relógio com pêndulo simulado

Então, para não ser escravizado pelo relógio, optei por utilizar um motor. Montei esse relógio da imagem de destaque e faltava apenas colocar o motor DC e ajustar a velocidade. Mas minha esposa - ah, minha esposa - crítica como sempre, falou que o relógio estava sem graça, porque o único movimento perceptível era da roda dos segundos - a primeira roda dentada no topo do relógio.

De fato, fiz um relógio de pêndulo, mas se assimilava a qualquer outro relógio com motor no final das contas. Por isso, resolvi modificá-lo para simular o pêndulo; refiz o desenho da roda dos segundos para que ela fosse tracionada por uma paleta, fiz uma trava para que a roda não retorne no sentido oposto com o suave atrito da paleta indo em direção ao dente a ser tracionado e então fiz o balanço da paleta a partir do deslocamento circular em uma roda lisa. Isso já seria o suficiente para dar um charme extra ao relógio, mas haveria então de colocar o motor DC atrás da roda lisa e, para mim, isso geraria um desequilíbrio na simetria do relógio. Daí fui adiante.

A coluna em que se prende os eixos é o centro do relógio, resolvi colocar um micro motor DC nessa coluna, de dentro para fora. Isto é, o motor ficará do lado interno da coluna e na linha central do relógio. Mas a roda com a paleta ficará na haste da direita. Daí fiz uma transferência de movimento baseada no sincronismo do movimento das rodas de um trem. Tudo poderá ser visto quando eu montar o novo relógio. O sistema ficou assim:

sistema_de_tracao.png

Ao motor, será presa a engrenagem (A). À esquerda, está o sistema de trava para que não haja risco de retorno da roda. Repare que criei duas paletas diferentes, uma se posiciona na base do dente a ser tracionado e a outra se posiciona no segundo dente. Ambas ficaram incríveis, estou cheio de dúvidas de qual utilizar.

À direita, a roda com a paleta de tração. Na parte de trás, outra roda igual movimenta o eixo da paleta. O sistema de tração semelhante à tração da roda de trem é interligado à engrenagem (B), que faz parte da redução do motor. Vamos falar disso agora.

Redução do motor

O motor já tem uma caixa de redução e sua velocidade é de 200RPM. A roda de escape (F) possui 30 dentes. Essa roda deve completar 1 volta por minuto. Bem, caro leitor, vamos raciocinar. Se for reduzir a velocidade do motor para 1RPM, seria necessário um conjunto enorme de engrenagens para fazer esse relógio funcionar. Mas, se invés disso 1 dente por segundo for tracionado? Daí veio a ideia de, além de utilizar PWM ou potenciômetro, fazer a paleta de tração, invés de uma roda com 1 dente.

Como a roda de escape tem 30 dentes, 1 dente deve ser puxado a cada 2 segundos. Eu fiz a redução para que o motor dê 1 volta por segundo. Não se assuste com a conta, não é pra dar 33,3333...:

200RPM = 100%
60 RPM = X%
X = 60*100/200
X = 30

Isso significa que a proporção é 100:30, ou simplificando, 10:3. Fazer um pinhão de apenas 3 dentes ficaria, além de feio, frágil. Então fiz um conjunto de engrenagens 20:6 e assim reduzi o motor para 1 volta por segundo.

Se o motor girar a 1RPM, a roda lisa fará a paleta tracionar 1 dente por segundo. Isso significa que com PWM ou potenciômetro eu tenho margem para cima e para baixo, podendo compensar qualquer eventual atrito que gere algum esforço no motor.

Quando precisar fazer suas reduções para motor DC, lembre-se dessa dica acima.

Onde comprar o micro-motor DC?

Esse micro-motor DC com caixa de redução pode ser adquirido em nosso parceiro CurtoCircuito. Você encontrará diversas reduções diferentes, um ótimo preço e outra coisa interessante, se quiser comprar um módulo com ponte H L293D, eles também tem. Nesse caso, você poderá controlar também a direção do motor, caso queira utilizá-lo em um robô, por exemplo.

PWM ou potenciômetro?

Agora chegamos ao tema desse artigo. Qual deles utilizar?

Potenciômetro

Utilizando potenciômetro, o circuito fica extremamente simples e barato. A desvantagem em utilizar um potenciômetro com um transistor FET é que quanto mais se reduz a tensão, menor será a potência. Dependendo de uma série de fatores, pode não ser viável utilizar potenciômetro. Se não tem potenciômetro ainda, poderá adquirir o seu no parceiro EletroGate.

A tensão nominal desse motor é 6V, ele operará em uma fonte 5v@1A. O vídeo relacionado a esse modo de operação está nesse link. Se ainda não se inscreveu no canal, por favor, dê "aquela" motivada para produção de novos vídeos se inscrevendo, dando seu like e clicando no sininho para receber notificações.

Sério, eu não sei se está certo esse circuito bobo. Só sei que funciona muito bem.

mosfet_potenciometro_motor.webp

 

PWM

Utilizar PWM pode ser uma grande vantagem, uma vez que bastará enviar ondas quadradas e o movimento do motor se dará pelas interrupções na alimentação, o que viabiliza completamente a utilização do PWM. O ponto negativo é que será necessário uma MCU para gerar esse controle.

O transistor FET é um componente que particularmente acho muito legal. Se colocamos um multímetro no modo de continuidade, então colocamos o positivo no drain e o GND no source, inicialmente não haverá continuidade. Mas se tirarmos o positivo do drain e dermos um toque no gate e voltarmos ao drain, passará a ter continuidade. Podemos então tirar o multímetro e refazer o teste; o FET guardará o último estado. É incrível!

Módulo gerador de frequência

modulo_gerador_de_frequencia-300x277.webp

Ou então, um NE555. Não por acaso, tenho um módulo gerador de frequência com NE555 da parceira AutoCore. O preço fica próximo a um Arduino Nano, mas dispensará programação. Se quiser fazer seu próprio módulo com NE555, vá à caixa de Busca rápida e digite NE555 para ver as opções.

Controlando o motor DC com PWM

Para fazer o controle com Arduino, vou utilizar um encoder rotativo da GBK Robotics (já exemplificado nesse artigo) e o Arduino Nano. O encoder rotativo pode ser adquirido no parceiro Baú da Eletrônica.  Uma das minhas recomendações para o Arduino Nano é a MASUGUX. Pra variar um pouco, sugiro a leitura desse artigo, onde controlo o motor com uma ponte H L293D. Não ligue o motor direto no Arduino, faça alimentação externa, o resto é isso mesmo. No artigo de exemplo, estou fazendo apenas digitalWrite; é ON ou OFF, mas para PWM, basta trocar para analogWrite em algum pino que o PWM esteja disponível.

Código

Esse é um código de exemplo, usando Arduino Nano:

#include <RotaryEncoder.h>

RotaryEncoder encoder(A2, A3);

long dispense = 0;

void setup() {
  Serial.begin(115200);
  pinMode(10,OUTPUT);
  //configuração dos pinos analógicos utilizados
  //para o encoder com interrupção
  PCICR |= (1 << PCIE1);
  PCMSK1 |= (1 << PCINT10) | (1 << PCINT11);

}

ISR(PCINT1_vect) {
  encoder.tick(); // checagem de status.
}

void loop() {
  static int pos = 0;
  int newPos = encoder.getPosition();
  if (pos != newPos) {
    Serial.println(pos);
    pos      = newPos;
    if (pos < 0) {
      pos = 0;
    }
    else if (pos > 1023) {
      pos = 1023;
    }
    dispense = map(pos,0,1023,0,255);
    Serial.println(dispense);
    analogWrite(10,dispense);
  }
  analogWrite(10,dispense);
}

Utilizando um gerador de frequência com NE555

O NE555 é um CI fantástico. Dá pra fazer coisas incríveis com ele e, para não me repetir, sugiro a leitura desse artigo, onde utilizei esse módulo da AutoCore Robótica. Nesse artigo tem referência para diversos outros artigos que escrevi, fazendo uso do NE555 para diferentes aplicações.

Conforme eu fizer vídeos, vou subindo no nosso canal DobitAoByteBrasil, no Youtube. Se ainda não se inscreveu, dê uma força, ok? É muito difícil ter um volume grande de assinantes em um canal que não é exatamente de entretenimento, mas se todos os leitores do site assinarem, já dá um ânimo em fazer mais vídeos!

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.