Український клуб Yamaha Tmax Реєстрація
Тюнінг та стайлінг>Корректор спидометра Yamaha
AKSU 15:30 05.06.2017
Корректор спидометра Yamaha.

Сайт проекта: http://dikoy.info/ru/speedometer/

Адаптирован для мотоциклов с 5-вольтовыми датчиками, в рамках моего проекта по установке инжектора.

Напомню, необходимость в таком устройстве у меня возникла в связи с тем, что у меня переднее колесо 14", а у донора инжектора было 15", в итоге, приборка начала у меня завышать где-то на 11%.
Так же устройство может быть полезно на других мотоциклах, где датчик стоит на валу двигателя, но при этом владелец решил поставить другие звезды в привод.


Вот такая схемка при самостоятельной сборке обойдется вам в 5-10$.
Еще в 2$ обойдется вам простенький китайский программатор (если у вас его нет) для микроконтроллеров ATMEL, например, я купил такой.
Либо можно собрать копеечный "программатор Громова" для COM или LPT порта (рецепт искать в гугле).
Герметичные 3-пиновые разъемы Sumitomo MT 6187-3231 (папа) и 6180-3241 (мама) у меня нашлись в закромах, но в крайнем случае, их тоже без проблем можно купить в Китае, хотя они довольно дорогие...

Да, придется приложить руки. Да, он немного неудобно настраивается... Но!

Для сравнения, ближайший аналог работающий на Yamaha - это SpeedoHealer V4, а за него буржуи/барыги сейчас хотят 110$!!! Блин, мне вся установка инжектора обошлась дешевле!!!

Автор корректора наконец-то сделал прошивку, которая работает на датчиках скорости Yamaha.
Я рад, что не пошел на поводу своего желания и оставил на плате разъем "внутрисхемного" программирования, ибо за все это время мне пришлось подключать программатор раз 30! :) Да и саму микросхему тоже стоило поставить на гнездо - я ее выпаивал 2 раза...
Собственно, корректор я уже собрал, установил и пользуюсь.



Измененную схему, плату и файлы прошивки прилагаю.
Исходная плата автора довольно громоздкая и содержит ненужные мне функции, например управление DRL. Так же, в своей версии платы я убрал разъем для подключения COM-порта для ввода поправок (он теперь все равно не работает), ибо автор устройства любезно скомпилировал мне eeprom с моим коэффициентом коррекции. Впринципе, eeprom нужный вам можно сделать самостоятельно. Инструкцию ищите ниже.

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


Для тех, кто будет прошивать контроллер впервые, настоятельно рекомендую обратить пристальное внимание на fuse-биты! Я например свой первый контролер запорол (теперь его вернуть к жизни можно только на специальном программаторе), потому пришлось его выпаивать. Картинка с правильными fuse-битами есть в архиве.
Attached: odometr_draw_yamaha.jpg (144,2 КБ) fuses.jpg (93,1 КБ) 
Speedometer.zip (109,2 КБ) 
Відповідь
AKSU 18:29 21.06.2017
Испытал корректор спидометра.
Все работает, но с оговоркой: троганье с места периодически сопровождается резким взмахом стрелки до 100-180 км/ч... Потом работает нормально. Отписался автору, может чего посоветует.
Оставил пока на мотоцикле - завтра по дороге на/с работу/ы еще потестирую, сравню с GPS.

З.Ы. Купил себе простенький осциллограф:
https://ru.aliexpress.com/item/Solde...311.0.0.Cjz8md
Он конечно игрушка игрушкой, но до 100 КГц показывает форму сигнала нормально, а это более чем достаточно для автомобильных/мотоциклетных потребностей.
Запросто можно диагностировать проблемы с зажиганием, если собрать правильный щуп... Например, такой: http://injectorservice.com.ua/forum/...pic.php?t=2665

Вот так например выглядит сигнал с датчика спидометра:



Тут видно небольшое наростание сигнала, собственно, это помогло с подборкой правильного фильтра на входе.
Відповідь
AKSU 15:05 23.09.2017
Пару месяцев назад я купил более прогрессивный 2-канальный осциллограф... По сути, потратил 100$ (чуть меньше стоимости SpeedoHealer-а) с гораздо большей пользой.
https://ru.aliexpress.com/item/ISDS2...311.0.0.aF4iGB
Жаба конечно душила не по детски, но мне уже давно нужен был осциллограф, т.к. даже другой раз блок питания без него не починить...

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

Там еще есть куда стремиться. В частности, корректор пока не понимает скорости меньше 5 км/ч (5 Гц на входе), он, как это не парадоксально, через чур быстрый для этого. :) В частности, по словам автора, 100 км/ч (чуть больше 100 Гц с датчика), на нашем датчике - это всего 3,6% диапазона работы устройства. :) Потому, автор вскоре пообещал специальную "медленную" прошивку для мотоциклов. :) Работа продолжается!
Відповідь
nikto 08:26 24.09.2017
рукам покоя нет)) и это правильно нужно всегда познавать новое,а то из-за свойства человеческой всё забывать,забудешь что знал)
Відповідь
AKSU 13:35 24.09.2017
Ну это не то чтобы... Я просто участвую в процессе - тестирую прошивку в железе. :) Сам в данном случае я ничего не сделал, пой дифирамбы тому парню!... Кстати, представляешь, я до сих пор не знаю как его зовут.

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

Видео работы устройства на осциллографе (кручу ротор "улитки" пальцем):



Верхний луч - вход с датчика, нижний луч - выход на спидометр.
Все отлично! Помех нет, высокочастотной "гребенки" (которая у меня вызывала дерганье стрелки спидометра) тоже нет. Реагировать на движение начинает с 0,9 км/ч. Нормально: наш спидометр что-то показывать начинает только где-то с 2-3км/ч.
Есть только один малюсенький недостаток: контроллер почти на все реагирует с небольшим запозданием. Например, когда на входе прекращаются импульсы, контроллер еще где-то 1,5 сек продолжает слать импульсы на выход... Но это не страшно, т.к. мот в принципе не может затормозить мгновенно. ;) Ну и тоже самое с интенсивным ускорением - скорость показывает ту, что была секунду назад, а не прямо сейчас...

Все таки, осциллограф - отличная штука, в данном случае очень экономит время! :)
Завтра буду тестировать на мухе в живую.

UPD: Кстати, мне тут подсказали еще один из вариантов использования данного корректора - возможность поставить ротор от инжекторного аппарата на карбовый, или наоборот. :)
Например, у вашего карбового ротора отлетели "уши", а вам "добрый самаритянин" подарил ротор от инжекторной версии.
Собираем устройство за 5$, ставим коэффициент поправки 0.66 (или 1.33 если наоборот) и вперед! ;) Для сравнения: новый ротор стоит где-то 45$. ;) Экономия на лицо!
Надо бы попросить у автора epprom-ы с данными поправками...
Відповідь
AKSU 18:27 24.09.2017
Мелкие правки в прошивке
+ добавлены eeprom-ы с поправками 0.66 и 1.33

Архив обновлен.

З.Ы. Как и обещал, отделяю все в отдельную тему.
Відповідь
Kaskad 21:23 24.09.2017
Что то я не понял про ротор. Разве они разные? Старые с отломанными ушами не выпускают уже 13 лет и для всех они одинаковы или не так?%
Відповідь
AKSU 23:55 24.09.2017
Нет, не так. На 1-м и 2-м поколении ротор дает 4 импульса за один оборот, но на 14" колесе, а на 3-ке и выше - 6 импульсов, но на 15" колесе. У меня же ситуация уникальная: 6 импульсов на 14", потому и нужен этот корректор.

Вместо старых роторов, которые уже не выпускают, есть рестайлинговые - у меня был такой, я его купил лет 5 назад (как только узнал что в моем отломано одно ухо - заранее) и поставил вместе с вилкой от 2-ки... потом после установки инжектора кому-то его продал... Вроде Олесю. Во, нашел: https://tmax-club.org.ua/showthread.php?t=930

Писал о роторах уже несколько раз! Например здесь: https://tmax-club.org.ua/showthread....2349#post12349
или подробнее здесь (кстати, отвечая на такой же твой вопрос): https://tmax-club.org.ua/showthread....2290#post12290
Відповідь
Kaskad 10:03 25.09.2017
Просто ты не указал про поколения )) А я от усталости и не понял))
Відповідь
AKSU 15:16 25.09.2017
Потестировал новую прошивку в живую.
Работает уже почти отлично. Но стрелка иногда все таки дергается на интенсивных ускорениях с места, правда уже меньше и всего до 40 км/ч (а не до 180 и до упора в ограничитель, как бывало ранее)...
Автор продолжит работу над оптимизацией: говорит самому интересно, ибо там алгоритм 2005 года, а с тех пор опыта уже больше.
Вобщем, ждем...
Відповідь
AKSU 17:12 03.10.2017
Сегодня автор прислал мне тестовую прошивку, которая, во первых занимает в 2 раза меньше памяти, во вторых считает на порядок быстрее.

Попробовал, действительно, ни фризов, ни дерганья стрелки, очень шустро реагирует на изменения.



Со слов автора, он хочет отказаться от ввода поправок через rs-232 (уже и так отсутствует в этой тестовой прошивке), и все значительно упростить, например поставить 2 кнопки "плюс" и "минус". :)
Интересно... Это возможно уже даже составит серьезную конкуренцию для SpeedoHealer-а!

Буду и дальше следить за развитием проекта!
Attached: test-new.zip (1,6 КБ) 
Відповідь
AKSU 14:31 04.10.2017
В данный момент, автор проекта занят, и не понятно когда он сможет добавить в прибор кнопки. Как оказалось, он тоже байкер, по этому "Долгими зимними вечерами, изнывая от мото-токсикоза, как-нть сделаю..." (с) :)
Ввод поправок, через rs-232 отключен - как я уже писал выше. По этому, единственный доступный сейчас способ настройки прибора - через редактирование EEPROM и прошивкой результата программатором.
К счастью, в этой версии автор поменял структуру EEPROM и изменить самостоятельно - стало очень просто.

А если вы самостоятельно этот прибор собрали, то и программатор у вас скорее всего есть.
Если нет: повторяю, готовый у китайцев стоит недорого, или можно собрать программатор Громова совсем за копейки. Потому, думаю, ввод поправок таким образом не должен составить особых проблем.

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

Вычисляем коэффициент поправки.

Для начала, выясняем какой нам требуется коэффициент поправки.
Берем GPS (или смартфон с GPS и приложением-спидометром), выезжаем на длинную ровную дорогу, смотрим на GPS и разгоняемся до 60 или более км/ч, удерживаем эту скорость около 3-5 секунд.
Запоминаем сколько показал GPS и спидометр. Для точности, можно повторить замеры на разных скоростях.

Скорость по GPS делим на показание спидометра = получаем коэффициент поправки. Нам нужен результат с точностью 2-3 знака после запятой.

На пример, в моем случае я разогнался по GPS до 100 км/ч, а спидометр показал 112 км/ч. Делим 100/112, получаем 0.893

Я для удобства взял 2 знака после запятой, т.е. 0,89.

Совет: Производитель всегда закладывает небольшую погрешность в спидометр. Конкретно Yamaha завышает реальные показания где-то на 5-7%, т.е. если вы едете 100 км/ч по спидометру, то в реальности это >95 км/ч. Учитывайте это при расчете коэффициента. Если вы сделаете так, что спидометр будет показывать 1в1 с GPS, то у вас соотрественно на 5% быстрее будет накручиваться одометр... Т.е. в моем случае вполне можно делать коэффициент 0,92-0,93...

Как я уже говорил, EEPROM с моей поправкой я получил от автора. Но это же скучно, давайте попробуем сами! ;)

Инструкция по созданию EEPROM с нужной поправкой.

И так, у меня есть EEPROM с моей поправкой 0.89, а мне нужно сделать например 1.33

Открываем блокнотом файл 0,89.eep, видим следующее:

Код:
:0800000041552F008F030000A1
:00000001FF
Нам нужна верхняя строка длинной 28 символов - и должна остаться такой длинны, потому, сразу нажимаем на клавиатуре Insert - переходим в режим редактирования с заменой.

В данной строке нас интересуют последние 10 символов:

Код:
:0800000041552F008F030000A1
A1 в конце - это контрольная сумма (CRC) всей строки - ее придется расчитать заново при каждом изменении. Об этом ниже.
8F030000 - это моя поправка в HEX, т.е. в 16-ричной системе исчисления, т.е. 8F 03 00 00 если разделить на "слова" (регистры).
В силу особенностей, переменные в машинных кодах всегда хранятся задом наперед, т.е. на самом деле мое число это 00 00 03 8F, точнее 38F

Проверяем.

По информации автора, поправка получается умножением коэффициента поправки на 1024 и переводом результата в hex.
т.е. в моем случае это 0.89 х 1024 = 911.36
Округляем до целого числа: 911

Запускаем калькулятор винды, переводим его в режим "Программист" (в меню "Вид"), выбираем 10-чную систему исчисления ("Dec"), набираем 911, переводим в 16-ричную ("Hex"), видим 38F, что и требовалось доказать. :)



Считаем новую поправку

1,33 х 1024 = 1361,92, округляем: 1362, получаем hex-значение: 552



добавляем нули, для удобства разделяем на "слова": 00 00 05 52, записываем "слова" задом наперед: 52 05 00 00, видим, что по сути нам нужно заменить 3 цифры

Редактируем верхнюю строку:

Код:
Было:
:0800000041552F008F030000A1

Стало:
:0800000041552F0052050000A1
Почти готово, осталось рассчитать контрольную сумму. Нам нужен калькулятор CRC. Самый адекватный пожалуй этот: http://www.fischl.de/hex_checksum_calculator/

Копируем нашу измененную строку в буфер обмена и вставляем там, нажимаем кнопку Analyse:



Нам нужна строка: Calculated checksum: DC.
DC - нужная нам контрольная сумма строки, меняем A1 на DC. Можно еще раз проверить полученную строку в CRC-калькуляторе - на всякий случай.

Вот наш EEPROM для коефициента 1.33, как видите, пришлось изменить всего 5 символов:

Код:
:0800000041552F0052050000DC
:00000001FF
Cохраняем файл как 1,33.epp, прошиваем его программатором в прибор. Наслаждаемся жизнью с новым коэффициентом! ;)

К слову, такой метод работает везде.
Например, я в конце 90-х таким образом, немного жульничая, добавлял себе деньги и ресурсы в игре X-COM - изменяя HEX-редактором файлы сохранения игры. :)
Там даже было еще проще - CRC не нужно было расчитывать. :)


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

Всем добра!
Attached: eeprom.zip (2,1 КБ) 
Відповідь
knight4roads 19:42 26.09.2018
Здравствуйте! Похоже я первый кто повторяет эту схему?
Решил заморочитсья - на моем китайском мотике спидометр врет аж на 25%((
Только вот незадача...схема работать стабильно не хочет(( залил прошивку, залил ЕЕПРОМ переписаный по вашей инструкции, подключил, поехал, спидометр работает, показания один в один как на GPS, но только вот спидометр периодически показывает 0.. Автор с сайта dikoy.info на сообщения не отвечает( Может вы подскажете как быть, что делать? в чем искать причину?
P.S. сейчас ради интереса поменял кварц, может глючный был (может быть такое?)
Відповідь
AKSU 21:52 26.09.2018
Если на китайском мотике - НЕ инжектор, нужно делать собственную развязку по питанию как на схеме Дикого. У нас на карбовой модели Тмах, 5 вольт на датчики создавалось стабилитроном, т.е. на питание схемы его явно будет мало. На инжекторе - нормальный преобразователь, и там его хватает на все с избытком.

Кварц может быть глючным, может быть не отмытый флюс, могут быть конденсаторы неверного номинала, могут быть наводки с генератора или с зажигания. Может быть много чего. Может приборке не нравится форма сигнала... В идеале проверять осциллографом. Я пока осцилограф не купил, у меня тоже с Диким процесс не шел ни в какую: он был уверен что в его девайсе все ок, а в итоге дело оказалось в прошивке! И я очень-очень много времени потратил на то чтоб его в этом убедить.

Что не так - лучше спрашивать у Дикого. Если не отвечает на сайте - пиши ему на почту. Я - плохой советчик, т.к. я немного электрик, немного механик, но не электронщик - контроллеры для меня terra incognita.

З.Ы. Как получилось 25%??? Из магазина так было, или звезды менял? Кстати, некоторые китайские приборки - настраиваются. У меня когда-то на китайчике стояла цифровая, там в настройках можно было настраивать число импульсов с датчика. Попробуй на выключенном зажигании зажать обе кнопки и включить зажигание, чем черт не шутит, может зайдешь в сервисный режим... Если не получится, попробуй удерживать кнопки секунд 5-10 после включения - иногда и так бывает.
Відповідь
AKSU 20:01 11.10.2021
"Тряхнул стариной", собрал еще один корректор.
Успешно трудится в Маджесте 2000-го года: человек поставил себе приборку от 2005-го, а оказалось что у него датчик спидометра дает 36 импульсов (по устройству похож на датчик АБС), в то время как новые датчики дают 4 импульса (такие как у нас на 1-2) ... Коэффициент поправки пришлось сделать 0,111. Заказчик доволен.



За 4 года у меня немного прибавилось инструментария, в частности спаял себе программатор ZIF-AVR с гнездом, потому в принципе могу таки урезать платку до минимума, убрав гнездо внутрисхемного программирования, а процик ставить на разъем.
Кстати, новым программатором восстановил "запоротый" камень, который испортил неправильными фьюзами. Контроллеры - классная тема, жаль нет ни времени ни финансов заниматься этим.
Відповідь
Alexandr Spercach 06:55 30.11.2021
Да спасибочки . Я очень доволен .
Но небольшая поправка, Машка 2001 года .
Відповідь
Відповідь Up