آشنایی با رابط OBD2 یا دیاگ در خودرو - قسمت دوم - آشنایی با پروتکل K-Line

blog
۱۳۹۸-۱۰-۱۰
9 دقیقه

در قسمت قبل، با مقدماتی درباره پروتکل‌های مختلف در رابط OBD-II آشنا شدیم. همچنین آموختیم که OBD2 صرفاً یک درگاه نیست، در واقع یک interface یا رابط 16 پین است که همه‌ی پین‌های آن همزمان استفاده نمی‌شود و در خودروهای مختلف با توجه به نوع پروتکل، سیم‌های مورد استفاده مشخص می‌شود. مشخصات پنج پروتکلی که تحت OBD2 بودند را نیز بررسی کردیم. حال در این مقاله قصد داریم تا با جزئیات بیشتری از پروتکل K-Line آشنا شده و نحوه برقراری ارتباط، ارسال و دریافت اطلاعات در این پروتکل را بررسی کنیم.

سامانه ECU سیسوگ

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

 

هشدار: در برخی از کشورها، دست‌کاری دیاگ و تغییر اطلاعات آن جرم بوده و پیگرد قانونی دارد. ما در این مقاله تنها اطلاعات عمومی در مورد دیاگ و خواندن اطلاعات از آن را به شما آموزش می‌دهیم.

شاید برای شما مفید باشد: پروتکل Matter

هشدار: از آنجایی که قسمت‌های زیادی از این مطلب به‌صورت متن باز در دسترس عموم قرار نداشت، اطلاعات زیر از طریق منابع مختلف و تست‌های مکرر جمع آوری شده‌اند. با وجود اینکه عملکرد کدها تست شده‌اند، اما سیسوگ هیچ‌گونه مسئولیتی در قبال صحت، عملکرد و… مطالب زیر ندارد. به‌طور کلی مسئولیت هرگونه استفاده از مطالب، خسارت احتمالی و… به عهده‌ی خواننده می‌باشد.

 

CAN

در ایران، خودروهایی که مالتی پلکس شده‌اند، مثل 206 و L90 از این نوع پروتکل استفاده می‌کنند. در مورد این پروتکل، قبلاً در سیسوگ به طور مفصل توضیح داده شده است، بنابراین توصیه می‌کنم برای مطالعه این پروتکل از مقاله آشنایی و راه‌اندازی پروتکل CAN با استفاده از STM32 استفاده کنید. در این مقاله، به بررسی پروتکل ارتباطی CAN، مختصری از نحوه‌ی پیکربندی (کانفیگ) اولیه آن، فریم‌های ارسالی، نحوه اولویت بندی پیام‌ها، سیم‌کشی شبکه‌ی CAN و… به زبان ساده توضیح داده شده است. سخت افزار مورد استفاده در این آموزش STM32 است. اما توضیحات پروتکل CAN در ابتدای مقاله، ارتباطی با این موضوع ندارد و شما بر روی هر نوع میکروکنترلری که کار می‌کنید، می‌توانید این مقاله را مطالعه کنید.

پس از مطالعه اصول اولیه پروتکل CAN، مقاله آموزشی که در مورد توضیحات مربوط به حکمیت و خطاهای ارسال و دریافت در ارتباط CAN_BUS می‌باشد نیز می‌تواند به شما در درک بهتر لایه CAN کمک کند. حال با انجام پروژه عملی FMS READER شما تقریباً می‌توانید یک دیاگ اختصاصی خودتان را برای این پروتکل بسازید! با خواندن اطلاعات ECU خودرو از درگاه CAN می‌توانید به اطلاعات حیاتی خودرو مثل: وزن محور (کیلوگرم)، میزان کل مصرف سوخت (لیتر)، میزان سطح سوخت (درصد)، سرعت موتور، سرعت خودرو (مطابق با لاستیک خودرو) و… دست پیدا کنید.

 

نکته ای در مورد تراشه MCP2551 و tja1050

تراشه MCP2551 و tja1050 از معروف‌ترین تراشه‌ها برای استفاده در پروتکل CAN هستند. اما نکته‌ای که برای استفاده از این تراشه‌ها وجود دارد و شاید ندانستن آن وقت و انرژی بسیاری را از شما بگیرد، این است که این تراشه‌ها مبدل CAN BUS به UART نیستند! اگر به pinout این تراشه دقت کنید، یک طرف CAN H و CAN L است و طرف دیگر Tx و Rx. این موضوع باعث می‌شود که شما اشتباهاً فکر کنید این تراشه رابط سریال است! اما هر گردی گردو نیست! از آنجایی که لایه فیزیکی CAN BUS تفاضلی است، این تراشه‌ها ولتاژ را به جریان تبدیل می‌کنند.

تراشه MCP2551 در CAN

 

آشنایی با رابط OBD2 یا دیاگ در خودرو - قسمت دوم - آشنایی با پروتکل K-Line

منظور از Tx و Rx در واقع CAN_TX و CAN_RX بوده است. بنابراین این تراشه فقط هنگامی در مدار استفاده می‌شود که خود میکرو شما نیز از CAN پشتیبانی کند. چون این قسمت از مدار به جریان بیشتری لازم داشته، به همین خاطر آن را در داخل خود میکرو جاسازی نکرده‌اند. البته ماژول‌هایی وجود دارند که کار تبدیل CAN به UART را انجام می‌دهند، اما بهتر است از میکرویی استفاده کنید که خود دارای CAN باشد.

 

K-Line

K-Line معمولاً در اکثر خودروهای ایرانی مثل پراید مورد استفاده قرار می‌گیرد. K-Line خود پروتکل مجزایی نیست، بلکه نام یکی از خطوط ارتباطی در دو پروتکل ISO 9141-2 و ISO 14230 KWP2000 می‌باشد. ارتباط این دو سیم، بسیار شبیه به Tx و Rx در انتقال سریال غیر همزمان است، اما تفاوت‌هایی نیز در سطح ولتاژ و دیگر ویژگی‌ها با UART دارد. به پین‌ها و ویژگی‌های این دو پروتکل دقت کنید:

 

ویژگی های پروتکل ISO-14230-KWP2000

KWP2000

 

ویژگی های پروتکل ISO-9141-2

ISO 9141-2

 

در هر دو پروتکل، K-Line پین شماره 7 می‌باشد و استفاده از L-line نیز در اکثر وسایل اختیاری می‌باشد. تراشه‌هایی مثل L9637D، MC33660، MC33199، MC33290 و … به راحتی خطوط K-Line را در مدار شما به Tx و Rx تبدیل می‌کنند:

تبدیل k line به سریال

 

تبدیل k line به سریال با تراشه L9637

 

شروع ارتباط با ECU

حال که مسیر ارتباط را کامل کردیم، نوبت به نحوه برقراری ارتباط با K-LINE می‌رسد. برای برقراری ارتباط اولیه یا initialize، دو راه وجود دارد: شروع سریع و شروع کند.

 

شروع سریع

برای شروع سریع یا Fast init، شما ابتدا باید ECU را از خواب بیدار کنید و به او بگویید که با آن کار دارید! برای این کار شما می‌بایست یک سیگنال Wake up مربعی به فرم زیر روی خط Tx ارسال کنید:

initialize یا راه اندازی اولیه K line

300 میلی ثانیه سیگنال یک منطقی (High)

25 میلی ثانیه سیگنال صفر منطقی (Low)

مجدداً 25 میلی ثانیه یک منطقی (High)

 

حال، تنظیمات پورت سریال خود را به این صورت تغییر دهید:

سپس بایت های زیر را روی خط Tx ارسال کنید:

0xc1 : آدرس ECU
0xf1 : آی دی وسیله ی ما
0x81 : شروع ارتباط
0x66: چک سام

سپس منتظر پاسخ ECU به فرم زیر بمانید:

بایت سوم: 0x01 : آدرس لایه فیزیکی
بایت چهارم: 0xC1
نتیجه ارتباط است که شامل دو حالت دارد:
0x7f : شکست یا fail
0xc1: موفقیت یا response ok
بایت پنجم: 0xe9 نشانگر kb1
بایت ششم: 0x8f نشانگر kb2

 

شروع کند

نحوه ارسال دیتا در شروع کند یا Slowinit در k Line به‌صورت زیر است:

راه اندازی کند ECU در k line

به مدت 300 میلی ثانیه Tx را یک کنید.

از طریق پورت سریال (Tx) و سرعت بسیار پایین 5 بادریت، بایت 0x33 را ارسال نمایید.

بهتر است بایت 0x33 را بدون استفاده از توابع کتابخانه‌ای و به صورت دستی (صفر و یکی) را ارسال کنید، پس به شکل زیر عمل کنید:

بادریت 5، یعنی در هر ثانیه 5 بیت ارسال شود، پس هر بیت در 200 میلی ثانیه ارسال می‌شود. در ارتباط سریال، ابتدا بیت با ارزش کمتر ارسال می‌شود. همچنین در ارتباط سریال، شما یک استارت بیت، دیتا، بیت پریتی (در صورت لزوم) و یک بیت پایان ارسال می‌کنید. بنابراین:

ابتدا یک استارت بیت (Start Bit) با سطح منطقی 0 و به مدت 200 میلی ثانیه ارسال کنید.

سپس 0x33 را از کم ارزش‌ترین بیت شروع به ارسال کنید. (0x33 = 0b00110011)

در انتها یک بیت پایان (Stop Bit) با سطح منطقی 1 و به مدت 200 میلی ثانیه ارسال کنید.

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

 

قالب بندی داده ها در K-Line

packet یا قالب داده‌ها برای ارسال به ECU از طریق پروتکل K-Line به شرح زیر است:

header: [0xc0+cmdlen] [destination=0x33] [source=0xf1] data: [cmd0] [cmd1] … [cmd(cmdlen-1)] checksum: [sum(header)+sum(data)]

cmd0 = service ID
cmd1 = PID

قالب دریافت داده‌ها از ECU (در صورتی که ارتباط موفقیت آمیز باشد):

header: [80+datalen] [destination=f1] [source=01] data: [40+cmd0] [cmd1] … [cmd(cmdlen-1)] [result0] [result1] … [result(datalen-cmdlen-1)] checksum: [sum(header)+sum(data)]

قالب دریافت داده ها از ECU (در صورتی که ارتباط با شکست مواجه شود) :

Received response packet on failure:
header: [80+datalen] [destination=f1] [source=01] data: [errorcode=7f] [cmd0] [Response Failure Code, see below] checksum: [sum(header)+sum(data)]

در اطلاعاتی که شامل چند بایت هستند، بایت های پر ارزش ابتدا ارسال می شوند. (دقت کنید: بایت، نه بیت!)

 

استفاده از شبیه ساز OBD2

قبل از اینکه به جان خودرو خود بیفتید و آزمایش‌هایتان را روی ECU بیچاره آن انجام دهید، بهتر است از یک شبیه ساز برای آزمایشات خود استفاده کنید تا به خودرو آسیبی نرسانید! به یاد داشته باشید آسیب زدن به ECU ممکن است برای شما خیلی گران تمام شود!! شبیه سازها در واقع یک درگاه DLC در اختیار شما قرار می‌دهند تا شما بتوانید همانند یک خودروی واقعی از طریق رابط OBD2 به آن متصل شوید. برخی از این شبیه سازها تنها برای یک پروتکل طراحی شده‌اند، در حالی که برخی دیگر توانایی شبیه سازی چند پروتکل را دارند. شبیه سازهای زیادی وجود دارد. ما سعی می‌کنیم تعدادی از آن‌ها معرفی کنیم.

 

شبیه ساز ECUsim 2000

آشنایی با رابط OBD2 یا دیاگ در خودرو - قسمت دوم - آشنایی با پروتکل K-Line

این شبیه ساز ECU توسط شرکت ScanTool طراحی و ساخته شده است.
برای شروع کار با استفاده از این شبیه ساز، باید کارهای زیر را انجام دهید:

1- یک کابل USB را به شبیه ساز و رایانه وصل کنید. درایورهای لازم را نصب کنید.

2- کابل OBD-II را به شبیه ساز وصل کنید.

3- شبیه ساز خود را از منبع تغذیه 12 ولت قطع کنید.

4- شبیه ساز را به‌وسیله کابل RS232 به پورت سریال کامپیوتر متصل کنید و در پنجره سریال تنظیمات را برروی (115200 bps, 8 bits, N, 1 stop) قرار بدهید.

5- شبیه ساز را در پروتکل مورد نظر برای آزمایش پیکربندی کنید.

6- به دستگاه ECU خود متصل شوید ( می‌توانید از OBD-II board, CAN-Bus Shield, Raspberry Pi و… هم استفاده کنید.).

حالا ما یک ECU شبیه سازی شده داریم که به کامپیوتر متصل است.
دفترچه راهنمای برنامه نویسان که همراه با این محصول است، شامل کلیه دستوراتی است که می‌توانید برای شبیه ساز استفاده کنید.
به عنوان مثال، اگر بخواهیم تعیین کنیم که شبیه ساز ما در حال حاضر برروی کدام پروتکل تنظیم شده است، از دستور SPI استفاده می‌کنیم. کافی‌ست همانند تصویر زیر، در محیط ترمینال دستور را وارد کنیم:

خواندن تنظیمات پروتکل از ECUsim 2000

این نشان می‌دهد که این شبیه ساز در حال حاضر بر روی پروتکل ISO 15765-4 یا همان CAN تنظیم شده است و با یک نوع شناسه 11 بیتی و با سرعت 500 کیلوبیت در ثانیه در حال کار است.
حالا فرض کنید می‌خواهید به دستگاه دیاگی که به وسیله رابط OBD-II به دستگاه متصل است، پیامی را ارسال کنید. در این حالت فرم دستوری به شکل زیر است:

SOMT <header>, <data>

به عنوان مثال، می‌خواهیم برای دیاگ فشار سوخت موتور 100kPa را ارسال کنیم. ما باید عبارت SOMT را به همراه شناسه پارامتر (PID) فشار سوخت که 0A است و مقدار هگز عدد 100 که 64 است، ارسال کنیم:

somt 0a, 64

ارسال پارامتر برای دیاگ

دقت داشته باشید که اگر ارتباط بین دیاگ و شبیه ساز، از طریق کابل DLC محکم نکنید، ممکن است با پیام CAN ERROR مواجه شوید.

 

شبیه ساز OBD2 نرم افزاری

سورس های زیادی در اینترنت موجود هستند که شما به وسیله آن‌ها می‌توانید OBD2 را شبیه سازی کنید. به عنوان مثال، برای شبیه سازی CAN در آردوینو، سورس پروژه ECU CAN BUS SIMULATOR در گیت هاب و شبیه ساز K-Line بر روی آردوینو نیز وجود دارد. همچنین اگر در اینترنت جستجو کنید، نمونه‌های زیاد دیگری را نیز خواهید یافت. اما هر کدام از این شبیه سازها ممکن است ایرادات خاص خود را داشته باشد و نمی‌توان روی آن‌ها به عنوان یک تقلید کننده واقعی تکیه کرد. در واقع اکثر آن‌ها به جای امولاتور (تقلیدکننده)، سمیلاتور (شبیه ساز) هستند.

در قسمت‌های بعدی این مقاله قصد داریم تا با ساخت مدارهایی واسط، از طریق میکرو کنترلر به برخی از پروتکل‌های OBD2 به‌صورت مستقیم یا غیر مستقیم متصل شویم و اطلاعاتی را از ECU خودرو بخوانیم. امیدوارم این آموزش برای شما مفید بوده باشد.

منابع

SparkFun

blog.perquin.com

اطلاعات
67
0
لینک و اشتراک
profile

Digi Boy

متخصص الکترونیک

به دانش فزای و به یزدان گرای، که او باد جان تو را رهنمای (فردوسی)

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
محمد مهدی گفت :
۱۴۰۳-۰۹-۰۲ ۲۲:۰۹

سلام سیسوگیهای عزیز خدا قوت
پروژه جدیدتون به نام سیکار رو که برای ecu خودرو های ایرانی ساختید رو دیدمو خیلی لذت بردم سنگ تموم گذاشتید. خواستم از همه کسایی که برای این پروژه متن باز زحمت کشیدن تشکر کنم و اینکه یاد این مقاله افتادم که بیشتر از ۵ ساله منتظر قسمت سومش هستم!!!! از دیجی بوی عزیز صمیمانه تشکر میکنم چون بدون این دو قسمت به هیچ وجه نمیتونستم ارتباط با ecu رو درک کنم.
پروژه سیکار در کنار این دو پست واقعا راهگشای جعبه سیاه خودرو برای هر کسی هستش …بی صبرانه منتظر قسمت سومشم
دیجی بوی، سیسوگ عاشقتونم ♡♡♡

profile
حامد گفت :
۱۴۰۳-۰۸-۲۵ ۰۰:۳۳

سلام
در مورد نحوه ارتباط یک اینترفیس و یا کابل obd2 با میکرو لطفا مقاله قسمت سوم را نشر دهید .
یا درصورت امکان بفرممایید برای ارتباط ایمن بین میکرو و بخش RX,TX اینترفیس obd که میتونه مثلا آی سی l9632d باشه به لحاظ اینکه اگر گایه های میکرو فقط با 3.3 ولت کارکنه چطور باید ارتباط رو برقرار کرد آیا نیاز به همسطح کننده ولتاژ داره ؟ اگر بله از چه نوعی مناسبه این کار است که از آسیب به میکرو جلوگیری بشه ؟

profile
Zeus ‌ گفت :
۱۴۰۳-۱۰-۰۱ ۱۷:۱۵

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

profile
Amirali گفت :
۱۴۰۲-۰۸-۱۶ ۲۳:۳۲

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

profile
Shadow گفت :
۱۴۰۲-۰۸-۱۷ ۰۹:۰۴

سلام دوست عزیز
سوالات مرتبط با پست های سایت را در کامنت ها بپرسید.
سوالات دیگر را می توانید از ایدی ادمین موجود در کانال تلگرام بپرسید.

profile
LUCIFER گفت :
۱۴۰۲-۰۷-۰۳ ۱۹:۴۶

سلام. وقتتون بخیر
بابت مقاله فوق العاده تون سپاسگزارم.
من تقریبا اینترنت رو زیر و رو کردم ولی در آخر متوجه نشدم چطور باید یک مدار با آیسی mc33290/mcz33290 ببندم که بتونم به آردوینو وصلش کنم؟

profile
یونس کبیری گفت :
۱۴۰۱-۰۵-۰۶ ۲۱:۰۶

سلام وقت بخیر
مقاله ی فوق العاده نوشتید
من چند تا سوال دارم و ازتون راه کار می خوام
چطور می تونیم اطلاعات k-line با آردینو دریافت کنم از طریق کابل و یکسری اطلاعات و پارامتر بهش اضافه کنم و به اندروید ارسال که برنامه real dash بتونه بخونه

profile
Sisoog Os گفت :
۱۴۰۱-۰۵-۰۸ ۱۴:۰۲

سلام دوست عزیز سوالات شما کلی هست و نمیشه جواب سریعی داد
خب روش خوندن K-line با آردوینو که مشخصه و میشه به راحتی با یک سخت افزار این کار را انجام داد
K Line
بقیه موارد مثل ارتباط یک برد آردوینو توسط بلوتوث به گوشی و نوشتنش هم مورد فنی پیچیده ای نداره و شدنی هست

profile
یونس کبیری گفت :
۱۴۰۱-۱۰-۱۵ ۱۴:۱۶

سلام
ممنون از راهنمایی
پارامتر های ارسالی تز دیاگ کجا میشه پیدا کرد من خیلی گستم چیزی پیدا نکردم
امکانش هست راهنمایی بفرمایید

profile
Zeus ‌ گفت :
۱۴۰۲-۰۷-۰۷ ۱۷:۰۶

متاسفانه اطلاعات درستی از دیاگ در دسترس نیست
و شرکت ها اطلاعاتش رو حتی نمی فروشند

profile
امیررضا گفت :
۱۴۰۰-۱۰-۲۱ ۱۸:۰۶

سلام قسمت سوم رو چرا حذف کردید
اگر امکانش لینکش روارسال کنیدممنون

profile
Digi Boy گفت :
۱۴۰۰-۱۰-۲۳ ۰۹:۱۸

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

profile
کیارش گفت :
۱۴۰۰-۰۹-۱۶ ۱۶:۲۱

سلام و درود،
اول از همه سپاس برای مطالب آموزشی بسیار و مفیدتون. یه کمکی هم نیاز دارم اگه محبت بفرمایید یکی دو نمونه از اپلیکشنهای رایگان مناسب برای امکان تغییر بعضی از پارامترهای ECU (مثل سایز لاستیک) معرفی بفرمایید. برای خودرو کیا پیکانتو با توجه تغییر سایز فاق لاستیک و برای اصلاح عملکرد کیلومترشمار و سرعت نیاز به اصلاح آن دارم. رابط سخت افزاری OBD2 را دارم و با نرم افزار تورک هم بدون مشکل به ECU متصل میشم.
با سپاس مجدد از شما.

profile
Digi Boy گفت :
۱۴۰۰-۰۹-۲۰ ۰۹:۳۱

درود بر شما
متأسفانه مشکلی که وجود داره اینه که یک استاندارد واحد وجود نداره و هر خودرویی داره ساز خودش رو میزنه! حتی شما اگر پراید رو هم در نظر بگیرید، توی هر مدلش از یک نوع دیاگ متفاوت استفاده شده. اگر داخل مارکت OBD جستجو کنید، نرم افزارهای رایگان زیادی هست، اما یک سریش روی یه سری خودرو کار می‌کنه، یک سریش روی یه سری دیگه! اون رو باید خودتون هم تست کنید. با نرم افزارEOBD Facile هم جواب‌های خوبی گرفتم.

profile
کیارش گفت :
۱۴۰۰-۰۹-۲۰ ۱۷:۵۰

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

profile
Digi Boy گفت :
۱۴۰۰-۰۹-۲۲ ۰۹:۵۳

خواهش می‌کنم، تجربه مشابهش رو ندارم، نرم‌افزار DashCommand رو هم تستی بکنید. این نکته رو هم مد نظر داشته باشید که خیلی از این نرم‌افزارها، نسخه پولی هم دارند که توی اون امکانات خیلی بیشتری دارید. شاید این قابلیتی که شما دنبالش هستید، توی نسخه‌های رایگان نباشه. ویژگی‌های اپلیکیشن پولی رو هم نگاهی بکنید. اگر موفق شدید، اطلاع بدید که بقیه هم استفاده کنن ?

profile
K1 گفت :
۱۴۰۰-۰۵-۲۱ ۲۲:۳۵

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

profile
Digi Boy گفت :
۱۴۰۰-۰۵-۲۳ ۰۹:۲۱

ممنونم دوست عزیز. امیدوارم براتون مفید بوده باشه.

profile
امیر گفت :
۱۴۰۰-۰۵-۱۲ ۱۹:۲۳

ممنون از اطلاعات خوبی که در اختیارمون میزارید

profile
Digi Boy گفت :
۱۴۰۰-۰۵-۱۳ ۱۲:۲۶

قابلتونو نداره ❤

profile
علی گفت :
۱۴۰۰-۰۱-۱۵ ۰۹:۲۱

سلام.اگر با دست زدن به دسته سیم ها ارتباط دیاگ با ECU قطع بشه .بیشتر به کدوم سیم مربوط میشه؟آیا همه سیم های پشت کانکتور به ECu رفتن؟ میخام با بیزر اهمتر تست کنم

profile
zeus گفت :
۱۴۰۰-۰۲-۰۵ ۱۰:۳۳

بستگی داره که رابط دیاگ شما از چه ارتباطی استفاده میکنه !!

profile
آرمین گفت :
۱۳۹۹-۱۲-۰۹ ۲۲:۳۸

سلام. خیلی ممنون از آموزش های خوبتون. من میخوام یک میکرو stm32 رو به دیاگ وصل کنم و فقط اطلاعاتش رو بخونم نیازی به نوشتن ندارم.یک آی سی mcp2551 هم دارم.تو یکی از آموزش های همین سایت خونده بودم که با وجود ۳.۳ ولتی بودن اس تی این کار ممکنه.من از سمت نرم افزار اومدم و اطلاعات الکترونیکم خیلی خوب نیست می خواستم بدونم چه طوری ۱۶ پین دیاگ رو با دو تا سیم به CAN RX و CAN TX تبدیل می کنین?
ممنون

profile
Sisoog Os گفت :
۱۳۹۹-۱۲-۱۰ ۱۲:۱۵

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

profile
آرمین گفت :
۱۳۹۹-۱۲-۱۸ ۱۱:۴۷

یه سوال دیگه هم داشتم. این شبیه سازی که معرفی کردین رو تو هیچکدوم از فروشگاه های آنلاین ایران نمی تونم پیدا کنم. شما آیا جایی رو می شناسید که همچین چیزی بفروشه؟ من تو این سایت یه چیز شبیهش رو پیدا کردم:
https://www.eforosh.com/arminsanat/23959/37585
ولی شماره ای که برای تماس گذاشته همیشه خاموشه.

profile
Sisoog Os گفت :
۱۳۹۹-۱۲-۱۹ ۰۹:۲۸

تماس بگیرید با شماره های شرکتی اونها انشاله که مشکل حل بشه

profile
آرمین گفت :
۱۳۹۹-۱۲-۱۰ ۱۶:۰۲

خیلی ممنون بابت توضیحاتتون. سه تا سوال دیگه هم دارم، ممنون می شم اگر جوب بدید. یکی اینکه این پروتوکل ها رو می شه نام ببرید؟ آیا طراحی گیرنده برای این پروتوکل ها از نظر شما توسط یک نفر قابل انجام است؟ و سوما در اینترنت من یک سری دستگاه دیدم به نام ELM 327 که اطلاعات دیاگ رو با بلوتوث پخش می کنه(نوع یو اس بی هم داره) به نظرتون اگر اون رو من با بلوتوث یا کابل به میکرو وصل کنم شدنیه؟
خیلی ممنون

profile
zeus گفت :
۱۴۰۰-۰۳-۰۵ ۰۸:۲۸

سلام دوست عزیز
در مورد سوال اول باید رفرنس بدم به ویکی پدیا
diagnostics
در مورد سوال دوم باید بگم بله میشه ولی نیازه که اطلاعات زیادی در خصوص این رابط ها داشته باشید که بتونید پیاده سازیش کنید
در مورد سوال سوم بله کاملا میشه من قبلا چنین کردم – elm در واقع یک میکروکنترلر pic است که برای برقرار کردن ارتباط با ecu برنامه ریزی شده و از طریق پورت سریال تبادل دیتا میکنه و داکیومنت دستوراتش توی سایت خودش هست و به سادگی میتونید باهاش ارتباط برقرار کنید.

profile
مهران گفت :
۱۳۹۹-۱۱-۱۲ ۱۶:۴۷

با سلام خدمت اقا سعید
می خواستم بدانم ایا پیشرفتی داشته اید یا نه اگر نه چرا واگر داشته اید چی بود با تشکر

profile
احمد گفت :
۱۳۹۹-۱۰-۲۵ ۱۷:۵۰

سلام
واقعا مطالب مفیدی بود
من شنیدم خودروهای ایرانی از استانداردها خیلی پیروی نمی‌کنند و این باعث میشه دستگاه های دیاگی که می‌سازیم روی اکثر خودروها کارایی نداشته باشه
آیا این مطلب درست هست؟
الان با مطالب داخل سایت چه خودروهایی رو میشه دیاگ کرد و محدودیتهای این مدار چه هستند؟

profile
Sisoog Os گفت :
۱۳۹۹-۱۰-۲۸ ۲۰:۱۸

سلام دوست عزیز
خودروهای ایرانی هم از ECU های استاندارد استفاده میکنند ولی چون تنوع اونها بالا هست شاید نیاز باشه که همه اونها ساپورت بشند
مثلا یک خودرو پراید چندین مدل ECU داره
خیلی از خودروهای ایرانی همون اینترفیس K line و استانداردهای اون را دارند که نیاز هست همونها اضافه بشند
همه موارد دیگه یه جورایی برمیگرده به مباحث نرم افزاری و همین سخت افزار کفایت میکنه

profile
سهیل گفت :
۱۳۹۹-۰۸-۱۵ ۲۰:۲۶

سلام مهندس جان
قسمت سوم هنوز آماده نشده؟؟؟

profile
Sisoog Os گفت :
۱۳۹۹-۱۰-۲۸ ۲۱:۲۱

سلام نه متاسفانه دوست عزیز

profile
javad گفت :
۱۳۹۹-۰۷-۱۳ ۱۸:۳۴

عرض سلام خدمت شما دوست عزیز وممنون بابت مطالبتون.اگه یک ایسیو ایسی کانکت به دیاگش معیوب باشه مثلا ایسیو والئو با ایسی jci.امکانش هست که از ایسی l9637d برای کانکت شدن بهش استفاده کرد؟

profile
Digi Boy گفت :
۱۳۹۹-۰۷-۲۳ ۱۴:۰۱

درود بر شما.
در این زمینه اطلاعی ندارم.

profile
جواد گفت :
۱۳۹۹-۰۱-۱۲ ۰۵:۰۱

سلام،
بسیار عالی بود، دست مریزاد!
یک سؤال: ماشین من، برلیانس ۲۳۰ هست. یکی از این دانگل های بلوتوثی
(ELM327 V2.1 (OBD2 تهیه کردم ولی موفق نشدم با نرم افزارهای معمول OBD car scanner به ECU ماشین متصل بشم. ممنون میشم بتونم از راهنمایی تون بهره مند بشم

profile
Digi Boy گفت :
۱۳۹۹-۰۱-۱۶ ۱۴:۰۰

سلام.
ممنون.
شما میتونید با استفاده از کابل OTG دانگل بلوتوث رو به گوشی اندرویدیتون متصل کنید. نرم افزار های زیادی هم برای اندروید وجود دارد که به شما کمک می کند به ECU متصل شوید.

profile
محمد گفت :
۱۳۹۹-۰۸-۰۹ ۱۱:۱۸

سلام
خود گوشی بلوتوث داره دانگل بلوتوث برای چی لازمه که با otg به گوشی وصل کنیم؟

profile
Digi Boy گفت :
۱۳۹۹-۰۸-۱۰ ۰۹:۰۳

درود بر شما دوست عزیز!
بله، اگر دیاگ شما بلوتوثیه که با بلوتوث باید متصلش کنید، این رو واسه دوستانی گفتم که می‌خوان ELM327 معمولی رو به گوشی متصل کنند.

profile
سهیل مرادی گفت :
۱۳۹۹-۰۱-۰۶ ۲۱:۵۹

سلام مهندس جان بابا ما منتظر قسمت سوم هستیم چی شد پس 🙂
ممنون از زحماتتون

profile
Sisoog Os گفت :
۱۳۹۹-۰۱-۰۷ ۱۷:۱۴

سلام انشاله بگذارید ببنیم از این کرونا جون سالم به در میبریم و تست ها را انجام بدیم
حتما

profile
سهیل گفت :
۱۳۹۹-۰۱-۰۷ ۱۷:۲۷

خیلی ممنون ولی الان تو خونه ایم میتونیم کار کنیم روش
راستی اگر خودرو خواستید برای تست بنده در خدمتم یه پیام بدید ایمیلم

profile
Sisoog Os گفت :
۱۳۹۹-۰۱-۰۷ ۱۷:۲۸

ممنون از شما حتما

profile
سعید گفت :
۱۳۹۸-۱۲-۲۰ ۱۷:۵۴

با عرض سلام و تشکر به خاطر مطلب مفیدتون.
من با راهنمایی شما با استفاده از برد آردینو و آی سی L9637 تونستم با ECU پراید از شرکت زیمنس ارتباط بگیرم فقط مشکلی که هست 10 سرویسی(Service Identifier) که در https://en.wikipedia.org/wiki/OBD-II_PIDs ذکر شده برای همه ECU ها جواب نمیده و هر شرکتی میتونه برای خودش یه سری فریم اختصاصی داشته باشه که این مطالب با جزئیات در سند iso 14230-3 آمده است اما مشکی که هست در این سند فقط ساختار کلی فریم توضیح داده شده است و تحلیل داده ها که مربوط به نوع کد خطا و همچنین خواندن مقادیر سنسورهاست برای هر شرکت مخصوص خودش هست و من هر چی سرچ کردم نتونستم پیدا کنم ممنون میشم در این زمینه کمک کنید
فریم های ارسالی:
Start communication request(hex): 81 11 F1 81 04
Positive Response Start ok(hex): 83 F1 11 C1 EF 8F C4
سوال اول: همانطور که در فریم زیر میبینید کد Service Identifier برای خطا یابی 0x18 میباشد و از پاسخ متوجه میشویم 2 خطا موجود است ولی نمیتوان تحلیل کرد که خطا مربوط به کجاست؟
Troubleshooting requset(hex): 84 11 F1 18 00 FF 00 9D
Positive Responce Troubleshooting(hex): 88 F1 11 58 02 00 16 AC 16 12 AC 7A
سوال دوم:در فریم زیر برای خواندن سنسورها از Service Identifier شماره 0x21 با عنوان readDataByLocalIdentifier استفاده می شود ولی داده دریافتی که را نمی توان تحلیل کرد(در داده دریافتی اطلاعاتی نظیر دمای موتور، سرعت ماشین، دور موتور، کارکرد ماشین و .. وجود دارد)
ReadDataByLocalIdentifier request (hex): 82 11 F1 21 01 A6
Positive Response LocalIdentifier(hex): 80 F1 11 5F 61 01 77 3D B8 60 CB 52 17 00 00 17 C3 00 00 F0 29 00 00 70 00 00 00 07 04 02 00 57 00 57 00 B0 B0 B0 B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D9 FF 6E F7 00 00 3B 7A AC 11 02 0F 55 00 00 00 00 9A 09 00 55 01 73 04 00 94 9B 06 00 00 00 00 00 00 00 00 00 A8 A8 00 00 25 01 51

profile
اکبر گفت :
۱۴۰۱-۰۷-۰۲ ۱۰:۲۸

سلام دوست عزیز من هم درباره این موضوع کارمی کنم مشکل من این استاندار هست که شما میگید این پورتکل که دارید استفاده می کنید چی هستش اگر کی لاین هستش چرا با کد 0X81 شروع میش وکلی چیز دیگه ممنون میش با هم یه ارتباط بگیریم ایمیل بنده akbarmoazmi@gmail.comیا تلفن 09334992734

profile
مهران گفت :
۱۳۹۹-۱۲-۰۴ ۱۹:۰۶

با سلام اقا سعید نقل قول از شما “سوال اول: همانطور که در فریم زیر میبینید کد Service Identifier برای خطا یابی 0x18 میباشد و از پاسخ متوجه میشویم 2 خطا موجود است ولی نمیتوان تحلیل کرد که خطا مربوط به کجاست؟
Troubleshooting requset(hex): 84 11 F1 18 00 FF 00 9D”
من فکر نمی کنم که در پراید این کد جواب بده

profile
مهران گفت :
۱۳۹۹-۱۱-۱۰ ۱۲:۲۷

با سلام می خواستم بدانم ایا .پیشرفتی داشتید تا حالا یا نه با تشکر

profile
zeus گفت :
۱۴۰۰-۰۳-۰۵ ۰۸:۴۰

در حد چاپ برد و چند تا تست اولیه که جواب مثبت شد بله

profile
anony گفت :
۱۳۹۹-۰۴-۱۴ ۱۳:۲۰

بهترین راه اینه که برید یه ایکو دیاگ بگیرید دستوراتو حین ارسال انالیز کنید
یا از این دیاگ داخلی خوبا بگیرید و انالیز کنید

profile
احمد گفت :
۱۳۹۹-۱۰-۲۵ ۱۸:۰۱

سلام
دیاگ داخلی خوب میتونید معرفی کنید؟

profile
زئوس Zeus گفت :
۱۳۹۹-۰۱-۱۸ ۱۲:۱۵

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

profile
امیر گفت :
۱۳۹۸-۱۱-۱۸ ۲۰:۲۵

سلام و عرض ادب
بی صبرانه منتظر قسمت بعدی هستیم
?????????????

profile
Digi Boy گفت :
۱۳۹۸-۱۱-۲۱ ۱۹:۰۳

خیلی ممنون از شما. ?

profile
کیان گفت :
۱۳۹۸-۱۰-۱۴ ۰۷:۴۶

سلام وخدا قوت تشکر از اموزش واقعا عالی شما

profile
سالاری گفت :
۱۴۰۰-۱۰-۰۲ ۱۵:۳۵

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

profile
Digi Boy گفت :
۱۳۹۸-۱۰-۱۴ ۰۸:۵۸

درود بر شما. پاینده باشید!

profile
شاهین گفت :
۱۳۹۸-۱۰-۱۲ ۲۳:۴۷

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

profile
Digi Boy گفت :
۱۳۹۸-۱۰-۱۴ ۱۰:۵۸

سلام.
خیلی ممنون از نظرتون. باید ببینیم چی پیش میاد.
انشاالله سعی می‌کنیم این مطلب را به جای مناسبی برسونیم.

profile
حسین گفت :
۱۳۹۸-۱۰-۱۲ ۱۸:۱۵

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

profile
Digi Boy گفت :
۱۳۹۸-۱۰-۱۴ ۰۸:۵۶

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

profile
سهیل گفت :
۱۳۹۸-۱۰-۱۱ ۲۰:۴۰

خیلی عالی بود فقط قسمت بعدی آموزش رو بی زحمت سریع تر بگذارید ممنون

profile
Digi Boy گفت :
۱۳۹۸-۱۰-۱۲ ۰۹:۳۳

سپاس از شما. ما تلاشمون رو می‌کنیم، اما فکر می‌کنم قسمت بعدی با کمی تأخیر منتشر بشه، چون قراره روی خودروهای ایرانی بیازماییم تا عملی و کاربردی باشه، نه صرفاً حرف و تئوری!

profile
فرهاد گفت :
۱۳۹۸-۱۰-۱۱ ۱۶:۳۳

سلام…خیلی ممنون
منتظر قسمت بعد هستم که بتونم با میکرو به ecu فرمان بدم
خدا خیرتون بده

profile
Digi Boy گفت :
۱۳۹۸-۱۰-۱۲ ۰۹:۱۳

درود بر شما. پیروز باشید!

profile
علی گفت :
۱۳۹۸-۱۰-۱۰ ۱۸:۱۷

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

profile
Digi Boy گفت :
۱۳۹۸-۱۰-۱۱ ۱۱:۳۹

ممنون

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله