Arduino کے ساتھ سروو موٹر کو کیسے کنٹرول کریں۔

Arduino K Sat Srww Mw R Kw Kys Kn Rwl Kry



سرو موٹرز ایک قسم کا برقی آلہ ہے جو کسی چیز کی پوزیشن کو بڑی درستگی کے ساتھ تبدیل یا گھما سکتا ہے۔ شروع میں ان کا استعمال RC ہوائی جہاز کے پروں کو کنٹرول کرنے کے لیے کیا گیا تھا کچھ ہی لمحوں بعد انہوں نے روبوٹکس، ہیومنائیڈ روبوٹس اور بہت سے آٹومیشن پروجیکٹس کی طرف اپنا راستہ بنایا۔ سٹیپر موٹرز کے برعکس ان کی حرکت 0o سے 180o کے درمیان محدود ہوتی ہے۔

عام طور پر، سروو موٹرز میں ہتھیار ہوتے ہیں جنہیں Arduino کے ذریعے کنٹرول کیا جا سکتا ہے۔ سرو موٹرز ایک کنٹرول سسٹم پر مشتمل ہوتے ہیں جو فراہم کرتا ہے۔ رائے موٹر شافٹ کی موجودہ پوزیشن کے بارے میں یہ رائے بڑی درستگی کے ساتھ حرکت کرنے کی اجازت دیتی ہے۔

سرو موٹر پن آؤٹ

عام طور پر، زیادہ تر سرو موٹرز میں تین پن ہوتے ہیں:







  • Vcc پن (عام طور پر سرخ 5V)
  • GND پن (عام طور پر سیاہ 0V)
  • ان پٹ سگنل پن (Arduino سے PWM سگنل وصول کریں)



سرو موٹر کا کام کرنا

ہم Vcc پن کو 5V اور GND پن کو 0V سے جوڑ کر سروو موٹر کو کنٹرول کر سکتے ہیں۔ پیلے رنگ کے ٹرمینل پر، ہم فراہم کرتے ہیں a پی ڈبلیو ایم سگنل جو سروو موٹر کے گھومنے والے زاویہ کو کنٹرول کرتا ہے۔ PWM سگنل کی چوڑائی ہمیں وہ زاویہ دیتی ہے جس پر موٹر اپنے بازو کو گھمائے گی۔



اگر ہم سروو موٹرز کی ڈیٹا شیٹ کو دیکھیں تو ہمیں مندرجہ ذیل پیرامیٹرز ملتے ہیں:





  • PWM سگنل کی مدت
  • PWM کے لیے کم از کم چوڑائی
  • PWM کے لیے زیادہ سے زیادہ چوڑائی

یہ تمام پیرامیٹرز Arduino سروو لائبریری میں پہلے سے طے شدہ ہیں۔

Arduino کے ساتھ سرو موٹرز

سروو موٹرز Arduino کے ساتھ کنٹرول کرنے میں انتہائی آسان ہیں، شکریہ سروو لائبریری جو ہمیں اپنے کوڈ کو ضرورت کے مطابق اپنی مرضی کے مطابق بنانے میں مدد کرتا ہے اور ہمیں اپنے مطلوبہ زاویے پر سرو آرم کو گھمانے کی اجازت دیتا ہے۔



مذکورہ بالا تینوں پیرامیٹرز سروو لائبریری میں طے شدہ ہیں۔ ان پیرامیٹرز کا استعمال کرتے ہوئے، ہم مندرجہ ذیل طریقے سے سروو موٹر کے زاویہ کو کنٹرول کر سکتے ہیں:

  • اگر PWM سگنل کی چوڑائی = WIDTH_MAX، سروو 180o پر گھومے گا
  • اگر PWM سگنل کی چوڑائی = WIDTH_MIIN، سروو 0o پر گھومے گا
  • اگر PWM سگنل کی چوڑائی درمیان میں ہے۔ WIDTH_MAX اور WIDTH_MIN ، سروو موٹر 0o اور 180o کے درمیان گھومے گی۔

ہم کچھ Arduino پنوں پر مطلوبہ PWM سگنل پیدا کر سکتے ہیں۔ PWM سگنل سروو موٹر کے ان پٹ سگنل پن پر دیا جائے گا۔ سروو کے باقی دو پنوں کو Arduino کے 5v اور GND سے جوڑ رہا ہے۔

Arduino کا استعمال کرتے ہوئے سروو موٹر کو کیسے کنٹرول کریں۔

یہاں میں وضاحت کروں گا کہ ہم Arduino کا استعمال کرتے ہوئے اپنی سروو موٹر کو کس طرح مربوط اور پروگرام کر سکتے ہیں۔ آپ سب کی ضرورت ہے:

  • Arduino UNO
  • USB B کیبل
  • سروو موٹر
  • جمپر تاریں۔

Arduino کے ساتھ سروو کو کیسے پروگرام کریں۔

ذیل میں کچھ آسان اقدامات ہیں:

مرحلہ نمبر 1: پہلے سے طے شدہ سروو لائبریری شامل کریں:

# شامل < سروو ایچ >

مرحلہ 2: سروو آبجیکٹ بنائیں:

سرو مائیسرو؛

ٹپ: اگر آپ ایک سے زیادہ سروو موٹرز کو کنٹرول کر رہے ہیں، تو آپ کو مزید سروو اشیاء بنانا ہوں گی:

سرو مائیسرو 1;
سرو مائیسرو 2؛

مرحلہ 3: Arduino Uno پر کنٹرول پن (9) سیٹ کریں جو PWM سگنل ان پٹ سگنل پورٹ پر بھیجتا ہے:

myservo.attach ( 9 ) ;

مرحلہ 4: سروو موٹر زاویہ کو مطلوبہ قدر میں گھمائیں مثال کے طور پر 90o:

myservo.write ( پوزیشن ) ;

آرڈوینو کوڈ

سروو موٹر مثال کے پروگرام سے کھولیں۔ فائل> مثال> سروو> سویپ ، ایک نئی ونڈو کھلے گی جو ہمیں ہمارا سروو اسکیچ دکھاتی ہے:

#include

سرو مائیسرو؛ // سروو آبجیکٹ بنایا گیا ہے۔ کے لیے سروو موٹر کو کنٹرول کرنا
int pos = 0 ; // سروو پوزیشن کو ذخیرہ کرنے کے لیے ایک نیا متغیر بنایا گیا ہے۔
باطل سیٹ اپ ( ) {
myservo.attach ( 9 ) ; // یہ مرضی سیٹ Arduino پن 9 کے لیے پی ڈبلیو ایم آؤٹ پٹ
}
باطل لوپ ( ) {
کے لیے ( pos = 0 ; pos = 0 ; pos -= 1 ) { // سے جاتا ہے 180 کو 0 ڈگریاں
myservo.write ( پوزیشن ) ; // سرو کو 'پوز' پوزیشن پر جانے کو کہیں۔
تاخیر ( 5 ) ; // انتظار کرتا ہے کے لیے 5 ms تاکہ سروو پوزیشن تک پہنچ سکے۔
}
}

پروگرام کے مرتب اور اپ لوڈ ہونے کے بعد، سروو موٹر سٹارٹنگ پوزیشن 0 ڈگری سے 180 ڈگری تک آہستہ آہستہ گھومنا شروع کر دے گی، جیسے قدموں کی طرح ایک وقت میں ایک ڈگری۔ جب موٹر 180 ڈگری گردش مکمل کر لیتی ہے، تو یہ اپنے نقطہ آغاز یعنی 0 ڈگری کی طرف مخالف سمت میں اپنی گردش شروع کر دے گی۔

اسکیمیٹکس

پوٹینشیومیٹر کا استعمال کرتے ہوئے سروو موٹر کو کیسے کنٹرول کریں۔

ہم ہاتھ سے سروو موٹر پوزیشن کو بھی کنٹرول کرسکتے ہیں۔ ایسا کرنے کے لیے ہمیں ایک کی ضرورت ہے۔ پوٹینشیومیٹر . پوٹینشیومیٹر کے تین پن ہوتے ہیں۔ دو بیرونی پنوں کو Arduino کے 5V Vcc اور GND سے اور درمیانی ایک کو Arduino بورڈ پر A0 پن سے جوڑیں۔

پوٹینشیومیٹر کے ساتھ سروو کو کیسے پروگرام کریں۔

potentiometer کے لیے زیادہ تر خاکہ پچھلی مثال کی طرح ہی ہے۔ فرق صرف ایک نیا متغیر ہے۔ val اور ذیلی پن کوڈ کے سیٹ اپ اور لوپ سیکشن سے پہلے بیان کیا جاتا ہے۔

int potpin = A0;
int val;

لوپ سیکشن میں اینالاگ پن A0 کو فنکشن کے ساتھ پوٹینشیومیٹر کی قدروں کو پڑھنے کے لیے استعمال کیا جاتا ہے۔ analogRead() . Arduino بورڈز 10-bit ADC (اینالاگ سے ڈیجیٹل کنورٹر) پر مشتمل ہوتے ہیں جو ہمیں 0 اور 1023 کے درمیان اقدار فراہم کرتے ہیں اس پر منحصر ہے کہ پوٹینشیومیٹر کیا ہے:

val = analogRead ( ذیلی پن ) ;

آخر میں، ہم نے استعمال کیا ہے نقشہ() سروو کے زاویہ کے مطابق نمبروں کو 0 سے 1023 تک ری میپ کرنے کا فنکشن جیسا کہ ہم جانتے ہیں کہ سروو موٹرز صرف 00 اور 1800 کے درمیان گھوم سکتی ہیں۔

val = نقشہ ( ویل، 0 , 1023 , 0 , 180 ) ;

آرڈوینو کوڈ

Arduino IDE میں اوپن نوب اسکیچ دستیاب ہے، پر جائیں۔ فائلیں> مثالیں> سروو> نوب . ایک نئی ونڈو کھلے گی جو ہمیں سروو کے لیے ہماری نوب اسکیچ دکھاتی ہے:

#include
سرو مائیسرو؛ // ایک سروو آبجیکٹ کا نام myservo بنانا
int potpin = A0; // ینالاگ پن کی وضاحت کے لیے پوٹینٹومیٹر
int val; // متغیر کونسا مرضی پڑھیں ینالاگ پن اقدار کے لیے پوٹینٹومیٹر

باطل سیٹ اپ ( ) {
myservo.attach ( 9 ) ; // وضاحت شدہ پن 9 کے لیے Arduino پر سروو کا PWM ان پٹ سگنل
}
باطل لوپ ( ) {
val = analogRead ( ذیلی پن ) ; // پوٹینشیومیٹر سے قدر پڑھتا ہے۔ ( کے درمیان قدر 0 اور 1023 )
val = نقشہ ( ویل، 0 , 1023 , 0 , 180 ) ; // سرو کے ساتھ استعمال کرنے کے لیے قدر کی پیمائش کریں۔ ( کے درمیان قدر 0 اور 180 )
myservo.write ( val ) ; // اسکیلڈ ویلیو کے ساتھ سروو پوزیشن سیٹ کرتا ہے۔
تاخیر ( پندرہ ) ; // انتظار کرتا ہے کے لیے پوزیشن پر حاصل کرنے کے لئے امدادی
}

مندرجہ بالا کوڈ پوٹینشیومیٹر کا استعمال کرتے ہوئے سروو موٹر شافٹ کو کنٹرول کرنے میں ہماری مدد کرے گا، شافٹ 0 اور 180 ڈگری کے درمیان گھومے گا۔ ہم اسے استعمال کرتے ہوئے سرو کی سمت کے ساتھ رفتار بھی برقرار رکھ سکتے ہیں۔

سرکٹ ڈایاگرام

میں Arduino کے ساتھ کتنی سروو موٹرز جوڑ سکتا ہوں؟

سروو موٹرز کی زیادہ سے زیادہ تعداد جو Arduino UNO ہینڈل کر سکتی ہے وہ 12 تک ہے اور سرو کے لیے Arduino لائبریری کے ساتھ، اور زیادہ سے زیادہ 48 سرووس میگا جیسے بورڈ کے ساتھ منسلک کیا جا سکتا ہے.

ٹپ: ہم Arduino کرنٹ کا استعمال کرتے ہوئے براہ راست سرووس چلا سکتے ہیں لیکن یاد رکھیں کہ کیا سرووس موٹرز اس سے زیادہ کھینچتی ہیں۔ 500mA پھر آپ کا Arduino بورڈ خود بخود دوبارہ ترتیب دے سکتا ہے اور طاقت کھو سکتا ہے۔ یہ سفارش کی جاتی ہے کہ ہمیشہ سروو موٹرز کے لیے ایک وقف شدہ پاور سپلائی استعمال کریں۔

نتیجہ

اس ٹیوٹوریل میں، ہم نے Arduino کے ساتھ سروو موٹرز کے کنٹرولنگ میکانزم کا احاطہ کیا ہے۔ ہم نے پوٹینومیٹر کا استعمال کرتے ہوئے سروو پوزیشن اور رفتار کو کنٹرول کرنے کی بنیادی باتوں کا احاطہ کیا۔ اب آپ کو سرو کے بارے میں اندازہ ہو گیا ہے اور آپ کے روبوٹکس کے امکانات، RC پروجیکٹس اور سروو کا استعمال کرتے ہوئے آٹومیشن لامتناہی ہیں۔