قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية DELTA67
DELTA67
:: ضو فضي ::
تاريخ التسجيل: Aug 2010
المشاركات: 350
نشاط [ DELTA67 ]
قوة السمعة:79
قديم 23-06-2015, 06:00 PM المشاركة 1   
افتراضي حصـــــري :هيا نصنع سكانر سيارة OBD-II . Twitter FaceBook Google+




حصـــــريا على القرية و لأول مرة على موقع عربي.
صنع فاحص سيارات باستعمال مايكروكنترولر عادي و دون أي متكاملة متخصصة
-----------------------------------------------------------------------------------


كل السيارات الحديثة مجهزة بأنظمة الكترونية –رقمية للتحكم بالمحرك و مراقبته ( فحصه) من أجل ضمان أفضل مرود ممكن له و هذا لتقليل استهلاك الوقود و بالتالي الحفاظ على البيئة.


المعيار OBD :
من أجل مكافحة التلوث في منطقة لوس-انجلس فرضت ولاية كاليفورنيا وجود أنظمة تحكم في الغازات المنبعثة على كل السيارات و هذا منذ سنة 1966 .
خلال السبعينات و بداية الثمانينات زاد استعمال مصنعوا السيارات لأجهزة التحكم الالكترونية أكثر فأكثر مما أستدعى ضرورة تنظيمها في معيار مشترك عوضا عن انفراد كل مصنع بمعياره مما يؤدي حتما الى صعوبات بالنسبة للمستهلك. هذا ما أدى الى ظهور المعيار OBD (on board dignostics) في كاليفورنيا سنة 1985 .
في منتصف التسعينات ظهرت النسخة المحسنة OBD-II (الجيل الثاني) و التي بدأ استعمالها في أوربا تحت اسم EOBD (European On Board Diagnostics) .

جهاز الفحص ( السكانر):
توجد في الأسواق أنواع كثيرة من السكانرات منها ما هو خاص بنوع معين فقط من السيارات و منها ما يصلح لكل السيارات.
يكون للسكانرالمتطور شاشة و مجموعة مفاتيح كما في الصورة.


أما اذا كان من النوع الرخيص فانه يتصل بالحاسوب عن طريق اليوسبي أو الواي -فاي أو البلوتوث من خلال برنامج خاص لقراءة المعلومات أو كود العطل و محيه ... الى غير ذلك من الوظائف.
السكانرات التي تعتمد على المتكاملة ELM327 رخيصة الثمن و صغيرة الحجم و هناك الكثير من البرامج المتوفرة لها مجانا على الشبكة حيث يمكن استعمالها مع الحاسوب أو الأيفون أو أي هاتف محمول بنظام أندرويد.


كيف يعمل السكانر؟
نوصل السكانر بالنظام الالكتروني للتحكم بالمحرك Engine control unit- ECU عن طريق فيشة خاصة توجد حتما (قانونيا) بالقرب من السائق على مسافة لا تتجاوز 80سم و في مكان سهل الوصول اليه يدويا (دون استعمال مفك أو أي وسيلة أخرى).
يتم التواصل بين السكانر و الـ ECU بواسطة بروتوكول خاص بالمعيار OBD-II كما سنرى لاحقا.


ما هي المعلومات الممكن الحصول عليها؟
- كل المعلومات المتعلقة بالمحرك: سرعة المحرك (عدد الدورات بالدقيقة) , درجة حرارة سائل التبريد, درجة حرارة الزيت, الضغط ….. سرعة السيارة….
- كود أو أكواد الاعطال في حالة و قوع أي مشكل بالاضافة لحالة المحرك لحظة وقوع العطل. و هذا هو المهم.
المعلومات و أكواد الأخطاء الممكن الحصول عليها تعتمد على نوع السيارة و الشركة المصنعة. لكن هناك قائمة قياسية للأخطاء يجب توفرها في كل السيارات.

لمبة العطل MIL (Malfunction Indicator Lamp) :
هي مؤشر لحدوث عطل ما أو عدة أعطال بالمحرك.


كود العطل DTC (Diagnostic Trouble Code) :
يتكون من حرف لاتيني متبوعا بـ 4 أرقام (عربية) من الشكل P0301 .



- الحرف يشير الى السبب العام للعطل: في مثالنا P اذن Powertrain.
- الرقم الأول من اليسار: عطل قياسي أو خاص . في مثالنا 0 اذن هو عطل قياسي .
- الرقم الموالي: في أي فرع حدث العطل. في مثالنا 3 اذن Ignition or Engine Misfire .
- الرقمين الأخيرين : يأخذان أي قيمة بين 00 و 99 و يشيران الى العطل.

بالبحث على الشبكة نجد:
http://www.obd-codes.com/p0301

A P0301 code means that the the car's computer has detected that one of the engine's cylinders is not firing properly. In this case it's cylinder #1.


حسب البرنامج المستعمل مع السكانر يمكننا معرفة الكود فقط أو مع شرحه. كما نجد على الشبكة قوائم لكل أكواد الأعطال القياسية (و حتى الخاصة بالشركة المصنعة) مع شرح العطل و الأسباب الممكنة لحدوثه.
بعد اصلاح العطل يمكننا محي الكود من الذاكرة فتنطفأ لمبة العطل.

للمزيد من التفاصيل قوقـــــــــل خير دليل.

http://www.diagnobd.fr
https://fr.wikipedia.org/wiki/On_Board_Diagnostics
http://www.outilsobdfacile.fr/presentation-de-l-obd.php
http://www.obd-codes.com
https://en.wikipedia.org/wiki/OBD-II_PIDs
http://www.arabdiag.com/

سنعــــــــــود

لا تسأل الطغاه لماذا طغو بل اسأل العبيد لماذا انحنو
-------------------------------------------------------


مـــــواضـــيعــي: (أنقـــر على العنوان لتصفح الموضوع)

- حصـــــري :هيا نصنع سكانر سيارة OBD-II .

- حصري: هيا نصنع دارة تحكم في الدش بواسطة الريسيفر باستعمال أوامر الدايزك DiSEqC.

- أصنع محلل اشارات رقميةLOGIC ANALYZER .

- مبرمجة بسيطة جدا لعائلة AVR على البورت COM أو USB .


-حصـــري : هل تعــــرف الـبوت-كيكر BUTTKICKER ؟؟

- هل تعرف التسخين بالتحريض المغنطيسي induction heating ؟

- مبرمجة البيك داخل الدارة PIC ICSP Programmer

- دارة تحكم استطاعة بـ 5 ريليات أو أكثر لمشاريعك


- كيفية استعمال تحويل فورييه السريع FFT لايجاد طيف اشارة.

-هيا نصنع دارة محول صوت مونو الى "شبه ستيريو"Mono to Pseudo STEREO.

- كيف تستعمل شاشة تلفون نوكيا 3310 أو 3410؟

- ما رأيكم في مشروع يناء حاسوب موافق للـ IBM PC 5150 ؟؟

- مبرمجة الـــ PIC داخل الدارة In Circuit.

- وصل بطاقة SD أو MMC بالـــ ATMEGA8.

- مبرمجة لعائلة الــ AVR سهلة جدا جدا جدا !!!

- دارة بسيطة جدا لعرض نص على شاشة التلفزيون.

- مبرمجات PIC بسيطة جدا.

- أشعل شمعة الكترونية، استرخي تحت وقع زخات المطرثم نم نوما هادئا!!!

- مبرمجـــة الــ ATMEL AVRs عن طريق الــ USB .

- أضف شاشة عرض LCD الى مشاريعك.

- ما رأيكم في مشروع دايزك DISEQC ؟؟

- هل تعرف LTSPICE IV ؟ برنامج محاكاة احترافي قوي و مجاني.

- تعالوا نتعرف على الصوت المحيطي SURROUND SOUND .

- مجموعة من الحيل "العفسات" للمحترفين و الهواة.

- مدخل لاستخدام البورت USB. أستعد لنهاية البورتات LPT و RS232.

- كيف تصنع جهاز استقبال راديو بترانزستور واحد؟؟






التعديل الأخير تم بواسطة : DELTA67 بتاريخ 23-06-2015 الساعة 09:02 PM
اعلانات

hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 23-06-2015, 10:46 PM المشاركة 2   
افتراضي


ماشاء الله بشمهندس delat67
دائما مواضيعك جديده ومميزه.

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

mohamedamie
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2015
المشاركات: 109
نشاط [ mohamedamie ]
قوة السمعة:0
قديم 24-06-2015, 01:02 AM المشاركة 3   
افتراضي


السلام عليكم
أنا أنتضر المزيد بفارغ الصبر إبدء علي بركة الله
لاكن لدي إقتراح جهاز ELM327wifi متوفر بالسوق لو تكن لك دروس تشرح فيها طريق إستعمال هذا الجهاز و من ثم إضافة تعديلات علي هذا الجهاز وشكرا


الصورة الرمزية DELTA67
DELTA67
:: ضو فضي ::
تاريخ التسجيل: Aug 2010
المشاركات: 350
نشاط [ DELTA67 ]
قوة السمعة:79
قديم 24-06-2015, 07:29 AM المشاركة 4   
افتراضي


إضافة تعديلات علي جهاز ELM327 wifi

شكرا hamzazayyad و mohamedamie على اهتمامكم بالموضوع.
أي تعديلات تريد؟
كما قلت المتكاملة ELM327 هي متحكم نوع بيك محمي من القراءة طبعا و بالتالي لا يمكن تعديل برنامجه.
الذي يمكن فعله هو تحويل جهاز يوسبي الى بلوتوث مثلا أو العكس.




الصورة الرمزية DELTA67
DELTA67
:: ضو فضي ::
تاريخ التسجيل: Aug 2010
المشاركات: 350
نشاط [ DELTA67 ]
قوة السمعة:79
قديم 24-06-2015, 08:01 AM المشاركة 5   
افتراضي



عـــــــــــــــــــدنــا

البروتوكولات OBD-II :
يتم التواصل بين السكانر و الـ ECU عبر أحد البروتوكولات التالية:

SAE-J1850 PWM ( General Motors)
SAE-J1850 VPW ( Ford)
ISO-9141 (Chrysler)
ISO-14230 : KWP2000 (Euorpean- Asian cars)
ISO-15765-4 : CAN BUS (ALL New cars since 2008

المتكاملة ELM327 (و التي ما هي الا مكروكنترولر نوع PIC) تستعمل كل هذه البروتوكولات. لكننا سنرى البروتوكول KWP2000 فقط لأن سيارتي تستعمله و لحسن الحظ فهو لا يحتاج لدارة معقدة فمكروكنترولر عادي و ترانستورين مع منظم جهد و بعض المكونات البسيطة هي كل مانحتاجه.

الفيشة الخاصة بالـــ OBD-II :
الفيشة الموجودة بالسيارة هي من نوع أنثى كما رأينا على احدى الصور سابقا و ترتب أقطابها كالتالي:


و في هذا الجدول و ظيفة كل قطب:


نلاحظ أن بعض الأقطاب غير مستعملة. القطبين 4 و 5 معا يشكلان الأرضي و القطب 16 هو للتغذية (موجب البطارية).


البروتوكول ISO-14230 KWP2000 :
يستعمل هذا البروتوكول القطب K-LINE فقط (رقم 7) للتواصل بين السكانر و الـ ECU ( بالاضافة لقطبي التغذية طبعا) . يتم نقل المعلومات من و الى السكانر اذن على سلك واحد.


- المستوى المنطقي 0: يكون الجهد على القطب K-LINE أقل من 20 بالمئة من جهد البطارية.
- المستوى المنطقي 1: يكون الجهد على القطب K-LINE أكبر من 80بالمئة من جهد البطارية.
يتم تبادل المعلومات باستعمال نفس فكرة البروتوكول RS232 بالخواص 8N1 و LSB أولا و بسرعة 10400 بود.

تتكون كل رسالة Message سواء من السكانر أو من الـ ECU من علبة Packet مكونة كما يلي:


1) الرأس Header : يتكون من 3 أو 4 بايتات.
أول بايت:
- البتين FF : يحددان نوع العنونة Adressing mode. سنستعمل الــ Physical mode لأنه لدينا ECU واحد , في هذه الحالة يكون FF=11 اذا كانت الرسالة من السكانر الى الـ ECU والــعكس FF=10 .
- الستة بتات المتبقية L : تحدد طول المعطيات Length وهو بين 1 و 63 بايت ( في هذه الحالة نستغني عن البايت الرابعLen ).
البايت الثاني: عنوان الـ ECU و هو 0x33 .
البايت الثالث. عنوان السكانر وهو 0xF1 .
البايت الرابع: يحدد طول المعطيات اذا كانت أكبر من 64 بايت, في هذه الحالة نضع الستة بتات في البايت الأول أصفارا.

2) المعطيات Data : تتكون من 255 بايت كأقصى حد.
- البايت الأول: يسمى الــ Service identifier SID و هو يحدد الخدمات المطلوبة .
- بقية البايتات تعتمد على الخدمة المطلوبة.

3) بايت الفحص Checksum : هو مجموع كل البايتات السابقة له. و فائدته تفادي المعلومات الخاطئة نتيجة التشويش مثلا.

مرحلة الاعداد Initialization :
قبل بدء أي اتصال بين السكانر و الــ ECU لا بد من اعداد الخط لارسال و استقبال المعلومات.
الاعداد السريع يتم كما يلي:
- يجب أن يكون القطب K-LINE في الوضع المنطقي 1.
- يرسل السكانر نبضة الاستيقاظ Wake-Up.
- يرسل السكانر طلب بداية التواصل.
- يرسل الـ ECU الاجابة على الطلب السابق.


احترام مدة كل نبضة مهم جدا حيث يجب أن لايزيد زمن نبضة الاستيقاظ عن 51 مللي ثا. يتم بعدها مباشرة ارسال أول بايت من الرسالة Message .
اذا لم يتلق السكانر اجابة بعد 50 مللي ثا أو كانت الاجابة بالرفض فانه يتحتم اعادة ارسال الطلب حتى يوافق الــ ECU على التواصل.


سنعـــــــــــود





التعديل الأخير تم بواسطة : DELTA67 بتاريخ 24-06-2015 الساعة 09:29 AM

الصورة الرمزية DELTA67
DELTA67
:: ضو فضي ::
تاريخ التسجيل: Aug 2010
المشاركات: 350
نشاط [ DELTA67 ]
قوة السمعة:79
قديم 25-06-2015, 07:23 AM المشاركة 6   
افتراضي



عـــــــــــــــــــدنــا

مثــــــــــال:
لفهم كيفية التواصل بين السكانر و الـــ ECU نأخذ كمثال "طلب بداية التواصل" Start communication request و الذي يجب ارساله أثناء اعداد الخط كما رأينا سابقا.
يرسل السكانر الرسالة C1 33 F1 81 66 (بالنظام السادس عشر) و يرد الـــ ECU برسالة من الشكل 83 F1 18 C1 XX XX CS .


تعالو نحلل كل من الرسالتين:

1- طلب بداية التواصل:
C1 بالثنائي 11000001 هنا نستعمل Physical mode و عدد البايتات في المعطيات هو 1 فقط.
33 هو عنوان الـــ ECU كما رأينا سابقا.
F1 هو عنوان السكانر.
81 هو SID طلب بداية الاتصال.
66 هو بايت فحص المجموع : ٍ C1 + 33 + F1 + 81

2- جواب الـــ ECU على هذا الطلب:
83 بالثنائي 10000011 عدد بايتات المعطيات 3 .
F1 عنوان السكانر.
18 عنوان الـــ ECU . لاحظ أنه يمكن أن يختلف عن العنوان المستخدم عند الارسال.
C1 هو (40 + 81 ) .
XX XX بايتين يسميان key bytes دورهما تحديد خصائص الـــ ECU المستعمل في السيارة.
CS بايت الفحص.

كما تلاحظون الموضوع معقد نوع ما و يتطلب منكم ارادة قوية و مثابرة لفهمه.
للأسف لا يمكنني تقديم تفاصيل أكثر لذلك أكتفي بهذه المقدمة و التي أرجو أنها أفادتكم للتعرف على تقنية سكانر السيارات.
أنصحكم بالاطلاع على داتاشيت المتكاملة ELM327 فهو كنز من المعلومات.

لاحقا سنرى الدارة المستخدمة و مثال أول لقراءة درجة حرارة سائل التبريد و سرعة دوران المحرك و مثال آخر لقراءة كود العطل.


الــــــــــــــــــدارة:
هي غاية في البساطة حيث نستعمل المتحكم ATTINY2313 من عائلة AVR . يتم عرض النتائج على شاشة LCD ذات سطرين بـ 16 حرفا موصولة بطريقة 4بت و وضعية كتابة فقط.
نحتاج لمنظم جهد 5فو لخفض جهد البطارية. يوصل القطب K-LINE الى الرجل RX بعد خفض الجهد بواسطة زينر بينما يوصل بالرجل TX باستعمال ترانزستورين الاول عاكس.


طريقة توصيل الشاشة بالمتحكم موجودة داخل ملف الكود.

التطبيق1: قراءة قيمة كل من درجة حرارة سائل التبريد و سرعة دوران المحرك.
التطبيق2: قراءة كود العطل.

هذين الملفين يمكن تحميلهما على الرابط:
https://www.sendspace.com/file/wlv9zn

بالتوفيـــــــــــــــــــــــــق
تحياتــــــــــــي






ABOUYAGINE
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2012
المشاركات: 61
نشاط [ ABOUYAGINE ]
قوة السمعة:0
قديم 25-06-2015, 11:16 AM المشاركة 7   
افتراضي


السلام عليكم
الموضوع رائع
لو أن الكود يكون بــميكروسي يكون أحسن


الصورة الرمزية DELTA67
DELTA67
:: ضو فضي ::
تاريخ التسجيل: Aug 2010
المشاركات: 350
نشاط [ DELTA67 ]
قوة السمعة:79
قديم 29-06-2015, 07:16 AM المشاركة 8   
افتراضي


لو أن الكود يكون بــميكروسي يكون أحسن
و عليكم السلام شكــــــرا على الاهتمام.
للأسف أنا لا أستعمل المايكروسي. أتمنى أن يستطيع أحد الأعضاء تحويل الكود.

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 05:09 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025