Controlando Motor DC com Transistor Mosfet e Arduino

Neste tutorial “Controlando Motor DC com Transistor Mosfet e Arduino” iremos aprender a como fazer o acionamento de um Motor DC comum através de um Transistor MOSFET. Como gatilho desse processo, iremos utilizar um botão convencional e, para dar um aspecto visual ao nosso projeto, utilizaremos um LED verde.

Uma das primeiras coisas, a saber, é que o Transistor que iremos utilizar nesse tipo de projeto irá atuar como um interruptor que liga e desliga o motor através de um sinal digital vindo do Arduino.

Ele é necessário nesse tipo de circuito, pois o Arduino não consegue controlar o motor diretamente, já que o sinal possui baixa potência e, além disso, podemos colocá-lo em risco de queima uma vez que, há picos excessivos de corrente do motor.

 

Componentes utilizados para Controlar Motor DC com Transistor

Os componentes que você vai precisar ter tem mãos são:

Ressaltando que, você precisará de uma fonte de alimentação externa sem ser a do Arduino. Sendo assim, eu recomendo uma bateria ou fonte de 9V. Para este experimento utilizei uma fonte convencional com saída equivalente a uma bateria e corrente de 1A.

 

Montagem do projeto Controlando Motor DC com Transistor Mosfet e Arduino

Antes de colocar a mão na massa e montar os componentes é preciso conhecer melhor sobre eles e a atuação, principalmente do MOSFET, no controle do motor DC.

Sendo assim, como foi dito no começo do artigo, o MOSFET é um transistor de efeito de campo que, dependendo do tamanho e design, pode comutar algumas centenas de miliamperes para dezenas de amperes e tensões de um dígito para milhares de volts.

Aqui, utilizamos o modelo de transistor IRF740 e sua pinagem está representada abaixo:

Pinagem Mosfet IRF740

Pinagem Mosfet IRF740

 

Para acessar o datasheet do componente basta clicar aqui. Observe ainda que existem apenas três conexões: source (fonte), drain (dreno) e gate; o gate controla o fluxo atual da fonte ao dreno.

MOSFETs menores podem ser fabricados diretamente em um chip MOS IC padrão e, portanto, podem ser parte de uma solução integrada de chip único (mas apenas em níveis de energia razoavelmente baixos, devido ao tamanho do chip e problemas de dissipação).

Basicamente, o MOSFET pode ser conectado a um pino digital do Arduino sem quaisquer componentes adicionais. Como visto acima, o pino de source está ligado diretamente ao gate.

O aterramento da fonte de alimentação e do Arduino é conectado ao pino de origem do transistor.

Já para o motor, é preciso conectar um dos seus terminais ao dreno juntamente com um diodo para impedir que a indução não desejada do motor, produza uma corrente contrária à do circuito e assim, queime algum componente.

No entanto, se a carga for controlada com o polo positivo em vez do GND, um MOSFET de canal P deve ser usado. Além disso, um pré-circuito de um transistor NPN na porta é necessário porque o Arduino comuta apenas uma tensão positiva no pino de source.

 

Esquemático Projeto Controlando Motor DC com Transistor Mosfet e Arduino

Montagem dos componentes do projeto ficará assim:

 

Esquemático Projeto Controlando Motor DC com Transistor Mosfet e Arduino

Esquemático Projeto Controlando Motor DC com Transistor Mosfet e Arduino

 

Montagem Elétrica do Circuito

 

Esquema Elétrico Projeto Controlando Motor DC com Transistor

Esquema Elétrico Projeto Controlando Motor DC com Transistor

 

Código Utilizado

Veja o código completo utilizado neste tutorial:

Depois de escrever o código você pode dar upload dele para sua placa Arduino.

 

Explicação do Código de Programação

Para que você entenda a lógica de programação usada, iremos abordar o código passo a passo:

Primeiro de tudo, configure algumas constantes para o interruptor e pinos do motor e uma variável chamada estadobotao para manter o valor do botão.

 

Em seu setup (), declare o pinMode () do motor (OUTPUT) e pinos do interruptor (INPUT).

Dentro do loop () que você irá escrever, a lógica será bem direta. Você irá precisar verificar o estado do botão com digitalRead () e inserindo como argumento o pino em que o componente está (botao = 12).

A partir daí, se o interruptor for pressionado, coloque o pino do motor = 8 no HIGH e o LED = 4 também em HIGH.

Agora, caso o botão não estiver pressionado, ambos componentes, motor e LED, ficarão em estado de LOW.

Portanto, quando HIGH, o transistor será ativado, completando o circuito do motor e quando LOW, o motor não irá girar.
Assim, usaremos o sinal de baixa potência que o Arduino gera apenas para ligar e desligar o Transistor MOSFET.

Além disso, você poderá acompanhar no seu monitor serial o estado atual do motor da seguinte forma, veja só:


Não se esqueça de colocar a velocidade de 9600 de transferência por segundo de bits.

 

Finalização

Existem muitas aplicações de motores DC controlados. Esses motores são usados onde a velocidade ajustável e o torque de baixa velocidade são necessários, como transportadores e plataformas giratórias.

Um motor DC é usado em muitas máquinas industriais para frenagem dinâmica e reversão. Sua curva de torque linear, parada rápida, ré e aceleração os tornam uma escolha muito boa ao projetar algo inovador.

Assim, se você desejar fazer o controle de velocidade do seu motor, recomendados acessar esse artigo sobre o driver Ponte-H.
Além disso, os transistores são dispositivos de estado sólido, eles não possuem partes móveis. Consequentemente, você pode ligá-los e desligá-los muito rapidamente.

Uma dica é, tente conectar um potenciômetro a uma entrada analógica e insira o transistor em uma entrada digital PWM. Isso é útil para variar a rotação do Motor DC. Para isso indicamos o artigo de como utilizar o PWM Arduino para aprender o que é essa técnica e utiliza-la com a função analogwrite nos Arduinos UNO, Nano e Mega e, assim, variar a rotação de motores DC através do sinal PWM. O que você acha que acontecerá com a velocidade do motor se você variar a tensão que está recebendo?

Por fim, não esqueça que os motores requerem consideração especial ao serem controlados por um microcontrolador.

Normalmente, o microcontrolador não pode fornecer corrente e / ou tensão suficiente para alimentar um motor. Por causa disso, você usa transistores para fazer a interface entre os dois.

Os motores têm uma tensão operacional ideal. Eles trabalharão em apenas 50% da tensão nominal e até 50% acima desse número.

Se você variar a voltagem, você pode alterar a velocidade de rotação do motor. Porém, não varie muito a tensão ou você queimará seu motor.

Gostou desse tutorial? Então nos deixe a sua opinião nos comentários abaixo e também as suas dúvidas.

E, não se esqueça de nos seguir no Instagram!

Categorias
ArduinoProjetos

Futuro Engenheiro Mecatrônico pela Federal de Uberlândia, fanático por Tecnologia, Empreendedorismo e Gestão. Desde pequeno faz projetos com Arduino e recentemente atuou na Empresa Júnior do seu curso gerenciando equipes de engenharia no setor de vendas e de projetos.
3 Número de Comentários
  • Elton
    13 julho 2021 at 10:00
    Deixe seu Comentário

    Olá. Fiz tudo conforme, mas deu erro nos códigos de acionamento.

    • Matheus Gebert Straub
      14 julho 2021 at 09:01
      Deixe seu Comentário

      Olá Elton! Verifiquei o código e a princípio não possui nenhum erro, consegue me dizer o erro que aconteceu aí?

  • Marco
    19 dezembro 2021 at 03:29
    Deixe seu Comentário

    Cheguei aqui para entender mais sobre mosfet, pois em vez de motor quero uma chave eletrônica para mudar o estado de uns LEDS de spiners aqueles que ao apertar o botão muda de frequência, mas usando o Arduino que será controlado remotamente por um rádio turnigi. Espero que eu dê conta vou usar seu exemplo para incrementar luzinha de navegação em meu aero obrigado pela ajuda seu artigo vai me ajudar.

  • Deixe seu Comentário

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados