Home > Zupełnie inne > Silnik oczami programisty

Silnik oczami programisty

Większość osób, które spotkałem i które jest w stanie odróżnić skrzynie biegów dwusprzęgłową od tej z sprzęgłem hydrokinetycznym, patrzy na silnik z zachwytem, szczególnie, gdy chodzi o V8+. Wielkie cylindry, moc, dźwięk…

Jako kierowca czuję przyjemność z jazdy.

Jako programista, patrząc na silnik widzę komputer, sensory, siłowniki, 200 kilo jakiegoś żelastwa, oraz ubogi interfejs użytkownika…

Komputer nazywa się “ectronic control unit” ECU. Komputer podejmuje decyzje o sterowaniu siłownikami, na podstawie odczytu z sensorów.

To nie jest zwyczajny komputer. Działa w nieprzyjemnym środowisku, gdzie jest albo jest zimno, albo gorąco, wilgotno lub sucho i na pewno niezbyt czysto. Komputer ten ma też dość sporo pracy, na przykład przy prędkości obrotowej silnika 4000RPM, komputer będzie musiał jakieś 30 razy na sekundę podejmować decyzje o ilości paliwa, która należy zapodać do każdego z cylindrów – i nie może się spóźnić. Dawkowanie paliwa, oraz sterowanie innymi częściami silnika, zależy od odczytów z sensorów – a tych jest całkiem sporo. Na przykład, w moim aucie, z 2004 roku, więc już nieco starym, mam takie sensory:

  • Obrotów silnika
  • Accelerator pedal position (napisałem z angielska, bo mój edytor tekstu nie lubi polskiego tłumaczenia)
  • Przełącznika kick down
  • Przełącznika trybu bezczynności
  • Wagi zassanego powietrza
  • Sondy lambda
  • Temperatury chłodziwa przed i za radiatorem
  • Temperatury paliwa
  • Ciśnienie powietrza w kolektorze i jego temperatury
  • Brake pedal switch
  • Składu paliwa
  • Hall sender (nie wiem jak to nazwać po Polsku, czujnik służy do wyrównywania obrotów silnika, w przypadku, gdy każdy tłok generuje inny moment obrotowy)
  • Czujnika wysokości

Sensory te, też nie mają lekkiego życia. Warto dodać, że sensory przekazują do komputera sygnał analogowy (przynajmniej cześć sensorów w moim aucie), sygnał analogowy, – czyli napięcie, które przetwarzane jest przez ECU na wartość numeryczną, być może poprzez porównanie go z innymi napięciem. Warunki pracy sensorów, oraz przetwornika AC wpłyną na pewno na powstanie błędów odczytów z sensorów, które programista ECU musiałby uwzględnić.

Na podstawie odczytów z sensorów komputer steruje:

  • Wtryskami paliwa
  • Zaworem EGR
  • Klapą kolektora dolotowego
  • Zaworem sterującym chłodzeniem gazów EGR
  • Ogrzewaniem sondy lambda
  • Pompą paliwa
  • Wirnikami turbosprężarek
  • Świecami żarowymi
  • Zaworem elektro-hydraulicznego mocowania silnika (właśnie tym się pocieszam, gdy wyprzedza mnie jakiś dostawczak)
  • Przełącznikiem małego i dużego obiegu chłodniczego
  • Pompą wspomagającą chłodzenie silnika po wyłączeniu

Część z tych siłowników jest binarnych, np.: pompa wspomagająca chłodzenie silnika może być włączona lub wyłączona, inne siłowniki mogą mieć wartości pośrednie.

To wszystko jest dość skomplikowane. Nie wiem, czy potrafiłbym napisać dobry program do ECU (i trudno mi to mówić, bo moje EGO programistyczne mogłoby się wozić się Q7). Dlatego podziwiam tunerów, – którzy bez kodów źródłowych potrafią zmodyfikować oprogramowanie komputera, tak by wyciągnąć z silnika więcej mocy i jeszcze zredukować spalania.

W przyszłości napiszę o zależnościach pomiędzy niektórymi sensorami a działaniem silnika.

Categories: Zupełnie inne Tags:
  1. No comments yet.
  1. No trackbacks yet.

Subscribe without commenting