The L9110 is a dual H-bridge motor driver IC manufactured by LC. It is designed to control two DC motors or one stepper motor, enabling bidirectional movement. The L9110 is compact, efficient, and widely used in robotics, automation, and other motor control applications. Its ability to drive motors in both forward and reverse directions makes it a versatile choice for hobbyists and professionals alike.
The L9110 motor driver IC is designed to operate efficiently in low-power motor control applications. Below are its key technical specifications:
Parameter | Value |
---|---|
Operating Voltage | 2.5V to 12V |
Output Current (per channel) | 800mA (continuous) |
Peak Output Current | 1.5A |
Logic Input Voltage | 0V to 5V |
Control Logic | TTL/CMOS compatible |
Operating Temperature | -40°C to +85°C |
Number of Channels | 2 (dual H-bridge) |
Motor Types Supported | DC motors, stepper motors |
The L9110 IC typically comes in an 8-pin DIP or SOP package. Below is the pinout and description:
Pin Number | Pin Name | Description |
---|---|---|
1 | A-1A | Input signal for Motor A (controls direction) |
2 | A-1B | Input signal for Motor A (controls direction) |
3 | VCC | Power supply for the motor driver (2.5V to 12V) |
4 | GND | Ground connection |
5 | B-1A | Input signal for Motor B (controls direction) |
6 | B-1B | Input signal for Motor B (controls direction) |
7 | Motor B+ | Output terminal for Motor B |
8 | Motor A+ | Output terminal for Motor A |
The L9110 is straightforward to use in motor control circuits. Below are the steps and considerations for using the IC effectively:
Below is an example of how to connect and control the L9110 with an Arduino UNO to drive a single DC motor:
// L9110 Motor Driver Example with Arduino UNO
// Controls a single DC motor connected to Motor A terminals
// Define control pins for Motor A
const int motorA1A = 9; // Pin connected to A-1A
const int motorA1B = 10; // Pin connected to A-1B
void setup() {
// Set motor control pins as outputs
pinMode(motorA1A, OUTPUT);
pinMode(motorA1B, OUTPUT);
}
void loop() {
// Rotate motor forward
digitalWrite(motorA1A, HIGH); // Set A-1A HIGH
digitalWrite(motorA1B, LOW); // Set A-1B LOW
delay(2000); // Run motor for 2 seconds
// Stop motor
digitalWrite(motorA1A, LOW); // Set A-1A LOW
digitalWrite(motorA1B, LOW); // Set A-1B LOW
delay(1000); // Wait for 1 second
// Rotate motor backward
digitalWrite(motorA1A, LOW); // Set A-1A LOW
digitalWrite(motorA1B, HIGH); // Set A-1B HIGH
delay(2000); // Run motor for 2 seconds
// Stop motor
digitalWrite(motorA1A, LOW); // Set A-1A LOW
digitalWrite(motorA1B, LOW); // Set A-1B LOW
delay(1000); // Wait for 1 second
}
Motor Not Spinning
Motor Spins in One Direction Only
IC Overheating
No Output Voltage
Q: Can the L9110 drive stepper motors?
A: Yes, the L9110 can drive stepper motors by controlling the two H-bridge channels in sequence. However, additional logic or a library may be required for precise stepper motor control.
Q: What is the maximum motor voltage the L9110 can handle?
A: The L9110 can handle motor voltages up to 12V. Ensure the motor's voltage rating matches the power supply.
Q: Can I use the L9110 with a 3.3V microcontroller?
A: Yes, the L9110's control logic is compatible with 3.3V and 5V logic levels.
Q: Is the L9110 suitable for high-power motors?
A: No, the L9110 is designed for low-power motors with a maximum continuous current of 800mA per channel. For high-power motors, consider using a more robust motor driver.