- RS-485 سیریل مواصلات پروٹوکول
- آرڈوینو میں آر ایس 485
- ضروری اجزاء
- سرکٹ ڈایاگرام
- پروگرامنگ آرڈینوو یو این او اور آرڈوینو نانو RS485 سیریل مواصلات کیلئے
- سیریل مواصلات RS485 کے ساتھ ایل ای ڈی کی چمک کو کنٹرول کرنا
مائکروکانٹرولرز اور پردیی آلات کے مابین مواصلات کے لئے مواصلات کے پروٹوکول کا انتخاب ایمبیڈڈ نظام کا ایک اہم حصہ ہے۔ یہ ضروری ہے کیونکہ کسی بھی ایمبیڈڈ ایپلیکیشن کی مجموعی کارکردگی مواصلات کے ذرائع پر منحصر ہے کیونکہ اس کا تعلق لاگت میں کمی ، تیز ڈیٹا کی منتقلی ، لمبی دوری کی کوریج وغیرہ سے ہے۔
گذشتہ سبق میں ہم نے ارڈینو میں I2C مواصلات پروٹوکول اور ایس پی آئی مواصلات پروٹوکول کے بارے میں سیکھا ہے۔ اب وہاں ایک اور سیریل مواصلات کا پروٹوکول ہے جسے RS-485 کہتے ہیں.یہ پروٹوکول ایک سنجیدہ سیریل مواصلات کا استعمال کرتا ہے۔ RS-485 کا بنیادی فائدہ دو آلات کے مابین طویل فاصلے پر ڈیٹا کی منتقلی ہے۔ اور وہ سب سے زیادہ بجلی سے شور صنعتی ماحول میں استعمال ہوتے ہیں۔
اس ٹیوٹوریل میں ، ہم RS-485 دو اردوینو کے مابین سیریل مواصلات کے بارے میں سیکھیں گے اور پھر ماسٹر اردوینو سے غلام Ardino سے منسلک ایل ای ڈی کی چمک کو کنٹرول کرکے RS-485 ماڈیول کے ذریعے اے ڈی سی اقدار بھیج کر اس کا مظاہرہ کریں گے۔ ماسٹر اردوینو میں اے ڈی سی کی اقدار کو مختلف کرنے کے لئے 10 کٹا پوٹینومیٹر استعمال کیا جاتا ہے۔
آئیے RS-485 سیریل مواصلات کے کام کو سمجھنے سے شروع کرتے ہیں۔
RS-485 سیریل مواصلات پروٹوکول
RS-485 ایک متضاد سیریل مواصلات پروٹوکول ہے جس میں گھڑی کی نبض کی ضرورت نہیں ہوتی ہے۔ یہ بائنری ڈیٹا کو ایک دوسرے سے دوسرے آلے میں منتقل کرنے کے لئے تفریق سگنل نامی ایک تکنیک کا استعمال کرتا ہے ۔
تو یہ اختیاری سگنل کی منتقلی کا طریقہ کیا ہے؟
متناسب سگنل کا طریقہ کار مثبت اور منفی 5V کا استعمال کرکے تفرقی وولٹیج پیدا کرکے کام کرتا ہے۔ یہ نصف ڈوپلیکس مواصلت فراہم کرتا ہے جب دو تاروں کا استعمال کرتے ہیں اور مکمل ڈوپلیکس کو 4 چوکوں کی تاروں کی ضرورت ہوتی ہے ۔
اس طریقے کو استعمال کرکے
- RS-485 زیادہ سے زیادہ 30MBS کی ڈیٹا ٹرانسفر کی شرح کی حمایت کرتا ہے۔
- یہ RS-232 پروٹوکول کے مقابلے میں زیادہ سے زیادہ ڈیٹا ٹرانسفر فاصلہ بھی فراہم کرتا ہے۔ یہ ڈیٹا کو زیادہ سے زیادہ 1200 میٹر تک منتقل کرتا ہے۔
- RS-232 سے زیادہ RS-485 کا سب سے بڑا فائدہ سنگل ماسٹر کے ساتھ ایک سے زیادہ غلام ہے جبکہ RS-232 صرف ایک ہی غلام کی حمایت کرتا ہے۔
- اس میں زیادہ سے زیادہ 32 آلات RS-485 پروٹوکول سے منسلک ہوسکتے ہیں۔
- RS-485 کا ایک اور فائدہ یہ ہے کہ یہ شور سے محفوظ ہے کیونکہ وہ منتقلی کے لئے مختلف سگنل کا طریقہ استعمال کرتے ہیں۔
- I2C پروٹوکول کے مقابلے RS-485 تیز ہے۔
آرڈوینو میں آر ایس 485
آرڈینو میں آر ایس 485 استعمال کرنے کے لئے ، 5V MAX485 TTL سے RS485 نامی ایک ماڈیول جو میکسم MAX485 IC پر مبنی ہے کی ضرورت ہے کیونکہ یہ 1200 میٹر کی لمبی دوری پر سیریل مواصلات کی اجازت دیتا ہے اور یہ دو طرفہ ہے۔ آدھے ڈوپلیکس موڈ میں اس میں ڈیٹا کی منتقلی کی شرح 2 5 ایم بی پی ایس ہے۔
5V MAX485 TTL سے RS485 ماڈیول میں 5V کی وولٹیج کی ضرورت ہوتی ہے اور 5V منطق کی سطح کا استعمال کیا جاتا ہے تاکہ اسے Ardino جیسے مائکروکنٹرولرز کے ہارڈ ویئر سیریل پورٹس کے ساتھ انٹرفیس کیا جاسکے۔
اس میں مندرجہ ذیل خصوصیات ہیں:
- آپریٹنگ وولٹیج: 5V
- بورڈ میں MAX485 چپ
- RS485 مواصلت کے لئے بجلی کی کم کھپت
- سست روی شرح محدود ٹرانسیور
- 5.08 ملی میٹر پچ 2P ٹرمینل
- آسان RS-485 مواصلات کی وائرنگ
- چپ کے تمام پنوں کو مائکرو قابو کرنے والے کے ذریعے کنٹرول کیا جاسکتا ہے
- بورڈ کا سائز: 44 x 14 ملی میٹر
RS-485 میں سے پن آؤٹ:
پن کا نام |
استعمال کریں |
وی سی سی |
5V |
A |
غیر انورٹنگ وصول کنندہ ان پٹ غیر انورٹنگ ڈرائیور آؤٹ پٹ |
بی |
وصول کنندہ ان پٹ کو تبدیل کرنا الٹا ڈرائیور آؤٹ پٹ |
GND |
GND (0V) |
R0 |
وصول کنندہ آؤٹ (آر ایکس پن) |
RE |
وصول کنندہ آؤٹ پٹ (LOW-اہل) |
ڈی ای |
ڈرائیور آؤٹ پٹ (اعلی قابل) |
DI |
ڈرائیور ان پٹ (TX پن) |
اس آر ایس - 485 ماڈیول کو آسانی سے آرڈینو کے ساتھ انٹرفیس کیا جاسکتا ہے۔ آئیے آرڈینوو 0 (آر ایکس) اور 1 (ٹی ایکس) (یو این او ، نانو میں) کی ہارڈ ویئر سیریل پورٹس استعمال کریں۔ پروگرامنگ بھی آسان ہے صرف RS-485 کو لکھنے کے لئے Serial.print () اور RS-485 سے پڑھنے کے لئے سیریل (Read) کو استعمال کریں۔
پروگرامنگ حصے کی تفصیل بعد میں بیان کی گئی ہے لیکن پہلے مطلوبہ اجزاء اور سرکٹ ڈایاگرام کی جانچ پڑتال کرنے دیتا ہے۔
ضروری اجزاء
- ارڈینو یو این او یا اردوینو نینو (2)
- MAX485 TTL سے RS485 کنورٹر ماڈیول - (2)
- 10K پوٹینومیٹر
- 16x2 LCD ڈسپلے
- ایل. ای. ڈی
- بریڈ بورڈ
- مربوط تاروں
اس ٹیوٹوریل میں آرڈوینو یونو کو بطور ماسٹر اور آرڈینو نینو غلام کے طور پر استعمال ہوتا ہے۔ یہاں دو آرڈینو بورڈ استعمال کیے گئے ہیں لہذا دو RS-485 ماڈیولز کی ضرورت ہے۔
سرکٹ ڈایاگرام
پہلے RS-485 اور Ardino UNO (ماسٹر) کے مابین سرکٹ کنکشن:
RS-485 |
اردوینو یو این او |
DI |
1 (TX) |
ڈی ای RE |
8 |
R0 |
0 (آر ایکس) |
وی سی سی |
5V |
GND |
GND |
A |
غلام آر ایس - 485 کے ایک کو |
بی |
غلام آر ایس 485 کے بی |
دوسرا RS-485 اور Ardino نینو (غلام) کے درمیان رابطہ:
RS-485 |
اردوینو یو این او |
DI |
D1 (TX) |
ڈی ای RE |
ڈی 8 |
R0 |
D0 (RX) |
وی سی سی |
5V |
GND |
GND |
A |
ماسٹر آر ایس - 485 کے اے کو |
بی |
ماسٹر آر ایس - 485 کے بی |
16x2 LCD اور ارڈینو نینو کے مابین سرکٹ کنکشن:
16x2 LCD |
اردوینو نینو |
وی ایس ایس |
GND |
وی ڈی ڈی |
+ 5 وی |
V0 |
LCD کے برعکس کنٹرول کے لئے پوٹینومیٹر سینٹر پن کرنا |
RS |
ڈی 2 |
آر ڈبلیو |
GND |
ای |
ڈی 3 |
ڈی 4 |
ڈی 4 |
ڈی 5 |
ڈی 5 |
ڈی 6 |
ڈی 6 |
ڈی 7 |
ڈی 7 |
A |
+ 5 وی |
K |
GND |
یوروگ ان پٹ فراہم کرنے کے ل A ایک 10K پوٹینومیٹر ارڈوینو یو این او کے ینالاگ پن A0 سے منسلک ہے اور ایک ایل ای ڈی اردوینو نینو کے پن D10 سے منسلک ہے۔
پروگرامنگ آرڈینوو یو این او اور آرڈوینو نانو RS485 سیریل مواصلات کیلئے
پروگرامنگ کے لئے دونوں بورڈز میں اردوینو IDE استعمال کیا جاتا ہے۔ لیکن یہ یقینی بنائیں کہ آپ نے ٹولس-> پورٹ اور بورڈ سے ٹولس-> بورڈ سے متعلقہ PORT کا انتخاب کیا ہے ۔
ڈیمو ویڈیو کے ساتھ مکمل کوڈ اس سبق کے آخر میں دیا گیا ہے۔ یہاں ہم کوڈ کے اہم حصے کی وضاحت کر رہے ہیں۔ اس ٹیوٹوریل میں دو پروگرام ہیں ، ایک آرڈوینو یو این او (ماسٹر) کے لئے اور دوسرا آرڈینو نینو (غلام) کے لئے۔
ماسٹر کے لئے کوڈ کی وضاحت: ارڈینوو یو این او
ماسٹر سائیڈ میں ، صرف پوٹینومیٹر کو مختلف کرکے پن A0 پر ینالاگ ان پٹ لیں اور پھر ارڈوینو یو این او کے ہارڈ ویئر سیریل پورٹس (0،1) کے ذریعہ ان اقدار کو RS-485 بس میں سیریل لکھیں ۔
ہارڈ ویئر سیریل پنوں پر سیریل مواصلات شروع کرنے کے لئے (0،1) استعمال کریں:
سیریل.بیگین (9600)؛
یردوینو یو این او کے پن A0 پر اینالاگ قدر پڑھنے اور انھیں متغیر پوٹول استعمال میں محفوظ کرنے کے لئے:
انٹ پوٹول = اینالاگ ریڈ (پشوال)؛
سیریل پورٹ پر پوٹوال ویلیو لکھنے سے پہلے ، RS-485 کی پنوں DE & RE HIGH ہونی چاہئے جو Ardino UNO کے پن 8 سے منسلک ہے تاکہ پن 8 HIGH بنائے۔
ڈیجیٹل رائٹ (قابل بنائیں ، اعلی)؛
ان اقدار کو RS-485 ماڈیول سے منسلک سیریل پورٹ میں ڈالنے کے لئے ، مندرجہ ذیل بیان کا استعمال کریں
سیریل.پرنٹلن (پوٹوال)؛
غلام کے لئے کوڈ کی وضاحت: اردوینو نینو
غلام سائیڈ میں ماسٹر آر ایس 485 سے ایک انٹیجر ویلیو موصول ہوتی ہے جو ارڈینو نینو (پنوں -0،1) کے ہارڈ ویئر سیریل پورٹ پر دستیاب ہے۔ آسانی سے ان قیمت کو پڑھیں اور متغیر میں اسٹور کریں۔ اقدار (0 -1023) کی شکل میں ہیں۔ تو یہ (0-255) میں تبدیل ہوجاتا ہے کیونکہ ایل ای ڈی چمک کو کنٹرول کرنے کے لئے پی ڈبلیو ایم تکنیک استعمال ہوتی ہے۔
پھر ینالاگ وہ لوگ جو ایل ای ڈی پن D10 میں تبدیل شدہ قدر کو لکھیں (یہ ایک PWM پن ہے)۔ لہذا PWM قدر پر منحصر ہے کہ ایل ای ڈی تبدیلیوں کی چمک اور ان اقدار کو 16x2 LCD ڈسپلے میں بھی ڈسپلے کریں۔
غلام آرڈینوو کے RS-485 کو ماسٹر سے اقدار حاصل کرنے کے لئے ، صرف RS-485 LOW کے پنوں کو DE & RE بنائیں ۔ لہذا آرڈینونو نانو کا پن D8 (ایبلپین) کم بنایا گیا ہے۔
ڈیجیٹل رائٹ (ایبل پن ، کم)؛
اور سیریل پورٹ پر دستیاب عددی اعداد و شمار کو پڑھنے اور انہیں متغیر استعمال میں اسٹور کرنے کے ل.
int pwmval = Serial.parseInt ()؛
اگلی کنورٹ ویلیو (0-1023 سے 0-255) میں اور ان کو متغیر میں اسٹور کریں:
int trans = map (pwmval، 0،1023،0،255)؛
اگلا D10 کو پن کرنے کے لئے ینالاگ ویلیو (PWM) لکھیں جہاں ایل ای ڈی انوڈ منسلک ہے:
ینالاگ رائٹ (لیڈپین ، تبدیل)؛
ان PWM ویلیو کو 16x2 LCD ڈسپلے استعمال میں پرنٹ کرنے کے لئے
lcd.setCursor (0،0)؛ lcd.print ("ماسٹر سے PWM")؛ lcd.setCursor (0،1)؛ lcd.print (بدلیں)؛
سیریل مواصلات RS485 کے ساتھ ایل ای ڈی کی چمک کو کنٹرول کرنا
جب PWM ویلیو پوٹینومیٹر کا استعمال کرتے ہوئے 0 پر سیٹ کی جاتی ہے تو ، ایل ای ڈی کو آف کر دیا جاتا ہے۔
اور جب PWM ویلیو پوٹینومیٹر کا استعمال کرتے ہوئے 251 پر سیٹ کیا جاتا ہے: ایل ای ڈی پوری چمک کے ساتھ آن آف کردی جاتی ہے جیسا کہ نیچے کی تصویر میں دکھایا گیا ہے:
لہذا اس طرح آرڈوینو میں سیریل مواصلات کے لئے RS485 استعمال کیا جاسکتا ہے ۔