В даний час на автомобілях сімейства ВАЗ широко застосовуються електронні блоки управління (ЕБУ) двигунами типу Бош М1.5.4, Бош М1.5.4N, Январь5.1. Роботу цих блоків неможливо проконтролювати без спеціальних приладів, які завжди бажано мати "під рукою". Однак навіть найпростіші з них досить складні і тому недешеві.

Крім управління двигуном, вищеназвані ЕБУ, виробляють сигнали з датчиків швидкості і витрати палива, які виведені в салон автомобіля на спеціальний роз'єм для підключення маршрутного комп'ютера. Маршрутний комп'ютер дозволяє відобразити різні параметри: час в дорозі, час у русі, пройдений шлях, загальна витрата палива, витрата палива на холостому ходу, поточну швидкість, а також широкий спектр величин, розрахованих на їх основі (середня швидкість шляху, середня швидкість руху і т.д.).

Технічно можливо, а економічно доцільно об'єднати маршрутний комп'ютер і діагностичний тестер в один пристрій, яке повинне встановлюватися в салоні автомобіля на штатне місце, передбачене для маршрутного комп'ютера. Нижче наведено короткий опис і принципова схема подібного пристрою.

Алгоритм функціонування і особливості побудови практично будь-якого діагностичного тестера початкового рівня, що працює по протоколу KWP2000 і підключеного до К-лінії, приблизно такі (перебільшено):

  1. Проводиться опитування клавіатури і, в разі необхідності, модифікація вибраного режиму роботи. Кількість кнопок управління не перевищує 4 шт. і вибір режиму роботи здійснюється за допомогою меню.
  2. Формується запит на ЕБУ, відповідний заданим режимом роботи. Види запитів досить різноманітні, проте їх зміст (за невеликим винятком, наприклад запитів на зміну стану виконавчих механізмів) постійно.
  3. Очікується відповідь від ЕБУ і здійснюється прийом даних при його отриманні. Довжина приймається повідомлення не перевищує 128 байт.
  4. Після закінчення часу очікування або завершенні прийому даних проводиться аналіз сформованої ситуації і відповідно до неї можлива модифікація заданого режиму роботи.
  5. При необхідності оновлюється інформація на індикаторі з перетворенням отриманих з ЕБУ даних. Інформація для користувача має виводитися в зручній формі, тобто у вигляді розгорнутих буквено-цифрових повідомлень та підказок, що вимагає застосування знакосінтезірующего індикатора як мінімум з 1 рядком на 16 символів (краще 2 * 20). Обсяг інформації для відображення у розгорнутому вигляді дуже великий, що тягне за собою збільшення пам'яті для її зберігання. Отримані з ЕБУ дані, в деяких випадках, повинні бути перераховані за нескладною формулою (точність обчислень при цьому може бути невелика) і перетворені із двійкової форми в символьний формат.
  6. Робиться пауза, тому що згідно протоколу запити на ЕБУ мають видаватися не раніше 100 мс після закінчення попереднього сеансу обміну, і все повторюється спочатку.

Алгоритм функціонування і особливості побудови маршрутного комп'ютера приблизно наступні:

  1. Постійно проводиться підрахунок часу, імпульсів з датчиків витрати палива і швидкості, а також вимірювання тривалості між імпульсами з датчика швидкості.
  2. Проводиться опитування клавіатури і, в разі необхідності, модифікація вибраного режиму роботи. Кількість кнопок управління не перевищує 4 шт. і вибір режиму роботи здійснюється за допомогою меню.
  3. Оновлюється інформація на індикаторі з перетворенням накопичених первинних даних. Інформація для користувача має виводитися в зручній формі, тобто у вигляді розгорнутих буквено-цифрових повідомлень та підказок, що вимагає застосування знакосінтезірующего індикатора як мінімум з 1 рядком на 16 символів (краще 2 * 20). Обсяг інформації для відображення у розгорнутому вигляді дуже великий, що тягне за собою збільшення пам'яті для її зберігання. Первинні дані повинні бути перераховані за нескладним формулами (точність обчислень при цьому може бути невелика) і перетворені із двійкової форми в символьний формат.
  4. Робиться пауза, тому що виходячи з психо-фізіологічних особливостей людини частота оновлення інформації не повинна перевищувати 10Гц, і все повторюється спочатку.

Як видно з вищесказаного, між функціонуванням пристрою в режимі тестера або маршрутного комп'ютера багато спільного, що дозволяє спільно використовувати апаратні і програмні ресурси.

З точки зору побудови програми, з огляду на великий обсяг текстових повідомлень, всі їх бажано винести за межі внутрішнього порівняно невеликого ПЗУ мікроконтролера. Оскільки між оновленнями інформації існує велика пауза (не менше 100 мс), а кількість одночасно відображуваних символів невелика, то ці дані можуть бути розміщені у зовнішньому ПЗУ з послідовною вибіркою і здобуватимуться звідти в міру необхідності. Розвиваючи цю ідею, можна винести в зовнішнє ПЗУ самі запити, опис формул для перерахунку різних параметрів, а також і весь сценарій роботи з меню. Таким чином, в мікроконтролері залишається програма-монітор, яка здійснює:

  • ініціалізацію пристрої;
  • обробку переривань;
  • опитування клавіатури;
  • висновок на рідкокристалічний індикатор;
  • передачу і прийом даних з буфера по К-лінії;
  • формування тимчасових затримок;
  • видачу звукових сигналів;
  • зчитування даних з зовнішнього ПЗУ, їх інтерпретацію та перетворення.

Такий підхід і застосований у пропонованому пристрої, що дозволяє легко нарощувати і видозмінювати набір контрольованих параметрів, не зачіпаючи мікроконтролера.

Слід відзначити деякі апаратно-програмні особливості:

  • для зменшення контактів при програмування, висновки програмування мікроконтролера і SEEPROM об'єднані. Для виключення можливих колізій сінхровходи і входи даних перехрещені;
  • при роботі запис у SEEPROM заборонена;
  • для зменшення споживання струму при вимкненому запаленні мікроконтроллер переводиться в режим холостого ходу з рідкісними переривань для підрахунку поточного часу (споживання від AkBAT в черговому режимі <6 мА; в активному-<15 мА);
  • підрахунок імпульсів з датчика витрати палива здійснюється за перериваннях по входу PD2 (INT0);
  • підрахунок імпульсів з датчика швидкості здійснюється за перериваннях по входу PD6 (ICP). Одночасно здійснюється захоплення тривалості інтервалу часу між двома імпульсами.

Електрична схема

Маршрутний комп'ютер-тестер для автомобілів ВАЗ

Рис.1. Маршрутний комп'ютер-тестер для автомобілів ВАЗ

Маршрутний комп'ютер-тестер виконаний на базі мікроконтролера DD1 типу AT90S2313 фірми Atmel з внутрішньої Перепрограмміруємая пам'яттю програм об'ємом 2 кбайта. Тактова частота обрана рівний 4 МГц і стабілізована кварцом Q1, підключеним до відповідних висновків мікроконтролера стандартним чином (елементи Q1, C7, C8). Для забезпечення надійного скидання мікроконтролера при подачі живлення до його входу скидання RS підключена RC-ланцюжок (R14, C9). Крім того, до цієї ж ланцюжку приєднаний вхід захисту запису WP мікросхеми послідовної Перепрограмміруємая пам'яті DD2 для запобігання випадкових записів у неї в робочому режимі. При програмуванні мікроконтролера або послідовної пам'яті на даний висновок через роз'єм X3 має бути поданий логічний "0".

Весь "сценарій" роботи пристрою зберігається в пам'яті з послідовним доступом DD2. Обмін інформацією між нею і мікроконтролером здійснюється по шині I2C, протокол реалізований програмним шляхом, швидкість обміну (частота на шині SCL) не перевищує 400 кГц. Резистор R20 підтягує потенціал на шині SDA до рівня логічної "1". Аналогічний резистор на шині SCL не застосовані, тому що передача сигналу по ній йде тільки в одному напрямку і висновок PB5 порту B мікроконтролера налаштований завжди як вихід.

Інформація відображається на знакосінтезірующем, зрусифікованому, рідкокристалічному індикаторі HL1 з 2 рядками по 16 символів зі світлодіодним підсвічуванням і розширеним температурним діапазоном. Обмін інформацією між мікро і індикатором проводиться по 4-розрядної шини з формуванням даних і керуючих сигналів програмним шляхом. Крім того, до цієї ж шині через резистори R15 .. R18, запобігають можливий на ній конфлікт, підключені кнопки управління S1 .. S4. Опитування клавіатури проводиться в моменти часу, коли немає обміну з індикатором, при цьому рівень логічної "1" забезпечується за рахунок внутрішніх підтягуючою резисторів мікроконтролера, а рівень "0" виникає при замиканні кнопки на землю. Програмно реалізовано придушення брязкоту контактів та безпека від імпульсних перешкод. Оскільки звернення до індикатора і послідовної пам'яті рознесені в часі, то для економії висновків мікроконтролера висновок PB7 порту B використовується ними спільно. Для живлення драйверів індикатора з розширеним температурним діапазоном потрібно негативне напруга -3 ..- 4 В, що отримується шляхом випрямлення змінної напруги частотою приблизно 8 кГц (меандровий імпульси формуються мікро) за допомогою елементів R19, C10, VD4, VD5, C11. У разі застосування індикатора з звичайним температурним діапазоном елементи R19, C10, VD4, VD5 необхідно виключити і встановити перемичку X4. Змінний резистор R23 дозволяє задати необхідний рівень контрастності. Харчування на підсвічування подається постійно при включенні ключа запалювання, струм через світлодіоди обмежений резисторами R21, R23.

Звукові сигнали частотою приблизно 1 кГц відтворюються електродинамічних випромінювачем BA1, що підключений до висновку PD5 мікроконтролера через підсилювач потужності на елементах VT4, R10, R11. Випромінювач запітивается напругою 12 В від ключа запалювання, при цьому струм через нього при видачі звукового сигналу обмежений за допомогою резистора R9.

Резистори R12, R13 утворюють дільник напруги +12 В, що надходить при включенні ключа запалювання. Сигнал з виходу дільника подається на вхід PD3 мікроконтролера і служить для переведення його в активний режим або режим холостого ходу.

Сигнали для обміну з ЕБУ по K-лінії виробляються мікроконтролером з використанням внутрішнього апаратного послідовного інтерфейсу. Перетворення переданого сигналу в рівні K-лінії здійснюється за допомогою елементів R5, R4, VT2, R2, R3, VT1. Приймається з K-лінії сигнал перетворюється по рівню за допомогою елементів R6, R7, VT3, R8. Застосування вхідного дільника на резистора R6, R7 і емітерний повторювача забезпечує необхідний рівень перемикання по K-лінії. Резистор R1 служить навантаженням K-лінії, діод VD3 захищає вихідний транзистор VT1 від імпульсів негативної полярності.

Резистори R24 і R28 є навантаженням для датчиків витрати палива та швидкості, виходи яких представляють собою відкритий колектор. Сигнали з цих датчиків перетворюються в необхідні рівні за допомогою транзисторних ключів на елементах R25, R26, VD6, VT5, R27 і R29, R30, VD7, VT6, R31 відповідно.

Живлення пристрою здійснюється за двома роздільним ланцюгів: безпосередньо від акумулятора напругою 12 В і напругою +12 В, що надходять при включенні ключа запалювання. Напруга від акумулятора подається через роз'єм X2, запобіжник F1 і діод VD1, що захищає від переполюсовкі, на 5-вольта стабілізатор DA1 типу 78L05 (краще LM2931), з виходу якого запітивается вся логічна частина схеми, що забезпечує безперервний хід годинника і збереження результатів вимірювань. На вході і виході стабілізатора встановлені фільтруючі конденсатори C1, C2 і C3, C4 відповідно. Харчування на іншу частину схеми подається через роз'єм X2, діод VD2, що захищає від переполюсовкі, тільки при включенні ключа запалювання і фільтрується конденсаторами C5, C6.

Андрій Воробйов