Сообщение отправлено
Я
Desaparecido из Логроно 26 декабря 2016

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

Всё началось с того, что я купил 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р можно заказать печатную плату и всё напаять на неё, там не такое всё сложное, если собирать по деталям и большая часть запчастей есть у нас на складе.

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

Мне оно надо?
Проголосовало 72 человека
9426
Изображение