Sergei Keler (nw_wind) wrote,
Sergei Keler
nw_wind

Очумелые ручки делают приборную панель.

Очумелые ручки делают приборную панель.

Всё началось с того, что я купил Suzuki Djebel 250XC. У него было всё хорошо, но не работала приборная панель, сам дисплей был сломан. В итоге, я купил по случаю полуживую приборку с неработающими потрохами, но живым дисплеем, собрал из двух одну и на проблему забил. Хотя.. в голове мысли остались, тем более, что приборка джебеля не умеет показывать обороты двигателя и его температуру. Здесь я и занялся творчеством.






Я вяло ковырял разные технические решения и осваивал программирование МК. Серьёзно же занялся лишь купив KTM 250EXC с мёртвой приборкой. Вскрытие показало, что железо мертво, контроллер не заводился. От родной приборки остался только корпус и дисплей. Документации, конечно же, никакой. Использовать родной дисплей тоже стало неинтересно. Во-первых, он не графический. Во-вторых, там каждый сегмент выведен отдельной ножкой. В третьих, он заточен только на заводской формат вывода -- цифры не подвинуть и не переставить.






В результате, я родил несколько проектов на гитхабе. Текущий, для КТМ, вот этот: github.com/nw-wind/motoMetersLight






На экранчик 16x2 символа выводится:
- Скорость
- Обороты
- Одометр
- Температура
- Моточасы
- Время суток
Это пока всё, что мне нужно. Я не спортсмен, мне "время круга" и что-то там ещё такое не нужно. При желании, это несложно добавить, а время само показывать крупно отдельно. Я пока сам не понимаю, как и зачем работает спортивная часть приборки КТМ. Не спешу, узнаю ещё.






Контроллером там стоит моя любимая плата Arduino Pro Mini. Она достаточно умная для таких забав, маленькая и не содержит ничего лишнего.






Изначально, для последующих переделок, и софт и железо я сделал модульными. Все компоненты висят на одной шине I2C. Спидометр идёт на ногу 2 с подтяжкой вверх так как геркон на вилке замыкает контакт на массу, тахометр на ногу 3 без подтяжки тк там TTL на входе. Только ноги 2 и 3 могут дёргать прерывания на ардуине с чипом ATMega328P. На шине висят часы с батарейкой (они ходят и при выключенном питании), энергонезависимая память FRAM 8K для хранения одометров и может ещё чего, пока нет идей, дисплей. Датчик температуры подключается через SPI и микросхему Max31855, я не нашёл пока под I2c. Свободных ножек у контроллера ещё много, можно подключить, например, вентилятор и, если температура поднимется, включать его на обдув радиатора.






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






Я собрал макетик и начал писать софт под него. На всякий случай, там рядом стоит ещё неподключенный светодиодный красный индикатор на 3 цифры (можно до 8 цифр) и max7219, который им управляет. Сам же максик рулится по SPI. Индикатор не задействован, пока непонятно, зачем он вообще. Зато он яркий :)





На видосиках можно посмотреть мои предыдущие игры в приборку. Индикатор на светодиодах ws2812 -- хорошая идея. Можно задавать каждому цвет и яркость, то есть, это фактически многоцветный дисплей. Я там нарисовал синим слишком низкие обороты, зелёным нормальные с максимальным моментом, жёлтым, что уже надо передачу вверх и красным уже перебор.





Играл с дисплеем 20х4 символа. Это хорошо для джебеля, но на КТМ слишком мало места.





Тахометр для гоночных мотиков -- показывает полоской обороты, но при этом мигает если обороты упали ниже максимального момента и превысили некий лимит. То есть, кроме полоски собственно тахометра, есть ещё две мигалки "ааа, передачу вниз" и "о-ё-ёй, передачу вверх".






Для дочитавших до конца, вот схема приборки, что идёт у меня на КТМ. Код, схемы и сам проект опубликованы на гитхабе: github.com/nw-wind/motoMetersLight Если кто хочет поучаствовать, милости просим. Схему для считывателя сигнала от высоковольтного провода ещё рисую. Сейчас там просто прямоугольник с ножками :)

У кого есть возможность сделать корпус из приличного пластика? Я хотел бы воткнуть всё в родной от КТМ, но там одна кнопка протёрта до дыр, он негерметичный. С другой стороны, хочется поставить в штатное место на родные крепления.

Вся схема питается от 5В, соответственно, там пока что нет понижающего конвертера DC-DC с 12В на 5В. У меня несколько штук есть, исследую.

Настройки приборки делаются через ком-порт, туда можно подключиться терминалом и смотреть на отладку. Меню настроек я не реализовал пока что. Думаю прикрутить джойстик с кнопкой для управления менюшками. Пока что, все настройки прямо в прошивке и требуют компиляции.

Ещё хочу тахометр и спидометр посадить на ATTiny85 и сам этот МК ведомым на I2c. Тогда главный контроллер будет лишь отрисовывать дисплей, опрашивать датчики и прочие устройства, которые автономно сами будут что-то там делать. Max31855 я бы тоже на ATTiny85 посадил. Эх, как это всё теперь впихнуть в корпус?

В теории, за 2000р можно заказать печатную плату и всё напаять на неё, там не такое всё сложное, если собирать по деталям и большая часть запчастей есть у нас на складе.

Проект сырой, конечно, но я не спешу, я не делаю из этого коммерцию, я изучаю МК и железо на практике, скорее всего.

Tags: микроконтроллер, мотоцикл, рукоблудие, самоделки, электроника
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments