Isticmaalka L298N Motor Driver si loo xakameeyo Motor Stepper ah oo 4-wire ah
Cashiggan, waxaan ku baran doonaa sida loo xakameeyo matoor tillaabo ah oo 4-wire ah iyadoo la adeegsanayo darawalka matoorka L298N oo lala xiriirinayo Arduino. L298N waa darawal H-bridge laba-geesood ah oo kala duwan kaas oo noo ogolaanaya inaan xakameyno jihada iyo xawaaraha matoorada tillaabada ah si wax ku ool ah. Markaad dhammayso hagahan, waxaad yeelan doontaa qaab shaqeynaya oo u rogi kara matoorka tillaabada ah labada jiho oo xakameyn kara xawaarihiisa iyadoo la adeegsanayo potentiometer.


Si aan kuu caawiyo inaad si fiican u fahanto habka, waxaan kugula talinayaa inaad daawato fiidiyowga la xidhiidha, kaas oo bixiya muujin muuqaal ah oo ku saabsan fiilada iyo koodhka (fiidiyowga 01:30).
Qalabka La Sharaxay
Darawalka matoorka L298N waxaa loogu talagalay inuu xakameeyo matoorada adoo kuu ogolaanaya inaad ku wado labada jiho ee horay iyo gadaal. Wuxuu isticmaalaa qaab H-bridge, taas oo macnaheedu yahay wuxuu beddeli karaa polarity-ga danabka lagu shubo matoorka, sidaasna u rogi kara jihadiisa. Darawalkani wuxuu qaadi karaa danab sahay ah ilaa 46V iyo hadda joogto ah oo ah 2A halka kanaal, taasoo ka dhigaysa mid ku habboon codsiyo badan.
Qaabkayaga, waxaan isticmaali doonnaa afar biin oo xakameyn ah si aan u maareyno matoorka tillaabada ah. Biinanka muhiimka ah waa ENA iyo ENB, kuwaas oo waa in lagu dejiyaa HIGH (5V) si loo awoodo darawalka. Biinanka IN1, IN2, IN3, iyo IN4 ayaa xakameyn doona xaaladaha wareejinta ee matoorka, iyagoo u oggolaanaya inuu tillaabo qaado jihada la doonayo.
Faahfaahinta Xogta
| Soo saaraha | STMicroelectronics |
|---|---|
| Nambarka qaybta | L298N |
| Danabka logic/IO | 5 V |
| Danabka sahayda | 5–46 V (VS) |
| Hadda soo saarka (halka kanaal) | 2 A ugu badnaan/kanaal (joogto ah) |
| Hadda ugu sarreysa (halka kanaal) | 3 A ugu badnaan |
| Hagaha soo noqnoqoshada PWM | 1 kHz ilaa 20 kHz |
| Heerarka logic-ga ee gelinta | 0.8 V (hoose), 2.0 V (sare) |
| Hoos u dhaca danabka / RDS(on) / dhergasho | 1.5 V ugu badnaan |
| Xadka kulaylka | 150 °C ugu badnaan |
| Baakad | DIP-15 |
| Qoraalo / noocyo kale | Sidoo kale waxaa laga heli karaa noocyo fidsan (L298P) |
- Hubi in
ENAiyoENBay ku xiran yihiin 5V si ay u shaqeeyaan si habboon. - U isticmaal qaboojiye kulayl oo ku filan codsiyada hadda sare leh si looga hortago kulaylka xad dhaafka ah.
- Ku ilaali dhul wadaag ah oo u dhexeeya Arduino iyo darawalka matoorka.
- Ka digtoonow polarity-ga fiilada si aad uga hortagto in matoorka ama darawalku waxyeelo gaadho.
- Ku dheji capacitors-ka kala-goynta meelaha u dhow biinanka korontada si loo shaandheeyo buuqa.
- Hagaaji soo noqnoqoshada PWM iyadoo lagu salaynayo astaamaha matoorka si loo helo waxqabad wanaagsan.
Tilmaamaha Fiilada

Si aad ugu xirto darawalka matoorka L298N Arduino-ga iyo matoorka tillaabada ah, waxaad ku bilaabi kartaa adoo ku xira korontada. Ku xir biinka VIN ee L298N ilaha korontadaada 12V. Marka xigta, ku xir biinka GND ee L298N dhulka ilaha korontadaada iyo sidoo kale dhulka Arduino-ga.
Hadda, biinanka xakamaynta, ku xir ENA biinka 2 ee Arduino-ga iyo ENB biinka 3. Marka xigta, ku xir IN1 biinka 8, IN2 biinka 9, IN3 biinka 10, iyo IN4 biinka 11 ee Arduino-ga. Ugu dambeyntii, ku xir fiilooyinka matoorka tillaabada ah meelaha soo saarka ee L298N. Hubi in labada lammaane ee fiilooyinka matoorka ay si sax ah ugu xiran yihiin meelaha soo saarka.
Tusaalooyinka Koodhka & Sharaxaad
Koodhka, waxaan marka hore ku daraynaa maktabadda Stepper.h si loo fududeeyo xakamaynta matoorka tillaabada ah. Waxaan qeexaynaa tirada guud ee tillaabooyinka halkii wareeg, taas oo muhiim u ah dhaqdhaqaaqa saxda ah. Aqoonsiyada muhiimka ah ee koodhka waxaa ka mid ah stepsPerRevolution, kaas oo dejiya tirada tillaabooyinka loo baahan yahay wareeg buuxa, iyo myStepper, kaas oo bilaabaya shayga tillaabada ah ee biinanka lagu qeexay.
const int stepsPerRevolution = 200; // beddel tan si ay ugu habboonaato tirada tillaabooyinka halkii wareeg
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); // bilaab maktabadda tillaabada ah
Qaybtani waxay bilaabaysaa matoorka tillaabada ah ee biinanka ku habboon. Hawsha setup(), waxaan dejinaynaa xawaaraha matoorka oo waxaan awood u siinaynaa darawalka adoo dejinaya biinanka 2 iyo 3 HIGH.
void setup() {
myStepper.setSpeed(300); // deji xawaaraha 60 rpm
pinMode(2,OUTPUT); // EN1
digitalWrite(2,HIGH); // awood sii EN1
pinMode(3,OUTPUT); // EN2
digitalWrite(3,HIGH); // awood sii EN2
}
Hawsha loop(), matoorku wuxuu tillaabo qaadaa hal wareeg labada jiho ee saacadda iyo ka soo horjeeda iyadoo dib u dhac u dhexeeya. Tani waxay kuu ogolaanaysaa inaad fiiriso hawlgalka matoorka.
void loop() {
myStepper.step(stepsPerRevolution); // tillaabo hal wareeg jiho mid ah
delay(500); // sug nus ilbiriqsi
myStepper.step(-stepsPerRevolution); // tillaabo hal wareeg jihada kale
delay(500); // sug nus ilbiriqsi
}
Qaybtani waxay muujinaysaa sida loo xakameeyo matoorka si uu ugu rogo labada jiho. Koodhka buuxa ayaa hoos ku shubanaya maqaalka si aad u tixraacdo.
Muujin / Waxa Lagu Filan Karaa
Marka wax walba si sax ah loo xiray oo koodhka la soo geliyay, waa inaad aragtaa mishiinka stepper-ka oo wareegaya hal wareeg oo buuxa dhanka mid, ka dibna hal wareeg oo buuxa dhanka ka soo horjeeda. Intaa waxaa dheer, haddii aad ku darto potentiometer-ka xakamaynta xawaaraha, hagaajintiisu waxay beddeli doontaa xawaaraha wareegga mishiinka. Ka digtoonow hadda mishiinka; markaad kordhiso xawaaraha, mishiinku wuxuu soo jiidi karaa hadda badan, taas oo u horseedi karta kulayl xad dhaaf ah haddii si habboon loo maareyn waayo (fiidiyowga 09:45).
Haddii mishiinku uusan u wareegin sida la filayo, hubi fiilada si aad u xaqiijiso in dhammaan xiriirada ay yihiin kuwo adag oo si sax ah loo jiheeyay. Sidoo kale, xaqiiji in danabka korontada uu ku habboon yahay mishiinkaaga stepper-ka.
Waqtiyada Fiidiyowga
- 00:00 - Hordhac
- 01:30 - Sharaxaadda Fiilada
- 05:00 - Dulmarka Koodhka
- 09:45 - Bandejiga Xakamaynta Mishiinka
/*
Stepper Motor Control - one revolution
This program drives a unipolar or bipolar stepper motor.
The motor is attached to digital pins 8 - 11 of the Arduino.
The motor should revolve one revolution in one direction, then
one revolution in the other direction.
Created 11 Mar. 2007
Modified 30 Nov. 2009
by Tom Igoe
Modified by Ahmad S. for Robojax.com
on May 19, 2018 at 19:31, in Ajax, Ontario, Canada
*/
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(300);
// initialize the serial port:
Serial.begin(9600);
// L298N for Robojax.com
pinMode(2,OUTPUT);// for EN1
digitalWrite(2,HIGH);// enable EN1
pinMode(3,OUTPUT);// for EN1
digitalWrite(3,HIGH); // enable EN2
}
void loop() {
// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// L298N for Robojax.com
// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
/*
Stepper Motor Control - one step at a time
This program drives a unipolar or bipolar stepper motor.
The motor is attached to digital pins 8 - 11 of the Arduino.
The motor will step one step at a time, very slowly. You can use this to
test that you've got the four wires of your stepper wired to the correct
pins. If wired correctly, all steps should be in the same direction.
Use this also to count the number of steps per revolution of your motor,
if you don't know it. Then plug that number into the oneRevolution
example to see if you got it right.
Created 30 Nov. 2009
by Tom Igoe
Modified by Ahmad S. for Robojax.com
on May 19, 2018 at 19:31, in Ajax, Ontario, Canada
*/
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
int stepCount = 0; // number of steps the motor has taken
void setup() {
// initialize the serial port:
Serial.begin(9600);
// L298N for Robojax.com
pinMode(2,OUTPUT);// for EN1
digitalWrite(2,HIGH);// enable EN1
pinMode(3,OUTPUT);// for EN1
digitalWrite(3,HIGH); // enable EN2
}
void loop() {
// step one step:
// L298N for Robojax.com
myStepper.step(-1);
Serial.print("steps:");
Serial.println(stepCount);
stepCount++;
delay(200);
}
Waad u baahan tahay
-
Amaazon
-
Amaazon
Kheyraadka & Tixraacyada
Wali wax kaydsan ah oo weli ma jiro.
Faylasha📁
Waraaqa xogta (pdf)
-
Datashet for L298N Dual H-bridge motor driver
robojax_L298N datasheet.pdf0.18 MB