Search Code

Isticmaalka L298N Motor Driver si loo xakameeyo Motor Stepper ah oo 4-wire ah

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.

L298N motor driver (yellow connector)

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 saarahaSTMicroelectronics
Nambarka qaybtaL298N
Danabka logic/IO5 V
Danabka sahayda5–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 PWM1 kHz ilaa 20 kHz
Heerarka logic-ga ee gelinta0.8 V (hoose), 2.0 V (sare)
Hoos u dhaca danabka / RDS(on) / dhergasho1.5 V ugu badnaan
Xadka kulaylka150 °C ugu badnaan
BaakadDIP-15
Qoraalo / noocyo kaleSidoo kale waxaa laga heli karaa noocyo fidsan (L298P)

  • Hubi in ENA iyo ENB ay 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

L298N motor driver (yellow connector)
L298N motor driver (yellow connector)

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

Sawirro

L298N motor driver (yellow connector)
L298N motor driver (yellow connector)
L298N motor driver (yellow connector)
L298N motor driver (yellow connector)
L298N motor driver (yellow connector)
L298N motor driver (yellow connector)
Nema17_stpper_motor-1
Nema17_stpper_motor-1
Nema17_stpper_motor-2
Nema17_stpper_motor-2
94-Code for One Revolution
Luqadda: C++
/*
 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);
}
95-Code for rotating a stepper motor one step at a time
Luqadda: C++
/*
 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);
}

Kheyraadka & Tixraacyada

Wali wax kaydsan ah oo weli ma jiro.

Faylasha📁

Waraaqa xogta (pdf)