Маршрутный компьютер-тестер для автомобилей ВАЗ
В настоящее время на автомобилях семейства ВАЗ широко применяются электронные блоки управления (ЭБУ) двигателями типа Бош М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 в дежурном режиме
- подсчет импульсов с датчика расхода топлива производится по прерываниям по входу 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.
Андрей Воробьёв
- English
Похожие материалы
- Шина управления I2C
- Программируемый синтезатор частоты (1)
- Автомобильные часы-термометр-вольтметр
- Частотомер
- Светодиодная гирлянда на микроконтроллере