Стрелочный электронный спидометр на Днепр/Урал v1.0 | OPPOZIT.RU | мотоциклы Урал, Днепр, BMW | ремонт мотоциклов

Стрелочный электронный спидометр на Днепр/Урал v1.0

Уже месяц работаю на проектом цифрового стрелочного спидометра. Давно думал об этом. Люблю чтобы спидометр показывал точные данные. Пробег, скорость. Под любые редуктора, под любые колеса. И главное стрелкой, а не цифрами.Цифрами это слишком просто и не эстетично.Ставить китайские поделки с алиэкспресса с датчиком на колесе, конечно модно, но не по нашему)Уже проходил я и велокомпьютеры и другие современные плюшки. Смотрятся они на классическом практически стоковом к-650 чужеродно. Хотелось чтобы вид у спидометра был максимально приближен к родному, но при этом его точность и функциональность близилась к современным авто\мото аналогам.

Последней пинком к действию стала разобранная электрическая печатная машинка, которую выкидывал сосед. Да соседи обычно всякое ненужное электронное барахло несут мне перед тем как выкинуть. Раскурочив ее, обнаружил шаговые двигатели, которые перемещали лист, переставляли буквы по строкам и прочее. Изучив их технические характеристики, а именно дискретность в 1,8гр\шаг я понял что это то, что надо, чтобы крутить стрелку. Посчитал что на шкалу в 140км\ч выходит ровно 140шагов. Однако шкала у нас нелинейная, поэтому пришлось поиграться.
В итоге в течении месяца с нуля разработано устройство, написана прошивка, рассчитаны все параметры и получен готовый продукт первой тестовой версии, который после всяческих прогонов на "столе" отправился на ходовые испытания на моем грузовом Днепре.

Датчиком скорости служит заводской 6-импульсный датчик скорости ваз 493.3843, установленный через переходник сделанный из частей троса спидометра ну и собственно деталей самого спидометра.

Пока впечатления только положительные. Точность шикарная. Различия с GPS в 2км\ч и то из-за того, что считалось под резину и-40, а на мотоцикле стоит л-96 которая немного выше.Конечно немного необычно поведение стрелки которая имеет четкие фиксированные положения, но при езде все сливается и не бросается в глаза. Счетчик пробега теперь тоже считает то что, надо (хотя и стандартный механический с родной трансмиссией меня устраивал). Плюс будет добавлен счетчик суточного пробега. В планах также ввести коэффициент под разные трансмиссии и колеса, который можно выбирать и корректировать без прошивки. Ну и как бонус можно всунуть вольтметр бортсети, измеритель температуры воздуха, оборотов и т.п.
В общем вот такое устройство вышло.

Если у общественности будет интерес к данному девайсу, то могу расписать все более подробно с приведением принципиальных схем, прошивок и более детальной информации об устройстве.
фотка для oppozit.ru
фотка для oppozit.ru
фотка для oppozit.ru
фотка для oppozit.ru
фотка для oppozit.ru

Dnepr_1186


Dnepr_1186's picture

да хохлы молодцы. С китая видимо шаблончики заказывают, а потом вариации на разные темы) Ну неплохо, да и цена не мегакусачая


Alex_and_Alex's picture

Тоже пробовал на таком моторе делать, но шаг уж больно крупный у него. Надо микрошаговый драйвер, но было лень. В итоге взял дохлую приборку от ваза и вытащил оттуда редукторные шаговички со стрелками, сделал на них.
Вообще респект, думал я один тут такой маньяк приборки делать) Как ловишь нулевое положение? Просто кручением в упор? И кстати на каком контроллере сделал?


Dnepr_1186's picture

так полушаговый режим в принципе можно реализовать. Последовательность импульсов для полушага я на бумажке написал, персчитал под драйвер, но там надо еще два порта контроллера дополнительных. А у меня было и так впритык-7сегментные индикаторы заняли аж 12 пинов. Буду переделывать управление ими через сдвиговый регистр, пинов освободится, тогда и полушаг можно реализовать.
Изначально все проектировалось под мою любимую Атмегу8, но в процессе написания программы выяснилось? что прога занимает много места, поэтому без переделок сюда всунул Атмегу168 с 16кб памяти.
Нулевой шаг устанавливается при первом запуске после прошивики тот, в каком положении находится двигатель в данный момент. Т.е. грубо говоря можешь выставить стрелку в ноль и прошиваешь. Это положение при первоначальном запускуке считается нулевым. Далее уже после выключения питания это положение записывается в EEPROM и от него ведется весь отсчет. Если питание пропадает, а стрелка находится в ненулевом положении, то в момент выключения по сигналу с компаратора(спад напряжения питания) в EEPROM записывается текущее положение стрелки. При последующем запуске программа видит что на входе импульсов ноль, а стрелка не на нуле и возвращает ее в ноль или в другое положение, соответсвующее текущей скорости движения.
Метод определения скорости стрелкой табличный. Рассчитана таблица-частота/шаг на всю шкалу в 140км\ч. Именно она и занимает большой объем памяти.
Можно конечно взять более распространенный контроллер типа меги32, но вприницпе мега168 справляется. Драйвером двигателя служит мс L293d


Springer's picture

Ммммм. Не гарантированный метод позиционирования! Стрелку может стряхнуть или еще что. Не запишется положение, например. И всё, на демонтаж и перепрошивку... Хорошо бы иметь датчик нуля. И как на машинах: при включении дернуть стрелкой и вернуть в ноль.


Dnepr_1186's picture

стряхнуть точно нет. Там конструкция двигателя такова, что его трудно рукой крутануть, не то что стряхнуть. Но вот если заглючит от помех каких то да все может быть. Но в данной конструкции датчик нуля реализовать непросто да и нету обратной связи контроллера с двигателем. Тут будет проще написать некие защитные алгоритмы, которые даже после аварийного сбоя вернут стрелку на место.
по поводу большого шага. На видео не сказал бы что шаг мега большой, конечно виден, но разрядность выходит где-то 1шаг=1км\ч. https://vk.com/video13989054_456239087

Alex_and_Alex , может подскажешь какие нибудь мелкие современные индикаторы для одометра?


Alex_and_Alex's picture

Индикаторов всяких у китайцев есть. Из мелких там в основном OLEDы, но можно и жк поискать. Ну или по-старинке из калькуляторов выдергивать) Из не совсем мелких - от Nokia 5110, тоже у китайцев в виде готового модуля.

https://ru.aliexpress.com/item/0-91-inch-128x32-I2C-IIC-Serial-Blue-OLED...

А про ноль - у меня сделано вот как. Есть 2 питания - рабочее и дежурное. Дежурное держит стрелку в нуле малым током. При отключении рабочего питания - стрелка сама в ноль возвращается. Если дежурное вдруг пропало - то при следующем включении моторчик крутит в ноль, там упор и стрелка на нем останавливается. От рабочего питания включается подсветка, датчик скорости и все остальное.

До этого был у меня другой мотор, на заднице мотора флажок и оптрон для настройки нуля, но на новом моторе нету вала на заду, пришлось отказаться.

Про 1 шаг - грубовато это. Даже в полушаге плавности не хватает, но это уже мои придирки и эстетика) Сейчас кстати полно микрошаговых драйверов, их активно используют строители 3д-принтеров. С дроблением 1/16 очень плавно и красиво все будет работать) Советую DRV8880 попробовать. Ну и мотор такой для стрелочки конечно перебор, но так понимаю сделано из того что было)

Вот примерно такой у меня сейчас моторчик:
https://ru.aliexpress.com/item/MR1107-Stepper-Motor-Instrument-Cluster-f...
Его можно крутить прямо с пинов микроконтроллера, без никаких драйверов. Ток фазы там 20 мА всего.

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

А с EEPROM у атмег раньше был косяк, иногда билась последняя запись при отключении питания. Не знаю, поправили ли это, давно с ними не работал. Для обхода косяка следовало после записи байта данных переключиться на незанятую ячейку. Если глюк происходил - страдала она, а не данные.


Dnepr_1186's picture

Да мысль с двумя питаниями была и у меня, но решил что лишнее. Да мотор этот был под руками, с шаговыми до этого вообще не работал. Будем развиваться в этой области дальше. С еепром проблем нет, значит устранили


Dnepr_1186's picture

Да мысль с двумя питаниями была и у меня, но решил что лишнее. Да мотор этот был под руками, с шаговыми до этого вообще не работал. Будем развиваться в этой области дальше. С еепром проблем нет, значит устранили


Springer's picture

Красиво! Особенно, цифровой одометр красными индикаторами!
А вот узел датчика категорически не нравится... Во1ых, не эстетично. Как раз упомянутая в тексте чужеродность. Во2ых, кажется, что легко случайно сломать.


Dnepr_1186's picture

сломать это надо специально туда ногой лупить. Ну а про эстетику не знаю, запихнуть его больше некуда, это самый нормальный вариант. Да и внизу при моей езде с коляской он в глаза не бросатся.
Одометр это отдельная тема. Его роль выполняет мегаредкий советский индикатор АЛС311. Случайно удалось достать парочку. Его плюс-он очень мелкий, но функции свои выполняет прекрасно.


Springer's picture

Классные индикаторы! Такие на калькуляторах Электроника стояли! :) Они как управляются, тоже 9 контактов?


Dnepr_1186's picture

как обычный семисегментный индикатор. 7 выводов от сегментов, 1вывод от точки и 5выводов- от анода каждого разряда. Итого 13 выводов. Индикатор сделан в виде корпуса микрсохемы DIP14. Очень понравился.Жаль что очень редкий. Из современного аналогов не нашел. А тут 5разрядов при таком размере. Очень удобно было бы использовать во всяких самоделках. Вольтметры, термометры и прочее.


Alex_and_Alex's picture

Сегодня любопытства ради запустил полудохлый уазовский спидометр, и потыкал его осцилом. Да, мотор привода стрелки работает в микрошаге! Сам спидометр сделан на PIC16F684, а вот жки-дисплей управляет PCF8566, которая регулярно у всех дохнет. В этом тоже дохлая.
Если не трудно - скинь схемку входа импульсов. А я попробую с уазовского срисовать.

Срисовал. Все оказалось банально и просто. А вот разводка платы там реально наркоманская, странно что оно вообще работает) Самое главное в этой схеме - номинал R1. От него зависит ток на выходе датчика, который нигде в документации не найти.


Dnepr_1186's picture

ну у меня входная цепь еще проще) Исходил из того что в дс стоит обычный ДХ и никаких цепей не городил. А зачем менять ток на выходе датчика? ТАм же на выходе меандр обычный размахом 12в. Похожие входные цепи я делал для подключения тахометра к катушке зажигания. Видимо и тут типа защиты от дурака, мало ли куда всунут.
Питание тоже почти классическое. Только супрессор добавили и low-drop стабилизатор
А вот экранчик такой мне нравится. Правда и тут он работает через свой графический контроллер. Такие стекляшки продаются на али,но без мс. Контроллер отдельно. А моих познаний в програмировании не хватает чтобы все это скрестить...
фотка для oppozit.ru


Alex_and_Alex's picture

Вот дисплейчик прямо для тебя:
https://ru.aliexpress.com/item/EDS826-6-Bit-TN-LCD-Display-Module-40-14-...?

А вот инструкция как его от контроллера запитать без всяких микросхем:
http://www.atmel.com/Images/doc2569.pdf


Shlans's picture

Нравится, прям нравится.
И индикатор и вообще.

Но себе менять ничего не буду.
Во-первых у самого простой механический спидометр от вазы. Стрелка стоит как влитая (смазанный трос, проложенный без загибов малых радиусов), показания проверяю ежедевно, проезжая под цифровым табло. Вот прям вообще без нареканий.
Во-вторых - неоспоримый плюс механического одометра в том, что его показания не исчезают при выключении зажигания (ну держать вечно вкюченным индикатор тоже глупо).

А так - больше таких статей!


dieselllll's picture

Какой страшенный спидометр... Громоздкая конструкция очень. На коробке выглядит чужеродно.
Прикрути планшет к траверсе, вывелди на него аналоговый спидометр и включи GPS
@Лучшее в жизни - путешествия в неизведанные места@


Troll's picture

А планшет конечно смотрится органично!
))))


SHTRLZ_admin's picture

согласен со Шлансом, статья хороша, да и спидометр тоже хорош.


Syava's picture

Молодец, хорошо придумал. Только красные циферки в солнечном свете будут очень плохо видны. Как на наших часах ручных в середине 80х которые делались, громоздкие такие, тяжеленные и стекло красное. чтоб время поглядеть приходилось искать тень :)))


Dnepr_1186's picture

Спасибо) Спидометр конечно не идеал, но будет допиливаться(датчик нуля все же нужен).
По поводу органичности тут вопрос спорный. С планшетом это вообще по идиотскому смотрелось. Кто бы мне что не доказывал, но считаю что датчик скорости стоит на своем месте, он должен быть именно там.Явно лучше всяких магнитов на колесе и датчиков на вилке. На новых уралах он где стоит? Думаю что там же.
Да индикатор на солнце не виден. Тут в первую очередь руководствовался простотой подключения (то что мне по силам). Т.к. программист я пока слабоватый, а руки чешутся. Во вторых видеть пробег на ходу не очень важно. Да и можно заслонить рукой и все увидеть. Не исключаю что в будущем экран поменяется.
Конечно экран который посоветовал Alex_and_Alex просто идеален для этого.
фотка для oppozit.ru Но он с мультиплексным управлением и даже изучив приведенный ниже документ понял, что двумя разрядами управлять бы я научился, но целый 6разрядный экран... без графического контроллера тут никак. Ну ничего будем постигать)


Alex_and_Alex's picture

Давненько это было, вот я даже шкалы протравленные из текстолита делал)
фотка для oppozit.ru


Troll's picture

Шкалы твои ништяк смотрелись, мне понравилось.


Alex_and_Alex's picture

В солнечную погоду пересвечивает их. Надо как-то подкрасить цифры, но не знаю где взять белую полупрозрачную краску.


SHTRLZ_admin's picture

хорошо что не из гетинакса


din63's picture

Отлично сделано!
Для ленивых опробую другой вариант.
фотка для oppozit.ru
фотка для oppozit.ru


Alex_and_Alex's picture

Ну куда уралу 200 км/ч? Спидометр будет только до половины работать, некрасиво) Так-же и с китайскими тахометрами до 12 тыщ оборотов - чужеродно все это на урале смотреться будет.


din63's picture

Искал до 160-ти, не нашёл. А на 160 стрелку клал.
Да и на машине, шкала то до 200, а едешь в половину.