به جرات میتوان گفت RS485 از مهمترین و پرکاربردترین استانداردهای صنعتی و حتی تجاری است که به منظور ارتباط میان چندین وسیله مختلف مورد استفاده قرار می گیرد. طراحان بسیاری در محصولات صنعتی خود از مدار این استاندارد ارتباطی استفاده می کنند که گاها به اندازه کافی موارد مربوط به مقابله با نویز، مقاومت ترمینیشن ( Termination )، ولتاژ گذرا، ایزوله سازی و … رعایت نمی کنند. به همین علت در این مطلب به بررسی نکات لازم و ضروری در طراحی مدار استاندارد ارتباطی RS485 به صورت صنعتی می پردازیم.
معرفی استاندارد RS485
یکی از استاندارد های ارتباطی سریال می باشد که توسط مجمع آمریکایی TIA تحت عنوان استاندارد TIA-485 در سال 1998 به ثبت رسیده و مورد استفاده اکثر سازندگان محصولات صنعتی و تجاری قرار گرفته است. مهمترین ویژگی استاندارد ارتباطی RS485 تفاضلی بودن سیگنال ها در آن می باشد که باعث کاهش نویز پذیری و در نتیجه افزایش طول کابل و سرعت ارتباط می شود. به منظور توضیحات بیشتر و تفاوت آن با استاندارد های ارتباطی دیگر نظیر RS232، RS422، RS423 به مطلب زیر مراجعه نمایید.
آموزش کامل راه اندازی استانداردهای RS232 ، RS422 ، RS423 و RS485 در ارتباط سریال UART
کاربردهای استاندارد RS485
از کاربردهای این استاندارد میتوان به موارد زیر اشاره کرد:
- ارتباط میان دو یا چند وسیله میکروکنترلری
- ارتباط میان یک وسیله میکروکنترلری با کامپیوتر
- ارتباط میان یک وسیله میکروکنترلری با PLC
- شبکه سازی میان چندین وسیله مختلف
انواع ماژول های RS485 موجود در بازار
برای اینکه بتوانید از قابلیت شبکه سازی میان دو یا چند میکروکنترلر در بستر RS485 استفاده کنید نیاز به یک ماژول مبدل RS485 به TTL می باشد. که طرف TTL آن به واحد UART میکروکنترلر ( RX و TX و GND ) و طرف RS485 آن به کابل RS485 که شامل سه سیم A و B و GND می شود متصل می گردد. در بازار دو نوع مختلف این ماژول مبدل یافت می شود که در تصویر زیر آن ها را مشاهده می کنید. در ماژول سمت راست از قطعات محافظتی استفاده نشده است و به راحتی می سوزد. اما در ماژول سمت چپ از چند دیود و فیوز جهت محافظت استفاده شده است. هرچند که ماژول سمت چپ صنعتی تر می باشد اما برای استفاده در وسایل صنعتی ایده آل نیست چرا که اقدامات مربوط به نویز و الکتریسیته ساکن در آن به طور کامل رعایت نشده است.
به منظور اتصال RS485 به کامپیوتر که میتواند جهت ارتباط یک وسیله میکروکنترلری، یک PLC یا هر وسیله دیگری به کامپیوتر استفاده شود، از مبدل RS485 به USB استفاده می شود. این مبدل ها دارای دو بخش است. یک بخش برای تبدیل RS485 به TTL و بخش دوم برای تبدیل TTL به USB می باشد. دو نوع مختلف این ماژول های مبدل که در بازار یافت می شود در شکل زیر آورده شده است. ماژول سمت چپ طبق تجربه شخصی من عملکرد بهتری داشته است.
توپولوژی و معماری شبکه RS485
از نظر توپولوژی، شبکه RS485 یک شبکه باس ( Bus ) می باشد. در شبکه های با توپولوژی باس تنها دو وسیله حق دارند با یکدیگر صحبت کنند. در صورتی که بیش از دو وسیله در چنین شبکه ای بخواهند با یکدیگر صحبت کنند تصادم یا Collision رخ می دهد. تصادم منجر به از دست رفتن دیتا می گردد. برای جلوگیری از تصادم میتوان از معماری شبکه های Master/Slave استفاده کرد. در این گونه شبکه ها یک Master و تعدادی Slave وجود دارد که Master درخواست خود را به یکی از Slave هایی که خود انتخاب کرده است ارسال می کند و پاسخ مورد نظر را از آن وسیله دریافت می کند. سپس به سراغ وسیله بعدی می رود. این معماری باعث می شود که قدرت انتخاب Slave در دست Master باشد تا از بروز تصادم و از دست رفتن دیتا جلوگیری شود.
معرفی آی سی های RS485
معروف ترین آی سی که به منظور تبدیل پورت سریال (به آن UART یا TTL هم گفته می شود) به RS485 استفاده می شود، MAX485 نام دارد. این آی سی و پایه های آن را در شکل زیر مشاهده می کنید.
همانطور که مشاهده می شود، این آی سی دو پایه VCC و GND برای تغذیه دارد. پایه A همان پایه +D یا پایه ورودی/خروجی سمت مثبت RS485 است. پایه B همان پایه -D یا پایه ورودی/خروجی سمت منفی RS485 است. پایه DI مخفف Driver input می باشد که بایستی به پایه TX میکروکنترلر وصل شود. پایه RO مخفف Receiver output می باشد که بایستی به پایه RX میکروکنترلر وصل شود. دو پایه DE که مخفف Driver enable و RE# که مخفف Receiver enable به منظور تعیین جهت ارتباط (دریافت/ارسال) مورد استفاده قرار می گیرد. از آن جایی که این آی سی half-duplex هست همزمان نمیتواند ارسال/دریافت را انجام دهد و باید توسط این دو پین جهت انتقال دیتا مشخص شود. به علت این که پین DE به صورت Active high و پین RE به صورت Active Low می باشد میتوان این دو پین را به هم وصل کرد و به یکی از پایه های GPIO میکروکنترلر متصل نمود. شکل زیر نحوه این اتصال را نشان می دهد. بنابراین اگر پایه IO در شکل زیر 0 باشد در حالت دریافت دیتا و اگر 1 باشد در حالت ارسال دیتا هستیم. در وسیله Master زمانی که می خواهد برای slave درخواست بفرستد این پایه را 1 می کند و سپس 0 می کند تا بتواند پاسخ را از سمت slave دریافت کند. در وسیله Slave این پایه همیشه 0 است و تنها زمانی که درخواستی برای او ارسال شود یک لحظه 1 می شود تا جواب درخواست برای Master ارسال شود.
مدار مبدل RS485 به TTL
شماتیک یک نوع ماژول RS485 به TTL که در بالا انواعی از آن معرفی شد، در شکل زیر نشان داده شده است. همانطور که مشاهده می کنید از آی سی MAX3485 استفاده شده است که یک مبدل سریال به RS485 با تغذیه 3.3 ولت است. همچنین این مدار دارای مقاومت ترمینیشن 120 اهم و دو عدد مقاومت محافظتی 1K می باشد. همچنین جهت محافظت از ولتاژ گذرا از آی سی SM712 استفاده شده است که برای کاربردهای معمولی مناسب است. دو عدد فیوز 0.5 آمپر برای مواقعی که جریان کشی اتفاق می افتد قرار داده شده است که جهت محافظت از آی سی MAX3485 می باشد. به جای این فیوز ها میتوان از مقاومت 10 اهم نیز استفاده کرد چرا که این مقاومت با جریان کشی سریع می سوزد و مدار باز می شود و از جریان کشی و سوختن آی سی MAX3485 جلوگیری می کند.
مدار مبدل RS485 به USB
شماتیک یک نوع ماژول RS485 به USB که با استفاده از مبدل USB به سریال FT232 طراحی شده است در شکل زیر نشان داده شده است. همانطور که مشاهده می کنید، به همان مدار مبدل RS485 به سریال بالا یک بخش جدید اضافه شده است که برای تبدیل سریال به USB می باشد. از آی سی مبدل USB به سریال FT232RL استفاده شده است که خود این آی سی کنترل پایه های DE و RE# را به طور اتوماتیک در دست می گیرد.
طراحی ارتباط RS485 در صنعت
همواره در محیط های صنعتی بایستی اقداماتی در نظر گرفته شود که کیفیت ارتباط را افزایش داده و خطا و خرابی های مدار را کاهش دهد. خصوصا اگر مدار کاربرد ایمنی داشته باشد یعنی در ناحیه بحرانی از سیستم قرار داشته باشد. منظور از ناحیه بحرانی جایی است که در صورت بروز اشکال سیستم عملکرد ایمنی لازم را نتواند انجام دهد. در این صورت بایستی از مدارهای مقاوم در برابر خطا و خرابی استفاده شود. ایمنی عملکرد ( functional safety ) در سیستم های خودرویی، نفت و گاز، مهندسی پزشکی، راه آهن و به طور کلی در صنایعی که خرابی سیستم برای آن صنعت هزینه مالی زیاد داشته باشد یا جان افراد در خطر قرار گیرد. پروتکل RS485 به طور ذاتی برای سیستم های مقاوم در برابر خطا طراحی نشده است و تنها در صورت رعایت اقدامات امنیتی در طراحی سیستم می تواند در سیستم های بحرانی-ایمنی استفاده شود. در غیر این صورت استفاده از پروتکل های بهتری نظیر CAN Bus که ذاتا توانایی مدیریت اشکالات و خرابی های سیستم را دارد، توصیه می گردد.
به منظور طراحی مدار RS485 برای کاربردهای صنعتی که نیاز هست در شرایط سخت به کار خود ادامه دهند، بایستی از قطعات دیگری علاوه بر قطعات فوق استفاده شود. این قطعات باعث ایزوله سازی تغذیه و ایزوله سازی سیگنال های میکروکنترلر می شود. این کار بوسیله استفاده از دو ولتاژ 3.3 ولت و ایزوله سازی آن دو از یکدیگر صورت می گیرد. از دیودهای TVS جهت محافظت از ولتاژ گذرا در این مدار استفاده شده است. همچنین استفاده از اپتوکوپلر در مدار موجب ایزوله سازی سیگنال های میکروکنترلر از سمت RS485 می شود. همچنین قطعاتی نظیر TBU و GDT در این مدار معرفی شده و استفاده می شود. سورس کامل این مدار در نرم افزار آلتیوم دیزاینر از طریق لینک زیر در دسترس می باشد. این یک مدار کاملا تخصصی و تست شده است که انتشار رایگان آن امکان پذیر نبود.
محتویات سورس پروژه ارتباط RS485 به صورت صنعتی:
- سورس شماتیک ارتباط RS485 صنعتی در نرم افزار آلتیوم ( Altium Designer )
- آموزش انواع پروتکل های سریال از جمله RS485 در قالب PDF
دیدگاهتان را بنویسید