Modifique um Controlador de Velocidade de Motor PWM DC de 20A com um Arduino

Modifique um Controlador de Velocidade de Motor PWM DC de 20A com um Arduino

Neste tutorial, vamos aprender a modificar um controlador de velocidade de motor PWM DC de 20A para funcionar perfeitamente com um Arduino. Essa modificação permite um controle preciso da velocidade de um motor usando um potenciômetro ou comandos diretos do Arduino. O resultado é um sistema de controle de motor mais versátil que pode ser integrado em vários projetos.

Controlador de Velocidade do Motor DC PWM de 20A: Vista frontal do lado esquerdo
Controlador de Velocidade do Motor PWM DC de 20A: Vista frontal do lado esquerdo

Para este projeto, conectaremos o controlador PWM ao Arduino e usaremos código para gerenciar a velocidade do motor com base na entrada do usuário. Esta configuração pode ser vantajosa em aplicações que requerem controle de velocidade variável, como robótica ou sistemas automatizados. Para maior clareza, você pode consultar o vídeo que acompanha este tutorial (no vídeo em 00:00).

Hardware Explicado

Os principais componentes deste projeto incluem a placa Arduino, o controlador de velocidade do motor PWM DC de 20A e um potenciômetro. O Arduino serve como o cérebro do sistema, enviando sinais PWM para o controlador do motor para ajustar a velocidade do motor. O controlador de velocidade do motor em si utiliza um CI 555 para gerar sinais PWM, que controlam a porta de um MOSFET que regula a potência do motor.

Controlador de Velocidade de Motor PWM DC de 20A: Dimensões
Controlador de Velocidade de Motor PWM CC 20A: Dimensões

O potenciômetro atua como um dispositivo de entrada, permitindo que os usuários ajustem manualmente a velocidade desejada. Ao girar o potenciômetro, a resistência muda, enviando uma tensão correspondente para o Arduino. O Arduino lê essa tensão e ajusta o sinal PWM enviado ao controlador do motor de acordo.

Detalhes da Ficha Técnica

Fabricante Desconhecido
Número da peça Controlador de Velocidade de Motor PWM DC 20A
Tensão de lógica/IO 5 V
Tensão de alimentação 10-60 V
Corrente de saída (por canal) 20 A
Corrente de pico (por canal) 40 A
Orientação sobre a frequência PWM Tipicamente 1 kHz
Limiares de lógica de entrada 0,2 V (baixo), 2,0 V (alto)
Queda de tensão / RDS(on)/ saturação 0,1 V
Limites térmicos Até 85°C
Pacote PCB padrão
Notas / variantes Vários modelos disponíveis

  • Garanta um dissipador de calor adequado para aplicações de alta corrente.
  • Verifique a fiação para a polaridade correta antes de energizar o sistema.
  • Use capacitores de desacoplamento entre os terminais de alimentação.
  • Mantenha a frequência PWM em torno de 1 kHz para um desempenho ideal.
  • Esteja atento aos limites de tensão de entrada (10-60 V).
Controlador de Velocidade de Motor PWM DC 20A: Potenciômetro (resistor variável)
Controlador de Velocidade de Motor PWM DC 20A: Potenciômetro (resistor variável)

Instruções de Fiação

Para conectar o controlador de velocidade do motor PWM de 20A DC ao Arduino, comece conectando a fonte de alimentação. O terminal positivo da fonte de alimentação deve ser conectado à entrada V+ do controlador do motor, enquanto o terminal negativo se conecta ao terra (GND) do controlador. Em seguida, conecte o motor aos terminais de saída do controlador, garantindo a polaridade correta para a rotação desejada.

Para o sinal PWM, identifique o pino de saída PWM no controlador, que iremos conectar ao pino PWM designado no Arduino (neste caso, pino5). Além disso, conecte o terra do Arduino ao terra do controlador de motor para garantir uma referência comum. Por fim, se estiver usando um potenciômetro, conecte uma extremidade ao pino de 5V no Arduino, o pino do meio a um pino analógico (comoA0), e o último pino para terra.

Exemplos de Código e Tutorial

O código começa definindo o pino de saída PWM e o pino de controle para o potenciômetro. Osetup()a função inicializa o pino PWM como uma saída e inicia a comunicação serial para depuração.

#define pwmPin 5
#define controlPin A0

void setup() {
  pinMode(pwmPin, OUTPUT);
  Serial.begin(9600);
}

No textoloop()função, lemos o valor do potenciômetro e o mapeamos para uma faixa de PWM adequada para o controlador do motor. Esse valor é então escrito no pino PWM, que controla a velocidade do motor.

void loop() {
  int potValue = analogRead(controlPin);
  int pwm = map(potValue, 0, 1023, 0, 255);
  analogWrite(pwmPin, pwm);
  Serial.print("PWM:");
  Serial.println(pwm);
  delay(500);
}

Por fim, funções são definidas para converter o valor PWM em uma porcentagem, permitindo uma melhor compreensão da velocidade do motor com base na entrada do usuário. O código completo está carregado abaixo do artigo (no vídeo às 00:00).

Demonstração / O que Esperar

Uma vez que tudo esteja conectado e o código carregado, você pode esperar que o motor responda à posição do potenciômetro. Rotacionar o potenciômetro aumentará ou diminuirá a velocidade do motor de acordo com o sinal PWM enviado pelo Arduino. Certifique-se de que a fonte de alimentação esteja dentro da faixa de tensão necessária e de que o motor possa suportar a tensão aplicada.

Erros comuns incluem fiação incorreta, que pode levar à rotação invertida do motor ou falha ao ligar. Sempre verifique as conexões e assegure-se de que os aterramentos do Arduino e do controlador do motor estejam ligados juntos (no vídeo em 04:30).

Timestamps de Vídeo

  • 00:00 Início
  • 00:40 Introdução
  • 04:07 Preparando a fiação (modificando-a)
  • 06:55 Explicação da fiação
  • 08:40 Código explicado
  • 13:15 Demonstração

Imagens

Controlador de Velocidade de Motor PWM DC 20A: principal
Controlador de Velocidade de Motor PWM DC 20A: principal
Controlador de Velocidade de Motor PWM DC 20A: Vista superior
Controlador de Velocidade de Motor PWM DC 20A: Vista superior
Controlador de Velocidade de Motor PWM DC 20A: Dimensões
Controlador de Velocidade de Motor PWM DC 20A: Dimensões
Controlador de Velocidade de Motor PWM DC 20A: Potenciômetro (resistor variável)
Controlador de Velocidade de Motor PWM DC 20A: Potenciômetro (resistor variável)
Controlador de Velocidade de Motor PWM CC 20A: Visão frontal
Controlador de Velocidade de Motor PWM CC 20A: Visão frontal
Controlador de Velocidade de Motor PWM DC 20A: Vista frontal do lado direito
Controlador de Velocidade de Motor PWM DC 20A: Vista frontal do lado direito
Controlador de Velocidade do Motor PWM DC 20A: Vista frontal do lado esquerdo
Controlador de Velocidade do Motor PWM DC 20A: Vista frontal do lado esquerdo
Controlador de Velocidade de Motor PWM DC 20A: Visão da PCB inferior
Controlador de Velocidade de Motor PWM DC 20A: Visão da PCB inferior
Controlador de Velocidade de Motor PWM DC 20A: linha positiva comum
Controlador de Velocidade de Motor PWM DC 20A: linha positiva comum
222-Hack: Control a 20A DC Motor with an Arduino using 20A DC 10-60V PWM
Idioma: C++
Copiado!

Arquivos📁

Nenhum arquivo disponível.