Korzystanie z L9110S z Arduino

Using the L9110S With the Arduino

Silnik L9110S to kompaktowe i wydajne rozwiązanie do kontrolowania silników DC i silników krokowych w projektach Arduino. Niezależnie od tego, czy budujesz prostego robota, czy bardziej złożony system automatyzacji, L9110S oferuje niezawodny sposób zarządzania operacjami silnikowymi przy minimalnym złożoności okablowania i programowania. W tym poście na blogu zbadamy funkcje sterownika silnika L9110S, jak podłączyć go do Arduino i podać przykładowy kod, aby zacząć.

Co to jest L9110?

L9110S to podwójny sterownik silnika IC zaprojektowany do kontrolowania prędkości i kierunku dwóch silników prądu stałego lub jednego silnika krokowego. Działa w zakresie napięcia od 2,5 V do 12 V, co czyni go wszechstronnym dla różnych zastosowań. L9110S jest znany z kompaktowego rozmiaru, niskiego zużycia energii i łatwości integracji z mikrokontrolerami, takimi jak Arduino.

Dlaczego warto wybrać L9110?

  • Kompaktowy projekt: Jego niewielki ślad sprawia, że ​​idealnie nadaje się do projektów o ograniczonej przestrzeni.
  • Podwójne kanały: Kontroluj dwa silniki niezależnie, umożliwiając złożone ruchy.
  • Łatwy w użyciu: Prosty interfejs z wyraźnym znakowaniem dla łatwych połączeń.
  • Opłacalny: Niedrogie ceny bez uszczerbku dla funkcjonalności.

Łączenie L9110S z Arduino

Konfigurowanie L9110 z Arduino jest proste. Poniżej znajduje się przewodnik krok po kroku, aby nawiązać połączenia:

  1. Połączenia zasilania:
    • Podłącz VCC Pin of L9110s do pinu 5V na Arduino.
    • Podłącz GND Pin of L9110s do szpilki GND na Arduino.
  2. Połączenia silnika:
    • Podłącz pierwszy silnik do OUT1 I OUT2 szpilki.
    • Jeśli używasz drugiego silnika, podłącz go do OUT3 I OUT4 szpilki.
  3. Pins kontrolny:
    • Podłącz AIN1 I AIN2 Pinsy do dwóch cyfrowych pinów na Arduino (np. Piny 2 i 3).
    • Jeśli używasz drugiego silnika, podłącz BIN1 I BIN2 do dwóch innych cyfrowych pinów (np. Pins 4 i 5).

Poniższy schemat, aby zobaczyć wizualną reprezentację połączeń:

L9110S Arduino Schemat połączenia

Programowanie Arduino

Po skonfigurowaniu sprzętu następnym krokiem jest zaprogramowanie Arduino do kontrolowania silników. Poniżej znajduje się przykładowy kod, który pokazuje, jak kontrolować kierunek i prędkość silnika DC za pomocą sterownika silnika 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
}

Wyjaśnienie:

  • AIN1 I AIN2 są używane do kontrolowania kierunku silnika.
  • Ustawienie AIN1 Wysoki i AIN2 Niski obraca silnik do przodu.
  • Ustawienie AIN1 Niski i AIN2 Wysoki obraca silnik do tyłu.
  • Ustawienie obu AIN1 I AIN2 Niski zatrzymuje silnik.

Kontrolowanie prędkości za pomocą PWM

L9110S obsługuje PWM (modulacja szerokości impulsu) do kontroli prędkości. Zmieniając cykl pracy sygnału PWM, możesz dostosować prędkość silnika. Oto jak zmodyfikować poprzedni kod, aby uwzględnić kontrolę prędkości:


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

Wyjaśnienie: . analogWrite() Funkcja wysyła sygnał PWM do silnika, umożliwiając kontrolowanie jego prędkości. Wartość waha się od 0 (stop) do 255 (pełna prędkość).

Zastosowania L9110S z Arduino

Połączenie sterownika silnika L9110S i Arduino otwiera szeroki zakres możliwości projektu:

  • Robotyka: Kontroluj ruch ramion robotycznych lub robotów mobilnych z precyzyjną kontrolą silnika.
  • Systemy automatyzacji: Zautomatyzuj zadania, takie jak otwieranie/zamykanie, zawory regulacyjne lub przesuwanie komponentów w liniach montażowych.
  • Projekty DIY: Twórz niestandardowe projekty elektroniczne, takie jak zmotoryzowane suwaki kamery, zautomatyzowane systemy podlewania zakładów lub zdalnie sterowane pojazdy.
  • Narzędzia edukacyjne: Naucz uczniów o kontroli motorycznej, elektronice i programowaniu poprzez praktyczne projekty.

Wniosek

Sterownik silnika L9110S to wszechstronny i przyjazny dla użytkownika komponent dla każdego, kto chce kontrolować silniki za pomocą Arduino. Jego podwójna zdolność, w połączeniu z prostotą okablowania i programowania, sprawia, że ​​jest to doskonały wybór zarówno dla początkujących, jak i doświadczonych hobbystów. Postępując zgodnie z krokami przedstawionymi w tym poście, możesz szybko zintegrować kontrolę silnika z projektami i rozszerzyć funkcjonalność systemów opartych na Arduino.

Eksperymentuj z różnymi prędkościami silnika, wskazówkami i zastosowaniami, aby w pełni wykorzystać potencjał sterownika silnika L9110S. Szczęśliwy majsterkowanie!

Zostaw komentarz

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.