W obecnych czasach, kiedy paliwo drożeje w zawrotnym tempie, poszukiwane są sposoby oszczędzania tej drogocennej cieczy. Jedni kupują ekologiczne samochody, inni montują LPG są jeszcze i tacy, co uczą się ekologicznej jazdy. Jeśli o tym mowa, to niezbędny jest jakiś miernik np. zużytego paliwa. O ile w nowszych samochodach takie wyposażenie, zwane komputerem pokładowym, jest standardem, posiadacze starszych jednostek mogą czuć się pokrzywdzeni. Z pomocą przychodzi zaprojektowany przeze mnie komputer pokładowy do starszych samochodów z silnikiem benzynowym wyposażonych w wielopunktowy wtrysk paliwa.

Samochodowy komputer pokładowy na STM32
 

Opis realizacji

Sercem urządzenia jest mikrokontroler STM32F051R8T6 zamontowany na pokładzie płytki rozwojowej STM32F0Discovery. Całość została osadzona na dwustronnej płytce drukowanej zaprojektowanej specjalnie na potrzeby urządzenia. Płytka drukowana została tak zaprojektowana (rysunek 1), aby można ją było w miarę łatwo wykonać we własnym zakresie np. metodą termotransferu.

 

Rys. 1. Wygląd płytki drukowanej komputera (dostępna do pobrania dla zarejestrowanych)

Rys. 1. Wygląd płytki drukowanej komputera (dostępna do pobrania dla zarejestrowanych)

 

Komunikacja z otoczeniem odbywa się poprzez 2 złącza: ATX20 do zasilania, sygnałów z samochodu oraz goldpin 2×10 do wyświetlacza. Schemat urządzenia jest możliwie najprostszy. Sygnały pochodzące z samochodu są konwertowane na odpowiednie poziomy oraz filtrowane od zakłóceń pochodzących np. z cewki zapłonowej. Mierzenie odległości zostało zrealizowane za 2 czujnikach Halla A3361. Dzięki podwójnym czujnikom umieszczonym zaraz obok siebie, możliwe jest określenie kierunku poruszania się samochodu(przydatne w samochodach terenowych). Schemat podłączenia czujników przedstawiono na rysunku 2.

 

Rys. 3. Schemat elektryczny podłączenia przycisków użytkownika

Rys. 2. Schemat elektryczny podłączenia czujników Halla

 

Czujniki montujemy obok siebie (5 mm odstępu) przy wale napędowym tak, aby obracający się na wale magnes najpierw znalazł się pod jednym, potem pod drugim czujnikiem. Interakcja z użytkownikiem odbywa się poprzez 2 przyciski. Jeden służy do zmiany ekranów, drugi jest funkcyjny(np. kasowanie dystansu).Sposób ich podłączenia przedstawiono na rysunku 3.

 

Rys. 3. Schemat elektryczny podłączenia przycisków użytkownika

Rys. 3. Schemat elektryczny podłączenia przycisków użytkownika

 

Pozostałe element potrzebne do funkcjonowania podłączamy wg poniższej listy:

piny

pin1 – masa od akumulatora

pin2 – 12V od akumulatora

pin3 – jasność podświetlania (opcja)

pin4 – N/C

pin5 – N/C

pin6 – przycisk 1

pin7 – przycisk 2

pin8 – +5V (wyjście)

pin9 – czujnik Halla 1

pin10 – czujnik Halla 2

pin11 – sygnał wtrysku (1 przewód bezpośrednio od wtryskiwacza benzynowego)

Jeśli wtryskiwacz mamy sterowany minusem to w kodzie musimy zmienić linijkę:

na:

pin12 – linia danych DS18b20 czujnika temperatury na zewnątrz. Zasilanie bierzemy z pin8 (+5 V) i pin1 (GND)

pin13 – linia danych DS18b20 czujnika temperatury wewnątrz. Zasilanie bierzemy z pin8 (+5 V) i pin1 (GND)

pin14 – sygnał załączonej instalacji LPG +12 V (opcja)

pin15 – sygnał włączonej stacyjki +12 V

Wyświetlaniem danych zajmuje się wyświetlacz wyposażony w sterownik KS0108. Zasilanie i przesył danych odbywa się przez 20-pinowe złącze typu goldpin. Oznaczenia pinów znajdują się za schemacie elektrycznym urządzenia, pokazanym na rysunku 4.

Aby dostosować sterownik do własnego samochodu możemy wprowadzać zmiany bezpośrednio w programie lub połączyć się ze sterownikiem poprzez interfejs RS232(brak specjalnego złącza). Standardowe parametry połączenia to: 38 400 bps, ramka 8 bitów, 1 bit stopu, brak kontroli przepływu.

 

Rys. 4. Schemat elektryczny urządzenia

Rys. 4. Schemat elektryczny urządzenia

Aby komputer pokładowy poprawnie interpretował sygnały z samochodu, trzeba go skalibrować. Po poprawnym podłączeniu do sterownika wydajemy polecenie POMOC. Ukażą się nam obecne(domyślne) parametry sterownika oraz dostępne polecenia. Wpisujemy WSP_PB XXX, gdzie XXX to wydajność wtryskiwacza w mL/min. Następnie wybieramy ILOSC_CYL X, gdzie X to liczba cylindrów w siniku naszego samochodu. Kolejną czynnością jest podanie współczynnika dla LPG. Zwykle jest to ok. 120% wydajności wtryskiwacza benzynowego (dokładną wartość można wyznaczyć tylko doświadczalnie). Dalej konieczne jest skalibrowanie czujników Halla. W tym celu wydajemy polecenie KAL_TR, uruchamiamy samochód i jedziemy kilkadziesiąt metrów. W międzyczasie na ekranie terminala powinny pojawiać się zliczone impulsy od czujnika. Kiedy się zatrzymamy wydajemy polecenie STOP XXXX, gdzie XXXX to ilość przejechanych metrów w czasie kalibracji. Komputer sam obliczy współczynnik. Na końcu, aby zmiany zostały zapisane, piszemy ZAPISZ. Wszystkie polecenia zatwierdzamy „enterem”. Jeśli podczas jazdy do przodu metromierz wskazuje kierunek wsteczny należy wydać polecenie NEG_KIER 1 lub NEG_KIER 0.

 

/wp-content/uploads/images/Samochodowy_komputer_pokladowy_na_STM32/art_rys4.jpg

 

Oprogramowanie zostało napisane w języku C. Wykorzystane środowisko to Eclipse wraz z toolchainem CodeSourcery. W projekcie jest wykorzystywana biblioteka peryferiów udostępniona przez STMicroelectronics. Główny program odbywa się w nieskończonej pętli while() przerywanej przerwaniami od RTC, które zbierają w równych odstępach czasu informacje z otoczenia. Dane potrzebne do kalibracji przechowywane są w emulowanej pamięci EEPROM. Wyświetlanie informacji podzielone zostało na 5 stron:

  • strona 0 – aktualna prędkość, dystans całkowity, dystans tymczasowy (kasowany długim przytrzymaniem przycisku 2),
  • strona 1 – parametry trasy tj. średnia prędkość, czas jazdy, średnie spalanie (dane te kasujemy również długim przytrzymaniem przycisku 2),
  • strona 2 – spalanie chwilowe (jeśli stoimy w miejscu to jednostką są litry na godzinę, jeśli jedziemy – litry na 100 km), spalona benzyna i LPG,
  • strona 3 – data (zmiana daty przyciskiem 2), temp wewnętrzna i zewnętrzna,
  • strona 4 – metromierz (kasowanie odbywa się przyciskiem 2),
  • strona 5 – napięcie na akumulatorze.

Sterownik ma również opcje zmiany regulacji podświetlania razem z instalacją samochodu. Odbywa się to poprzez pomiar napięcia na np. żarówkach deski rozdzielczej i sterowanie poprzez PWM podświetleniem wyświetlacza.

Grzegorz Ryniak