Projekt ECU (w chwili obecnej jest to bardziej ICU – Ignition Control Unit) do MZ ETZ 125/150 powstał głównie z chęci nauczenia się projektowania i oprogramowywania modułów sterujących pracą silnika spalinowego (w tym wypadku, jedno cylindrowego, dwusuwowego). W chwili obecnej moduł ten posiada takie funkcje jak:
- Sterowanie cewką zapłonową
- Prosty immobilizer (blokada zapłonu) wykorzystujący technologię rfid
- Odcięcie zapłonu powyżej podanych obrotów
- Możliwość dynamicznej zmiany kąta wyprzedzenia zapłonu w oparciu o podaną mapę (w zależności od obrotów)
- Możliwość podglądu parametrów silnika oraz zmian w konfiguracji modułu poprzez port USB
Budowa
Moduł oparty został o mikrokontroler AVR Atmega32u4 firmy Atmel. Posiada on sprzętowe wsparcie USB, które zostało wykorzystane do komunikacji z komputerem. Wszystkie wejścia/wyjścia odizolowane są od instalacji motocykla przez optoizolatory, co pozwoliło wyeliminować sporą część zakłóceń powstających w instalacji. Dodatkowo zasilanie zostało zabezpieczone diodą transil na napięcie 45V a mosfet sterujący cewką zapłonową transilem na napięcie 120V. Całość zostałą zamknięta w aluminiowej obudowie która pełni rolę dodatkowego ekranu. Dane o położeniu wału korbowego, pobierane są z oryginalnego impulsatora. Schemat urządzenia znajduje się poniżej:
Oprogramowanie mikrokontrolera
Oprogramowanie napisane zostało w całości w języku C, kody źródłowe można znaleźć na moim GitHubie.
Aplikacja diagnostyczna
Do komunikacji z modułem, służy aplikacja uruchamiana na komputerze PC, która napisana została w C++ z wykorzystaniem bibliotek Qt w wersji 4. Jest ona również dostępna na moim GitHubie. Jej wygląd prezentuje się jak na poniższym screenshocie:
Efekt końcowy
Co do walorów użytkowych, na razie ciężko coś powiedzieć. Udało mi się na nim odpalić silnik, jednak z racji braku czasu i możliwości jazdy (pogoda oraz nie poskładany do końca motocykl), ciężko określić czy wszystko działa jak należy. Zdjęcia poniżej pokazują zmontowany moduł.
Możliwość rozbudowy
W module zostały przewidziane możliwości rozbudowy, bez konieczności modyfikacji układu. Przewidziane są dodatkowe wejścia/wyjścia do:
- Czujnika temperatury silnika, opartego o PT100
- Czujnika otwarcia przepustnicy
- Sterowania serwami ssania oraz wolnych obrotów
W chwili obecnej nie są one używane, ale być może zostaną jeszcze w jakiś sposób wykorzystane.