Ang driver ng motor ng L9110S ay isang compact at mahusay na solusyon para sa pagkontrol sa mga motor ng DC at mga stepper motor sa iyong mga proyekto sa Arduino. Kung nagtatayo ka ng isang simpleng robot o isang mas kumplikadong sistema ng automation, nag -aalok ang L9110s ng isang maaasahang paraan upang pamahalaan ang mga operasyon ng motor na may kaunting mga kable at pagiging kumplikado ng programming. Sa post na ito ng blog, galugarin namin ang mga tampok ng driver ng motor ng L9110s, kung paano ikonekta ito sa isang Arduino, at magbigay ng sample code upang makapagsimula ka.
Ano ang L9110s?
Ang L9110S ay isang dual-channel motor driver IC na idinisenyo upang makontrol ang bilis at direksyon ng dalawang DC motor o isang stepper motor. Nagpapatakbo ito sa isang saklaw ng boltahe na 2.5V hanggang 12V, ginagawa itong maraming nalalaman para sa iba't ibang mga aplikasyon. Ang L9110S ay kilala para sa compact na laki, mababang pagkonsumo ng kuryente, at kadalian ng pagsasama sa mga microcontroller tulad ng Arduino.
Bakit piliin ang L9110s?
- Compact Design: Ang maliit na bakas ng paa nito ay ginagawang perpekto para sa mga proyekto na may limitadong espasyo.
- Dual Channels: Kontrolin ang dalawang motor nang nakapag -iisa, na nagpapahintulot sa mga kumplikadong paggalaw.
- Madaling gamitin: Simpleng interface na may malinaw na pag -label para sa madaling koneksyon.
- Epektibong Gastos: Ang abot -kayang pagpepresyo nang hindi nakompromiso sa pag -andar.
Pagkonekta sa L9110s sa Arduino
Ang pag -set up ng L9110s na may isang Arduino ay diretso. Nasa ibaba ang isang hakbang-hakbang na gabay sa paggawa ng mga koneksyon:
-
Mga Koneksyon sa Kapangyarihan:
- Ikonekta ang
VCC
Pin ng L9110s sa 5V pin sa Arduino. - Ikonekta ang
GND
Pin ng L9110s sa GND pin sa Arduino.
- Ikonekta ang
-
Mga koneksyon sa motor:
- Ikonekta ang unang motor sa
OUT1
atOUT2
mga pin. - Kung gumagamit ng pangalawang motor, ikonekta ito sa
OUT3
atOUT4
mga pin.
- Ikonekta ang unang motor sa
-
Control Pins:
- Ikonekta ang
AIN1
atAIN2
Ang mga pin sa dalawang digital na pin sa Arduino (hal., Pins 2 at 3). - Kung gumagamit ng pangalawang motor, kumonekta
BIN1
atBIN2
sa dalawang iba pang mga digital na pin (hal., Pins 4 at 5).
- Ikonekta ang
Sumangguni sa diagram sa ibaba para sa isang visual na representasyon ng mga koneksyon:
Programming ang Arduino
Matapos i -set up ang hardware, ang susunod na hakbang ay upang i -program ang Arduino upang makontrol ang mga motor. Nasa ibaba ang isang sample code na nagpapakita kung paano makontrol ang direksyon at bilis ng isang DC motor gamit ang driver ng motor ng 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
}
Paliwanag:
-
AIN1
atAIN2
ay ginagamit upang makontrol ang direksyon ng motor. - Setting
AIN1
Mataas atAIN2
Mababang umiikot ang motor pasulong. - Setting
AIN1
Mababa atAIN2
Mataas na umiikot ang motor. - Pagtatakda pareho
AIN1
atAIN2
Mababang huminto sa motor.
Pagkontrol ng bilis na may PWM
Sinusuportahan ng L9110S ang PWM (modyul ng lapad ng pulso) para sa kontrol ng bilis. Sa pamamagitan ng pag -iiba ng cycle ng tungkulin ng signal ng PWM, maaari mong ayusin ang bilis ng motor. Narito kung paano baguhin ang nakaraang code upang isama ang bilis ng kontrol:
// 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
}
Paliwanag: Ang analogWrite()
Ang pag -andar ay nagpapadala ng isang signal ng PWM sa motor, na nagpapahintulot sa iyo na kontrolin ang bilis nito. Ang halaga ay mula sa 0 (itigil) hanggang 255 (buong bilis).
Mga aplikasyon ng L9110s kasama si Arduino
Ang kumbinasyon ng driver ng motor ng L9110s at Arduino ay nagbubukas ng isang malawak na hanay ng mga posibilidad ng proyekto:
- Robotics: Kontrolin ang paggalaw ng mga robotic arm o mobile robot na may tumpak na kontrol sa motor.
- Mga Sistema ng Automation: Automate ang mga gawain tulad ng pagbubukas/pagsasara ng mga pintuan, pag -aayos ng mga balbula, o paglipat ng mga sangkap sa mga linya ng pagpupulong.
- Mga Proyekto sa DIY: Lumikha ng mga pasadyang mga proyekto ng elektroniko tulad ng mga motorized camera slider, awtomatikong mga sistema ng pagtutubig ng halaman, o mga sasakyan na kontrolado ng remote.
- Mga tool sa pang -edukasyon: Turuan ang mga mag-aaral tungkol sa kontrol ng motor, electronics, at pag-programming sa pamamagitan ng mga hands-on na proyekto.
Konklusyon
Ang driver ng motor ng L9110S ay isang maraming nalalaman at sangkap na madaling gamitin para sa sinumang naghahanap upang makontrol ang mga motor gamit ang isang Arduino. Ang dual-channel na kakayahan nito, na sinamahan ng pagiging simple sa mga kable at programming, ay ginagawang isang mahusay na pagpipilian para sa parehong mga nagsisimula at may karanasan na mga hobbyist. Sa pamamagitan ng pagsunod sa mga hakbang na nakabalangkas sa post na ito, maaari mong mabilis na isama ang kontrol ng motor sa iyong mga proyekto at palawakin ang pag-andar ng iyong mga sistema na nakabase sa Arduino.
Eksperimento na may iba't ibang bilis ng motor, direksyon, at mga aplikasyon upang ganap na magamit ang potensyal ng driver ng motor ng L9110s. Maligayang pag -ikot!