Play Video

17 – MOTOR CONTROLLING H BRIDGE L293D L298N

මෝටරයක භ්‍රමණ දිශාව වේගය පාලනය කීරීම පිලිබඳ මේ වීඩියෝවීදී කතා කරනවා. ඒ සඳහා H Bridge උපක්‍රමය භාවිතා කරන අතර ඒ මගින් Stepper Motor එකක් වුවද පාලනය කල හැකි වෙනවා. L293D L298N Motor Shied , Arduino හා සම්බන්ද කීරීම පිලිබඳවත් මෙහි සඳහන්.

H-Bridge එකේ ක්‍රියාකාරීත්වය

Motor Shield එකක් හදාගන හිතනවානම්

Task 1 - Using L293D H-Bridge

❒ Components

Circuit and Code

Arduino Code එක පහතින් ලබාගන්න.

/*
  by Dileepa Jayawardena
  ii.lk
*/

//M1
int enA = 10;
int in1 = 9;
int in2 = 8;
//M2
int enB = 5;
int in3 = 7;
int in4 = 6;



void setup() {
   Serial.begin(9600);
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);

}
/*
   mpower(motor number,rotation,speed);

  motor number
  1-1st motor
  2-2nd motor

  rotation
  1-Forword
  0-Stop
  -1- Backword

  speed
  0-255 PWM value

*/

void mpower(int motor, int rotation, int spd) {
  int pwm;
  int pA;
  int pB;
  if (motor == 1) {
    pwm = enA;
    pA = in1;
    pB = in2;
  } else if (motor == 2) {
    pwm = enB;
    pA = in3;
    pB = in4;
  } else {
    return;
  }

  if (rotation == 0) {
    digitalWrite(pA, LOW);
    digitalWrite(pB, LOW);
  } else if (rotation == 1) {
    digitalWrite(pA, HIGH);
    digitalWrite(pB, LOW);
  } else if (rotation == -1) {
    digitalWrite(pA, LOW);
    digitalWrite(pB, HIGH);
  }
  analogWrite(pwm, spd);

}

void loop() {
for(int i=0;i<255;i++){
    mpower(1, 1, i); 
  mpower(2, 1, i); 
  delay(10);
  }

for(int i=255;i>-1;i--){
    mpower(1, 1, i); 
  mpower(2, 1, i); 
  delay(10);
  }
for(int i=0;i<255;i++){
    mpower(1, -1, i); 
  mpower(2, -1, i); 
  delay(10);
  }

for(int i=255;i>-1;i--){
    mpower(1, -1, i); 
  mpower(2, -1, i); 
  delay(10);
  }


}

Task 2 - Using L298N H-Bridge

❒ Components

Circuit and Code

Arduino Code එක පහතින් ලබාගන්න.

/*
  by Dileepa Jayawardena
  ii.lk
*/

//M1
int enA = 10;
int in1 = 9;
int in2 = 8;
//M2
int enB = 5;
int in3 = 7;
int in4 = 6;



void setup() {
   Serial.begin(9600);
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);

}
/*
   mpower(motor number,rotation,speed);

  motor number
  1-1st motor
  2-2nd motor

  rotation
  1-Forword
  0-Stop
  -1- Backword

  speed
  0-255 PWM value

*/

void mpower(int motor, int rotation, int spd) {
  int pwm;
  int pA;
  int pB;
  if (motor == 1) {
    pwm = enA;
    pA = in1;
    pB = in2;
  } else if (motor == 2) {
    pwm = enB;
    pA = in3;
    pB = in4;
  } else {
    return;
  }

  if (rotation == 0) {
    digitalWrite(pA, LOW);
    digitalWrite(pB, LOW);
  } else if (rotation == 1) {
    digitalWrite(pA, HIGH);
    digitalWrite(pB, LOW);
  } else if (rotation == -1) {
    digitalWrite(pA, LOW);
    digitalWrite(pB, HIGH);
  }
  analogWrite(pwm, spd);

}

void loop() {
for(int i=0;i<255;i++){
    mpower(1, 1, i); 
  mpower(2, 1, i); 
  delay(10);
  }

for(int i=255;i>-1;i--){
    mpower(1, 1, i); 
  mpower(2, 1, i); 
  delay(10);
  }
for(int i=0;i<255;i++){
    mpower(1, -1, i); 
  mpower(2, -1, i); 
  delay(10);
  }

for(int i=255;i>-1;i--){
    mpower(1, -1, i); 
  mpower(2, -1, i); 
  delay(10);
  }


}

Task 3 - Stepper Motor Drive with L298N

/*
  by Dileepa Jayawardena
  ii.lk
*/

//defining connections to L298N
int input1 = 22;
int input2 = 23;
int input3 = 28;
int input4 = 29;
/*
EnA and EnB conect to 5V
*/

void setup()
{
  pinMode(input1,OUTPUT);
  pinMode(input2,OUTPUT);
  pinMode(input3,OUTPUT);
  pinMode(input4,OUTPUT);
}

void loop()
{
//1st step
digitalWrite(input1,HIGH);
digitalWrite(input2,LOW);
digitalWrite(input3,LOW);
digitalWrite(input4,HIGH);
delay(10);  //small delay between each step of 10ms

//2nd step
digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
digitalWrite(input3,LOW);
digitalWrite(input4,HIGH);
delay(10);

//3rd step
digitalWrite(input1,LOW);
digitalWrite(input2,HIGH);
digitalWrite(input3,HIGH);
digitalWrite(input4,LOW);
delay(10);

//4th step

digitalWrite(input1,HIGH);
digitalWrite(input2,LOW);
digitalWrite(input3,HIGH);
digitalWrite(input4,LOW);
delay(10);
}

01 – ARDUINO INTRODUCTION

Play Video 01 – Arduino Introduction මෙම වීඩියෝ මාලාව ලංකාවේ ලක්ශ සංක්්‍ාත පිරිසක් නරභා ඇති වීඩියෝ මාලාවකි. Arduino මූලික දැනීම සම්පූර්ණ කරගැනීමට එම වීඩියෝ මාලාවෙන් හැකි වේ. එසේම නව...

02 – Arduino Boards Review

Play Video 02 – Arduino Boards Review විවිද වර්ගයේ ආර්ඩුයිනෝ බෝඩ් වර්ග වෙලඳපොලේ දකින්නට ලැබෙනවා. අපගේ නිර්මාණ වලට ගැලපෙන සේ අපට අවැසි බෝඩ් තෝරෑ ගැනීමට හැකි වන සේ ඒවාගේ...

03 – Start Programming / Digital Write / Blink LED

Play Video 03 – Start Programming / Digital Write / Blink LED ආර්ඩුයිනෝ ප්‍රොග්‍රැමින්ග් හා පරිපථ නිර්මාණය සඳහා මූලික පියවර තැබීමට මේ වීඩියෝවෙන් බලාපොරොත්තු වෙනවා. ❒ Download Arduino IDE...

0
Would love your thoughts, please comment.x
()
x