Automotive - خودرویی, توصیه شده, مقاله

آشنایی با رابط OBD-II یا دیاگ در خودرو – قسمت اول

سیسوگ و ماشیناریوم در حال دیاگ خودرو
در دنیای امروز تقریباً میشه گفت همه چیز الکترونیکی شده. حتی موتور خودروهایی که با سوخت فسیلی کار می‌کند هم دارای یک کامپیوتر و کنترل کننده هوشمند هستند. شاید به ذهن شما هم رسیده باشد که آیا میشه به کامپیوتر خودرو متصل شد و به اون دستور داد؟ خبر خوش! بله، کامپیوتر خودرو هم مثل خیلی از وسایل دیگه زبان مختص به خودش رو داره و شما از این طریق می تونید با خودروی خودتون صحبت کنید! در این مقاله قصد داریم تا ابتدا با مقدماتی درباره پروتکل OBD-II یا همان دیاگ که در خودرو و بسیاری از ماشین‌های صنعتی کاربرد دارد، آشنا شویم، سپس در ادامه به یک خودرو متصل شده و اطلاعاتی را از روی ECU آن می‌خوانیم. با این آموزش از سیسوگ همراه باشید.   OBD، مخفف عبارت On-Board Diagnostics و به منظور عیب یابی از خودرو، بدون باز کردن اجزای مختلف اون هست. OBD-II هم نسخه دوم ارائه شده این پروتکل هست که نسبت به نسخه‌های قبلی خودش خیلی بهبود پیدا کرده.  
هشدار: در برخی از کشورها، دست‌کاری دیاگ و تغییر اطلاعات آن جرم بوده و پیگرد قانونی دارد. ما در این مقاله تنها اطلاعات عمومی در مورد دیاگ و خواندن اطلاعات از آن را به شما آموزش می‌دهیم. به‌طور کلی مسئولیت هرگونه استفاده از مطالب، خسارت احتمالی و… به عهده‌ی خواننده می‌باشد.
 

تعریف دیاگ

دیاگ چیست و چرا اهمیت دارد؟
بر اساس تعریف وب سایت سازمان حفاظت محیط زیست: Diagnostics On-Board یا “OBD” یک سیستم مبتنی بر رایانه است که مطابق با قانون اصلاحات هوای پاک در سال 1990 در کلیه وسایل نقلیه و کامیون‌های سبک از سال 1996 به بعد الزامی شده است. سیستم‌های OBD برای نظارت بر عملکرد برخی اجزای اصلی موتور از جمله آنهایی که مسئول کنترل آلایندگی هستند، ساخته شده‌اند.
به عبارت دیگر، OBD زبان واحد کنترل موتور (ECU) است و به منظور کمک به مبارزه با تولید گازهای گلخانه‌ای و خرابی موتور طراحی شده است. صرفه جویی خیلی خوبه، اما دیاگ فقط برای این کار ساخته نشده و این به این معنیه که ما می تونیم به سایر ویژگی‌های خودرو هم دسترسی پیدا کرده و از اون قسمت اطلاعات جمع آوری کنیم. همین‌طور شما با استفاده از دیاگ می تونید بفهمید که وقتی چراغ Check روشن میشه، در موتور شما چه مشکلی وجود داره. اگه تاحالا چراغ چک ماشین تون روشن شده و شما اون رو به یک مکانیک نشون دادین و کد خطا رو برای شما گفتن، بدونید که از دستگاه دیاگ و با پروتکل OBD-II این موضوع کشف شده. متأسفانه، خیلی از پروتکل‌های واقعی به صورت عمومی در دسترس قرار نگرفته‌اند، مگه اینکه منبع باز باشند! ما سعی کردیم تا حد امکان اطلاعات کافی جمع آوری کرده و این موضوع رو برای شما شفاف سازی کنیم.  

سخت افزار

هرگونه وسیله نقلیه که از سال 1996 به بعد ساخته شده باشه، طبق قانون لازمه که سیستم رایانه‌ای OBD-II رو داشته باشه. شما می‌تونید از طریق اتصال داده DLC به این سیستم دسترسی پیدا کنید. DLC یک کانکتور 16 پینه، اما همه ی پین های اون توی خودرو شما استفاده نمیشه. بسته به اینکه کدوم پین ها سیم داره، می‌تونید به اینکه پروتکل خودروتون چیه پی ببرید. کانکتور DLC دیاگ OBD-II در چیپ چروکی

محل کانکتور DLC در جیپ چروکی مدل 1998

معمولاً دیاگ زیر داشبورد، جایی که راننده میشینه قرار داره. توی اکثر ماشین‌ها مثل پراید، توی جعبه فیوز هست و برای رسیدن به اون نیازی نیست پیچی باز به شه و فقط کافیه در پانل اون رو باز کنید.  

واژه شناسی

قبل از اینکه وارد جزییات بشیم، لازمه تا با بعضی از اصطلاحات و کلمه‌های کلیدی آشنا باشیم.  

موتور / واحد کنترل الکترونیکی (ECU: Engine Control Unit)

ECU می‌تواند تنها به یک ماژول یا مجموعه‌ای از ماژول‌ها متصل شود. این مجموعه، مغز وسیله نقلیه شماست. این ماژول‌ها کارکرد بسیاری از قسمت‌های خودرو را مشاهده و کنترل می‌کنند. برخی از آن‌ها نیز قابلیت برنامه ریزی مجدد را دارند. ویژگی‌های قابل تنظیم در ECU می‌تواند به کاربر اجازه دهد تا عملکرد موتور را برای کاربرد مورد نظر خود بهینه سازی کند. همچنین سطوح مختلف مختلف اقتصادی نیز ایجاد کند. برای مثال، خودروهایی که حالت “Economic” یا “اقتصادی” دارند، با انتخاب آن حالت، تغییراتی در ECU نیز اعمال می‌شود. در خودروهای جدید، اکثر ماژول‌ها معمولاً میکروکنترلری هستند.  

ماژول کنترل موتور (ECM: Engine Control Module)

این کنترل کننده مربوط به موتور خودرو است و مواردی مانند زمان احتراق، نسبت هوا به سوخت، دور موتور و… را اندازه گیری و تحت تأثیر قرار می‌دهد.  

ماژول کنترل وسیله نقلیه (VCM: Vehicle Control Module)

نام دیگر همان ماژول کنترل موتور می‌باشد.  

ماژول کنترل انتقال (TCM: Transmission Control Module)

این ماژول گیربکس را تحت تأثیر قرار می‌دهد. مواردی مانند دمای سیال انتقال، موقعیت دریچه گاز و سرعت چرخ.  

ماژول کنترل قدرت (PCM: Powertrain Control Module)

این ماژول ترکیبی از ECM و TCM می‌باشد. در واقع این ماژول، قدرت موتور شما را کنترل می‌کند.  

ماژول کنترل ترمز الکترونیکی (EBCM: Electronic Brake Control Module)

این ماژول داده‌ها را از سیستم ترمز ضد قفل (ABS) خوانده و کنترل می‌کند.  

ماژول کنترل بدنه (BCM: Body Control Module)

این ماژول کنترل کننده ویژگی‌های بدنه خودرو مانند شیشه بالابر برقی، صندلی‌های برقی و… می‌باشد.  

کد عیب یابی تشخیصی (DTC: Diagnostic Trouble Code)

در سیستم OBD-II از این کدها توسط استاندارد SAE تعریف و برای توصیف محل وقوع مشکل در وسیله نقلیه استفاده می‌شوند. برای دریافت لیست کاملی از این کدها، می‌بایست به سایت اصلی هزینه‌ای پرداخت کنید و سپس آن‌ها را دانلود کنید. اما برخی از آن‌ها نیز در اینترنت موجود هستند. این کدها می‌توانند عمومی یا منحصر به فرد برای سازنده خودرو باشند. کدهای خطا در دیاگ معمولاً از قالب زیر استفاده می‌کنند:

XXXXX

اولین عدد نوع خطا را مشخص می‌کند:

  • Pxxxx برای پیشرانه
  • Bxxxx برای بدنه
  • Cxxxx برای شاسی
  • Uxxxx برای شبکه کلاس 2

رقم دوم نشان می‌دهد که کد منحصر به فرد تولید کننده است یا خیر:

  • x0xxx جزء کدهای دولتی می‌باشد
  • x1xxx کد خاص تولید کننده می‌باشد
سه رقم انتهایی، بسته به نوع خطا (عدد اول) متفاوت هستند. برای مثال برای پیشرانه (کد خطای شروع شده با P) به شکل زیر می باشد:

رقم سوم به ما نشان می‌دهد که کد به مشکل در کدام سیستم اشاره دارد:

  • xx1xx / xx2xx اندازه گیری های هوا و سوخت
  • xx3xx سیستم احتراق
  • xx4xx سیستمهای مربوط به کنترل آلایندگی
  • xx5xx کنترل سرعت/بیکاری
  • xx6xx با سیستم های رایانه ای سرو کار دارد
  • xx7xx / xx8xx سیستم انتقال
  • xx9xx مشاهده و کنترل سیگنالهای ورودی و خروجی

رقم چهار و پنج کد مشکل یا شکست خاصی را نشان می‌دهد.

  • xxx00 تا xxx99 – این کدها مربوط به قسمتی هستند که در رقم سوم کد خطا تعریف شده‌اند.
  این موضوع را بطورخلاصه میتوانید در تصویر زیر مشاهده کنید: تشریح کد عیب یابی تشخیصی دیاگ

 

شناسه های پارامتر تشخیصی (PID)

کدهایی هستند که برای درخواست داده از وسیله نقلیه استفاده می شوند و به عنوان یک ابزار تشخیصی مورد استفاده قرار می گیرند. اطلاعات به درد بخوری که می‌توانید از سیستم OBD-II خارج کنید اینجاست! PIDها شبیه به رقم سوم در DTCها هستند و تعاریف مختلفی برای پارامترهای مختلف دارند. همه PIDها در همه پروتکل‌ها پشتیبانی نمی‌شوند و می‌توان چندین PID اختصاصی و منحصر به فرد برای هر تولید کننده در نظر گرفت. متأسفانه در این مورد اطلاعات زیادی منتشر نشده است. بنابراین ممکن است شما نیاز به انجام راهکارهایی مثل شکار، شنود و یا مهندسی معکوس داشته باشید تا مشخص کنید که هر PID به کدام سیستم مربوط می‌شود. برای کسب اطلاعات بیشتر در این مورد، میتونید به صفحه ویکی‌پدیا‌ی PID مراجعه کنید.    

لامپ نشانگر نقص – چراغ چک یا

CHECK ENGINE LIGHT (MIL: Malfunction Indicator Light/Lamp)

چراغ چک همان نور وحشتناکی است در کیلومتر نمایان می‌شود! معمولاً نشان دهنده مشکلی در ماشین است. تعابیر مختلفی برای آن وجود دارد، اما همه آنها نشان دهنده خطایی هستند که توسط پروتکل OBD-II پیدا شده است. در این حالت شما باید با استفاده از دستگاه دیاگ، به مشکل خودرو خود پی ببرید. این چراغ در خودروهای مختلف اشکال مختلفی دارد. چراغ دیاگ یا mil چراغ دیاگ یا چک انجین  

رابط یا کانکتور DLC (DLC: The data link connector)

DLC رابط چند پایه ای است که در خودروها، کامیون‌ها و موتورسیکلت‌ها استفاده می شود تا از طریق آن، ابزار های اسکن با قرارداد (پروتکل) های متفاوت متصل شوند. از طریق این درگاه، می‌توان به ماژول کنترل دستگاه مورد نظر دسترسی پیدا کرد تا به‌صورت داخلی آن را عیب یابی کرد و یا اطلاعات را به‌صورت جریانی (استریم – Stream) دریافت کرد.  

پروتکل‌های OBD-II

پنج پروتکل ارتباطی مختلف تحت مشخصات OBD-II وجود دارد. مثل خیلی چیزای دیگه، تولید کنندگان تمایل دارند که ترجیحات خودشون رو داشته باشند و فکر می‌کنند که پروتکل اون‌ها بهترین پروتکل دنیاست!! برای همین هم به جای یک نوع پروتکل، چند تا وجود دارد. با توجه به اینکه کانکتور 16 پین DLC در خودرو شما از کدام سیم‌ها برای ارتباط استفاده می‌کند، نوع پروتکل ارتباطی خودرو شما مشخص می‌شود. البته در حال حاضر اکثر خودروها از CAN استفاده می‌کنند. در پروژه FMS Reader به همراه شماتیک، PCB و فایل برنامه از وب سایت سیسوگ، شما میتوانید از طریق پروتکل CAN به خودرو متصل شوید. در اینجا یک به‌صورت اجمالی در مورد هر یک از پروتکل‌ها و پین‌های مورد استفاده در DLC، توضیحاتی را برای شما آورده‌ایم.  

پروتکل SAE J1850 PWM

این پروتکل اطلاعات را با سیگنال PWM(Pulse Width Modulation) ارسال می‌کند. سرعت انتقال اطلاعات در این روش 41.6 کیلوبیت بر ثانیه می‌باشد. این پروتکل معمولاً در وسایل نقلیه فورد استفاده می‌شود. SAE-J1850-PWM در رابط OBD-II  

پروتکل SAE J1850 VPW

سیگنال اطلاعات این پروتکل، دارای عرض پالس متغیر است و با سرعت 10.4 کیلوبیت بر ثانیه اطلاعات را منتقل می‌کند. وسایل نقلیه GM به طور معمول از این نسخه استفاده می‌کنند. SAE-J1850-VPW در رابط OBD-II  

پروتکل ISO 9141-2

خودروهای کرایسلر، اروپایی و آسیایی بیشتر از این پروتکل استفاده می‌کنند. اطلاعات در این روش با سرعت 10.4 کیلوبیت بر ثانیه انتقال می‌یابد و ارتباط سریال غیر همزمان است. این پروتکل از UART برای انتقال اطلاعات استفاده می‌کند. اما لایه فیزیکی در این انتقال متفاوت است. بنابراین، شما نمی‌توانید مستقیماً (بدون استفاده از آی سی) از طریق رابط OBD-II با پورت سریال کامپیوتر به آن متصل شوید. ویژگی های پروتکل ISO-9141-2 در رابط OBD-II  

پروتکل ISO 14230 KWP2000

نام این پروتکل مخفف عبارت Keyword Protocol 2000 می‌باشد. یکی دیگر از روش‌های ارتباط سریال غیر همزمان است که با سرعت 10.4 کیلوبیت بر ثانیه اطلاعات را انتقال می‌دهد. این پروتکل همچنین در وسایل نقلیه کرایسلر، اروپایی یا آسیایی استفاده می‌شود. ویژگی های پروتکل ISO-14230-KWP2000 در رابط OBD-II  

پروتکل ISO 15765 CAN

این پروتکل از سال 2008 به بعد در کلیه وسایل نقلیه فروخته شده در ایالات متحده اجباری شده است. با این حال، اگر از سال 2003 یا بعد از آن اتومبیل اروپایی دارید، ممکن است CAN باشد. روش ارتباطی دوسیم (two-wire) است و تا حداکثر یک مگابیت در ثانیه می‌تواند اطلاعات را منتقل کند. ویژگی های پروتکل ISO-15765-CAN در رابط OBD-II   تصویر زیر درک خوبی از پروتکل های مختلف دیاگ در رابط OBD-II به شما می‌دهد: پین اوت رابط OBD-II   در قسمت دوم این آموزش، تلاش می‌کنیم تا به‌وسیله رابط OBD-II به یک خودرو متصل بشیم و اطلاعاتی رو از روی اون بخونیم.
امیدوارم این آموزش برای شما مفید بوده باشه.
قسمت بعدی مقاله سیسوگ را در مورد پروتکل K-Line از دست ندهید.

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

28 دیدگاه در “آشنایی با رابط OBD-II یا دیاگ در خودرو – قسمت اول

  1. عبداله گفت:

    با سلام
    ممنونم از اطلاعات عالی و مفیدی که در اختیارمون گذاشتین.
    ببخشید برای من که تیبا ۲ دارم،به نظرتون چه نوع دیاگی خوبه برای وصل شدن به موبایل می خواستم.
    تشکر🌺

    1. زئوس Zeus زئوس Zeus گفت:

      فکر میکنم همین دیاگ های elm گزینه های خوبی باشن

  2. قاسم عباسی گفت:

    اطلاعاتتون فوق العاده بود…. هرچند ممکنه هیچوقت به کار من نیان ولی به عنوان یک شخص فنی ازشون لذت بردم….

    فقط یه سوال دارم که در واقع دنبال جوابش بودم که پیجتونو دیدم… دنبال یک دیاگ بلوتوثی ارزون میگشتم که مناسب برای سمند سورن مالتی پلکس با موتور EF7 زیمنس باشه…
    سپاسگزار میشم راهنمایی کنین

    1. Digi Boy Digi Boy گفت:

      درود بر شما.
      دیاگ ELM327 (بلوتوثی یا سیمی) احتمال زیاد با اکثر خودرو ها کار میکنه و قیمت مناسبی هم داره.

  3. نیما گفت:

    واقعا وبسایتتون حرف نداره گاهی من توی گیتهاب یا جا هی دیگه که خیلی معروفن یه مطلبو زیرو رو کردم.ولی واقعا به شخصه دو تا از سوال های بزرگم رو این جا جواب گرفتم .دستتون درد نکنه خسته نباشید

    1. Digi Boy Digi Boy گفت:

      خیلی ممنون!
      با معرفی سیسوگ به دوستانتون می تونید از ما حمایت کنید.

  4. داوود گفت:

    سلام
    اطلاعات فنی خیلی خوبی در مورد دیاگ دادید خیلی ممنون. منتظر قسمت بعد هستیم

    1. Digi Boy Digi Boy گفت:

      درود برشما. خواهش می‌کنم.

  5. علیرضا گفت:

    سلام
    خیلی خیلی عالی و در عین حال ساده توضیح دادید.

    1. Digi Boy Digi Boy گفت:

      درود برشما، ممنون.

  6. مهرداد گفت:

    سلام خیلی عالی بود من همیشه فکر میکردم خودرو ها فقط با can وصل میشن ممنون.

    1. Digi Boy Digi Boy گفت:

      درود مهرداد عزیز، قابلی نداشت.

  7. فرهاد گفت:

    سلام.. عالی بود
    منتظر قسمت بعد هستم
    ممنون

    1. Digi Boy Digi Boy گفت:

      سلام. خواهش میکنم. ما هم منتظر شما هستیم.

  8. حسین گفت:

    سلام.
    مقاله بسیار جالبی بود .
    منتظر قسمت دوم هستم.
    سپاس.

    1. Digi Boy Digi Boy گفت:

      درود بر شما. ممنون.

  9. محمد گفت:

    سلام واقعا جدای از مطلب خوبتون تصویر خیلی باحالی طراحی کردید. یاد خاطرات بازی ماشیناریوم افتادم.

    1. Digi Boy Digi Boy گفت:

      ممنون، نظر لطف شماست!

  10. امیر گفت:

    سلام
    ممنونم بابت مقاله ی خیلی خوب شما.
    اگر در رابطه با ماژول های رابط OBD-II موجود در بازار و نحوه ی ارتباط شون با spi یا uart هم بنویسید خیلی کاربردی تر میشه.
    من یه مطلب انگلیسی در این رابطه خوندم خیلی بد توضیح داده بود.
    Mcp2515 و tja1050 رو میگم.

    1. Digi Boy Digi Boy گفت:

      درود بر شما. با سیسوگ همراه باشید، در قسمت (یا قسمت های) بعدی اطلاعات بیشتری را در این زمینه منتشر خواهم کرد.

  11. Akam گفت:

    سلام خسته نباشید
    مطلب جالبی بود منتظر قسمت های بعدیش هستیم👍😀

  12. رضا گفت:

    سلام خیلی خیلی عالی و خوب توضیح دادید.

    1. Digi Boy Digi Boy گفت:

      درود بر شما.
      سپاسگزارم.

  13. سهیل گفت:

    عالی بود
    لطفا راه اندازی پروتکل K-Line خودرهای ایرانی هم آموزش بدید

    1. Digi Boy Digi Boy گفت:

      درود بر شما.
      K line پروتکل جدایی نیست. در واقع اگر دقت کنید k line یکی از خطوط ارتباطی در پروتکل های ISO 9141-2 و KWP2000 هست. لطفا به تصاویر این دو پروتکل در آموزش دقت کنید.
      متشکرم.

      1. سهیل گفت:

        سلام
        ممنون از پاسختون
        حرف شما درسته اما نحوه راه اندازی چطور مثلا بتونیم سرعت یا دور موتور خودروی پراید رو بخونیم با این روش

        1. Digi Boy Digi Boy گفت:

          درود بر شما.
          در قسمت های بعدی آموزش، در مورد k line بیشتر توضیح خواهم داد.