Проект продается, 60 000 USD [email protected]

Yamaha YBR125 2014 → Индикатор температуры масла

Наконец-то добрался запилить пост о том, как я сделал индикатор температуры для своего мотоцикла. Не то, чтобы YBR сильно перегревался, или это было жизненно необходимая информация, но я решил что сделать такую штуковину будет весьма интересно, да и иметь возможность контролировать температуру двигателя уж точно не помешает.
Для начала, сразу фото того, что в итоге получилось:

Такая вот штуковина посередине приборки, показывает температуру двигателя и напряжение аккумулятора.

Началось все с покупки вот такого товара на алиэкспрессе:


Этот девайс привлек мое внимание тем, что довольно неплохо вписывается в приборку YBR-а по внешнему виду и в итоге не будет смотреться слишком колхозно. Он умеет показывать температуру окружающего воздуха (датчик температуры болтается на проводке) и свое напряжение питания, т.е. напряжение аккумулятора мотоцикла. Отображение напряжения тоже не будет лишним.
Внутри устройство представляет из себя небольшую плату с двумя светодиодными индикаторами и двумя микросхемами — преобразователями аналогового сигнала в семисегментный десятичный код.
Для установки устройства на мотоцикл с него была отпилена ножка-прикуриватель, а форма корпуса подогнана таким образом, чтобы все это не сильно выпирало на приборке и смотрелось нормально. В итоге из корпуса получилась вот такая вот штука:


Изначально план был сделать все по-простому — закрепить имеющийся датчик температуры на двигателе или заменить его на какой-нибудь другой, подогнав сопротивления в делителе напряжения на плате устройства. Но как выяснилось, при температурах выше 80 градусов индикатор наинает мигать и показывать три буквы (нет, не эти три) «HHH»
Исправить этот недостаток нет никакой возможности, поэтому было принято решение — выкинуть всю электронику, отвечающую за измерение температуры, оставив только светодиродные индикаторы, установить в двигатель нормальный датчик температуры и сделать свою электронную схему, которая будет выводить его показания на дисплейчик.

В качестве датчика температуры имеем автомобильный датчик температуры охлаждающей жидкости FENOX с резьбой М12x1.5 — именно такая резьба нарезана в сливном отверстии двигателя YBR 125. Т.е. Датчик устанавливается вместо маслянной пробки и измеряет непосредственно температуру масла в двигателе, что гораздо лучше, чем внешнее крепление датчика к двигателю, т.к. масло циркулирует по двигателю и лучше отражает его температуру, чем поверхностные измерения. Внешне датчик выглядит вот так (на картинке не он, а аналогичный датчик BOSCH):


А вот он уже установлен на мотоцикл в процессе очереной замены масла:


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

Провод от датчика проведен в область приборной панели и в потенциально опасных местах защищен термоусадкой.

Далее самое интересное — схема на микроконтроллере, которая будет измерять сопротивление датчика и отображать соответствующие значения температуры. Таблица соответствия сопротивления и температуры имеется в даташите от BOSCH
Первым делом была удалена родная микросхемка, подключенная к светодиодному индикатору, чтобы можно было подпаяться к самому индикатору, не вынимая его из платы. Ниже фото платы с распиновкой соответствующих контактов. 123 — общие катоды, abcdefgh — аноды сегментов цифр.

Внизу справа на фото есть одна маленькая микросхемка, назначение которой осталось для меня загадкой. Эта микросхемка — единственное на плате, с чего не стерта маркировка. Гугл говорит, что это EEPROM-память. Для чего она здесь и кто с ней может общаться — непонятно. Особенно учитывая, что из 8 ее ножек 6 усажены на землю. После ее удаления, естественно, ничего не изменилось. Ну да ладно, это уже не по теме.

Итак, задача схемы на микроконтроллере — измерить сопротивление датчика, посмотреть в таблице какая это температура и отобразить информацию на экранчике. В качестве микроконтроллера я выбрал ATmega48 из-за наличия АЦП и достаточного для подключения индикаторов количества ножек. Схема получилась примерно такая:

Из-за очень большого диапазона изменения сопротивления датчика, для получения адекватной точности пришлось сделать делитель напряжения с тремя резисторами и программно проводить 3 измерения вместо одного, и затем выбирать наиболее точное. В остальном по софту никаких особенностей нету, обычный омметр по сути. Прошивка написана на С, и на всякий случай, вдруг кто-нибудь решит сделать что-то похожее, я даже залил исходники на Dropbox (в архиве исходник на C, Makefile для сборки под линуксом и готовый .hex файл. Фьюзы у МК должны быть выставлены на частоту 8 МГц, т.е. выключен бит CKDIV8) Хотя наверняка и без меня уже есть 500 похожих проектов готовых в разном виде, у каждого свой велосипед :)

Рисунок печатной платы не выкладываю, потому что рисовал от руки сразу на текстолите маркером с нитрокраской, получилось кривовато, а еще в процессе пайки я умудрился отколоть уголок от микросхемы, но как говорится, главное чтоб работало.


Сама плата размещается внутри приборки и от нее идет с одной стороны шлейф к индикатору, с другой — разъем для подключения провода от датчика. Питание взял от тахометра, т.к. к нему можно удобно подключиться, в отличии от подсветки, с которой тоже можно было взять 12 В. С размерами платы мне очень повезло, хотя я ее и делал наугад — в приборке места, которого, как мне казалось, там было гораздо больше, хватило впритык. Шлейф в местах соединения с платой залит эпоксидкой, а сверху все прикрыто резинкой, чтобы не заливало водой. С длиной шлейфа тоже повезло — сделал наугад, оказалось как раз. В итоге вот так вот все это выглядит в установленном и подключенном виде:


В планах есть еще замотать наружную часть датчика чем-нибудь теплоизоляционным, т.к. мне кажется, что охлаждение воздушным потоком наружной части датчика вносит некоторые искажения в показания прибора.
С данным устройством я пока отъездил чуть больше полутора тысяч, поэтому по поводу надежности ничего сказать не могу. Иногда в жаркую погоду пригождается видеть когда пора остановиться чтобы мотор подостыл. Или наоборот — чтоб видеть когда мотор прогрелся.
На этом все. Надеюсь, кому-то эта информация была интересна, или даже полезна.
  • milliampmilliamp
  • Роман
  • 14 августа 2016 в 21:11
  • 12
  • оценка: +64

Комментарии (36)

RSS свернуть / развернуть
+2
k1r1a
  • k1r1a
  • 14 августа 2016 в 21:32
интересненько не спорю, но меня мучает всего один вопрос зачем?))) в мотах с воздушным охлаждением просто физически перегрев по мне так невозможен по сути из за конструкции так называемого «термоса», да и в личном опыте ни одного ебрика перегретого да и свой в том числе не перегревал, живя на юге, и в плотной не проходимой пробке при 40+ на солнце никогда не перегревался)) ну а так конечно молодец, руки из плеч растут))) ровных дорог)
+10
milliamp
не знаю зачем, просто потому, что можно :)
+1
dimas6000
А что вы подразумеваете под «термосом»? Не понимаю(

И про то, что мотор с воздушным охлаждением нельзя перегнать, всё можно, советские мотоциклы почему-то неплохо так перегреваются, хз почему.
А ёбрик да, за 20000 пробега такой проблемы не было)
0
k1r1a
ну своими словами стакан и радиатор живут отдельной жизнью, теплоотдача устроенна так что в двигле практически всегда потдерживается одна температура, а на радиатор выдавать большие температуры, отсюда минусы того что при воздушном охлаждении движок чуть ли не раскаляется до красна, что ощутимо ногами, но это ясно что в такой момент пиковой температуры внешне, внутри сохраняется определенная рабочая температура, грубо говор система термоса, налил кипяток не зависимо от внешней среды а он держит нужную температуру, или же наоборот ледяные напитки в жару, вот так криво объяснил) как в свое время мне механник один рассказывал)
0
zombik
дружище ты мастера не так понял эффект термоса есть негативное явление встречается на жидкостных системах и проявляется в момент утечки жидкости. эффект термоса быстро перегревает двигатель. Как датчик температуры может быть лишним на двигателе внутреннего сгорания ???? ситуаций много если у тебя не было то слава богу
0
h579mo52rus
Я объясню, почему перегревались советские мотоциклы. Грамотно отрегулированный аппарат из СССР тоже не перегревается, но есть три нюанса у людей, кто не следил за своей техникой.
1. Недолив масла в бензин. Многие колхозники лили его на глаз, в итоге часто возникало масляное голодание, детали тёрлись, следовательно, грелись;
2. Забитый карбюратор. По забитым жиклёрам поступает не только недостаточное для нормальной работы мотора количество бензина, но и масла, носителем которого бензин и является;
3. Неграмотная, на глазок, регулировка классического контактного зажигания.
В своё время у меня был «ИЖ Юпитер 5». Я ездил на нём с коляской (соответственно, втроём, Карл) по Нижегородской области в любую жару, в зной стоял в городе в пробках — и ничего. Так что не только ваши «ёбрики», но и не один мотоцикл в мире не рассчитывался конструктором так, чтобы перегреваться.
0
ANDY-HUNT
значит вашего личного опыта маловато или просто повезло. Я лично столкнулся с перегревом ёбрика в жару при езде вдвоём. Так что автор молодец.
0
k1r1a
ну уважаемый тут не в опыте дело а в условиях и качестве эксплуатации))) надеюсь не стоит напоминать про анекдот когда Русскому человеку дали в шарообразной комнате 2 титановых шарика, которые он один потерял, а второй поломал)) я даже сталкивался с людьми которые с конвеера за 20 000 пробега на капиталку двигатель ставили) это же не значит, что все ебры не надежные? опять же и перегреть и убить двигло и все что угодно сделать можно с любой техникой, дело все в том, что берется среднестатистическая цифра если например у 99 не перегревался, а у 1г перегрелся тут надо искать решения либо конкретно в данном моте либо в пилоте))) а автор безусловно молодец, всякое допиливание приветствуется так как приносит и пользу и радость владельцу)
0
Kitaeza
Вещь нужная! Вопрос-при какой температуре видишь. что нужно чтоб мотор подостыл и какая рабочая?
0
milliamp
Ну с рабочей температурой так — обычно показывает 75 — 85 градусов
Но это, как я написал, по-моему заниженные показания, пока не поставил теплоизоляцию на внешнюю часть датчика.
А подостыть — я пока взял для себя отметку 85 — 90, но опять-же думаю это мало, посмотрим как будет когда изоляцию поставлю
+1
Vitzley
Отлично получилось!
+10
sergeevs54
Ебануться, Игорь! Нихрена не понял!
+10
oneq2
  • oneq2
  • 14 августа 2016 в 22:31
Вот это я понимаю — КОЛХОЗИЩЕ!
Спаять, напрограммировать… — караул!!!
Плюсы ставлю везде!
+1
Rader07
Думается мне, что на месте U2 был как раз МК, который общался с EEPROM.Зачем же там ЕЕПРОМ — непонятно.
А U5 что за микросхема?
+1
milliamp
Ну, может так оно и есть, там та ножка, которая не была на землю запаяна как раз к U2 и шла.
А U5 — это та микросхемка, которая напряжение показывает. Маркировка стерта, но я думаю там что-то типа такого www.promelec.ru/pdf/tc7116_17.pdf
+1
Rader07
Между землей и питанием стоило добавить два керамических конденсатора по 0.1мкф, поместив прям у ножек мк (блокировочные кондеры)
Если будешь ставить еще семисегментные ( мало ли) можно оставить этот же мк и попользовать две полезных микросхемы — одна сдвигового регистра, а другая дешифратора. В сумме 6 ножек вместо 10 :(
+5
HotGuy
Сперва подумал, что это просто готовый девайс, удачно воткнутый в приборку. Мелочь, как говорится — а приятно. Но после прочтения, был удивлен масштабом проделанной модификации, очень круто.
+2
Fhh
  • Fhh
  • 15 августа 2016 в 0:29
я спокоен за этот ябр :)
если на авито увидите это мот с любым пробегом — смело берите — в таких руках он будет в идеале.
браво! пятерочка.
+3
Hornet919
и так сойдёт
0
soundaround
выглядит круто! И процесс реализации и конечный результат.
0
peshehodik
Мегамозг. Отличный результат. А какой должна быть рабочая температура, я думаю можно взять за основу запорожский двигатель. Там 110 градусов была рабочая температура и допускалась кратковременная езда при 130.
+2
okjetpes
С таким подходом пора на КТМ пересаживаться. ))
+1
LoocDog
все круто молодец, но обычно датчик температуры ставится на на выходе с бошки ОЖ на водянках, а на воздушниках под свечу, иначе нет смысла. Но + поставлю за труды)
+1
rw6hrm
Делал аналогичное, но без контроллера, bikepost.ru/blog/63764/Izmerjaem-temperaturu-masla-v-dvigatele.html По поводу
охлаждение воздушным потоком наружной части датчика
париться не надо, уж слишком маленькая поверхность для «охлаждения», да и измеряющий элемент всё ж унутрях находится. Вот то, что инфа с датчика снимается комплексная (температура масла, температура нагрева от асфальта, минус охлаждение от оребрения) — это да…
0
milliamp
тоже хороший вариант
вообще мне аналоговые приборы больше нравятся, в приборке YBR-а может даже «со стрелочкой» и лучше смотрелось бы, чем светодиодные циферки :)
Но у циферок точность больше, хотя и так и так это все равно скорее «показометр», чем измерительный прибор. Много чего на показания влияет кроме температуры самого двигателя.
+6
Daem
  • Daem
  • 15 августа 2016 в 11:14
Круто конечно. А я на компьютере только буквы печатать умею, поэтому присобачил на мопед кулинарный термометр со щупом.

0
plastilinko
покупал подобный девайс, 2 раза съездил и он сдох, по симптомам будто где-то неконтакт т.к. если постучать то промелькивают показания
0
Daem
У меня тоже сдох. Не выдержал ночевок с росой.Но понять, в каких режимах можно эксплуатировать моред, я успел. )
+1
vegach
Крутой навык !) Сам бы ни за что не сделал такого)
0
Asfaltero
А ногой этот датчик не сковырнется?
0
milliamp
неа, тоже сначала подумал об этом, но там на самом деле до ноги очень далеко
0
KOT_3axap
ты крут
а сможешь на коленке забубенить схемку согласования 67-омного (если мне скклероз не изменяет) датчика со 100-омным индикатором?
+1
milliamp
Ну если там температурный коэффициент одинаковый у датчиков, то получается можно «умножить» на 0.67 (т.е. заменить на меньшее сопротивление) соответствующий резистор в делителе напряжения в индикаторе.
А если коэффициент разный — то там уж зависит от схемы индикатора. Может можно по-простому как-то сделать, может на операционных усилителях замутить, а можно и как у меня. По сути, я все это дело заколхозил как раз вместо согласования сопротивлений датчиков :)
0
KOT_3axap
в общем, я когда (если) индикатор новый намучу — спишемся ;-)
+1
milliamp
ок
0
danila1271
Да уж, подход к такой задаче впечатляет, руки откуда надо. Как ещё малину какйю нить на линухе не воткнул, чтобы при перегреве дрыгатель сам отрубался и т.д.)))
Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста, или зарегистрируйтесь.
При перепечатке материалов, видео или картинок гиперссылка на «bikepost.ru» обязательна
мотоблоги, Yamaha YBR125 2014, Индикатор температуры масла