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:
-
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.
- Conecte o
-
Conexões do motor:
- Conecte o primeiro motor ao
OUT1
eOUT2
pinos. - Se estiver usando um segundo motor, conecte -o ao
OUT3
eOUT4
pinos.
- Conecte o primeiro motor ao
-
Pinos de controle:
- Conecte o
AIN1
eAIN2
pinos para dois pinos digitais no Arduino (por exemplo, pinos 2 e 3). - Se estiver usando um segundo motor, conecte -se
BIN1
eBIN2
a dois outros pinos digitais (por exemplo, pinos 4 e 5).
- Conecte o
Consulte o diagrama abaixo para obter uma representação visual das conexões:
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
eAIN2
são usados para controlar a direção do motor. - Contexto
AIN1
Alto eAIN2
Gira baixo o motor para a frente. - Contexto
AIN1
Baixo eAIN2
Alto gira o motor para trás. - Definindo ambos
AIN1
eAIN2
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!