OBDuino
OBDuino är en färddatordesign med öppen källkod baserad på Arduino -plattformen. En OBDuino kan monteras och skräddarsys av en elektronikhobbyist; den visar information såsom momentan bränsleekonomi (t.ex. miles per gallon, L/100 km eller kilometer per liter), motorinställningsparametrar etc. på en LCD-skärm.
OBDuino använder gränssnittet On-Board Diagnostics som finns i de flesta moderna bilar.
Funktioner
- De flesta OBD-II PID eller härledda värden kan visas. Vanliga värderingar inkluderar
- Bränsle: kostnad, använt eller kvarvarande, bortkastat på tomgång, förbrukning, mätt i mpg eller l/100 km
- Motor: last, RPM
- Temperaturer: kylvätska, luftintag
- Fordonshastighet
- Tankavstånd
- Återstående sträcka som kan köras på aktuell bränsletank
- Gasspjällsläge
- Batterivolt
- CAN-status, endast för CAN-protokoll, visar TX- och RX-fel
- Visar momentana värden, medel-, max- och minivärden beräknade per resa, per utflykt eller per tank bränsle
- Menysystem för konfigurering av parametrar
- Relativt billigt jämfört med kommersiella alternativ
- Anpassningsbar och utdragbar
OBDuino visar eller återställer inte motorfelkoder (som är tillgängliga via OBD-gränssnittet).
Design
De viktigaste komponenterna i designen är:
- En mikrokontroller . En av de olika AVR -baserade Arduino- satserna används vanligtvis för detta, även om en av flera Atmel AVR- mikrokontroller kan användas direkt i en anpassad OBDuino-krets.
- Ett gränssnitt till bilens ledningssystem, med hjälp av OBD-kontakten (On-Board Diagnostics) som finns i de flesta moderna bilar. Detta kräver en kabel och en krets. Det finns flera varianter av denna krets beroende på vilket OBD-protokoll som implementeras:
- ISO 9141/ISO 9141-2/ISO 14230, med Freescale MCZ33290EF
- CAN, med MCP2515 och MCP2551
- Generisk ( SAE J1850 PWM & VPW/ISO 9141/ISO 9141-2/ISO 14230/CAN-protokoll), med en ELM327 från ELM Electronics. Även om detta ger en mer mångsidig färddator som är kompatibel med de flesta moderna fordon, tillför ELM327-chippet betydande kostnader för kretsen och kräver en betydande stödkrets för olika protokoll. Det tar bort komplexiteten i att tolka de olika OBD-protokollen.
- STN1110 som är mjukvarukompatibel med ELM327. Tyvärr är denna IC inte pin-kompatibel med ELM327, därför skulle kretsen kräva vissa ändringar.
- En LCD och tre ingångsknappar. En typisk LCD är 2 rader x 16 tecken eller 4x20 tecken, baserat på HD44780, med en krets baserad på mpguino-kretsen.
- Mikrokontroller kod. Detta är ett C++-program baserat på Arduino-ramverket, kallat en Sketch i Arduino-terminologi. Detta laddas på mikrokontrollern via ett USB eller seriellt gränssnitt med hjälp av den kostnadsfria Arduino integrerade utvecklingsmiljön .
Många Arduino-baserade projekt har antingen anpassade kretskort tillgängliga som inkluderar AVR-mikrokontrollern (som tar bort behovet av ett Arduino-kort), eller förlängningskort som innehåller den extra kretsen och som ansluts direkt till Arduino-standardkretskortet. Inga sådana PCB finns tillgängliga för OBDuino från och med september 2009.
Projekt
OBDuino-projektet startades 2008 baserat på MPGuino-projektet, med en önskan att förenkla kabeldragningen till fordonet, istället för att använda det vanliga OBD-II-uttaget som inte direkt kopplas till fordonets bränsleinsprutningssystem och digitala fordonshastighetssensor, och för att få tillgång till det breda utbudet av motorhanteringsdata som är tillgänglig med OBD.
Projektet är centrerat på diskussionsforumet på ecomodder.com och wiki- och kodvärden som tillhandahålls av Google-koden, projektet släpps under GPL-licensen.
Den huvudsakliga OBDuino-tråden på eccomoder-forumet startades av jmonroe den 1 juni 2008 som en gaffel av MPGuino-diskussioner.
Magister postade ett OBDuino-meddelande till Arduino-forumet den 4 december 2008.
Från och med september 2009 krediterar OBDuino32K-koden dessa utvecklare:
Huvudkodning/ISO/ELM: Frédéric (alias Magister på ecomodder.com) LCD-del: Dave (alias dcb på ecomodder.com), optimerad av Frédéric ISO Kommunikationsprotokoll: Russ, Antony, Mike Funktioner: Mike, Antony Buggar och korrigeringar: Antony, Frédéric, Mike
32K i obduino32K-namnet skiljer koden riktad mot Atmega328 med 32k flashminne (dvs Arduino 2009) versionen från Atmega168 16k (Arduino 2008) versionen.
Variationer
- En OBDuino-variant beskrivs i boken Practical Arduino (2009) av Jonathan Oxer och Hugh Blemings. Baserat på Arduino Mega, är OBDuino utökad för att logga GPS- och OBD-data till ett USB-minne.
- En grafisk OBD MPGuino plottar värden som miles per gallon och OBD-II PID, etc., på en 128*64 pixlar LCD.
- OBDuino-författaren Magister arbetar på en kommersiell prototyp med ett CAN-protokoll.
Relaterade alternativ
- Scangauge är en kommersiell färddator som använder OBD-gränssnittet. Förutom färddatorliknande funktioner i OBDuino, innehåller Scangauge även funktioner för att visa och återställa motorfelkoder.
- Mpguino är en annan Arduino-baserad färddator, och är huvudsakligen begränsad till mätning av bränsleförbrukning. Den kan användas i alla fordon som har ett elektriskt bränsleinsprutningssystem och digital fordonshastighetssensor. Mpguino länkar direkt till dessa sensorer så den kräver inget OBD2-gränssnitt. Den kan rapportera instant och tank MPG, återstående mil tills tanken är tom etc. Mpguinoen finns tillgänglig i kitform från flera leverantörer.
- SuperMID är en entusiast/hobbyist färddator, designad ursprungligen för Toyota Prius, även om den kan användas i alla fordon som har ett elektriskt bränsleinsprutningssystem och digital fordonshastighetssensor. SuperMID gränssnitt direkt till motorns ECU eller sensorer, snarare än att använda en standard OBDII-kontakt.
- Bruce D. Lightners bidrag vann en designtävling 2004 i Circuit Cellar. Lightners design använder en AVR-mikrokontroller ansluten till ett OBD-II-gränssnitt för att driva en analog mätare som visar bränsleförbrukningen i mpg. Detta implementerar bara SAE J1850 VPW-varianten av OBD-II-protokollsviten (så det fungerar bara med mestadels GM-bilar som använder VPW).
- En OBD II-bildatordesign beskrivs av NerdKits med deras AVR-baserade mikrokontrollerkit. Detta implementerar SAE J1850 VPW-varianten av OBD-II-protokollsviten (så det fungerar bara med vissa bilar som använder VPW) och visar varvtal, kylvätsketemperatur, fordonshastighet och procentuell gaspåverkan på en LCD-skärm. Detta är delvis härlett från Bruce D. Lightners design.
- OBD2-LCD är en AVR-baserad OBD-II färddator, designad av Florian Schäffer. Den implementerar ISO 9141 och ISO 14230 (KW 2000) OBD-II-varianter, med design och kod publicerad och tillgänglig i kitform. Det nya kitet stöder också CAN (ISO 15765).
Se även
- Arduino
- Färddator
- Carputer
- Diagnostik ombord
- OBD-II PID
- ELM327 mycket vanligt chip som används i OBD-gränssnitt
externa länkar
- STN1110 emulerar ELM327
- Atmel AT90CAN mikrokontroller som ATmega328 med CAN-stöd
- OBD II ScanTool , Linux-baserad öppen källkod
- OBD-gränssnittschip från ELM Electronics
- ^ Lightner, Bruce D. (21 januari 2020). "Bränsleförbrukningsmätare för din GM-bil" . Kretskällare . AVR 2004 Design Contest . Hämtad 21 januari 2020 .