Бортовой компьютер для мотоцикла

В данном проекте мото-бортового компьютера вы увидите как можно использовать LCD-дисплей от мобильного телефона Nokia 6280, управляемый микроконтроллером PIC18F4455. Данный БК установлен на мотоцикле Yamaha TDM850 (99 г. выпуска).

Характеристики устройства:

отображение текущей передачи (с 1 по 5), плюс нейтральная передача напряжение аккумулятора. Отображение аналоговое и цифровое время с запуска отображение аналогового и цифрового спидометра суточный счетчик отображение положения ручки газа (в процентах) отображение аналогового и цифрового тахометра если мотор не заведен, то отображается надпись "Engine Stop" отображение температуры воздуха, охлаждающей жидкости, масла при определенных оборотах отображается надпись "GearUp" (переключить передачу вверх). В режиме настроек (Debug Mode) возможна корректировка об/мин при которых появляется предупреждающая надпись на 5-ой передаче при раскручивании движка более 3500 об/мин и при параметре TRP меньшем чем задан в настройках (к примеру 17%), отображается надпись "Economic Drive" (экономичная езда)

Режим настроек (Debug Mode):

В данном режиме БК показывает данные датчика скорости, TPS датчика (ручка газа), уникальные коды устройств датчика температуры DS18B20. Также, врежиме настроек вы можете поменять параметры для режимов "GearUp", "Economic Drive" и настроить подсветку LCD.

В устройстве не предусмотрены какие-либо кнопки для изменения параметров, поэтому используются сигналы от датчиков переключателя передач и TPS-датчика ручки газа.

Вход в режим настроек и изменение параметров:

ручку переключения передач передвиньте на нижнюю передачу и включите питание. На экране устройства появится надпись Debug Mode. для пролистывания параметров передвигайте вниз ручку переключателя передач. для изменения параметра используйте ручку газа для сохранения изменений параметра, передвиньте ручку переключателя передач вверх. Параметр изменит свой цвет на синий.

Все данные хранятся в энергонезависимой памяти и не стираются после выключения питания бортового компьютера.
Для выхода из режима настроек выключите питание, а потом снова включите.

Вся электронная начинка расположена слева от защиты и с LCD экранчиком соединена плоским шлейфом. С второй стороны электронного блок БК отходят соединения к модулю зажигания, температурным датчикам и датчику положения ручки передач.

От модуля зажигания БК получает +12В, сигналы об/мин (RPM) и ручки газа.

Температурные сенсоры DS18B20 подключены по протоколу 1Wire, в режиме "parasite power" (т.е. не требуют внешнего питания).

Датчики переключателя передач расположены под левой защитой картера двигателя. В качестве датчиков используются 2 оптических сенсора. На фотографиях вы можете увидеть все 3 положения: обычное положение, положение при переключении передачи вниз и положение при переключении передачи вверх.

На данном мотоцикле нет заводского датчика скорости, поэтому я сделал его своими руками. В качестве датчика скорости я использовал датчик-Холла TLE4945. Датчик установлен под крышкой картера двигателя.

Для работы датчика Холла требуются магниты, в моем случае я использовал три магнита. Причина этого более высокая точность: скорость измеряется от 0 до 350 км/ч с разрешением 1 км/ч, обновление данных происходит каждую секунду. При монтировании магнитов вы должны соблюдать ориентирование их магнитного поля. Последовательность полюсов магнитов у меня такая: S-N-S-N-S-N.

В принципиальной схеме используется простое решение для связи PIC18F4550 и Nokia 6280 Lcd (320x240 пикселей) через параллельный порт.
Для термодатчиков DS18B20 используется 1 канал ввода\вывода 1Wire. Для датчика положения передач и нейтральной передачи используется 3 линии МК, один вход МК используется для датчика скорости, 2 аналоговых входа для измерения напряжения питания и датчика ручки газа, и один выход используется для подсветки LCD. USB разъем используется для программирования и тестирования.

Как было сказано выше, все 3 датчика DS18B20 сидят на одной линии 1Wire и для правильной работы устройства надо знать их уникальные 64-разрядные коды.
У моих датчиков были следующие коды:
"Воздух" = 9300000078625728
"Вода" = D5000002061B2128
"Масло" = 4600000206125A28

Для правильной работы БК, в коде программы вы должны изменить эти коды на коды своих датчиков (см. скриншот выше).

Небольшое видео работы устройства:

Скачать прошивку

Оригинал статьи на английском языке (Перевод: Колтыков А.В. для сайта cxem.net)






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.