Innehållsförteckning:

Varvräknare/skannermätare med Arduino, OBD2 och CAN -buss: 8 steg
Varvräknare/skannermätare med Arduino, OBD2 och CAN -buss: 8 steg

Video: Varvräknare/skannermätare med Arduino, OBD2 och CAN -buss: 8 steg

Video: Varvräknare/skannermätare med Arduino, OBD2 och CAN -buss: 8 steg
Video: Convenience items needed in the family 2024, November
Anonim
Varvräknare/skannermätare med Arduino, OBD2 och CAN -buss
Varvräknare/skannermätare med Arduino, OBD2 och CAN -buss
Varvräknare/skannermätare med Arduino, OBD2 och CAN -buss
Varvräknare/skannermätare med Arduino, OBD2 och CAN -buss
Varvräknare/skannermätare med Arduino, OBD2 och CAN -buss
Varvräknare/skannermätare med Arduino, OBD2 och CAN -buss

Alla Toyota Prius (eller andra hybrid-/specialfordon) ägare vet att deras instrumentbrädor kan sakna några rattar! Min prius har inget motorvarvtal eller temperaturmätare. Om du är en prestationskille kanske du vill veta saker som tidinställning och bränsledata i realtid. Om du är en hypermiler kanske du vill veta mer information om din bränsleekonomi.

Alla dessa värden beräknas av din bils motordator. Det tar helt enkelt ett skannverktyg för att läsa data. Många nyfikna bilägare vänder sig till kommersiella lösningar som en Scan Gauge. De kan också använda en scantool som använder ELM327 via USB eller Bluetooth. Populära utmanare är Carista, BlueDriver eller ett vanligt Innova/Bosch diagnostiskt skanningsverktyg.

Jag ville ha en permanent installation i mitt fordon med dedikerad hårdvara, så jag bestämde mig för att gå min egen väg! Jag är glad att dela med mig av min anpassade skannverktygsdesign.

Tillbehör:

Viktig -

  • Arduino -kort (kan använda Nano, Teensy, Pro Micro, Uno….) [Amazon]
  • Säkringskran+extra säkring (Se till att du har rätt storlek) [bildelarbutik]
  • OBD II -kontakt (jag räddade en från ett gammalt skanningsverktyg) [Amazon]
  • CAN Bus MCP2515 -modul [Amazon]
  • OLED -skärm (eller annan valfri display) [Amazon]
  • Buck -omvandlare (eller annan kopplings- / linjär spänningsregulator) [Amazon]
  • 4-ledarkabel för din skärm (använd gammal USB-kabel, bandkabel, etc.)
  • Massor av bygelkablar för att ansluta allt

Verktyg -

  • Voltmeter
  • Lödutrustning
  • Wire strippers

Hjälpsam -

  • 3D -skrivare (eller tillgång till en) för att skapa följande delar:

    • Kapsling för arduino
    • Skärmfäste/instrumentpanelfäste
  • Fästelement för kapsling
  • Lim

Steg 1: Om CAN -bussen (och ansvarsfriskrivning)

Om CAN -bussen (och ansvarsfriskrivning)
Om CAN -bussen (och ansvarsfriskrivning)
Om CAN -bussen (och ansvarsfriskrivning)
Om CAN -bussen (och ansvarsfriskrivning)
Om CAN -bussen (och ansvarsfriskrivning)
Om CAN -bussen (och ansvarsfriskrivning)
Om CAN -bussen (och ansvarsfriskrivning)
Om CAN -bussen (och ansvarsfriskrivning)

DU ÖPPAR EN ALLVARLIG VÅRDKAN HÄR … Att bråka med ditt fordon/burkbuss kan orsaka skada och/eller oavsiktlig drift av ditt fordon! Jag tillhandahåller denna kod och instruktion till dig utan garanti eller garanti. Du tar all risk. Prova detta medan bilen är PARKERAD FÖRST! Detta projekt är faktiskt ganska säkert om du bara gör lite research om vad du gör. Om du inte vet vad någon del av instruktionerna eller koden betyder, är det förmodligen ett tecken på att du inte ska bråka med bilens elsystem! Ta inte det här projektet. Köp en färdiggjord Bluetooth OBD -dongel och använd den istället. Jag önskar dig lycka till.

Nu när ansvarsfriskrivningen är ur vägen … låter KAN låta bekant? Kanske liknande LAN (Ethernet) eller WLAN (WiFi) som du kan ha hemma … det beror på att de alla är nätverk. CAN står för Controller Area Network. Det är en digital kommunikationsplattform som din bil använder för att prata med sig själv. Istället för att köra ledningar från motordatorn till varje sensor, lampa och enhet i din bil, styrs de alla digitalt över nätverket.

CAN -bussen är ett differentiellt kommunikationsprotokoll. Det betyder att den bara behöver två ledningar! Det finns ingen Tx/Rx som du kan hitta i traditionell seriell kommunikation, och ingen direkt överföring mellan två enheter. Det finns vanligtvis som ett tvinnat par i hela ditt fordon. Du kommer åt den via OBD -porten. Du behöver inte nödvändigtvis förstå hur detta protokoll fungerar på grundläggande nivå, men du måste förstå det tillräckligt för att kunna skriva eller ändra Arduino -koden.

Om du vill följa detta projekt, se till att ditt fordon har en CAN -buss! Nästan alla fordon på vägen idag har en OBD II -port. De har alla samma elektriska kontakt under instrumentbrädan. Det finns dock väldigt olika protokoll för kommunikation baserat på din biltillverkare. Alla fordon som säljs i USA efter 2008 använder ISO 15765 CAN -buss. Det är vad vi vill använda för detta projekt. Kontrollera att ditt fordon har en CAN -buss. Tänk på att varje bil är unik. Du kommer att ha en specifik CAN -busshastighet, vissa OBD -koder som du måste begära och diverse finesser som du måste mildra längs vägen.

Steg 2: Anslutningsdiagram

Kopplingsschema
Kopplingsschema

Nu är det dags att börja planera ditt skåp och installation. Min bil har en säkringslåda i huven och en precis under instrumentbrädan. Var är din? Dags att börja tänka.

Jag använde en säkringskran på vindrutetorkarkretsen eftersom min Prius har många kretsar sammansmälta bredvid OBD -porten. Du kan använda Vbatt på OBD -porten, men se upp! Det är anslutet till batteriet, så enheten stängs aldrig av. Dålig idé. Beroende på den nuvarande dragningen av Arduino kan det döda ditt batteri på några dagar eller veckor om du låter din bil sitta! Om du använder en OLED-skärm kan du uppleva överdriven inbränning om enheten är på hela tiden. Det är mycket viktigt att enheten byts till din tändning.

Du kanske har en enkel lösning! Du kan ha ett fordon med en ACC/tändspänning på OBD -porten. Många stift är tillverkarens specifika. Det betyder att din OBD -port kan ha ett strömuttag som är bytt till tändning. Prova dock inte bara multimetern och koppla upp din arduino till allt med 12 volt! Ditt fordon kan ha en J1699 eller annan seriell buss som använder 12v logiknivå. Vem vet vad en aktuell dragning skulle göra! Kontrollera med oscilliskopet för att se till att din "12 volt källa" är en stadig likspänning, inte en signal, innan du kopplar arduino -ström till någon annan stift förutom att slå på OBD -porten.

Steg 3: Anslut OBD -port till CAN -kortet

Anslutning av OBD -port till CAN -kortet
Anslutning av OBD -port till CAN -kortet
Anslutning av OBD -port till CAN -kortet
Anslutning av OBD -port till CAN -kortet

Titta på pinout för din OBD -port för CAN Low och CAN High. Anslut dessa ledningar till High och Low på ditt kort.

Använd nu marken från din OBD -port som din mark för detta projekt! Anslut alla jordledningar tillsammans och se till att de är jordade till denna OBD -port.

Vi kommer att fokusera på resten av CAN -kortets SPI -gränssnitt i några steg.

Steg 4: Säkringskran och DC till DC -omvandlare

Säkringskran och DC till DC -omvandlare
Säkringskran och DC till DC -omvandlare
Säkringskran och DC till DC -omvandlare
Säkringskran och DC till DC -omvandlare
Säkringskran och DC till DC -omvandlare
Säkringskran och DC till DC -omvandlare
Säkringskran och DC till DC -omvandlare
Säkringskran och DC till DC -omvandlare

Hoppa inte över DC-omvandlaren! Jag förstörde detta projekt av misstag en gång redan eftersom jag bestämde mig för att köra Arduino från 12 volt från säkringslådan. Jag tror att det var en spänningstopp från en induktor någonstans (Arduino var ansluten till samma säkring som vindrutetorkarmotorn), och det stekte min Nano.

Rekommenderad: