Usando gli L9110 con l'Arduino

Using the L9110S With the Arduino

Il driver del motore L9110S è una soluzione compatta ed efficiente per il controllo di motori DC e motori a passo passo nei progetti Arduino. Che tu stia costruendo un robot semplice o un sistema di automazione più complesso, L9110s offre un modo affidabile per gestire le operazioni motorie con cablaggio minimo e complessità di programmazione. In questo post sul blog, esploreremo le funzionalità del driver del motore L9110, come collegarlo a un Arduino e fornire il codice di esempio per iniziare.

Cos'è la L9110?

L'L9110S è un IC del driver del motore a doppio canale progettato per controllare la velocità e la direzione di due motori CC o un motore passo-passo. Funziona su un intervallo di tensione da 2,5 V a 12 V, rendendolo versatile per varie applicazioni. L'L9110 è noto per le sue dimensioni compatte, il basso consumo di energia e la facilità di integrazione con i microcontrollori come l'Arduino.

Perché scegliere gli L9110?

  • Design compatto: La sua impronta ridotta lo rende ideale per i progetti con spazio limitato.
  • Dual Canali: Controlla due motori in modo indipendente, consentendo movimenti complessi.
  • Facile da usare: Interfaccia semplice con etichettatura chiara per connessioni facili.
  • Conveniente: Prezzi economici senza compromettere la funzionalità.

Collegamento degli L9110 ad Arduino

La configurazione degli L9110 con un Arduino è semplice. Di seguito è riportata una guida passo-passo per creare le connessioni:

  1. Connessioni di alimentazione:
    • Collegare il VCC Pin degli L9110 sul pin 5V sull'Arduino.
    • Collegare il GND Pin degli L9110 sul perno GND sull'Arduino.
  2. Collegamenti del motore:
    • Collegare il primo motore al file OUT1 E OUT2 pin.
    • Se si utilizza un secondo motore, collegalo a OUT3 E OUT4 pin.
  3. Pin di controllo:
    • Collegare il AIN1 E AIN2 Pin a due pin digitali sull'Arduino (ad es. Pin 2 e 3).
    • Se si utilizza un secondo motore, connettiti BIN1 E BIN2 ad altri due pin digitali (ad es. Pin 4 e 5).

Fare riferimento al diagramma seguente per una rappresentazione visiva delle connessioni:

Diagramma di connessione Arduino L9110S

Programmazione dell'Arduino

Dopo aver impostato l'hardware, il passo successivo è programmare l'Arduino per controllare i motori. Di seguito è riportato un codice di esempio che dimostra come controllare la direzione e la velocità di un motore a CC utilizzando il driver del motore L9110.


// 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
}

Spiegazione:

  • AIN1 E AIN2 sono usati per controllare la direzione del motore.
  • Collocamento AIN1 Alto e AIN2 Basso ruota il motore in avanti.
  • Collocamento AIN1 Basso e AIN2 Alto ruota il motore all'indietro.
  • Impostazione di entrambi AIN1 E AIN2 Basso ferma il motore.

Velocità di controllo con PWM

L9110s supporta PWM (modulazione della larghezza dell'impulso) per il controllo della velocità. Variando il ciclo di lavoro del segnale PWM, è possibile regolare la velocità del motore. Ecco come modificare il codice precedente per includere il controllo della velocità:


// 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
}

Spiegazione: IL analogWrite() La funzione invia un segnale PWM al motore, permettendo di controllare la sua velocità. Il valore varia da 0 (stop) a 255 (piena velocità).

Applicazioni di L9110 con Arduino

La combinazione del driver a motore L9110 e Arduino apre una vasta gamma di possibilità di progetto:

  • Robotica: Controlla il movimento di bracci robotici o robot mobili con un controllo del motore preciso.
  • Sistemi di automazione: Automatizzare attività come le porte di apertura/chiusura, le valvole di regolazione o i componenti di spostamento nelle linee di montaggio.
  • Progetti fai -da -te: Creare progetti elettronici personalizzati come cursori di telecamere motorizzate, sistemi di irrigazione automatica degli impianti o veicoli a telecomando.
  • Strumenti educativi: Insegna agli studenti il ​​controllo motorio, l'elettronica e la programmazione attraverso progetti pratici.

Conclusione

Il driver del motore L9110S è un componente versatile e intuitivo per chiunque cerchi di controllare i motori usando un Arduino. La sua capacità a doppio canale, combinata con semplicità nel cablaggio e nella programmazione, lo rende una scelta eccellente sia per i principianti che per gli hobbisti esperti. Seguendo i passaggi descritti in questo post, è possibile integrare rapidamente il controllo motorio nei progetti ed espandere la funzionalità dei tuoi sistemi a base di Arduino.

Sperimenta diverse velocità del motore, direzioni e applicazioni per sfruttare completamente il potenziale del driver del motore L9110. Felice armeggiare!

Lascia un commento

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.