Виберіть свою мову

Деякі моделі автомобілів ВАЗ обладнані маршрутним комп'ютером МК-21093. Цей прилад, обробляючи сигнали датчиків швидкості (ДСА) та витрати палива (ДРТ). виводить на індикатор минув з початку поїздки час, пройдену відстань, середню швидкість, витрата бензину (миттєвий, за поїздку або середній на 100 км). Модифікації комп'ютера для автомобілів сімейства ВАЗ-2110 вимірюють, крім того, і деякі інші параметри - напруга бортової мережі, температуру в кабіні і за бортом. Вся ця інформація, безумовно, корисна, але, на жаль, на індикаторі в кожен момент відображається тільки один з параметрів, причому при побіжному погляді важко визначити, який саме. Та й перемикати режими доводиться практично наосліп. Написи над кнопками майже не видно, особливо при поганому освітленні. А щоб вибрати, наприклад, самий економічний режим руху, водієві доводиться постійно стежити за індикатором комп'ютера, відволікаючись від дороги, а це вже небезпечно.

Користуючись таким маршрутним комп'ютером, водій через деякий час приходить до висновку, що прилад, звичайно, цікавий, але... не потрібен. Інша справа, якщо б показання датчиків можна було записати своєрідний "чорний ящик", а після поїздки відтворити. Тут вже з'явилася б можливість у спокійній обстановці виявити закономірності та врахувати їх у наступних поїздках. Виникає законне бажання оперативно отримувати інформацію, наприклад, про залишок бензину в баці або відстані, яку можна на ньому проїхати. Непогано б мати звукову сигналізацію про те. ню пройдено задану відстань, досягнута (чи перевищена) задана швидкість. А якщо встановити додаткові датчики, то можна вимірювати і відображати багато іншого, аж до положення автомобіля на карті міста.

Думка доопрацювати наявний бортовий комп'ютер досить швидко була відкинута. Справа в тому, що основа комп'ютера - спеціалізований мікроконтролер КР1820ВЕЗ-021 з масочний ПЗУ. програму якого дуже важко "зламати", але ще складніше переробити. Навіть якщо б вдалося замінити мікроконтролер іншим, скажімо, серії КМ 1830. обмежені возможноети індикатора (всього чотири десяткові розряди) і недостатня кількість кнопок на передній панелі комп'ютера, все одно не дозволять щось поліпшити. Що ж стосується запису показань датчиків, то роботу по виготовленню цієї системи довелося б починати "з нуля".

Загалом, залишається одне - створювати маршрутний комп'ютер заново. Але перед тим, як "кувати залізо", непогано перевірити на практиці та відпрацювати основні його алгоритми. А для цього найкраще підійде портативний комп'ютер ноутбук з великим РК екраном і повноцінною клавіатурою. Потрібно тільки знайти спосіб з'єднати його з встановленими в автомобілі датчиками.

Щоб розробити і скоригувати програму такого комп'ютера, придатні всі відомі засоби програмування для IBM PC. Накопичену інформацію записують на гнучкий або жорсткий диск (прагнучи вберегти дисководи від пошкодження, робити це краще під час зупинок, хоча б у світлофора). При бажання (і наявності коштів, можна вести запис на твердотілі карти пам'яті, яким не страшні механічні дії. Відтворюють запис на тому ж самому або будь-якому іншому комп'ютері, причому тут доступні будь-які методи математичної обробки та аналізу.

ДСА маршрутного комп'ютера МК-21093 встановлюють на валу спідометра, який робить один оборот на метр шляху. Вихідна ланцюг датчика замикається і розмикається десять раз за кожен оберт, генеруючи 10000 імпульсів на кілометр. ДРТ з того ж комплекту генерує 16000 імпульсів на кожен літр пройшов через нього бензину. Обидва датчики вимагають живлення напругою 12 В від бортової мережі автомобіля.

Сигнали від датчиків, а також про натисканні на педаль гальма і включення заднього ходу найзручніше подати на входи наявного в кожному комп'ютері комунікаційного порту. Схема пристрою сполучення показана на рис. 1. Його розміщують в будь-якому зручному місці автомобіля, а кабельну розетки XS1 з'єднують з виделкою СОМ1 або COM2 комп'ютера. Для прийому сигналів використані входи порту CTS, DSR, DCD і RI. Стандартний адаптер послідовного порту IBM-сумісного комп'ютер здатний автоматично генерувати запити переривання при зміні логічного рівня на будь-якому з них. Оптрони U1-U4 забезпечують взаємну гальванічну розв'язку ланцюгів автомобіля і комп'ютера. Напруга живлення колекторних і эмиттерных ланцюгів транзисторів оптронів формує випрямляч діодах VD1-VD6. Для нормальної роботи пристрою сполучення необхідно встановити протилежні логічні рівні на будь-яких двох із трьох наявних виходах (TXD, RTS, DTR).

Якщо в автомобілі комп'ютер МК-21093 вже встановлений і датчики підключені до нього штатно. необхідні сигнали можна зняти і з МК, забезпечивши таким чином його одночасну роботу з комп'ютером ноутбук. Для цього потрібно доповнити вузол спряження (рис. 1) двома транзисторними інверторами, як показано на рис. 2.

Ліві за схемою виводи резисторів підключають до зазначених висновків мікросхеми DDI (К561ТЛ1), встановленої на процесорній платі маршрутного комп'ютера. Врахуйте, що на ній є дві мікросхеми K561TTU. DD1 - та з них, яка знаходиться приблизно в центрі плати. Напруга +12 В на вузол сполучення подають з контакту 5 вилки ХР1, а загальний провід з'єднується з її контактами 2, 7 або 8.

В автомобілях, обладнаних електронним блоком управління (ЕБУ) фірми "Дженерал Моторс", сигнал ДСА можна зняти з контакту В4 рожевого роз'єму цього блоку або з контакту 2 восьмиконтактного (білого кольору) з'єднувача джгутів панелі приладів і системи управління двигуном. Сигнал ДРТ знімають з контакту С2 блакитного роз'єми ЕБУ або з контакту 3 згаданого з'єднувача. Провід сигналу ДСА в джгуті системи управління двигуном - блакитний з червоним і має номер 42. а ДРТ - жовтий з чорним, його номер 71. Для сполучення з СОМ-пор-те комп'ютера допустимо скористатися вже описаним вузлом з доповненням згідно рис. 2.

Вихідний текст програмного модуля TripCOM. обробляє сигнали датчиків, наведено в таблиці. В процесі ініціалізації він запитує та отримує від операційної системи необхідний обсяг пам'яті для масивів даних, встановлює потрібний режим роботи послідовного порту, а наявні в комп'ютері годинник реального часу за допомогою функції 06 переривання 1АН налаштовує так, що вони кожну секунду генерують запити переривання 4АН. Перед завершенням роботи модуль автоматично викликає процедуру NewExrtProc. відновлює "статус кво".

(натисніть для збільшення)

Переривання, що генеруються адаптером послідовного порту, при зміні будь-якого з вхідних сигналів обробляє процедура NewComlnt. Вона визначає, від якого з датчиків поступив імпульс, і збільшує на два свідчення відповідного лічильника. Молодші розряди лічильників підрахунку імпульсів не беруть участь. В один з них процедура записує логічну 1, якщо натиснута педаль гальма, а в іншій - якщо включена передача заднього ходу.

Щосекундні переривання від годин обробляє процедура RTCAIarm. зчитує показання лічильників імпульсів, що надійшли від ДСА та ДРТ. Так як після зчитування змінні обнуляються, числа, які заносять в масиви, призначені покажчиками pDIST і pFUEL, пропорційні (без урахування молодших розрядів) відповідно пройденому за останню секунду відстані і израсходованному за цей же інтервал обсягу палива. Молодші розряди чисел говорять про стан педалі гальма і включенні передачі заднього ходу. Змінна W містить індекс клітинки (однаковий для обох масивів), в яку буде проведена чергова запис. Після досягнення кінця масиву його заповнення почнеться з початку. Так як розмір звичайного масиву в IBM PC не може перевищувати 64 Кбайт, необхідно через кожні 8.. 9 год безперервної роботи дані з оперативної пам'яті автоматично або по команді оператора переписувати на жорсткий диск (або інший зовнішній носій).

Читання і обробка даних з масивів - турбота основної програми, яка не наводиться з-за великого обсягу. Наші читачі можуть її знайти на сайті www.paguo.ru. Вона активно використовує модуль TripCOM. у тому числі наявні у ньому функції перекладу показань лічильників в миттєві значення швидкості руху в км/год (V). витрати палива в л/год (Fh) і на 100 км шляху (F100). Функція GX повертає обчислені за даними ДСА значення поздовжньої перевантаження (в одиницях д). виникає при розгоні і гальмуванні автомобіля.

Значення логічних функцій Brake і Reverse дорівнюють true, якщо відповідно натиснута педаль гальма або включена передача заднього ходу. Процедура GetSampIe служить для вказівки згаданим вище процедур і функцій, який саме відлік показань лічильників слід обробляти, і виконує над ним деякі попередні операції. Цю процедуру слід викликати кожен раз при зміні оброблюваної "секунди".

Параметри датчиків задані константи Nkm (число імпульсів ДСА на кілометр шляху) і N1 (число імпульсів ДРТ на літр пройшов через нього палива). Якщо в автомобілі встановлені датчики, що відрізняються від вхідних у комплект комп'ютера МК-21093, досить змінити відповідні значення у розділі констант секції інтерфейсу модуля TripCOM. Наприклад, для роботи із згадуваним вище ЕБУ Nkm повинне бути дорівнює 6000.

Кілька слів про особливості обчислення миттєвої витрати палива на 100 км шляху. У відповідній формулі швидкість руху автомобіля знаходиться в знаменнику, тому при повільній їзді можливе переповнення розрядної сітки процесора, а під час зупинок - ділення на 0. Щоб уникнути цих помилок, комп'ютер МК-21093 обчислює витрата палива на 100 км шляху тільки при русі зі швидкістю понад 27 км/ч. У функції F100 розглянутого модуля вжиті заходи проти переповнення, а повертається значення незалежно від швидкості обмежено значенням F100max (в нашому випадку рівним 30 л).

Приклад графіків, побудованих за даними, записаним при русі автомобіля ВАЗ-21099 по вулицях Москви, показаний на рис. 3. Крива швидкості завдяки інерційності автомобіля - дуже плавна, чого не можна сказати про витрату палива. Саме його нерівномірність, не дає можливості, дивлячись на постійно мінливі показання цифрового індикатора комп'ютера МК-21093. точно визначити поточне значення. Крива витрати палива на 100 км. показана на рис. 3, побудована за усередненими за кілька хвилин значень, що робить її більш наочною.

Поїздка проходила в потоці транспорту в ранкову годину пік. Швидкий рух (іноді з перевищенням встановлених обмежень швидкості) чергувалося з зупинками біля світлофорів. Один з них (приблизно 8 год 1 хв) вдалося подолати тільки у другому циклі його роботи. Кілька хвилин, починаючи з 7 год 55 хв. автомобіль "повз" в пробці. Всього за 20 хв було пройдено трохи більше 11 км витрачено 1,3 л бензину. Для порівняння, при їзді на тому ж автомобілі з приблизно постійною високою швидкістю (наприклад, по Московській кільцевій автодорозі) на 100 км витрачається 5...7 л бензину.

Статистична обробка записаних даних дозволяє виявити закономірності, представляють певний інтерес для водіїв і спеціалістів з автомобільної техніки. Наприклад, на рис. 4 наведена залежність витрати палива від середньої швидкості руху по місту, а на рис. 5 - від прискорення автомобіля при розгоні і гальмуванні двигуном.

Графіки побудовані за середнім значенням параметрів за кілька поїздок без додаткової обробки (згладжування).

Автор: А. Сергєєв, р. Москва