- اے ڈی سی کیا ہے (ڈیجیٹل تبادلوں کے مطابق ینالاگ)
- اے ڈی سی اے وی آر مائکروکونٹرولر اتمیگا 16 میں
- ضروری اجزاء
- سرکٹ ڈایاگرام
- ایٹمیگا 16 میں اے ڈی سی کنٹرول رجسٹر قائم کرنا
- پروگرامنگ Atmega16 ADC کے لئے
ایک عام خصوصیت جو تقریبا ہر سرایت شدہ ایپلی کیشن میں استعمال ہوتی ہے وہ ہے ADC ماڈیول (اینالاگ سے ڈیجیٹل کنورٹر)۔ ڈیجیٹل کنورٹرز کے یہ ینالاگ درجہ حرارت سینسر ، جھکاؤ سینسر ، کرنٹ سینسر ، فلیکس سینسر وغیرہ جیسے مطابق سینسرز سے وولٹیج پڑھ سکتے ہیں اس ٹیوٹوریل میں ہم سیکھیں گے کہ ایٹمیگا 16 میں اے ڈی سی کیا ہے اور اے ڈی سی کا استعمال کیسے کریں ۔ اس ٹیوٹوریل میں ایک چھوٹا سا پوٹینومیٹر اے ٹی میگا 16 کے اے ڈی سی پن سے منسلک کرنا شامل ہے اور 8 ایل ای ڈی کا استعمال اے ڈی سی ان پٹ ویلیو میں تبدیلی کے ل AD اے ڈی سی آؤٹ پٹ ویلیو کی بدلتی وولٹیج کو ظاہر کرنے کے لئے کیا جاتا ہے۔
پہلے ہم نے دوسرے مائکروکانٹرولرز میں اے ڈی سی کی وضاحت کی:
- اے آر ایم 7 ایل پی سی 2148 میں کس طرح اے ڈی سی استعمال کریں - اینالاگ وولٹیج کی پیمائش کریں
- STM32F103C8 میں ADC کا استعمال کیسے کریں - ینالاگ وولٹیج کی پیمائش کریں
- MSP430G2 میں ADC کا استعمال کیسے کریں - ینالاگ وولٹیج کی پیمائش کریں
- ایردوینو یونو میں اے ڈی سی کا استعمال کیسے کریں؟
- ایم پی ایل بی اور ایکس سی 8 کے ساتھ پی آئی سی مائکروکنٹرولر کے اے ڈی سی ماڈیول کا استعمال
اے ڈی سی کیا ہے (ڈیجیٹل تبادلوں کے مطابق ینالاگ)
اے ڈی سی کا مطلب اینالاگ ٹو ڈیجیٹل کنورٹر ہے۔ الیکٹرانکس میں ، اے ڈی سی ایک ایسا آلہ ہے جو موجودہ اور وولٹیج جیسے ینالاگ سگنل کو ڈیجیٹل کوڈ (بائنری شکل) میں تبدیل کرتا ہے۔ حقیقی دنیا میں زیادہ تر سگنل اینالاگ ہیں اور کوئی بھی مائکروکنٹرولر یا مائکرو پروسیسر بائنری یا ڈیجیٹل زبان کو سمجھتا ہے (0 یا 1)۔ لہذا ، مائکروکینٹرولرز کو ینالاگ سگنلز کو سمجھنے کے ل we ، ہمیں انالاگ سگنلز کو ڈیجیٹل شکل میں تبدیل کرنا ہوگا۔ ADC ہمارے لئے بالکل ایسا ہی کرتا ہے۔ مختلف ایپلی کیشنز کے لئے بہت ساری قسم کی اے ڈی سی دستیاب ہے۔ فلیش ، لگاتار قریب اور سگما ڈیلٹا میں چند مشہور ADC کی مقبولیت ہے۔
اے ڈی سی کے سب سے زیادہ سستی قسم ہے کے بعد، سننکٹن اور اس ٹیوٹوریل کے بعد-تقرب اے ڈی سی میں استعمال کیا جائے گا. اے ڈی سی کی لگاتار تخمینہ قسم میں ، ڈیجیٹل کوڈوں کی ایک سیریز ، ہر ایک ایک یکساں سطح کے مطابق ہوتی ہے ، جو یکے بعد دیگرے تیار ہوتی ہے۔ تبادلوں کے تحت ینالاگ سگنل سے موازنہ کرنے کے لئے اندرونی کاؤنٹر استعمال ہوتا ہے۔ جب ینالاگ کی سطح ینالاگ سگنل سے کہیں زیادہ بڑی ہو جاتی ہے تو نسل بند کردی جاتی ہے۔ ڈیجیٹل کوڈ ینالاگ کی سطح کے مساوی ہے ، ینالاگ سگنل کی مطلوبہ ڈیجیٹل نمائندگی ہے۔ اس سے لگاتار قریب ہونے کے بارے میں ہماری چھوٹی وضاحت ختم ہوجاتی ہے۔
اگر آپ ADC کو زیادہ گہرائی میں تلاش کرنا چاہتے ہیں تو آپ ADC کے بارے میں ہمارے پچھلے سبق کا حوالہ دے سکتے ہیں۔ اے ڈی سی آئی سی کی شکل میں دستیاب ہیں اور مائکروکانٹرولرز آج کل انبلٹ اے ڈی سی کے ساتھ بھی آتے ہیں۔ اس ٹیوٹوریل میں ہم Atmega16 کا inbuilt ADC استعمال کریں گے ۔ آئیے اتمیگا 16 کے انبلٹ اے ڈی سی کے بارے میں بات کرتے ہیں۔
اے ڈی سی اے وی آر مائکروکونٹرولر اتمیگا 16 میں
ایٹمیگا 16 میں ایک انبلٹ 10 بٹ اور 8 چینل کا اے ڈی سی ہے ۔ 10 بٹ اس سے مطابقت رکھتا ہے اگر ان پٹ وولٹیج 0-5V ہے تو پھر اسے 10 بٹ ویلیو میں تقسیم کیا جائے گا یعنی متعدد ینالاگ قدروں کی 1024 سطح (2 10 = 1024)۔ اب 8 چینل ایٹمیگا 16 پر سرشار 8 اے ڈی سی پنوں کے مساوی ہے جہاں ہر پن اینالاگ وولٹیج پڑھ سکتا ہے۔ مکمل پورٹ اے (GPIO33-GPIO40) ADC آپریشن کے لئے وقف ہے۔ پہلے سے طے شدہ طور پر ، پورٹا پن عام IO پن ہیں ، اس کا مطلب یہ ہے کہ بندرگاہ کی پنوں کو ملٹی پلس کردیا گیا ہے۔ ان پنوں کو بطور ADC پن استعمال کرنے کے ل we ہمیں ADC کے کنٹرول کے لئے مخصوص رجسٹر تشکیل دینا ہوں گے۔ یہی وجہ ہے کہ رجسٹروں کو ADC کنٹرول رجسٹر کے نام سے جانا جاتا ہے۔ آئیے اس بات پر تبادلہ خیال کریں کہ ان رجسٹر کو انبیلٹ اے ڈی سی کا کام شروع کرنے کے لئے کیسے ترتیب دیا جائے۔
ایٹمیگا 16 میں اے ڈی سی پنس
ضروری اجزاء
- ایٹمیگا 16 مائکروکنٹرولر آئی سی
- 16 میگاہرٹز کرسٹل آسیلیٹر
- دو 100nF کپیسیٹرز
- دو 22pF کپیسیٹرز
- دبانے والا بٹن
- جمپر تاروں
- بریڈ بورڈ
- USBASP v2.0
- قیادت (کسی بھی رنگ)
سرکٹ ڈایاگرام
ایٹمیگا 16 میں اے ڈی سی کنٹرول رجسٹر قائم کرنا
1. ایڈمکس رجسٹر (اے ڈی سی ملٹی پلیکسیر سلیکشن رجسٹر) :
ADMUX رجسٹر ADC چینل کے انتخاب اور حوالہ وولٹیج کے انتخاب کے لئے ہے۔ نیچے دی گئی تصویر میں ADMUX رجسٹر کا جائزہ لیا گیا ہے۔ تفصیل ذیل میں بیان کی گئی ہے۔
- بٹ 0-4: چینل سلیکشن بٹس
MUX4 |
MUX3 |
MUX2 |
MUX1 |
MUX0 |
اے ڈی سی چینل منتخب |
0 |
0 |
0 |
0 |
0 |
ADC0 |
0 |
0 |
0 |
0 |
1 |
ADC1 |
0 |
0 |
0 |
1 |
0 |
ADC2 |
0 |
0 |
0 |
1 |
1 |
ADC3 |
0 |
0 |
1 |
0 |
0 |
ADC4 |
0 |
0 |
1 |
0 |
1 |
ADC5 |
0 |
0 |
1 |
1 |
0 |
ADC6 |
0 |
0 |
1 |
1 |
1 |
ADC7 |
- Bit-5: اس کا استعمال نتیجہ کو دائیں یا بائیں میں ایڈجسٹ کرنے کے لئے کیا جاتا ہے۔
ADLAR |
تفصیل |
0 |
نتیجہ کو ایڈجسٹ کریں |
1 |
نتیجہ ایڈجسٹ کریں |
- بٹ 6-7: وہ ADC کے لئے حوالہ وولٹیج منتخب کرنے کے لئے استعمال ہوتے ہیں۔
REFS1 |
REFS0 |
وولٹیج حوالہ انتخاب |
0 |
0 |
AREF ، اندرونی Vref آف کر دیا گیا |
0 |
1 |
AREF پن پر بیرونی کیسیسیٹر کے ساتھ اے وی سی سی |
1 |
0 |
محفوظ ہے |
1 |
1 |
AREF پن پر بیرونی سندارتر کے ساتھ اندرونی 2.56 وولٹیج کا حوالہ |
اب پروگرام میں ان رجسٹر بٹس کو تشکیل دینا شروع کریں تاکہ ہم PORTC کے All Pins کو اندرونی ADC پڑھیں اور آؤٹ پٹ حاصل کریں۔
پروگرامنگ Atmega16 ADC کے لئے
مکمل پروگرام ذیل میں دیا گیا ہے۔ جے ٹی اے ٹی اور اتمیل اسٹوڈیو کا استعمال کرتے ہوئے پروگرام کو اتمیگا 16 میں جلا دیں اور اے ڈی سی کی قیمت کو مختلف کرنے کے لئے پوٹینومیٹر کو گھمائیں۔ یہاں ، کوڈ کو ایک لائن کے ذریعہ بیان کیا گیا ہے۔
اے ڈی سی کی تبدیل شدہ قدر کو پڑھنے کے لئے ایک فنکشن بنانے کے ساتھ شروع کریں۔ پھر ADC_read فنکشن میں چینل کی قدر کو بطور 'chnl' پاس کریں ۔
بغیر دستخط شدہ ADC_read (دستخط شدہ چار chnl)
چینل کی قیمت 0 سے 7 کے درمیان ہونی چاہئے کیونکہ ہمارے پاس صرف 8 ADC چینل ہیں۔
chnl = chnl & 0b00000111؛
ADMUX رجسٹر میں '40' یعنی '01000000' لکھ کر ہم نے پورٹا 0 کو ADC0 کے بطور منتخب کیا جہاں ینالاگ ان پٹ ڈیجیٹل تبادلوں کے لئے منسلک ہوگا۔
ADMUX = 0x40؛
اب اس اقدام میں اے ڈی سی تبادلوں کا عمل شامل ہے ، جہاں اے ڈی سی ایس آر اے رجسٹر میں اے ڈی ایس سی بٹ کو لکھ کر ہم تبادلوں کا آغاز کرتے ہیں۔ اس کے بعد ، تبادلوں کے مکمل ہونے پر ADIF بٹ کی قدر واپس کرنے کا انتظار کریں۔ ہم ADCSRA رجسٹر میں ADIF بٹ پر '1' لکھ کر تبادلوں کو روکتے ہیں۔ جب تبادلہ مکمل ہوجائے تو پھر ADC کی قیمت واپس کریں۔
ADCSRA - = (1 <
یہاں اندرونی ADC حوالہ وولٹیج کا انتخاب REFS0 بٹ کرکے کیا جاتا ہے۔ اس کے بعد ADC کو قابل بنائیں اور 128 کے بطور پریسکلر منتخب کریں۔
ADMUX = (1 <
اب اے ڈی سی کی قیمت کو بچائیں اور اسے پی او آر ٹی سی کو بھیجیں۔ پی او آر ٹی سی میں ، 8 ایل ای ڈی منسلک ہیں جو 8 بٹ فارمیٹ میں ڈیجیٹل آؤٹ پٹ کو دکھائے گی۔ جو مثال ہم نے دکھائی ہے اس میں 1K برتن کا استعمال کرتے ہوئے 0V سے 5V کے درمیان وولٹیج مختلف ہوتی ہے۔
i = ADC_read (0)؛ PORTC = i؛
ڈیجیٹل ملٹی میٹر ADC پن میں مطابق ان پٹ وولٹیج کو ظاہر کرنے کے لئے استعمال کیا جاتا ہے اور ADC آؤٹ پٹ کی اسی 8 بٹ ویلیو کو ظاہر کرنے کے لئے 8 ایل ای ڈی کا استعمال کیا جاتا ہے۔ صرف پوٹینومیٹر کو گھمائیں اور ملٹی میٹر کے ساتھ ساتھ چمکنے والی ایل ای ڈی پر بھی اسی کا نتیجہ دیکھیں۔
مکمل کوڈ اور ورکنگ ویڈیو نیچے دی گئی ہے۔