in

how to control dc motors with Arduino + l298n

இந்த அத்தியாயத்தில், நாங்கள் பல்வேறு வகையான மோட்டார்கள் ஆர்டுயினோ போர்டு (UNO) உடன் இடைமுகப்படுத்துவோம், மேலும் மோட்டாரை எவ்வாறு இணைப்பது மற்றும் உங்கள் போர்டிலிருந்து அதை இயக்குவது எப்படி என்பதைக் காண்பிப்போம்.

மூன்று வெவ்வேறு வகையான மோட்டார்கள் உள்ளன –

  • DC motor
  • Servo motor
  • Stepper motor – படிநிலை motor

ஒரு DC மோட்டார் (நேரடி நடப்பு மோட்டார்- Direct Current motor) என்பது மிகவும் பொதுவான வகை மோட்டார் ஆகும். டிசி மோட்டார்கள் பொதுவாக இரண்டு தடங்கள் மட்டுமே உள்ளன, ஒன்று நேர்மறை மற்றும் ஒரு எதிர்மறை. இந்த இரண்டு தடங்களையும் நீங்கள் நேரடியாக பேட்டரியுடன் இணைத்தால், மோட்டார் சுழலும். நீங்கள் தடங்களை மாற்றினால், மோட்டார் எதிர் திசையில் சுழலும்.


எச்சரிக்கை – Arduino போர்டு ஊசிகளிலிருந்து நேரடியாக மோட்டாரை ஓட்ட வேண்டாம். இது பலகையை சேதப்படுத்தும். இயக்கி சர்க்யூட் (driver Circuit) அல்லது  IC.

இந்த அத்தியாயத்தை மூன்று பகுதிகளாகப் பிரிப்போம் −

  • உங்கள் மோட்டார் ஸ்பின் செய்யுங்கள் – Just make your motor spin
  • மோட்டார் வேகத்தை கட்டுப்படுத்தவும் – Control motor speed
  • DC மோட்டரின் சுழற்சியின் திசையைக் கட்டுப்படுத்தவும் – Control the direction of the spin of DC motor.

Components Required – கூறுகள் தேவை

உங்களுக்கு பின்வரும் கூறுகள் தேவைப்படும்

  • 1x Arduino UNO board
  • 1x PN2222 Transistor
  • 1x Small 6V DC Motor
  • 1x 1N4001 diode
  • 1x 270 Ω Resistor

செயல்முறை -Procedure

சுற்று வரைபடத்தைப் பின்பற்றி, கீழே கொடுக்கப்பட்டுள்ள படத்தில் காட்டப்பட்டுள்ளபடி இணைப்புகளை உருவாக்கவும்.

Precautions – தற்காப்பு நடவடிக்கைகள்

இணைப்புகளைச் செய்யும்போது பின்வரும் முன்னெச்சரிக்கை நடவடிக்கைகளை மேற்கொள்ளுங்கள்.

  • முதலில், டிரான்சிஸ்டர் சரியான வழியில் இணைக்கப்பட்டுள்ளதா என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள். டிரான்சிஸ்டரின் தட்டையான பக்கமானது ஏற்பாட்டில் காட்டப்பட்டுள்ளபடி அர்டுயினோ போர்டை எதிர்கொள்ள வேண்டும்.
  • இரண்டாவதாக, டையோட்டின் கோடிட்ட முடிவு படத்தில் காட்டப்பட்டுள்ள ஏற்பாட்டின் படி + 5 வி மின் கோட்டை நோக்கி இருக்க வேண்டும்.

Spin ControlArduino Code

int motorPin = 3;

void setup() {

}

void loop() {
   digitalWrite(motorPin, HIGH);
}

கவனிக்க வேண்டிய குறியீடு

 transistor  ஒரு சுவிட்ச் போல செயல்படுகிறது, மோட்டருக்கு சக்தியைக் கட்டுப்படுத்துகிறது. டிரான்சிஸ்டரை ஆன் மற்றும் ஆஃப் செய்ய அர்டுயினோ முள் 3 பயன்படுத்தப்படுகிறது மற்றும் sketchல் ‘motorPin’ என்ற பெயர் வழங்கப்படுகிறது.

Result

Arduino முள் எண் 3 உயரும்போது மோட்டார் முழு வேகத்தில் சுழலும்.

Motor Speed Control

 Arduino போர்டுடன் இணைக்கப்பட்ட டி.சி மோட்டரின் திட்ட வரைபடம் பின்வருமாறு.

Arduino Code

int motorPin = 9;

void setup() {
   pinMode(motorPin, OUTPUT);
   Serial.begin(9600);
   while (! Serial);
   Serial.println("Speed 0 to 255");
}

void loop() {
   if (Serial.available()) {
      int speed = Serial.parseInt();
      if (speed >= 0 && speed <= 255) {
         analogWrite(motorPin, speed);
      }
   }
}

கவனிக்க வேண்டிய குறியீடு

டிரான்சிஸ்டர் ஒரு சுவிட்ச் போல செயல்படுகிறது, இது மோட்டரின் சக்தியைக் கட்டுப்படுத்துகிறது. டிரான்சிஸ்டரை ஆன் மற்றும் ஆஃப் செய்ய அர்டுயினோ முள் 3 பயன்படுத்தப்படுகிறது மற்றும் ஸ்கெட்சில் ‘மோட்டர்பின்’ என்ற பெயர் வழங்கப்படுகிறது.

நிரல் தொடங்கும் போது, ​​மோட்டரின் வேகத்தைக் கட்டுப்படுத்த மதிப்புகளைக் கொடுக்க இது உங்களைத் தூண்டுகிறது. சீரியல் மானிட்டரில் 0 மற்றும் 255 க்கு இடையில் ஒரு மதிப்பை உள்ளிட வேண்டும்.


‘loop’ செயல்பாட்டில் ( function) ,’Serial.parseInt’ கட்டளை சீரியல் மானிட்டரில் உரையாக உள்ளிடப்பட்ட எண்ணைப் படித்து அதை’int’ ஆக மாற்ற பயன்படுகிறது. நீங்கள் எந்த எண்ணையும் இங்கே தட்டச்சு செய்யலாம். அடுத்த வரியில் உள்ள ‘if’ அறிக்கை இந்த எண்ணுடன் 0 மற்றும் 255 க்கு இடையில் இருந்தால், இந்த எண்ணுடன் ஒரு அனலாக் எழுதுகிறது.

Result

சீரியல் போர்ட் (serial port) வழியாக பெறப்பட்ட மதிப்புக்கு (0 முதல் 250 வரை) DC  மோட்டார் வெவ்வேறு வேகத்தில் சுழலும்.

Spin Direction Control


DC மோட்டரின் சுழற்சியின் திசையைக் கட்டுப்படுத்த, தடங்களை பரிமாறிக்கொள்ளாமல், நீங்கள் H-Bridge எனப்படும் ஒரு சுற்று பயன்படுத்தலாம். H-Bridge என்பது மின்னணு சுற்று ஆகும், இது இரு திசைகளிலும் மோட்டாரை இயக்க முடியும். எச்-பாலங்கள் பல்வேறு பயன்பாடுகளில் பயன்படுத்தப்படுகின்றன. ரோபோக்களில் மோட்டார்கள் கட்டுப்படுத்துவது மிகவும் பொதுவான பயன்பாடுகளில் ஒன்றாகும். இது ஒரு எச்-பிரிட்ஜ் என்று அழைக்கப்படுகிறது, ஏனெனில் இது நான்கு டிரான்சிஸ்டர்களை இணைக்கப்பட்டுள்ளது, இது திட்ட வரைபடம் “H.”

நாங்கள் இங்கே எல் 298 எச்-பிரிட்ஜ் ஐசியைப் பயன்படுத்துவோம். எல் 298 DC மோட்டார்கள் மற்றும் ஸ்டெப்பர் மோட்டார்கள் வேகத்தையும் திசையையும் கட்டுப்படுத்த முடியும், மேலும் ஒரே நேரத்தில் இரண்டு மோட்டார்கள் கட்டுப்படுத்த முடியும். அதன் தற்போதைய மதிப்பீடு ஒவ்வொரு மோட்டருக்கும் 2A ஆகும். இந்த நீரோட்டங்களில், நீங்கள் வெப்ப மூழ்கிகளைப் பயன்படுத்த வேண்டும்.

Components Required – கூறுகள் தேவை

உங்களுக்கு பின்வரும் கூறுகள் தேவைப்படும் –

  • 1 × L298 bridge IC
  • 1 × DC motor
  • 1 × Arduino UNO
  • 1 × breadboard
  • 10 × jumper wires

Procedure – செயல்முறை

Arduino Uno போர்டுக்கான DC மோட்டார் இடைமுகத்தின் திட்ட வரைபடம் பின்வருமாறு.


இரண்டு மோட்டார்கள் கட்டுப்படுத்த L298 IC ஐ எவ்வாறு இணைப்பது என்பதை மேலே உள்ள வரைபடம் காட்டுகிறது. ஒவ்வொரு மோட்டருக்கும் மூன்று உள்ளீட்டு ஊசிகளும் உள்ளன, மோட்டார் 1 மற்றும் உள்ளீட்டு 3 க்கான உள்ளீடு 1 (IN1), உள்ளீடு 2 (IN2), மற்றும் இயக்கு 1 (IN 1) மற்றும் மோட்டார் 2 க்கான உள்ளீடு 3, மற்றும் இயக்கு 2.

இந்த எடுத்துக்காட்டில் ஒரே ஒரு மோட்டாரை மட்டுமே நாங்கள் கட்டுப்படுத்துவதால், எல் 298 ஐசியின் அர்டுயினோவை ஐஎன் 1 (முள் 5), IN2 (முள் 7) மற்றும் இயக்கு 1 (முள் 6) உடன் இணைப்போம். Pins 5 மற்றும் 7 டிஜிட்டல், அதாவது ON அல்லது OFFஉள்ளீடுகள், அதே நேரத்தில் முள் 6 க்கு மோட்டார் வேகத்தைக் கட்டுப்படுத்த துடிப்பு அகல பண்பேற்றப்பட்ட (PWM) சமிக்ஞை தேவை.

IN1 மற்றும் IN2 இன் டிஜிட்டல் மதிப்புகளின் அடிப்படையில் மோட்டார் எந்த திசையில் திரும்பும் என்பதை பின்வரும் அட்டவணை காட்டுகிறது.


IC L298 இன் பின் IN1 ஆர்டுயினோவின் முள் 8 உடன் இணைக்கப்பட்டுள்ளது, IN2 பின் 9 உடன் இணைக்கப்பட்டுள்ளது. அர்டுயினோவின் இந்த இரண்டு டிஜிட்டல் ஊசிகளும் மோட்டரின் திசையை கட்டுப்படுத்துகின்றன. IC யின் ஒரு முள் அர்டுயினோவின் பிடபிள்யூஎம் முள் 2 உடன் இணைக்கப்பட்டுள்ளது. இது மோட்டரின் வேகத்தைக் கட்டுப்படுத்தும்.

Arduino பின்ஸ் 8 மற்றும் 9 இன் மதிப்புகளை அமைக்க, நாங்கள் டிஜிட்டல்ரைட் () செயல்பாட்டைப் பயன்படுத்தினோம், மேலும் முள் 2 இன் மதிப்பை அமைக்க, நாம் அனலாக்ரைட் () செயல்பாட்டைப் பயன்படுத்த வேண்டும்.

Connection Steps – இணைப்பு படிகள்

  • 5 வி மற்றும் ஐசியின் தரை 5 வி மற்றும் அர்டுயினோவின் தரையை முறையே இணைக்கவும்.
  • ஐசியின் பின்ஸ் 2 மற்றும் 3 உடன் மோட்டாரை இணைக்கவும்.
  • அர்டுயினோவின் பின் 8 ஐ ஐசியின் ஐஎன் 1 ஐ இணைக்கவும்.
  • Arduino இன் 9 ஐ இணைக்க ஐசியின் IN2 ஐ இணைக்கவும்.
  • Arduino இன் முள் 2 உடன் IC இன் EN1 ஐ இணைக்கவும்.
  • SENS ஐசியின் ஒரு முள் தரையில் இணைக்கவும்.
  • Arduino USB கேபிளைப் பயன்படுத்தி Arduino ஐ இணைத்து, Arduino IDE மென்பொருளைப் பயன்படுத்தி நிரலை Arduino இல் பதிவேற்றவும்.
  • மின்சாரம், பேட்டரி அல்லது யூ.எஸ்.பி கேபிள் பயன்படுத்தி ஆர்டுயினோ போர்டுக்கு மின்சாரம் வழங்கவும்.

Arduino Code

const int pwm = 2 ; //initializing pin 2 as pwm
const int in_1 = 8 ;
const int in_2 = 9 ;
//For providing logic to L298 IC to choose the direction of the DC motor

void setup() {
   pinMode(pwm,OUTPUT) ; //we have to set PWM pin as output
   pinMode(in_1,OUTPUT) ; //Logic pins are also set as output
   pinMode(in_2,OUTPUT) ;
}

void loop() {
   //For Clock wise motion , in_1 = High , in_2 = Low
   digitalWrite(in_1,HIGH) ;
   digitalWrite(in_2,LOW) ;
   analogWrite(pwm,255) ;
   /* setting pwm of the motor to 255 we can change the speed of rotation
   by changing pwm input but we are only using arduino so we are using highest
   value to driver the motor */
   //Clockwise for 3 secs
   delay(3000) ;
   //For brake
   digitalWrite(in_1,HIGH) ;
   digitalWrite(in_2,HIGH) ;
   delay(1000) ;
   //For Anti Clock-wise motion - IN_1 = LOW , IN_2 = HIGH
   digitalWrite(in_1,LOW) ;
   digitalWrite(in_2,HIGH) ;
   delay(3000) ;
   //For brake
   digitalWrite(in_1,HIGH) ;
   digitalWrite(in_2,HIGH) ;
   delay(1000) ;
}

Result

மோட்டார் முதலில் கடிகார திசையில் (CW) திசையில் 3 வினாடிகள் இயங்கும், பின்னர் எதிர்-கடிகார திசையில் (CCW) 3 விநாடிகள் இயங்கும்.

Written by Admin

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

GIPHY App Key not set. Please check settings

how to use a relay with Arduino

how to control dc motors with Arduino + l298n