- مطلوبہ مواد:
- چھپی ہوئی رفتار اور دوری کا حساب لگانا:
- سرکٹ ڈایاگرام اور ہارڈ ویئر سیٹ اپ:
- نقلی:
- اپنے PIC16F877A پروگرامنگ:
- ورکنگ وضاحت:
کسی گاڑی یا موٹر کی رفتار / آر پی ایم کی پیمائش کرنا ہمارے لئے ہمیشہ ایک پرجوش منصوبہ رہا ہے۔ لہذا ، اس پروجیکٹ میں ہم صنعتی تیار پی آئی سی مائکروکنٹرولرز کا استعمال کرکے ایک تعمیر کرنے جارہے ہیں۔ ہم رفتار کو ماپنے کے لئے مقناطیس کا ایک ٹکڑا اور ہال سینسر استعمال کریں گے۔ اس رفتار کی پیمائش کرنے کے لئے دوسرے طریقے / سینسر موجود ہیں لیکن ، ہال سینسر کا استعمال سستا ہے اور کسی بھی قسم کی موٹر / گاڑی پر بھی استعمال کیا جاسکتا ہے۔ اس پروجیکٹ کو کرنے سے ہم PIC16F877A سیکھنے میں اپنی صلاحیتوں میں بھی اضافہ کریں گے کیونکہ اس منصوبے میں مداخلت اور ٹائمر کا استعمال شامل ہے۔ اس پروجیکٹ کے اختتام پر ، آپ کسی بھی گھومنے والی شے سے ڈھکی ہوئی رفتار اور فاصلوں کا حساب لگانے کے قابل ہوں گے اور انہیں 16x2 LCD اسکرین پر ڈسپلے کرسکیں گے۔ آئیے اس ڈیجیٹل اسپیڈومیٹر اور پی او سی کے ساتھ اوڈومیٹر سرکٹ کے ساتھ شروع کرتے ہیں ۔
مطلوبہ مواد:
- PIC16F877A
- 7805 وولٹیج ریگولیٹر
- ہال اثر سینسر (US1881 / 04E)
- 16 * 2 LCD ڈسپلے
- مقناطیس کا ایک چھوٹا ٹکڑا
- مربوط تاروں
- کیپسیٹرز
- بریڈ بورڈ
- بجلی کی فراہمی
چھپی ہوئی رفتار اور دوری کا حساب لگانا:
سرکٹ کی تعمیر شروع کرنے سے پہلے ، آئیے ہم یہ سمجھ لیں کہ ہم پہیے کی رفتار کا حساب لگانے کے لئے ہال سینسر اور مقناطیس کا استعمال کس طرح کریں گے۔ اس سے قبل ، ہم نے ارڈینو سپیڈومیٹر بنانے کے لئے ایک ہی تکنیک کا استعمال کیا ہے جو اینڈرائڈ سمارٹ فون پر ریڈنگ کو ظاہر کرتا ہے۔
ہال سینسر ایک ایسا آلہ ہے جو اس کی قطبیت کی بنیاد پر مقناطیس کی موجودگی کا پتہ لگاسکتا ہے۔ ہم پہیے پر مقناطیس کا ایک چھوٹا ٹکڑا لپکتے ہیں اور ہال کے سینسر کو اس کے قریب رکھتے ہیں کہ جب بھی پہیے ہال میں گھومتا ہے اس کا پتہ لگاتا ہے۔ اس کے بعد ہم پہیے کی ایک مکمل گردش کے ل taken وقت کا حساب کتاب کرنے کے لئے اپنے PIC مائکروکونٹرولر پر ٹائمر اور مداخلت کی مدد کا استعمال کرتے ہیں۔

ایک بار جب معلوم ہوا وقت معلوم ہوجائے تو ہم ذیل کے فارمولوں کا استعمال کرکے آر پی ایم کا حساب لگاسکتے ہیں ، جہاں 1000 / وقت لیا گیا وہ ہمیں آر پی ایس دے گا اور اس کو 60 کے ساتھ مزید ضرب دینے سے آپ کو آر پی ایم مل جائے گا۔
rpm = (1000 / ٹائم ٹیکن) * 60؛
جہاں (1000 / ٹائم ٹیکن) آر پی ایس دیتا ہے (انقلابات فی سیکنڈ) اور اس کو 60 سے ضرب کرکے آر پی ایس میں تبدیل کیا جاتا ہے (انقلابات فی منٹ)۔
اب گاڑی کی رفتار کا حساب لگانے کے لئے ہمیں پہیے کی رداس کا پتہ کرنا ہوگا۔ ہمارے پروجیکٹ میں ہم نے ایک چھوٹا سا کھلونا پہیا استعمال کیا ہے جس کی رداس محض 3 سینٹی میٹر ہے۔ لیکن ، ہم نے فرض کیا کہ پہیے کا رداس 30 سینٹی میٹر (0.3 میٹر) ہونا ہے تاکہ ہم پڑھائی کو تصور کرسکیں۔
قیمت بھی 0.37699 کے ساتھ ضرب دی گئی ہے کیونکہ ہم جانتے ہیں کہ رفتار = (RPM (قطر * پائی) / 60)۔ فارمولوں کو ذیل میں آسان بنایا گیا ہے
v = رداس_کی_وہیل * rpm * 0.37699؛
ایک بار جب ہم رفتار کا حساب لگائیں تو ہم بھی اسی طرح کا طریقہ استعمال کرکے فاصلہ طے کرسکتے ہیں۔ ہمارے ہال اور مقناطیسی انتظامات سے ہم جانتے ہیں کہ پہی howی کتنی بار گھوم چکی ہے۔ ہم پہیے کی رداس کو بھی جانتے ہیں ، جس کا استعمال کرتے ہوئے ہم پہیے کا طواف پاسکتے ہیں ، یہ فرض کرتے ہوئے پہیے کے رداس کو 0.3m (R) سمجھتے ہیں کہ فریم پی ای آر * R کی قیمت 0.2827 ہوگی۔ اس کا مطلب یہ ہے کہ ہر بار ہال کا سینسر مقناطیس سے ملتا ہے ، اس پہیے سے 0.2827 میٹر کی دوری ہوتی ہے۔
فاصلہ_پھرا ہوا = فاصلہ_پھرا ہوا + طاری_کی_ دائرہ
چونکہ ، اب ہم جانتے ہیں کہ یہ پروجیکٹ کس طرح کام کرے گا ہمارے سرکٹ آریگرام کو آگے بڑھنے اور اس کی تعمیر شروع کرنے دیتا ہے۔
سرکٹ ڈایاگرام اور ہارڈ ویئر سیٹ اپ:

اس اسپیڈومیٹر اور اوڈومیٹر پروجیکٹ کا سرکٹ ڈایاگرام بہت آسان ہے اور اسے بریڈ بورڈ پر بنایا جاسکتا ہے۔ اگر آپ پی آئی سی ٹیوٹوریلز کی پیروی کر رہے ہیں تو آپ ہارڈ ویئر کو بھی دوبارہ استعمال کرسکتے ہیں جو ہم نے پی آئی سی مائکروکنٹرولر سیکھنے کیلئے استعمال کیے تھے۔ یہاں ہم نے وہی پرف بورڈ استعمال کیا ہے جو ہم نے پی آئی سی مائکروکونٹرولر کے ساتھ ایل ای ڈی پلک جھپکنے کے لئے بنایا ہے ، جیسا کہ ذیل میں دکھایا گیا ہے:

PIC16F877A MCU کے لئے کن کنکشن نیچے دیئے گئے جدول میں دیئے گئے ہیں۔
|
سیریل نمبر: |
پن نمبر |
پن کا نام |
سے جڑا ہوا |
|
1 |
21 |
آر ڈی 2 |
LCD کا RS |
|
2 |
22 |
آر ڈی 3 |
LCD کا ای |
|
3 |
27 |
آر ڈی 4 |
LCD کا D4 |
|
4 |
28 |
آر ڈی 5 |
LCD کا D5 |
|
5 |
29 |
آر ڈی 6 |
LCD کا D6 |
|
6 |
30 |
آرڈی 7 |
LCD کا D7 |
|
7 |
33 |
RB0 / INT |
ہال سینسر کا 3 آر ڈی پن |
ایک بار جب آپ اپنا پروجیکٹ بناتے ہیں تو نیچے کی تصویر میں کچھ اس طرح نظر آنا چاہئے

جیسا کہ آپ دیکھ سکتے ہیں کہ میں نے موٹر اور ہال سینسر کو قریبی پوزیشن میں رکھنے کے لئے دو خانوں کا استعمال کیا ہے۔ آپ اپنی گھومنے والی چیز پر مقناطیس کو ٹھیک کرسکتے ہیں اور اس کے قریب ہال سینسر کو اس طرح برقرار رکھ سکتے ہیں کہ اس سے مقناطیس کا پتہ لگ سکے۔
نوٹ: ہال سینسر میں پولریاں ہیں ، لہذا یہ یقینی بنائیں کہ یہ کون سا قطب کھوج رہا ہے اور اس کے مطابق رکھ دیں۔
یہ بھی یقینی بنائیں کہ آپ ہال سینسر کے آؤٹ پٹ پن کے ساتھ پل اپ اپ ریزٹر استعمال کرتے ہیں۔
نقلی:
اس پروجیکٹ کے لئے نقلی پروٹیوس کا استعمال کرکے کیا جاتا ہے۔ چونکہ پروجیکٹ میں حرکت پذیر اشیاء شامل ہیں ، نقالی کا استعمال کرتے ہوئے مکمل پروجیکٹ کا مظاہرہ ممکن نہیں لیکن LCD کے کام کی تصدیق کی جاسکتی ہے۔ ہیکس فائل کو صرف انکار پر لوڈ کریں اور اس کی نقالی کریں۔ آپ ذیل میں دکھایا گیا LCD کام کرنے کا نوٹس لیں گے۔

اسپیڈومیٹر اور اوڈومیٹر کام کررہے ہیں اس کی جانچ کے لئے میں نے ہال سینسر کو لاجک اسٹیٹ ڈیوائس سے تبدیل کردیا ہے۔ تخروپن کے دوران آپ انٹراپٹ کو متحرک کرنے کے لئے منطق ریاست کے بٹن پر کلک کر سکتے ہیں اور یہ جانچ سکتے ہیں کہ آیا اوپر کی طرح دکھائی دینے والی رفتار اور فاصلے کی تازہ کاری ہو رہی ہے۔
اپنے PIC16F877A پروگرامنگ:
جیسا کہ پہلے کہا گیا ہے کہ ہم پہیے کی ایک مکمل گردش کے لont وقت کا حساب کرنے کے لئے PIC16F877A مائکروقابو کنٹرولر میں ٹائمر اور مداخلت کی مدد لیں گے۔ ہم نے پہلے ہی سیکھا ہے کہ ہمارے گھماؤ سبق میں ٹائمر کا استعمال کیسے کریں۔ میں نے اس مضمون کے آخر میں اس منصوبے کا مکمل کوڈ دیا ہے۔ مزید یہ کہ میں نے ذیل میں کچھ اہم سطروں کی وضاحت کی ہے۔
کوڈ کی ذیل لائنیں پورٹ ڈی کو ایل ڈی سی انٹرفیسنگ کے لئے آؤٹ پٹ پن اور RB0 کو بیرونی پن کے بطور ان پٹ پن کے طور پر شروع کرتی ہے۔ مزید یہ کہ ہم نے OPTION_REG کا استعمال کرتے ہوئے اندرونی پل اپ اپ ریزٹر کو چالو کیا ہے اور پریسل کے طور پر 64 بھی مرتب کیا ہے۔ اس کے بعد ہم ٹائمر اور بیرونی مداخلت کو اہل بنانے کیلئے عالمی اور پیریفیریل رکاوٹ کو اہل بنائیں۔ بیرونی مداخلت بٹ کے طور پر RB0 کی وضاحت کرنے کے لئے INTE کو اونچا بنایا جانا چاہئے۔ اوور فلو کی قیمت 100 رکھی گئی ہے تاکہ ہر 1 ملی سیکنڈ کے لئے ٹائمر وقفے سے جھنڈا ٹی ایم آر0 آئف کو متحرک کیا جاسکے۔ اس سے ملی سیکنڈ میں ٹائمر چلانے میں مدد ملے گی۔
TRISD = 0x00؛ // PORTD کو ایل سی ڈی TRISB0 = 1 میں مداخلت کرنے کے لئے آؤٹ پٹ قرار دیا گیا۔ // RB0 پن کو ان پٹ کے بطور انٹراپٹ پن کے طور پر استعمال کریں OPTION_REG = 0b00000101؛ // ٹائمر 64 جیسے بطور پریسلر // PULL UPs TMR0 = 100 کو بھی اہل بناتا ہے؛ // ٹائم ویلیو 1 ایم ایس کیلئے لوڈ کریں۔ delayValue 0-256 کے درمیان ہوسکتی ہے صرف TMR0IE = 1؛ // PIE1 رجسٹر GIE = 1 میں ٹائمر مداخلت بٹ کو فعال کریں۔ // عالمی مداخلت PEIE = 1 کو فعال کریں؛ // پردیی مداخلت INTE = 1 کو فعال کریں؛ // بیرونی مداخلت پن کے بطور RB0 کو فعال کریں
جب بھی کسی رکاوٹ کا پتہ چلتا ہے تو نیچے دی گئی تقریب پر عمل درآمد ہوجائے گا۔ ہم اپنی خواہش کے مطابق فنکشن کا نام دے سکتے ہیں لہذا میں نے اس کا نام اسپیڈ_ آئس آر () رکھا ہے۔ یہ پروگرام دو رکاوٹوں سے متعلق ہے جس میں ایک ٹائمر انٹراپٹ ہے اور دوسرا بیرونی مداخلت۔ جب بھی ٹائمر رکاوٹ ہوتا ہے تو جھنڈا TMR0IF بلند ہوتا ہے ، رکاوٹ کو صاف اور دوبارہ ترتیب دینے کے ل TM ، ہمیں نیچے کی کوڈ میں دکھایا گیا ٹی ایم آر0IF = 0 کی وضاحت کرکے اسے کم کرنا ہوگا۔
باطل مداخلت کی رفتار_آسسر () {اگر (TMR0IF == 1) // ٹائمر نے بہت زیادہ عبور کرلیا ہے {TMR0IF = 0؛ // صاف ٹائمر مداخلت والا جھنڈا ملی_ سیکس ++؛ } اگر (INTF == 1) pm rpm = (1000 / ملی_ سیکس) * 60؛ رفتار = 0.3 * آر پی ایم * 0.37699؛ // (پہیے رداس کو 30 سینٹی میٹر سمجھنا) INTF = 0؛ // رکاوٹ والے پرچم کو صاف کریں milli_sec = 0؛ فاصلہ = فاصلہ + 028.2؛ }
اسی طرح جب بیرونی مداخلت ہوتی ہے تو پرچم INTF بلند ہوجائے گا ، اسے INTF = 0 کی وضاحت کرکے بھی صاف کرنا چاہئے۔ وقت کو ٹائمر انٹراپٹ کے ذریعہ ٹریک میں رکھا جاتا ہے اور بیرونی مداخلت کا تعین اس وقت ہوتا ہے جب پہیے نے ایک مکمل گھماؤ مکمل کرلیا ہے۔ اس اعداد و شمار کے ذریعے ہر بیرونی رکاوٹ کے دوران پہیے سے ڈھکی ہوئی رفتار اور فاصلے کا حساب لگایا جاتا ہے۔
ایک بار جب رفتار اور فاصلے کا حساب لگ جائے تو وہ ہمارے LCD افعال کا استعمال کرتے ہوئے LCD اسکرین پر آسانی سے ظاہر ہوسکتے ہیں۔ اگر آپ LCDs میں نئے ہیں تو ہمارے انٹرفیسنگ LCD کو PIC16F877A MCU سبق کے ساتھ دیکھیں۔
ورکنگ وضاحت:
جب آپ ہارڈ ویئر اور سافٹ ویئر تیار ہوجائیں تو ، کوڈ کو اپنے PIC16F877A پر صرف اپ لوڈ کریں۔ اگر آپ پی آئی سی کے لئے مکمل طور پر نئے ہیں تو پھر آپ کو یہ جاننے کے لئے کچھ سبق پڑھنا چاہ. کہ کسی PIC16F877A مائکروکنٹرولر کو پروگرام کیسے اپ لوڈ کرنا ہے۔
میں نے مظاہرے کے مقصد کے لئے موٹر کی رفتار کو ایڈجسٹ کرنے کے لئے متغیر POT استعمال کیا ہے۔ آپ اصلی وقت کی درخواست ڈھونڈنے میں بھی اسی کا استعمال کرسکتے ہیں۔ اگر ہر چیز توقع کے مطابق کام کرتی ہے تو آپ کو کلومیٹر / گھنٹہ میں رفتار حاصل کرنا اور میٹر کے لحاظ سے فاصلہ طے کرنے کا اہل ہونا چاہئے جیسا کہ نیچے دیئے گئے ویڈیو میں دکھایا گیا ہے۔

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