OBDuino

OBDuino to projekt komputera pokładowego typu open source oparty na platformie Arduino . OBDuino może być zmontowane i dostosowane przez hobbystę elektroniki; wyświetla informacje takie jak chwilowe zużycie paliwa (np. mile na galon, l/100 km lub kilometry na litr), parametry strojenia silnika itp. na wyświetlaczu LCD.

OBDuino wykorzystuje interfejs diagnostyki pokładowej, który można znaleźć w większości nowoczesnych samochodów.

Cechy

  • Można wyświetlić większość PID OBD-II lub wartości pochodnych. Wspólne wartości to m.in
    • Paliwo: koszt, zużyte lub pozostałe, zmarnowane na biegu jałowym, zużycie mierzone w mpg lub l/100 km
    • Silnik: obciążenie, obroty
    • Temperatury: płyn chłodzący, wlot powietrza
    • Prędkość pojazdu
    • Odległość zbiornika
    • Pozostały dystans, który można przejechać na aktualnym zbiorniku paliwa
    • Pozycja przepustnicy
    • Napięcie baterii
    • Status CAN, tylko dla protokołu CAN, wyświetla błąd TX i RX
  • Wyświetla wartości chwilowe, wartości średnie, maksymalne i minimalne obliczone na podróż, wycieczkę lub zbiornik paliwa
  • System menu do konfiguracji parametrów
  • Stosunkowo tanie w porównaniu do komercyjnych alternatyw
  • Możliwość dostosowania i rozszerzenia

OBDuino nie wyświetla ani nie resetuje kodów usterek silnika (które są dostępne przez interfejs OBD).

Projekt

Kluczowymi elementami projektu są:

  • Mikrokontroler . _ Zazwyczaj używany jest do tego jeden z różnych zestawów Arduino opartych na AVR , chociaż jeden z kilku mikrokontrolerów Atmel AVR może być używany bezpośrednio w niestandardowym obwodzie OBDuino.
  • Interfejs do systemu zarządzania samochodem, wykorzystujący złącze diagnostyki pokładowej (OBD), które można znaleźć w większości nowoczesnych samochodów. Wymaga to kabla i obwodu. Istnieje kilka odmian tego obwodu w zależności od konkretnego zaimplementowanego protokołu OBD:
    1. ISO 9141/ISO 9141-2/ISO 14230 przy użyciu Freescale MCZ33290EF
    2. CAN, przy użyciu MCP2515 i MCP2551
    3. Ogólny ( protokoły SAE J1850 PWM i VPW/ISO 9141/ISO 9141-2/ISO 14230/CAN), przy użyciu ELM327 firmy ELM Electronics. Chociaż daje to bardziej wszechstronny komputer pokładowy kompatybilny z większością nowoczesnych pojazdów, chip ELM327 zwiększa koszt obwodu i wymaga znacznego obwodu pomocniczego dla różnych protokołów. Usuwa złożoność interpretacji różnych protokołów OBD.
    4. STN1110 , który jest oprogramowaniem kompatybilnym z ELM327. Niestety, ten układ scalony nie jest zgodny pinowo z ELM327, dlatego obwód wymagałby pewnych zmian.
  • Wyświetlacz LCD i trzy przyciski wejściowe. Typowy wyświetlacz LCD to 2 wiersze x 16 znaków lub 4x20 znaków, oparty na HD44780, z obwodem opartym na obwodzie mpguino.
  • Kod mikrokontrolera. Jest to program C++ oparty na frameworku Arduino, zwany szkicem w terminologii Arduino. Jest on ładowany do mikrokontrolera przez interfejs USB lub szeregowy przy użyciu bezpłatnego zintegrowanego środowiska programistycznego Arduino .

Wiele projektów opartych na Arduino ma dostępne niestandardowe płytki obwodów drukowanych, które obejmują mikrokontroler AVR (eliminując potrzebę stosowania płytki Arduino) lub płytki rozszerzeń zawierające dodatkowy obwód i podłączane bezpośrednio do standardowej płytki drukowanej Arduino. Żadne takie PCB nie są dostępne dla OBDuino od września 2009.

Projekt

Projekt OBDuino został rozpoczęty w 2008 roku w oparciu o projekt MPGuino, z zamiarem uproszczenia okablowania do pojazdu, zamiast używania standardowego gniazda OBD-II, które nie jest bezpośrednio podłączone do układu wtrysku paliwa pojazdu i cyfrowego czujnika prędkości pojazdu, oraz aby uzyskać dostęp do szerokiego zakresu danych zarządzania silnikiem dostępnych za pośrednictwem OBD.

Projekt koncentruje się na forum dyskusyjnym na ecomodder.com oraz wiki i hostingu kodu zapewnianym przez Google code, projekt jest wydany na licencji GPL.

Główny wątek OBDuino na forum eccomoder został założony przez jmonroe 1 czerwca 2008 jako rozwidlenie dyskusji MPGuino.

Magister opublikował ogłoszenie OBDuino na forum Arduino 4 grudnia 2008 r.

Od września 2009 r. Kod OBDuino32K przypisuje tym programistom:





Główne kodowanie/ISO/ELM: Frédéric (alias Magister na ecomodder.com) Część LCD: Dave (alias dcb na ecomodder.com), zoptymalizowana przez Frédéric ISO Protokół komunikacyjny: Russ, Antony, Mike Funkcje: Mike, Antony Błędy i poprawki: Antony, Frédéric, Mike

32K w nazwie obduino32K odróżnia kod przeznaczony dla wersji Atmega328 z pamięcią flash 32k (tj. Arduino 2009) od wersji Atmega168 16k (Arduino 2008).

Wariacje

  • Wariant OBDuino jest opisany w książce Practical Arduino (2009) autorstwa Jonathana Oxera i Hugh Blemingsa. Oparty na Arduino Mega, OBDuino jest rozszerzony o rejestrowanie danych GPS i OBD na pamięci USB.
  • Graficzne wykresy OBD MPGuino, takie jak mile na galon i OBD-II PID itp., na wyświetlaczu LCD o rozdzielczości 128 * 64 pikseli.
  • Magister, autor OBDuino, pracuje nad komercyjnym prototypem z protokołem obsługującym tylko CAN.

Powiązane alternatywy

  • Scangauge to komercyjny komputer pokładowy wykorzystujący interfejs OBD. Oprócz funkcji komputera pokładowego w OBDuino, Scangauge zawiera również funkcje wyświetlania i resetowania kodów usterek silnika.
  • MPguino to kolejny komputer pokładowy oparty na Arduino, który ogranicza się głównie do pomiaru zużycia paliwa. Może być stosowany w każdym pojeździe wyposażonym w elektryczny układ wtrysku paliwa oraz cyfrowy czujnik prędkości pojazdu. MPguino łączy się bezpośrednio z tymi czujnikami, więc nie wymaga interfejsu OBD2. Może zgłaszać natychmiastowy i tankowany MPG, pozostałe mile do opróżnienia zbiornika itp. MPguino jest dostępny w formie zestawu od kilku dostawców.
  • SuperMID to komputer pokładowy dla entuzjastów/hobbystów, zaprojektowany pierwotnie dla Toyoty Prius, chociaż może być używany w każdym pojeździe wyposażonym w elektryczny układ wtrysku paliwa i cyfrowy czujnik prędkości pojazdu. SuperMID łączy się bezpośrednio z ECU silnika lub czujnikami, zamiast używać standardowego złącza OBDII.
  • Praca Bruce'a D. Lightnera wygrała konkurs na projekt Circuit Cellar w 2004 roku. Projekt Lightnera wykorzystuje mikrokontroler AVR podłączony do interfejsu OBD-II do sterowania analogowym wskaźnikiem wyświetlającym zużycie paliwa w mpg. To implementuje tylko wariant SAE J1850 VPW zestawu protokołów OBD-II (więc działa tylko z większością samochodów GM, które używają VPW).
  • Projekt komputera samochodowego OBD II został opisany przez NerdKits przy użyciu ich zestawu mikrokontrolera opartego na AVR. Implementuje wariant SAE J1850 VPW pakietu protokołów OBD-II (więc działa tylko z niektórymi samochodami korzystającymi z VPW) i wyświetla obroty, temperaturę płynu chłodzącego, prędkość pojazdu i procent przepustnicy na wyświetlaczu LCD. Częściowo wywodzi się to z projektu Bruce'a D. Lightnera.
  • OBD2-LCD to komputer pokładowy OBD-II oparty na AVR, zaprojektowany przez Floriana Schäffera. Implementuje warianty ISO 9141 i ISO 14230 (KW 2000) OBD-II, z projektem i kodem opublikowanym i dostępnymi w formie zestawu. Nowy zestaw obsługuje również CAN (ISO 15765).

Zobacz też

Linki zewnętrzne

  1. ^ Lightner, Bruce D. (21 stycznia 2020). „Wskaźnik zużycia paliwa dla Twojego samochodu GM” . Piwnica obwodu . Konkurs projektowy AVR 2004 . Źródło 21 stycznia 2020 r .