- اے وی آر مائکروکنٹرولر اتمیگا 16 میں پی ڈبلیو ایم پنس
- پی ڈبلیو ایم سگنل کیا ہے؟
- ضروری اجزاء
- سرکٹ ڈایاگرام
- پروگرامنگ Atmega16 PWM کے لئے
پلس کی چوڑائی ماڈیولیشن (PWM) ایک طاقتور تکنیک ہے جہاں فریکوئینسی کو مستقل رکھتے ہوئے نبض کی چوڑائی کو تبدیل کیا جاتا ہے۔ اس تکنیک کا استعمال آج بہت سارے کنٹرول سسٹم میں ہوتا ہے۔ PWM کی درخواست محدود نہیں ہے اور یہ اس طرح کے طور پر موٹر رفتار کنٹرول، پیمائش، پاور کنٹرول اور مواصلاتی وغیرہ میں PWM تکنیک ایپلی کیشنز کی وسیع رینج میں استعمال کیا جاتا ہے، ایک آسانی سے کر سکتے ہیں ڈیجیٹل سگنل کا استعمال کرتے ہوئے مطابق پیداوار سگنل پیدا. اس ٹیوٹوریل سے آپ کو پی ڈبلیو ایم ، اس کی اصطلاحات اور مائکروکنٹرولر کا استعمال کرکے اس کو کس طرح نافذ کرسکتے ہیں اس کی تفہیم میں مدد ملے گی۔ اس ٹیوٹوریل میں ہم ایل ای ڈی کی شدت کو مختلف کرکے اے وی آر اتمیگا 16 مائکروکنوٹرالر کے ساتھ پی ڈبلیو ایم کا مظاہرہ کریں گے ۔
پی ڈبلیو ایم کی بنیادی باتوں کو تفصیل سے سمجھنے کے ل please ، براہ کرم مختلف مائکروکانٹرولرز کے ساتھ پی ڈبلیو ایم پر ہمارے گذشتہ سبق حاصل کریں:
- ARM7-LPC2148 PWM ٹیوٹوریل: ایل ای ڈی کی چمک کو کنٹرول کرنا
- پلنگ کی چوڑائی ماڈیولیشن (PWM) MSP430G2 کا استعمال کرتے ہوئے: ایل ای ڈی کی چمک کو کنٹرول کرنا
- ایم پی ایل بی اور ایکس سی 8 کے ساتھ پی آئی سی مائکروکنٹرولر کا استعمال کرتے ہوئے پی ڈبلیو ایم تیار کرنا
- STM32F103C8 میں پلس کی چوڑائی ماڈیولیشن (PWM): ڈی سی فین کی کنٹرولنگ سپیڈ
- پی آئی سی مائکروکنٹرولر کے جی پی آئی او پنوں پر پی ڈبلیو ایم سگنل تیار کرنا
- راسبیری پائی PWM ٹیوٹوریل
اے وی آر مائکروکنٹرولر اتمیگا 16 میں پی ڈبلیو ایم پنس
ایٹمیگا 16 میں چار سرشار پی ڈبلیو ایم پن ہیں ۔ یہ پن PB3 (OC0)، PD4 (OC1B)، PD5 (OC1A)، PD7 (OC2) ہیں۔
نیز اتمیگا 16 میں دو 8 بٹ ٹائمر اور ایک 16 بٹ ٹائمر ہوتا ہے۔ ٹائمر 0 اور ٹائمر 2 8 بٹ ٹائمر ہیں جبکہ ٹائمر 1 16 بٹ ٹائمر ہے ۔ پی ڈبلیو ایم تیار کرنے کے ل we ہمارے پاس ٹائمر کا ایک جائزہ ہونا ضروری ہے کیونکہ پی ڈبلیو ایم تیار کرنے کے لئے ٹائمر استعمال ہوتے ہیں۔ جیسا کہ ہم جانتے ہیں کہ فریکوئنسی سائیکلوں کی تعداد ہے جس میں ٹائمر چلتا ہے۔ لہذا اعلی تعدد ہمیں ایک تیز ٹائمر دے گی۔ پی ڈبلیو ایم تیار کرنے میں ، پی ڈبلیو ایم کی تیز تعدد آؤٹ پٹ پر بہتر کنٹرول فراہم کرے گی کیونکہ یہ نئے پی ڈبلیو ایم ڈیوٹی سائیکلوں کو تیزی سے جواب دے سکتی ہے۔
اس Atmega16 PWM ٹیوٹوریل میں ہم ٹائمر 2 استعمال کریں گے۔ آپ کسی بھی ڈیوٹی سائیکل کا انتخاب کرسکتے ہیں۔ اگر آپ نہیں جانتے کہ پی ڈبلیو ایم میں ڈیوٹی سائیکل کیا ہے تو آئیے مختصر گفتگو کریں۔
پی ڈبلیو ایم سگنل کیا ہے؟
پلس کی چوڑائی ماڈیولیشن (PWM) ایک ڈیجیٹل سگنل ہے جو عام طور پر کنٹرول سرکٹری میں استعمال ہوتا ہے۔ جس وقت کے دوران سگنل زیادہ رہے گا اسے "وقت پر" کہا جاتا ہے اور جس وقت کے دوران سگنل کم رہتا ہے اسے "آف ٹائم" کہا جاتا ہے۔ پی ڈبلیو ایم کے لئے دو اہم پیرامیٹرز ہیں جیسا کہ ذیل میں بحث کی گئی ہے:
PWM کے ڈیوٹی سائیکل
وقت کا فیصد جس میں پی ڈبلیو ایم سگنل ہائی (وقت پر) رہتا ہے ، کو ڈیوٹی سائیکل کہا جاتا ہے۔
جیسے 100ms پلس سگنل ، اگر سگنل 50ms کے لئے HIGH اور 50ms کے لئے کم ہے تو اس کا مطلب ہے کہ نبض نصف وقت HIGH اور نصف وقت کم تھی۔ تو ہم کہہ سکتے ہیں کہ ڈیوٹی سائیکل 50٪ ہے۔ اسی طرح اگر نبض 100 ملی میٹر میں سے 25 ملی میٹر ہائی ریاست میں اور 75 ملی میٹر کم ریاست میں ہے ، تو ڈیوٹی سائیکل 25٪ ہوگی۔ نوٹ کریں کہ ہم صرف HIGH حالت کے دورانیہ کا حساب لگاتے ہیں۔ بصری تفہیم کے ل You آپ ذیل کی تصویر کا حوالہ لے سکتے ہیں۔ تب ڈیوٹی سائیکل کا فارمولا یہ ہے ،
ڈیوٹی سائیکل (٪) = وقت پر / (وقت پر + وقت ختم)
لہذا ، ڈیوٹی سائیکل کو تبدیل کرکے ہم PWM کی چوڑائی کو تبدیل کرسکتے ہیں جس کے نتیجے میں ایل ای ڈی چمک میں تبدیلی آسکتی ہے۔ ہمارے پاس ایل ای ڈی کی چمک کو کنٹرول کرنے میں مختلف ڈیوٹی سائیکل استعمال کرنے کا ڈیمو ہوگا۔ چیک کریں ڈیمو ویڈیو اس ٹیوٹوریل کے آخر میں.
ڈیوٹی سائیکل کو منتخب کرنے کے بعد ، اگلا مرحلہ PWM وضع کو منتخب کرنا ہوگا۔ پی ڈبلیو ایم وضع یہ بتاتی ہے کہ آپ پی ڈبلیو ایم کو کیسے کام کرنا چاہتے ہیں۔ بنیادی طور پر 3 قسم کے پی ڈبلیو ایم طریقوں ہیں۔ یہ مندرجہ ذیل ہیں:
- فاسٹ پی ڈبلیو ایم
- فیز کریکٹ پی ڈبلیو ایم
- مرحلہ اور تعدد درست پی ڈبلیو ایم
فاسٹ پی ڈبلیو ایم استعمال کیا جاتا ہے جہاں مرحلے کی تبدیلی سے کوئی فرق نہیں پڑتا ہے۔ فاسٹ پی ڈبلیو ایم کا استعمال کرکے ، ہم PWM قدروں کو تیزی سے آؤٹ پٹ کرسکتے ہیں۔ فاسٹ پی ڈبلیو ایم کا استعمال نہیں کیا جاسکتا ہے جہاں موٹر کنٹرول جیسے مرحلے میں تبدیلی کا اثر پڑتا ہے ، لہذا اس طرح کی درخواست میں پی ڈبلیو ایم کے دیگر طریقوں کا استعمال کیا جاتا ہے۔ چونکہ ہم ایل ای ڈی کی چمک پر قابو پالیں گے جہاں مرحلے کی تبدیلی زیادہ اثر انداز نہیں ہوگی ، لہذا ہم فاسٹ پی ڈبلیو ایم وضع استعمال کریں گے۔
اب پی ڈبلیو ایم تیار کرنے کے ل we ہم گنتی کے لئے اندرونی ٹائمر کو کنٹرول کریں گے اور پھر کسی خاص گنتی پر صفر پر واپس سیٹ کریں گے ، لہذا ٹائمر گنتی میں آئے گا اور پھر صفر پر بار بار سیٹ ہوجائے گا۔ یہ مدت طے کرتا ہے۔ ہمارے پاس اب آپ نبض کو کنٹرول کرنے کا اختیار رکھتے ہیں ، ٹائمر میں مخصوص گنتی پر نبض کا رخ موڑتے وقت۔ جب کاؤنٹر 0 پر واپس جاتا ہے تو پھر نبض کو بند کردیں۔ اس میں کافی لچک ہے کیونکہ آپ ہمیشہ ٹائمر کی گنتی تک رسائی حاصل کرسکتے ہیں اور ایک ٹائمر کے ساتھ مختلف دالیں مہیا کرسکتے ہیں۔ جب آپ ایک ساتھ ایک سے زیادہ ایل ای ڈی کو کنٹرول کرنا چاہتے ہیں تو یہ بہت اچھا ہے۔ اب ہم PWM کے لئے Atmega16 کے ساتھ ایک ایل ای ڈی انٹرفیس کرنا شروع کریں ۔
یہاں پی ڈبلیو ایم سے متعلق تمام منصوبوں کو چیک کریں۔
ضروری اجزاء
- ایٹمیگا 16 اے وی آر مائکروکنٹرولر آئی سی
- 16 میگاہرٹز کرسٹل آسیلیٹر
- دو 100nF کپیسیٹرز
- دو 22pF کپیسیٹرز
- دبانے والا بٹن
- جمپر تاروں
- بریڈ بورڈ
- USBASP v2.0
- 2 قیادت (کوئی رنگ)
سرکٹ ڈایاگرام
ہم پی ڈبلیو ایم یعنی پن21 (PD7) کے لئے OC2 استعمال کر رہے ہیں۔ لہذا اتمیگا 16 کے PD7 پن پر ایک ایل ای ڈی سے رابطہ کریں۔
پروگرامنگ Atmega16 PWM کے لئے
مکمل پروگرام ذیل میں دیا گیا ہے۔ جے ٹی اے ٹی اور ایٹمیل اسٹوڈیو کا استعمال کرکے پروگرام کو اتمیگا 16 میں جلا دیں اور ایل ای ڈی پر PWM اثر دیکھیں۔ اس کی چمک PWM کے مختلف ڈیوٹی سائیکل کی وجہ سے آہستہ آہستہ بڑھتی اور گھٹتی ہے۔ آخر میں دیئے گئے ویڈیو کو چیک کریں ۔
ٹائمر 2 رجسٹر ترتیب دینے کے ساتھ پروگرامنگ ایٹمیگا 16 شروع کریں۔ ٹائمر 2 رجسٹر بٹس مندرجہ ذیل ہیں اور ہم اس کے مطابق بٹس سیٹ یا ری سیٹ کرسکتے ہیں۔
اب ہم ٹائمر 2 کے تمام بٹس کے بارے میں بات کریں گے تاکہ ہم تحریری پروگرام کا استعمال کرکے مطلوبہ پی ڈبلیو ایم حاصل کرسکیں۔
ٹائمر 2 رجسٹر میں بنیادی طور پر چار حصے ہیں:
ایف او سی 2 (فورس آؤٹ پٹ کا موازنہ ٹائمر 2 کے لئے): جب FG2 بٹس غیر PWM وضع کی وضاحت کرتے ہیں تو FOC2 بٹ سیٹ ہوجاتا ہے۔
ڈبلیو جی ایم 2 (ٹائمر 2 کے لave لیو جنریشن موڈ): یہ بٹس کاؤنٹر کی گنتی کی ترتیب ، زیادہ سے زیادہ (ٹاپ) کاؤنٹر ویلیو کا ذریعہ ، اور کس طرح کے ویوفارم جنریشن کو استعمال کریں گے کو کنٹرول کرتے ہیں۔
COM2 (ٹائمر 2 کے لئے آؤٹ پٹ موڈ کا موازنہ کریں): یہ بٹس آؤٹ پٹ رویے کو کنٹرول کرتی ہیں۔ مکمل بٹ تفصیل ذیل میں بیان کی گئی ہے۔
TCCR2 - = (1 <
پی ڈبلیو ایم فاسٹ موڈ کو چالو کرنے کے لئے ڈبلیو جی ایم20 اور ڈبلیو جی ایم 21 بٹس کو ہائی کے طور پر مقرر کریں۔ ڈبلیو جی ایم کا مطلب ہے ویوفارم جنریشن موڈ۔ انتخاب کے بٹس ذیل میں ہیں۔
WGM00 |
WGM01 |
ٹائمر 2 موڈ آپریشن |
0 |
0 |
نارمل موڈ |
0 |
1 |
سی ٹی سی (موازنہ کرنے پر صاف ٹائمر) |
1 |
0 |
پی ڈبلیو ایم ، فیز درست |
1 |
1 |
فاسٹ PWM وضع |
ویوفارم جنریشن موڈ سے متعلق مزید تفصیلات کے ل you ، آپ ایٹمیگا 16 کا سرکاری ڈیٹاشیٹ دیکھ سکتے ہیں۔
TCCR2 - = (1 <
نیز ہم نے کوئی پری اسکیلنگ استعمال نہیں کی ہے لہذا ہم نے کلاک سورس رجسٹر کو '001' بطور متعین کیا ہے۔
گھڑی کے انتخاب کے بٹس مندرجہ ذیل ہیں:
CS22 |
CS21 |
CS20 |
تفصیل |
0 |
0 |
0 |
گھڑی کا کوئی ماخذ نہیں (ٹائمر / کاؤنٹر رک گیا) |
0 |
0 |
1 |
clk T2S / (پریسکلنگ نہیں) |
0 |
1 |
0 |
کلک T2S / 8 (پریسکلر سے) |
0 |
1 |
1 |
کلک T2S / 32 (پریسکلر سے) |
1 |
0 |
0 |
کلک T2S / 64 (پریسکلر سے) |
1 |
0 |
1 |
کلک T2S / 128 (پریسکلر سے) |
1 |
1 |
0 |
کلک T2S / 256 (پری اسکیلر سے) |
1 |
1 |
1 |
کلک T2S / 1024 (پریسکلر سے) |
نیز COM21 بٹ کو '1' اور COM20 کو '0' بطور ترتیب دے کر OC2 کو موازنہ میچ پر کلیئر کیا جاتا ہے۔
فاسٹ پی ڈبلیو ایم وضع کے ل Out موازنہ آؤٹ پٹ موڈ (COM) انتخاب کے اختیارات ذیل میں دیئے گئے ہیں:
COM21 |
COM21 |
تفصیل |
0 |
0 |
عمومی پورٹ آپریشن ، OC2 منقطع۔ |
0 |
1 |
محفوظ ہے |
1 |
0 |
موازنہ میچ پر OC2 کو صاف کریں ، او سی 2 کو اوپری حصے میں سیٹ کریں |
1 |
1 |
OC2 کو موازنہ میچ پر سیٹ کریں ، او سی 2 کو TOP پر صاف کریں |
ڈیوٹی سائیکل کو 0٪ سے بڑھا کر 100٪ کریں تاکہ وقت کے ساتھ چمک بڑھ جائے۔ 0-255 سے قدر لیں اور اسے OCR2 پن پر بھیجیں۔
کے لئے (ڈیوٹی = 0؛ ڈیوٹی <255؛ ڈیوٹی ++) // 0 سے زیادہ سے زیادہ ڈیوٹی سائیکل { OCR2 = فرض؛ // آہستہ آہستہ ایل ای ڈی کی چمک _ ڈیلے_میس (10) میں اضافہ کریں؛ }
اسی طرح ایل ای ڈی کی چمک کو آہستہ آہستہ کم کرنے کے لئے ڈیوٹی سائیکل کو 100 from سے 0٪ پر کم کریں
for (فرض = 0؛ ڈیوٹی> 255؛ ڈیوٹی--) // زیادہ سے زیادہ 0 ڈیوٹی سائیکل { OCR2 = فرض؛ // آہستہ آہستہ ایل ای ڈی کی چمک کم کریں _ ڈیلی_ ایم ایس (10)؛ }
اس نے Atmega16 / 32 میں پی ڈبلیو ایم کے استعمال سے متعلق ہمارے سبق کو ختم کردیا ۔