Проект основывается на BCOMP11 и является его дальнейшим развитием. Является второй итерацией, "перерождением" проекта мини-бортового. Адаптируется для встраивания внутрь приборной панели Mitsubishi Pajero Sport 2ого поколения. Функционал работы с CAN-шиной так же заточен под данный автомобиль, однако, легко поддается переделке под любой автомобиль с шиной CAN. В основе лежит относительно простой микропроцессор LPC11C14 с ядром ARM Cortex-M0 на 50МГц.
Проект полностью открытый. Публикуются все исходники для его повторения. Лицензия распространения - MIT. Однако, при адаптации под прочие автомобили буду благодарен, если мне будет выслан перечень изменений и добавленных PID-ов, это поможет развитию этого проекта.
Отличия от первой версии BCOMP11:
Схема бортового:
Подключение программатора:
Интеграция в приборную панель происходит по следующей схеме:
Подключение к термодатчику является опциональным, его разумно использовать в случае, если штатный бортовой компьютер отсутсвует. Подключение к ДУТ (датчику уровня топлива) требуется для автоматического сброса Маршрута 2 (Trip B) после заправки и предупреждения о пустом баке (фактически не требуется, т.к. эту функцию выполняет контрольная лампа на приборной панели). Расход топлива рассчитывается по данным с CAN-шины и подключение датчика не требуется.
Штатный LCD-экран выпаивается и на его место устанавливается OLED-дисплей с диагональю 1.3 дюйма и разрешением 128х64 пикселей на контроллере SH1106 (так же в прошивке есть поодержка установки экрана OLED 0.96 дюйма на контроллере SSD1306). Этот экран позволяет отображать до 4 строк текстовой информации.
Проще всего установить экран производства Waveshare, он идеально вписывается в штатный пластиковый держатель. Однако, эти экраны дороже вариантов с Aliexpress и существуют только в синем цвете (на Aliexpress OLED 1.3" предлагается так же в белом цвете, что по-моему мнению смотрится лаконичнее).
Штатный вырез не подходит на нового экрана, поэтому требуется поменять его форму. Сделать это можно, изготовив новую "пленку" с шкалами приборов. Обрисовка измененного окна для нового экрана:
В своем варианте я заказывал новую плёнку здесь: Carscale, этот производитель имеет так же готовые дизайны шкал: классический вариант (повторяющий штатное оформление шкалы приборов) и измененный под стайлинг панели (который можно наблюдать на рисунке выше).
Прошивка может отправлять данные по UART-интерфейсу. Отправка происходит 1 раз в секунду. Данные можно сохранять на UART-логгере, например на таком: UARTLOG или на таком: OpenLog Blackbox.
Формат отправки:
time;speed;rpm;trans;batt;dfuel;lon;lat;gtime;gdate;t_eng;t_akpp;t_ext;p_fuel;p_air;dist;gdist;mil;
0;0;0;D2;-2147483648.-8;0.00;E03739.387;N5548.607;11-36-50;21-04-2003;65535;65535;9;0;0;0;0;0;
Где:
Для тестирования и отладки функицонала без установки в автомобиль была сделана специальная прошивка. Она симулирует некоторые базовые события и ответы на шине автомобиля, что позволяет создать небольшую CAN-сеть на столе.
Прошивку можно взять здесь: ecu-emulator на GitHub.
Обрабатывает некоторые базовые запросы PID к блоку управления двигателем, так же отвечает на PID 0x2103 для автоматической коробки. Из уникального функционала - сделана посылка некоторых "сырых" пакетов, в которых содержатся базовые данные, к примеру, скорость и температура двигателя.