Usando o L9110S com o Arduino

Using the L9110S With the Arduino

O motorista do motor L9110S é uma solução compacta e eficiente para controlar motores CC e motores de passo em seus projetos Arduino. Esteja você construindo um robô simples ou um sistema de automação mais complexo, o L9110S oferece uma maneira confiável de gerenciar operações motoras com complexidade mínima de fiação e programação. Nesta postagem do blog, exploraremos os recursos do motorista do motor L9110S, como conectá -lo a um Arduino e fornecerá código de amostra para você começar.

O que é o L9110S?

O L9110S é um IC de motorista de motor de canal duplo projetado para controlar a velocidade e a direção de dois motores CC ou um motor de passo. Ele opera em uma faixa de tensão de 2,5V a 12V, tornando -o versátil para várias aplicações. O L9110S é conhecido por seu tamanho compacto, baixo consumo de energia e facilidade de integração com microcontroladores como o Arduino.

Por que escolher os L9110s?

  • Design compacto: Sua pequena pegada o torna ideal para projetos com espaço limitado.
  • Canais duplos: Controle dois motores de forma independente, permitindo movimentos complexos.
  • Fácil de usar: Interface simples com rotulagem clara para fáceis conexões.
  • Econômico: Preços acessíveis sem comprometer a funcionalidade.

Conectando o L9110S ao Arduino

A configuração do L9110S com um Arduino é direta. Abaixo está um guia passo a passo para fazer as conexões:

  1. Conexões de energia:
    • Conecte o VCC Pino dos L9110s no pino de 5V no Arduino.
    • Conecte o GND Pino dos L9110s no pino GND no Arduino.
  2. Conexões do motor:
    • Conecte o primeiro motor ao OUT1 e OUT2 pinos.
    • Se estiver usando um segundo motor, conecte -o ao OUT3 e OUT4 pinos.
  3. Pinos de controle:
    • Conecte o AIN1 e AIN2 pinos para dois pinos digitais no Arduino (por exemplo, pinos 2 e 3).
    • Se estiver usando um segundo motor, conecte -se BIN1 e BIN2 a dois outros pinos digitais (por exemplo, pinos 4 e 5).

Consulte o diagrama abaixo para obter uma representação visual das conexões:

Diagrama de conexão Arduino L9110S

Programando o Arduino

Depois de configurar o hardware, a próxima etapa é programar o Arduino para controlar os motores. Abaixo está um código de amostra que demonstra como controlar a direção e a velocidade de um motor CC usando o motorista do motor L9110S.


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
}

// Loop function
void loop() {
  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

Explicação:

  • AIN1 e AIN2 são usados ​​para controlar a direção do motor.
  • Contexto AIN1 Alto e AIN2 Gira baixo o motor para a frente.
  • Contexto AIN1 Baixo e AIN2 Alto gira o motor para trás.
  • Definindo ambos AIN1 e AIN2 Paradas baixas do motor.

Velocidade de controle com PWM

O L9110S suporta PWM (modulação de largura de pulso) para controle de velocidade. Ao variar o ciclo de trabalho do sinal PWM, você pode ajustar a velocidade do motor. Veja como modificar o código anterior para incluir controle de velocidade:


// Define motor control pins
const int AIN1 = 2;
const int AIN2 = 3;
const int PWM_PIN = 9; // PWM pin for speed control

// Setup function
void setup() {
  // Initialize the motor control pins as outputs
  pinMode(AIN1, OUTPUT);
  pinMode(AIN2, OUTPUT);
  pinMode(PWM_PIN, OUTPUT);
}

// Loop function
void loop() {
  // Set speed to 150 out of 255
  analogWrite(PWM_PIN, 150);

  // Rotate motor forward
  digitalWrite(AIN1, HIGH);
  digitalWrite(AIN2, LOW);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second

  // Rotate motor backward
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, HIGH);
  delay(2000); // Run for 2 seconds

  // Stop the motor
  digitalWrite(AIN1, LOW);
  digitalWrite(AIN2, LOW);
  delay(1000); // Stop for 1 second
}

Explicação: O analogWrite() A função envia um sinal PWM para o motor, permitindo controlar sua velocidade. O valor varia de 0 (parada) a 255 (velocidade total).

Aplicações de L9110s com Arduino

A combinação do motorista do motor L9110S e Arduino abre uma ampla gama de possibilidades de projeto:

  • Robótica: Controle o movimento de braços robóticos ou robôs móveis com controle preciso do motor.
  • Sistemas de automação: Automatize tarefas como portas de abertura/fechamento, válvulas de ajuste ou componentes de movimentação nas linhas de montagem.
  • Projetos de bricolage: Crie projetos eletrônicos personalizados, como controles deslizantes de câmera motorizados, sistemas de rega plantas automatizados ou veículos com controle remoto.
  • Ferramentas educacionais: Ensine os alunos sobre controle motor, eletrônica e programação através de projetos práticos.

Conclusão

O driver do motor L9110S é um componente versátil e fácil de usar para quem deseja controlar motores usando um Arduino. Sua capacidade de canal duplo, combinado com a simplicidade em fiação e programação, a torna uma excelente opção para iniciantes e amadores experientes. Seguindo as etapas descritas nesta postagem, você pode integrar rapidamente o controle do motor em seus projetos e expandir a funcionalidade de seus sistemas baseados em Arduino.

Experimente diferentes velocidades, instruções e aplicações do motor para aproveitar completamente o potencial do motorista do motor L9110S. Feliz mexer!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.