- ابزارآلات و آهنربا
-
ابزارآلات
- ابزار اندازه گیری (مولتیمتر، کولیس و . . .)
- ابزار سوراخکاری (مته، سه نظام، چهار نظام، پنج نظام و . . .)
- ابزار و تجهیزات کار (پیچ گوشتی، انبردست، سیمچین، پنس و . . .)
- برد بورد، فیبر خام و سوراخدار (فیبر مدار چاپی و PCB)
- پیچ و اسپیسر (پیچ و مهره رباتیک و اسپیسر پلاستیکی و فلزی)
- سیم و کابل (سیم افشان، فلت، باندی، کابل شارژ، پرینتر، و . . .)
- لحیمکاری (هویه، نوک هویه، پایه هویه، سیم لحیم، روغن لحیم و . . . )
- منبع تغذیه، باتری و جاباتری (باتری قلمی، نیم قلمی، کتابی و . . . )
-
ابزارآلات
- برد هوشمند
- پرینتر سه بعدی
- رباتیک و پروازی
- ماژول
- قطعات الکترونیک
- کیت الکترونیکی و انواع جعبه
- موتور
- اصناف مختلف
آموزش کامل راه اندازی استپر موتور با درایور L293D و آردوینو
یکی از آسانترین و کمخرجترین روشهای کنترل استپر موتورها، استفاده از آیسی درایور L293D با آردوینو است زیرا این آیسی میتواند هم سرعت و هم مسیر چرخش هر نوع استپر موتور تکقطبی یا دو قطبی را کنترل کند. حال اگر میخواهید چگونگی انجام این کار را آموزش ببینید، مطلب راه اندازی استپر موتور با درایور L293D و آردوینو را تا آخر بخوانید.
فهرست مطالب
لوازم مورد نیاز برای پروژه راه اندازی استپر موتور با درایور L293D و آردوینو
راه اندازی استپر موتور با درایور L293D و آردوینو با H-Bridge
از آن جایی که آیسی L293D دو H-Bridge دارد، هر کدام از آنها یک عدد از سیمپیچهای الکترومغناطیسی استپر موتورها را درایو خواهند کرد.
با وارد کردن نیرو به سیمپیچهای مغناطیسی به صورت مدون، شفت استپر موتور میتواند به سمت جلو و عقب حرکت کند و جابهجا شود.
با این حال، سرعت موتور را میتوان با تغییر روش وارد کردن نیرو به این سیمپیچها تعیین کرد.
در ادامه تصویری از راه اندازی استپر موتور با درایور L293D و H-Bridge میبینید.
راه اندازی استپر موتور 28BYJ-48 با درایور L293D و آردوینو
در نخستین آزمایش، میخواهیم از استپر موتور تکقطبی 28BYJ-48 که با ولتاژ 5 ولت کار میکند، استفاده کنیم. این موتور قادرست تا در هر استپ، 48 بار حرکت کند.
قبل از اینکه موتور را به آیسی L293D وصل کنیم، باید سیمهای A+، A-، B+ و B- که میخواهیم روی موتور به کار ببریم را مشخص نماییم. بهترین روش برای انجام این کار، استفاده از دیتاشیت موتور است. روش دیگر نیز راهنمایی گرفتن از تصویر زیر میباشد.
نکته: در این آزمایش از اتصال میانی (رنگ قرمز استفاده نمیکنیم) زیرا این اتصال معمولاً زمانی به کار میرود که میخواهیم به سمت چپ یا راست سیمپیچ انرژی وارد کنیم و بدون استفاده از مدار، تأثیر معکوس شدن جریان را مشاهده نماییم.
سیمپیچی مدار پروژه راه اندازی استپر موتور با درایور L293D و آردوینو
سیمپیچ مدار این پروژه بسیار ساده است. شما میتوانید برای این مرحله، کار خود را با وصل کردن پین خروجی و 5 ولتی آردوینو به پینهای Vcc2 و Vcc1 موتور شروع کنید.
به علاوه، باید پینهای ENA و ENB را به پین خروجی 5 ولت وصل کنید تا موتور همیشه فعال باشد.
حالا سراغ وصل کردن پینهای ورودی IN1، IN2، IN3 و IN4 آیسی L293D به پینهای دیجیتالی 12، 11، 10 و 9 آردوینو میرویم.
در نهایت سیمهای A+ (نارنجی)، A- (صورتی) و B+ (آبی) استپر موتور را مطابق تصویر زیر به پینهای خروجی آردوینو یعنی Out4، Out3، Out2 و Out1 میزنیم.
راه اندازی استپر موتور NEMA 17 با درایور L293D و آردوینو
در دیگر آزمایش پروژه راه اندازی استپر موتور با درایور L293D و آردوینو، از NEMA 17 دو قطبی که با ولتاژ 12 ولت کار میکند، استفاده میکنیم. این استپر موتور در هر مرحله، 200 استپ خواهد داشت و تعداد دورهای آن در هر دقیقه نیز به 60 عدد میرسد.
قبل از اینکه موتور را به آیسی L293D وصل کنیم، باید سیمهای A+، A-، B+ و B- که میخواهیم روی موتور به کار ببریم را مشخص نماییم. بهترین روش برای انجام این کار، استفاده از دیتاشیت موتور است. روش دیگر نیز راهنمایی گرفتن از تصویر زیر میباشد.
سیمپیچی مدار پروژه راه اندازی استپر موتور با درایور L293D و آردوینو
اتصالات بسیار سادهاند. شما میتوانید کار خود را با وصل کردن پینهای ENA و ENB به پین خروجی 5 ولت آغاز کنید تا موتور همیشه فعال باقی بماند.
اینک پینهای ورودی IN1، IN2، IN3 و IN4 آیسی را به پینهای دیجیتالی آردوینو یعنی 12، 11، 10 و 9 وصل کنید.
در نهایت سیمهای A+ (قرمز)، A- (سبز)، B+ (آبی) و B- (زرد) استپر موتور را مطابق تصویر زیر به پینهای خروجی موتور یعنی Out4، Out3، Out2 و Out1 بزنید.
کدنویسی پروژه راه اندازی استپر موتور با درایور L293D و آردوینو
کدهایی که در ادامه میبینید، به طور تمام و کمال نشان خواهند داد که چگونه میتوانیم یک موتور تکقطبی یا دو قطبی را با آیسی L293D کنترل کنیم. این کدها برای هر دو نوع موتورها یکسان هستند بجز پارامتر stepsPerRevolution.
پارامتر نامبرده را پیش از آپلود کدها، با توجه به مشخصات فنی موتور تغییر دهید. برای مثال، برای موتور NEMA 17، این پارامتر را روی 200 و برای موتور 28BYJ-48 روی 48 بگذارید.
// Include the Arduino Stepper Library
#include
// Number of steps per output rotation
const int stepsPerRevolution = 200;
// Create Instance of Stepper library
Stepper myStepper(stepsPerRevolution, 12, 11, 10, 9);
void setup()
{
// set the speed at 20 rpm:
myStepper.setSpeed(20);
// initialize the serial port:
Serial.begin(9600);
}
void loop()
{
// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
توضیحات کدهای پروژه راه اندازی استپر موتور با درایور L293D و آردوینو
در ابتدای کدها، کتابخانه Stepper آردوینو وجود دارد. این کتابخانه همزمان با نرمافزار Arduino IDE در دسترس قرار خواهد داشت و مسئول نوبتدهی به پالسهایی میباشد که به موتورها ارسال خواهیم کرد.
// Include the Arduino Stepper Library
#include
پس از وارد کردن کتابخانه، متغیری به نام stepsPerRevolution تعریف میکنیم. همانطور که از اسم این متغیر پیداست، نشاندهنده تعداد استپهای موتور در هر مرحله میباشد. پارامتر نامبرده را پیش از آپلود کدها، با توجه به مشخصات فنی موتور تغییر دهید. برای مثال، برای موتور NEMA 17، این پارامتر را روی 200 و برای موتور 28BYJ-48 روی 48 بگذارید.
// Number of steps per output rotation
const int stepsPerRevolution = 200;
در مرحله بعد، یک مثال برای کتابخانه استپر میسازیم. این کتابخانه استپهای موتورها و اتصالات پینهای آردوینو را برای هر مرحله مشخص میکند.
// Create Instance of Stepper library
Stepper myStepper(stepsPerRevolution, 12, 11, 10, 9);
در مرحله Setup، با اضافه کردن تابع setSpeed()، سرعت موتور را مشخص و ارتباط با پورت سریال را آغاز میکنیم.
void setup()
{
// set the speed at 20 rpm:
myStepper.setSpeed(20);
// initialize the serial port:
Serial.begin(9600);
}
در قسمت Loop، تابع step() را میافزاییم تا به وسیله آن تعداد استپهای مشخص شده را با سرعت تعیین شده توسط تابع setSpeed() اجرا کنیم. قرار دادن عدد منفی در این بخش، مسیر چرخش موتور را برعکس خواهد کرد.
void loop()
{
// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
سلام خواستم بدونم در این مدار نیاز به منبع تغذیه نیست؟