O motor DC funciona com uma fonte de corrente contínua, como baterias ou fontes DC.
Voltagens entre 3v-12v são bastante comuns para estes motores.
A velocidade pode ser facilmente controlada variando a tensão de alimentação ou usando modulação por largura de pulso (PWM).
Ele é capaz de fornecer torque alto mesmo em baixas velocidades, ideal para aplicações que exigem força inicial.
Pode girar em ambos os sentidos apenas invertendo a polaridade da tensão.
Responde rapidamente a comandos de partida/parada.
O modelo com escovas (brushed) são mais simples e baratos, mas com desgaste mecânico.
Já o modelo sem escovas (brushless) são mais eficientes, silenciosos e duráveis.
São muito usados em robótica, automação, ferramentas elétricas, brinquedos, eletrodomésticos e veículos elétricos.
Diodos permitem a passagem de corrente elétrica apenas em um sentido (do anodo/+ para o catodo/-).
É utilizado para proteger circuitos de corrente reversa, como a gerada por um motor quando o mesmo é desligado.
Conduz corrente com baixa queda de tensão (geralmente entre 0,3 V e 0,7 V).
Muito utilizado em fontes de alimentação como retificador de tensão.
Neste projeto você criará um circuito que faz o uso de um motor DC controlado por um transistor com o Arduino.
Para a criação deste circuito serão necessários os seguintes componentes:
Para montar o circuito, visualize na imagem a seguir como conectar os componentes entre a placa Arduino e a breadboard.
A seguir temos o schematics do circuito, que detalha suas conexões e fornece detalhes mais específicos do que o circuito da imagem anterior.
Uma vez criado o circuito, use o código fonte a seguir no Arduino IDE para fazer o upload dele na placa Arduino e assim ver o resultado do circuito em funcionamento.
/**
* Código do curso Magos do Arduino para utilizar um transistor para
* controlar um motor dc com o Arduino.
*
* Controle de um motor dc de ~5v utilizando um transistor 2N2222.
*
* (c) Copyright KazaleIT
* @kazaleitoficial no YouTube
**/
#define PINO_TRANSISTOR 2
void setup() {
pinMode(PINO_TRANSISTOR, OUTPUT);
}
void loop() {
digitalWrite(PINO_TRANSISTOR, HIGH);
delay(3000);
digitalWrite(PINO_TRANSISTOR, LOW);
delay(3000);
}