সুচিপত্র:

Arduino, OBD2, এবং CAN বাস ব্যবহার করে টাকোমিটার/স্ক্যান গেজ: 8 টি ধাপ
Arduino, OBD2, এবং CAN বাস ব্যবহার করে টাকোমিটার/স্ক্যান গেজ: 8 টি ধাপ

ভিডিও: Arduino, OBD2, এবং CAN বাস ব্যবহার করে টাকোমিটার/স্ক্যান গেজ: 8 টি ধাপ

ভিডিও: Arduino, OBD2, এবং CAN বাস ব্যবহার করে টাকোমিটার/স্ক্যান গেজ: 8 টি ধাপ
ভিডিও: Arduino OBD Car Gauge (ELM327 + ESP32) 2024, নভেম্বর
Anonim
Arduino, OBD2, এবং CAN বাস ব্যবহার করে টাকোমিটার/স্ক্যান গেজ
Arduino, OBD2, এবং CAN বাস ব্যবহার করে টাকোমিটার/স্ক্যান গেজ
Arduino, OBD2, এবং CAN বাস ব্যবহার করে টাকোমিটার/স্ক্যান গেজ
Arduino, OBD2, এবং CAN বাস ব্যবহার করে টাকোমিটার/স্ক্যান গেজ
Arduino, OBD2, এবং CAN বাস ব্যবহার করে টাকোমিটার/স্ক্যান গেজ
Arduino, OBD2, এবং CAN বাস ব্যবহার করে টাকোমিটার/স্ক্যান গেজ

যেকোনো টয়োটা প্রিয়াস (বা অন্যান্য হাইব্রিড/বিশেষ যানবাহন) মালিকরা জানতে পারবে যে তাদের ড্যাশবোর্ডে কিছু ডায়াল মিস করা হতে পারে! আমার প্রাইসের কোন ইঞ্জিন RPM বা তাপমাত্রা মাপক নেই। আপনি যদি পারফরম্যান্সের লোক হন, তাহলে আপনি রিয়েল টাইমে টাইমিং অ্যাডভান্স এবং ফুয়েল ডেটার মতো বিষয় জানতে চাইতে পারেন। আপনি যদি হাইপারমিলার হন, তাহলে আপনি আপনার জ্বালানী অর্থনীতি সম্পর্কে আরও তথ্য জানতে চাইতে পারেন।

এই সমস্ত মান আপনার গাড়ির ইঞ্জিন কম্পিউটার দ্বারা গণনা করা হয়। ডেটা পড়ার জন্য এটি কেবল একটি স্ক্যান সরঞ্জাম নেয়। অনেক কৌতূহলী গাড়ির মালিকরা স্ক্যান গেজের মতো বাণিজ্যিক সমাধানের দিকে ঝুঁকেন। তারা একটি স্ক্যানটুল ব্যবহার করতে পারে যা ইউএসবি বা ব্লুটুথের মাধ্যমে ELM327 ব্যবহার করে। জনপ্রিয় প্রতিদ্বন্দ্বীরা হলেন কারিস্টা, ব্লুড্রাইভার, অথবা একটি নিয়মিত অল ইনোভা/বশ ডায়াগনস্টিক স্ক্যান টুল।

আমি আমার গাড়িতে ডেডিকেটেড হার্ডওয়্যারের সাথে স্থায়ী ইনস্টলেশন করতে চেয়েছিলাম, তাই আমি আমার নিজের পথে যাওয়ার সিদ্ধান্ত নিয়েছি! আমি আমার কাস্টম স্ক্যান টুল ডিজাইন শেয়ার করতে পেরে উচ্ছ্বসিত।

সরবরাহ:

গুরুত্বপূর্ণ -

  • Arduino বোর্ড (Nano, Teensy, Pro Micro, Uno…।) [Amazon] ব্যবহার করতে পারেন
  • ফিউজ ট্যাপ+অতিরিক্ত ফিউজ (নিশ্চিত করুন যে আপনার সঠিক আকার আছে) [অটো পার্টস স্টোর]
  • OBD II সংযোগকারী (আমি একটি পুরানো স্ক্যান টুল থেকে উদ্ধার করেছি) [আমাজন]
  • CAN বাস MCP2515 মডিউল [আমাজন]
  • OLED ডিসপ্লে (বা পছন্দের অন্য ডিসপ্লে) [আমাজন]
  • বাক কনভার্টার (অথবা অন্যান্য সুইচিং / লিনিয়ার ভোল্টেজ রেগুলেটর) [আমাজন]
  • আপনার ডিসপ্লের জন্য 4-কন্ডাক্টর কেবল (পুরনো ইউএসবি কেবল, ফিতা কেবল ইত্যাদি ব্যবহার করুন)
  • সবকিছু সংযুক্ত করার জন্য প্রচুর জাম্পার তার

সরঞ্জাম -

  • ভোল্টমিটার
  • সোল্ডারিং সরঞ্জাম
  • তারের স্ট্রিপার

সহায়ক -

  • নিম্নলিখিত অংশগুলি তৈরি করতে 3D প্রিন্টার (বা একটিতে অ্যাক্সেস):

    • Arduino জন্য ঘের
    • স্ক্রিন বেজেল/ড্যাশবোর্ড মাউন্ট
  • ঘের জন্য ফাস্টেনার
  • আঠালো

ধাপ 1: CAN বাস সম্পর্কে (এবং অস্বীকৃতি)

CAN বাস সম্পর্কে (এবং অস্বীকৃতি)
CAN বাস সম্পর্কে (এবং অস্বীকৃতি)
CAN বাস সম্পর্কে (এবং অস্বীকৃতি)
CAN বাস সম্পর্কে (এবং অস্বীকৃতি)
CAN বাস সম্পর্কে (এবং অস্বীকৃতি)
CAN বাস সম্পর্কে (এবং অস্বীকৃতি)
CAN বাস সম্পর্কে (এবং অস্বীকৃতি)
CAN বাস সম্পর্কে (এবং অস্বীকৃতি)

আপনি এখানে একটি মারাত্মক জীবাণু খুলছেন … আপনার গাড়ির সাথে চারপাশে গোলমাল/বাসের ক্ষতি হতে পারে এবং/অথবা আপনার গাড়ির অনিচ্ছাকৃত অপারেশন হতে পারে! আমি এই কোড এবং নির্দেশনা দিচ্ছি কোন ওয়ারেন্টি বা গ্যারান্টি ছাড়াই। আপনি সব ঝুঁকি অনুমান। গাড়িটি প্রথম পার্ক করার সময় এটি ব্যবহার করে দেখুন! এই প্রকল্পটি আসলে মোটামুটি নিরাপদ যদি আপনি কেবল কি করছেন তা নিয়ে একটু গবেষণা করেন। যদি আপনি না জানেন যে নির্দেশাবলী বা কোডের কোন অংশ মানে কি, এটি সম্ভবত একটি চিহ্ন যে আপনি আপনার গাড়ির বৈদ্যুতিক সিস্টেমের সাথে গোলমাল করা উচিত নয়! এই প্রকল্পটি গ্রহণ করবেন না। একটি প্রিমেড ব্লুটুথ OBD ডংগল কিনুন এবং পরিবর্তে এটি ব্যবহার করুন। আমি তোমার সৌভাগ্য কামনা করছি।

এখন যে ডিসক্লেইমারটি পথের বাইরে.. কি পরিচিত শব্দ হতে পারে? হয়তো ল্যান (ইথারনেট), অথবা ডব্লিউএলএএন (ওয়াইফাই) এর অনুরূপ যা আপনার বাড়িতে থাকতে পারে … কারণ এটি সব নেটওয়ার্ক। CAN মানে কন্ট্রোলার এরিয়া নেটওয়ার্ক। এটি একটি ডিজিটাল কমিউনিকেশন প্ল্যাটফর্ম যা আপনার গাড়ি নিজের সাথে কথা বলার জন্য ব্যবহার করে। ইঞ্জিন কম্পিউটার থেকে আপনার গাড়ির প্রতিটি সেন্সর, আলো এবং ডিভাইসে তারগুলি চালানোর পরিবর্তে, এগুলি সমস্ত ডিজিটালভাবে নেটওয়ার্কে নিয়ন্ত্রিত হয়।

CAN বাস একটি ডিফারেনশিয়াল কমিউনিকেশন প্রোটোকল। এর মানে হল যে এটি শুধুমাত্র দুটি তারের প্রয়োজন! Traditionalতিহ্যবাহী সিরিয়াল যোগাযোগে আপনার মত Tx/Rx নেই এবং দুটি ডিভাইসের মধ্যে সরাসরি সংক্রমণ নেই। এটি সাধারণত আপনার যানবাহন জুড়ে একটি বাঁকা জোড়া হিসেবে পাওয়া যায়। আপনি ওবিডি পোর্টের মাধ্যমে এটি অ্যাক্সেস করতে পারবেন। এই প্রোটোকলটি মৌলিক স্তরে কীভাবে কাজ করে তা আপনার অগত্যা বোঝার দরকার নেই, তবে আপনাকে অবশ্যই এটি যথেষ্ট বুঝতে হবে আরডুইনো কোড লিখতে বা সংশোধন করতে।

আপনি যদি এই প্রকল্পটি অনুসরণ করতে চান তবে নিশ্চিত করুন যে আপনার গাড়িতে একটি CAN বাস আছে! আজ রাস্তায় প্রায় প্রতিটি গাড়ির একটি OBD II পোর্ট রয়েছে। তাদের সকলের ড্যাশবোর্ডের নীচে একই বৈদ্যুতিক সংযোগকারী রয়েছে। যাইহোক, আপনার স্বয়ংক্রিয় প্রস্তুতকারকের উপর ভিত্তি করে যোগাযোগের জন্য ভিন্ন ভিন্ন প্রোটোকল রয়েছে। ২০০ 2008 সালের পর যুক্তরাষ্ট্রে বিক্রি হওয়া যেকোনো যান ISO 15765 CAN বাস ব্যবহার করে। সেটাই আমরা এই প্রকল্পের জন্য ব্যবহার করতে চাই। আপনার গাড়ির CAN বাস আছে কিনা তা নিশ্চিত করুন। মনে রাখবেন যে প্রতিটি গাড়ি অনন্য। আপনার একটি নির্দিষ্ট CAN বাসের গতি, নির্দিষ্ট OBD কোড যা আপনাকে অনুরোধ করতে হবে, এবং বিবিধ কৌতুক যা আপনাকে অবশ্যই পথের মধ্যে প্রশমিত করতে হবে।

ধাপ 2: তারের ডায়াগ্রাম

তারের ডায়াগ্রাম
তারের ডায়াগ্রাম

এখন আপনার ঘের এবং ইনস্টলেশনের পরিকল্পনা শুরু করার সময়। আমার গাড়ির হুডে একটি ফিউজ বক্স রয়েছে এবং ড্যাশের নীচে একটি। কোথায় তোমার? চিন্তা শুরু করার সময়।

আমি উইন্ডশিল্ড ওয়াইপার সার্কিটে একটি ফিউজ ট্যাপ ব্যবহার করেছি কারণ আমার প্রিয়াসে অনেক সার্কিট রয়েছে যা ওবিডি পোর্টের ঠিক পাশে রয়েছে। আপনি OBD পোর্টে Vbatt ব্যবহার করতে পারেন, কিন্তু সাবধান! এটি ব্যাটারির সাথে সংযুক্ত, তাই ডিভাইসটি কখনই বন্ধ হবে না। খারাপ ধারণা। Arduino এর বর্তমান ড্র এর উপর নির্ভর করে, যদি আপনি আপনার গাড়িকে বসতে দেন তবে এটি কয়েক দিন বা সপ্তাহের মধ্যে আপনার ব্যাটারি নষ্ট করতে পারে! আপনি যদি একটি OLED ডিসপ্লে ব্যবহার করেন, আপনার ডিভাইস সব সময় চালু থাকলে আপনি অতিরিক্ত বার্ন-ইন অনুভব করতে পারেন। এটি খুব গুরুত্বপূর্ণ যে ডিভাইসটি আপনার ইগনিশনে স্যুইচ করা হয়েছে।

আপনার একটি সহজ সমাধান থাকতে পারে! OBD পোর্টে আপনার ACC/ইগনিশন পাওয়ার পিন সহ একটি গাড়ি থাকতে পারে। প্রচুর পিন প্রস্তুতকারক নির্দিষ্ট। এর মানে হল যে আপনার OBD পোর্টে একটি পাওয়ার পিন থাকতে পারে যা ইগনিশন এ স্যুইচ করা হয়। যাইহোক, শুধু মাল্টিমিটারের চেষ্টা করবেন না এবং আপনার arduino কে 12 ভোল্ট দিয়ে যেকোনো কিছুতে হুক করুন! আপনার গাড়ির একটি J1699 বা অন্যান্য সিরিয়াল বাস থাকতে পারে যা 12v লজিক লেভেল ব্যবহার করে। বর্তমান ড্র কি করবে কে জানে! আপনার "12 ভোল্টের উৎস" একটি স্থিতিশীল ডিসি পাওয়ার সাপ্লাই, সিগন্যাল নয় তা নিশ্চিত করার জন্য OBD পোর্টে ব্যাট ছাড়া অন্য কোন পিনে আরডুইনো পাওয়ার লাগানোর আগে নিশ্চিত করুন।

ধাপ 3: CAN বোর্ডে OBD পোর্ট ওয়্যারিং

CAN বোর্ডে OBD পোর্ট ওয়্যারিং
CAN বোর্ডে OBD পোর্ট ওয়্যারিং
CAN বোর্ডে OBD পোর্ট ওয়্যারিং
CAN বোর্ডে OBD পোর্ট ওয়্যারিং

CAN Low এবং CAN High এর জন্য আপনার OBD পোর্টের পিনআউট দেখুন। আপনার বোর্ডে উচ্চ এবং নিম্নের সাথে তারের সংযোগ করুন।

এখন এই প্রকল্পের জন্য আপনার স্থল হিসাবে আপনার OBD পোর্ট থেকে স্থল ব্যবহার করুন! সমস্ত স্থল তারগুলি একসাথে সংযুক্ত করুন, এবং নিশ্চিত করুন যে তারা এই OBD বন্দরে স্থল আছে।

আমরা কয়েক ধাপে CAN বোর্ডের SPI ইন্টারফেসের উপর ফোকাস করব।

ধাপ 4: ফিউজ ট্যাপ এবং ডিসি থেকে ডিসি কনভার্টার

ফিউজ ট্যাপ এবং ডিসি থেকে ডিসি কনভার্টার
ফিউজ ট্যাপ এবং ডিসি থেকে ডিসি কনভার্টার
ফিউজ ট্যাপ এবং ডিসি থেকে ডিসি কনভার্টার
ফিউজ ট্যাপ এবং ডিসি থেকে ডিসি কনভার্টার
ফিউজ ট্যাপ এবং ডিসি থেকে ডিসি কনভার্টার
ফিউজ ট্যাপ এবং ডিসি থেকে ডিসি কনভার্টার
ফিউজ ট্যাপ এবং ডিসি থেকে ডিসি কনভার্টার
ফিউজ ট্যাপ এবং ডিসি থেকে ডিসি কনভার্টার

ডিসি স্টেপ-ডাউন কনভার্টার এড়িয়ে যাবেন না! আমি দুর্ঘটনাক্রমে একবার এই প্রকল্পটি ধ্বংস করেছিলাম কারণ আমি সিদ্ধান্ত নিয়েছিলাম যে ফিউজ বক্স থেকে 12 ভোল্টের Arduino চালানো হবে। আমি মনে করি কোথাও একটি প্রবর্তক থেকে একটি ভোল্টেজ স্পাইক ছিল (Arduino উইন্ডশীল্ড ওয়াইপার মোটর হিসাবে একই ফিউজ hooked ছিল), এবং এটি আমার ন্যানো ভাজা।

প্রস্তাবিত: