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

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

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

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

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

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

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

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

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

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

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

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

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

Файл: 9.jpg