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:
- ISO 9141/ISO 9141-2/ISO 14230 przy użyciu Freescale MCZ33290EF
- CAN, przy użyciu MCP2515 i MCP2551
- 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.
- 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ż
- Arduino
- Komputer podróży
- Carputer
- Diagnostyka Pokładowa
- PID OBD-II
- ELM327 bardzo popularny układ używany w interfejsach OBD
Linki zewnętrzne
- STN1110 emuluje ELM327
- Mikrokontroler Atmel AT90CAN, taki jak ATmega328 z obsługą CAN
- Narzędzie OBD II ScanTool , open source oparte na systemie Linux
- Chipy interfejsu OBD firmy ELM Electronics
- ^ 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 .