آموزش راه اندازی درایور استپر موتور DRV8825 با آردینو
آموزش راه اندازی درایور استپر موتور DRV8825 با آردینو
بخش ۱: معرفی DRV8825 و استپر موتور
درایور DRV8825 یک درایور قدرتمند و پرکاربرد برای کنترل موتورهای استپر (Stepper Motor) است. این درایور قابلیت کنترل دقیق جریان و حرکت موتورهای استپر را با استفاده از سیگنالهای کنترلی راه اندازی میکند.
با استفاده از درایور DRV8825 و پلتفرم آردوینو، میتوانید موتورهای استپر خود را به صورت دقیق و قدرتمند کنترل کنید.
یک موتور استپر یک نوع موتور الکتریکی است که به طور دقیق میتواند یک گام (یک زاویه مشخص) را حرکت کند. این موتورها از دو یا چند فاز تشکیل شدهاند و با تغییر توالی سیگنالهای کنترلی به فازهای مختلف، میتوان آنها را به جلو و عقب حرکت داد.
موتورهای استپر به دلیل دقت بالا و قابلیت کنترل دقیق جهت، در بسیاری از برنامههای رباتیکی، CNC و اتوماسیون صنعتی استفاده میشوند.
همچنین شما همراهان گرامی می توانید جهت خرید ماژول درایور استپر موتور 2.5 آمپر DRV8825 از طریق این لینک اقدام بفرمایید.
بخش ۲: اتصال درایور DRV8825 به آردوینو
برای شروع، میتوانید درایور DRV8825 را به آردوینو خود متصل کنید. اتصالات مورد نیاز به شرح زیر است:
– پایه VCC درایور را به منبع تغذیه ۵ ولت آردوینو متصل کنید.پایه GND درایور را به پایه GND آردوینو متصل کنید.
– پایه STEP درایور را به پایه دیجیتال آردوینو (مثلاً پایه ۸) متصل کنید.
– پایه DIR درایور را به پایه دیجیتال آردوینو (مثلاً پایه ۹) متصل کنید.
– پایه ENABLE درایور را به منبع تغذیه ۵ ولت آردوینو متصل کنید (برای فعال کردن درایور، این پایه را به ۵ ولت متصل کنید).
– پایه MS1 درایور را به پایه دیجیتال آردوینو (مثلاً پایه ۱۰) متصل کنید (برای تنظیم میکرواستپ).
– پایه MS2 درایور را به پایه دیجیتال آردوینو (مثلاً پایه ۱۱) متصل کنید (برای تنظیم میکرواستپ).
– پایه MS3 درایور را به پایه دیجیتال آردوینو (مثلاً پایه ۱۲) متصل کنید (برای تنظیم میکرواستپ).
بخش ۳:راهاندازی درایور DRV8825 با آردوینو
حالا که اتصالات درایور DRV8825 به آردوینو را انجام دادید، میتوانید با استفاده از کد زیر موتور استپر را کنترل کنید:
“`cpp
// تنظیم پایههای مورد استفاده
const int stepPin = 8; // پایه STEP
const int dirPin = 9; // پایه DIR
// تنظیمات میکرواستپ (اختیاری)
const int ms1Pin = 10; // پایه MS1
const int ms2Pin = 11; // پایه MS2
const int ms3Pin = 12; // پایه MS3
// تعریف متغیرهای مورد استفاده
int stepDelay = 1000; // تاخیر بین هر قدم (میلیثانیه)
bool direction = true; // جهت حرکت (true: جلو، false: عقب)
void setup() {
// تنظیم پایهها به عنوان خروجی
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
// تنظیم پایههای میکرواستپ به عنوان خروجی (اختیاری)
pinMode(ms1Pin, OUTPUT);
pinMode(ms2Pin, OUTPUT);
pinMode(ms3Pin, OUTPUT);
// تنظیم میکرواستپ (اختیاری)
digitalWrite(ms1Pin, HIGH); // این پایه را برای فعالسازی میکرواستپ روی HIGH قرار دهید
digitalWrite(ms2Pin, HIGH); // این پایه را برای فعالسازی میکرواستپ روی HIGH قرار دهید
digitalWrite(ms3Pin, HIGH); // این پایه را برای فعالسازی میکرواستپ روی HIGH قرار دهید
}
void loop() {
// تغییر جهت حرکت در هر بار اجرا
direction = !direction;
// تنظیم جهت حرکت
digitalWrite(dirPin, direction);
// ارسال سیگنالهای قدم به موتور
digitalWrite(stepPin, HIGH);
delayMicroseconds(stepDelay);
digitalWrite(stepPin, LOW);
delayMicroseconds(stepDelay);
}
“`
این کد یک مثال ساده از کنترل موتور استپر با استفاده از درایور DRV8825 و آردوینو است. در این مثال، موتور به صورت مداوم جلو و عقب حرکت میکند. توجه داشته باشید که برای استفاده از میکرواستپها، نیاز به تنظیم پایههای MS1، MS2 و MS3 است. با تغییر مقدار stepDelay میتوانید سرعت حرکت موتور را تنظیم کنید.
پس از بارگذاری کد بر روی آردوینو، موتور شما باید شروع به حرکت کند. در صورتی که موتور به جهت نادرست حرکت میکند، میتوانید پایه DIR را عوض کنید یا مقدار direction را تغییر دهید.
با استفاده از این مثال، میتوانید کنترل دقیقتری برای موتور استپر خود ایجاد کنید.
اولین دیدگاه را ثبت کنید