Använda L9110s med Arduino

Using the L9110S With the Arduino

L9110S Motor Driver är en kompakt och effektiv lösning för att kontrollera DC -motorer och stegmotorer i dina Arduino -projekt. Oavsett om du bygger en enkel robot eller ett mer komplext automatiseringssystem, erbjuder L9110S ett pålitligt sätt att hantera motoriska operationer med minimal ledning och programmeringskomplexitet. I det här blogginlägget utforskar vi funktionerna i L9110S Motor Driver, hur man ansluter det till en Arduino och tillhandahåller provkod för att komma igång.

Vad är L9110s?

L9110S är en motorisk fördrivare i dubbelkanal för att styra hastigheten och riktningen för två DC-motorer eller en stegmotor. Den fungerar på ett spänningsområde på 2,5V till 12V, vilket gör det mångsidigt för olika applikationer. L9110S är känd för sin kompakta storlek, låg effektförbrukning och enkel integration med mikrokontroller som Arduino.

Varför välja L9110s?

  • Kompakt design: Dess lilla fotavtryck gör det idealiskt för projekt med begränsat utrymme.
  • Dubbla kanaler: Kontrollera två motorer oberoende, vilket möjliggör komplexa rörelser.
  • Lätt att använda: Enkelt gränssnitt med tydlig märkning för enkla anslutningar.
  • Kostnadseffektivt: Prisvärd prissättning utan att kompromissa med funktionaliteten.

Anslutar L9110s till Arduino

Att ställa in L9110s med en Arduino är enkelt. Nedan följer en steg-för-steg-guide för att göra anslutningarna:

  1. Strömanslutningar:
    • Ansluta VCC stift av L9110 till 5V -stiftet på Arduino.
    • Ansluta GND Stift av L9110: erna till GND -stiftet på Arduino.
  2. Motoranslutningar:
    • Anslut den första motorn till OUT1 och OUT2 stift.
    • Om du använder en andra motor, anslut den till OUT3 och OUT4 stift.
  3. Kontrollstift:
    • Ansluta AIN1 och AIN2 Stift till två digitala stift på Arduino (t.ex. stift 2 och 3).
    • Om du använder en andra motor, anslut BIN1 och BIN2 till två andra digitala stift (t.ex. stift 4 och 5).

Se diagrammet nedan för en visuell representation av anslutningarna:

L9110s Arduino Connection Diagram

Programmering av Arduino

Efter att ha ställt in hårdvaran är nästa steg att programmera Arduino för att kontrollera motorerna. Nedan följer en provkod som visar hur man styr riktningen och hastigheten för en likströmsmotor med L9110S motordrivare.


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

Förklaring:

  • AIN1 och AIN2 används för att styra motorns riktning.
  • Miljö AIN1 Hög och AIN2 Låg roterar motorn framåt.
  • Miljö AIN1 Lågt och AIN2 Hög roterar motorn bakåt.
  • Ställa in båda AIN1 och AIN2 Låg stoppar motorn.

Styrhastighet med PWM

L9110S stöder PWM (pulsbreddmodulering) för hastighetskontroll. Genom att variera PWM -signalens arbetscykel kan du justera motorns hastighet. Så här ändrar du den tidigare koden för att inkludera hastighetskontroll:


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

Förklaring: De analogWrite() Funktionen skickar en PWM -signal till motorn, så att du kan styra hastigheten. Värdet sträcker sig från 0 (stopp) till 255 (full fart).

Applikationer av L9110s med Arduino

Kombinationen av L9110S motorförare och Arduino öppnar upp ett brett utbud av projektmöjligheter:

  • Robotik: Kontrollera rörelsen av robotarmar eller mobila robotar med exakt motorisk kontroll.
  • Automationssystem: Automatisera uppgifter som öppnings-/stängningsdörrar, justera ventiler eller flytta komponenter i monteringslinjer.
  • DIY -projekt: Skapa anpassade elektronikprojekt som motoriserade kamerareglage, automatiserade växtvattningssystem eller fjärrstyrda fordon.
  • Utbildningsverktyg: Lär eleverna om motorisk kontroll, elektronik och programmering genom praktiska projekt.

Slutsats

L9110S Motor Driver är en mångsidig och användarvänlig komponent för alla som vill kontrollera motorer med en Arduino. Dess dubbelkanalsförmåga, i kombination med enkelhet i ledningar och programmering, gör det till ett utmärkt val för både nybörjare och erfarna hobbyister. Genom att följa stegen som beskrivs i det här inlägget kan du snabbt integrera motorisk kontroll i dina projekt och utöka funktionaliteten i dina Arduino-baserade system.

Experimentera med olika motorhastigheter, vägbeskrivningar och applikationer för att fullt ut utnyttja potentialen för L9110S motordrivare. Glad tippning!

Lämna en kommentar

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.