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 В. С размерами платы мне очень повезло, хотя я ее и делал наугад — в приборке места, которого, как мне казалось, там было гораздо больше, хватило впритык. Шлейф в местах соединения с платой залит эпоксидкой, а сверху все прикрыто резинкой, чтобы не заливало водой. С длиной шлейфа тоже повезло — сделал наугад, оказалось как раз. В итоге вот так вот все это выглядит в установленном и подключенном виде:
В планах есть еще замотать наружную часть датчика чем-нибудь теплоизоляционным, т.к. мне кажется, что охлаждение воздушным потоком наружной части датчика вносит некоторые искажения в показания прибора.
С данным устройством я пока отъездил чуть больше полутора тысяч, поэтому по поводу надежности ничего сказать не могу. Иногда в жаркую погоду пригождается видеть когда пора остановиться чтобы мотор подостыл. Или наоборот — чтоб видеть когда мотор прогрелся.
На этом все. Надеюсь, кому-то эта информация была интересна, или даже полезна.
Для начала, сразу фото того, что в итоге получилось:
Такая вот штуковина посередине приборки, показывает температуру двигателя и напряжение аккумулятора.
Началось все с покупки вот такого товара на алиэкспрессе:
Этот девайс привлек мое внимание тем, что довольно неплохо вписывается в приборку YBR-а по внешнему виду и в итоге не будет смотреться слишком колхозно. Он умеет показывать температуру окружающего воздуха (датчик температуры болтается на проводке) и свое напряжение питания, т.е. напряжение аккумулятора мотоцикла. Отображение напряжения тоже не будет лишним.
Внутри устройство представляет из себя небольшую плату с двумя светодиодными индикаторами и двумя микросхемами — преобразователями аналогового сигнала в семисегментный десятичный код.
Для установки устройства на мотоцикл с него была отпилена ножка-прикуриватель, а форма корпуса подогнана таким образом, чтобы все это не сильно выпирало на приборке и смотрелось нормально. В итоге из корпуса получилась вот такая вот штука:
Изначально план был сделать все по-простому — закрепить имеющийся датчик температуры на двигателе или заменить его на какой-нибудь другой, подогнав сопротивления в делителе напряжения на плате устройства. Но как выяснилось, при температурах выше 80 градусов индикатор наинает мигать и показывать три буквы (
Исправить этот недостаток нет никакой возможности, поэтому было принято решение — выкинуть всю электронику, отвечающую за измерение температуры, оставив только светодиродные индикаторы, установить в двигатель нормальный датчик температуры и сделать свою электронную схему, которая будет выводить его показания на дисплейчик.
В качестве датчика температуры имеем автомобильный датчик температуры охлаждающей жидкости FENOX с резьбой М12x1.5 — именно такая резьба нарезана в сливном отверстии двигателя YBR 125. Т.е. Датчик устанавливается вместо маслянной пробки и измеряет непосредственно температуру масла в двигателе, что гораздо лучше, чем внешнее крепление датчика к двигателю, т.к. масло циркулирует по двигателю и лучше отражает его температуру, чем поверхностные измерения. Внешне датчик выглядит вот так (на картинке не он, а аналогичный датчик BOSCH):
А вот он уже установлен на мотоцикл в процессе очереной замены масла:
Для того чтобы как-то подключиться к этому датчику, пришлось сделать из
Провод от датчика проведен в область приборной панели и в потенциально опасных местах защищен термоусадкой.
Далее самое интересное — схема на микроконтроллере, которая будет измерять сопротивление датчика и отображать соответствующие значения температуры. Таблица соответствия сопротивления и температуры имеется в даташите от BOSCH
Первым делом была удалена родная микросхемка, подключенная к светодиодному индикатору, чтобы можно было подпаяться к самому индикатору, не вынимая его из платы. Ниже фото платы с распиновкой соответствующих контактов. 123 — общие катоды, abcdefgh — аноды сегментов цифр.
Внизу справа на фото есть одна маленькая микросхемка, назначение которой осталось для меня загадкой. Эта микросхемка — единственное на плате, с чего не стерта маркировка. Гугл говорит, что это EEPROM-память. Для чего она здесь и кто с ней может общаться — непонятно. Особенно учитывая, что из 8 ее ножек 6 усажены на землю. После ее удаления, естественно, ничего не изменилось. Ну да ладно, это уже не по теме.
Итак, задача схемы на микроконтроллере — измерить сопротивление датчика, посмотреть в таблице какая это температура и отобразить информацию на экранчике. В качестве микроконтроллера я выбрал ATmega48 из-за наличия АЦП и достаточного для подключения индикаторов количества ножек. Схема получилась примерно такая:
Из-за очень большого диапазона изменения сопротивления датчика, для получения адекватной точности пришлось сделать делитель напряжения с тремя резисторами и программно проводить 3 измерения вместо одного, и затем выбирать наиболее точное. В остальном по софту никаких особенностей нету, обычный омметр по сути. Прошивка написана на С, и на всякий случай, вдруг кто-нибудь решит сделать что-то похожее, я даже залил исходники на Dropbox (в архиве исходник на C, Makefile для сборки под линуксом и готовый .hex файл. Фьюзы у МК должны быть выставлены на частоту 8 МГц, т.е. выключен бит CKDIV8) Хотя наверняка и без меня уже есть 500 похожих проектов готовых в разном виде, у каждого свой велосипед :)
Рисунок печатной платы не выкладываю, потому что рисовал от руки сразу на текстолите маркером с нитрокраской, получилось кривовато, а еще в процессе пайки я умудрился отколоть уголок от микросхемы, но как говорится, главное чтоб работало.
Сама плата размещается внутри приборки и от нее идет с одной стороны шлейф к индикатору, с другой — разъем для подключения провода от датчика. Питание взял от тахометра, т.к. к нему можно удобно подключиться, в отличии от подсветки, с которой тоже можно было взять 12 В. С размерами платы мне очень повезло, хотя я ее и делал наугад — в приборке места, которого, как мне казалось, там было гораздо больше, хватило впритык. Шлейф в местах соединения с платой залит эпоксидкой, а сверху все прикрыто резинкой, чтобы не заливало водой. С длиной шлейфа тоже повезло — сделал наугад, оказалось как раз. В итоге вот так вот все это выглядит в установленном и подключенном виде:
В планах есть еще замотать наружную часть датчика чем-нибудь теплоизоляционным, т.к. мне кажется, что охлаждение воздушным потоком наружной части датчика вносит некоторые искажения в показания прибора.
С данным устройством я пока отъездил чуть больше полутора тысяч, поэтому по поводу надежности ничего сказать не могу. Иногда в жаркую погоду пригождается видеть когда пора остановиться чтобы мотор подостыл. Или наоборот — чтоб видеть когда мотор прогрелся.
На этом все. Надеюсь, кому-то эта информация была интересна, или даже полезна.
- milliamp
- Роман
- 14 августа 2016 в 21:11
- 12
- +64
интересненько не спорю, но меня мучает всего один вопрос зачем?))) в мотах с воздушным охлаждением просто физически перегрев по мне так невозможен по сути из за конструкции так называемого «термоса», да и в личном опыте ни одного ебрика перегретого да и свой в том числе не перегревал, живя на юге, и в плотной не проходимой пробке при 40+ на солнце никогда не перегревался)) ну а так конечно молодец, руки из плеч растут))) ровных дорог)
ну своими словами стакан и радиатор живут отдельной жизнью, теплоотдача устроенна так что в двигле практически всегда потдерживается одна температура, а на радиатор выдавать большие температуры, отсюда минусы того что при воздушном охлаждении движок чуть ли не раскаляется до красна, что ощутимо ногами, но это ясно что в такой момент пиковой температуры внешне, внутри сохраняется определенная рабочая температура, грубо говор система термоса, налил кипяток не зависимо от внешней среды а он держит нужную температуру, или же наоборот ледяные напитки в жару, вот так криво объяснил) как в свое время мне механник один рассказывал)
дружище ты мастера не так понял эффект термоса есть негативное явление встречается на жидкостных системах и проявляется в момент утечки жидкости. эффект термоса быстро перегревает двигатель. Как датчик температуры может быть лишним на двигателе внутреннего сгорания ???? ситуаций много если у тебя не было то слава богу
- h579mo52rus
- 15 августа 2016 в 17:29
- ↑
- ↓
Я объясню, почему перегревались советские мотоциклы. Грамотно отрегулированный аппарат из СССР тоже не перегревается, но есть три нюанса у людей, кто не следил за своей техникой.
1. Недолив масла в бензин. Многие колхозники лили его на глаз, в итоге часто возникало масляное голодание, детали тёрлись, следовательно, грелись;
2. Забитый карбюратор. По забитым жиклёрам поступает не только недостаточное для нормальной работы мотора количество бензина, но и масла, носителем которого бензин и является;
3. Неграмотная, на глазок, регулировка классического контактного зажигания.
В своё время у меня был «ИЖ Юпитер 5». Я ездил на нём с коляской (соответственно, втроём, Карл) по Нижегородской области в любую жару, в зной стоял в городе в пробках — и ничего. Так что не только ваши «ёбрики», но и не один мотоцикл в мире не рассчитывался конструктором так, чтобы перегреваться.
1. Недолив масла в бензин. Многие колхозники лили его на глаз, в итоге часто возникало масляное голодание, детали тёрлись, следовательно, грелись;
2. Забитый карбюратор. По забитым жиклёрам поступает не только недостаточное для нормальной работы мотора количество бензина, но и масла, носителем которого бензин и является;
3. Неграмотная, на глазок, регулировка классического контактного зажигания.
В своё время у меня был «ИЖ Юпитер 5». Я ездил на нём с коляской (соответственно, втроём, Карл) по Нижегородской области в любую жару, в зной стоял в городе в пробках — и ничего. Так что не только ваши «ёбрики», но и не один мотоцикл в мире не рассчитывался конструктором так, чтобы перегреваться.
ну уважаемый тут не в опыте дело а в условиях и качестве эксплуатации))) надеюсь не стоит напоминать про анекдот когда Русскому человеку дали в шарообразной комнате 2 титановых шарика, которые он один потерял, а второй поломал)) я даже сталкивался с людьми которые с конвеера за 20 000 пробега на капиталку двигатель ставили) это же не значит, что все ебры не надежные? опять же и перегреть и убить двигло и все что угодно сделать можно с любой техникой, дело все в том, что берется среднестатистическая цифра если например у 99 не перегревался, а у 1г перегрелся тут надо искать решения либо конкретно в данном моте либо в пилоте))) а автор безусловно молодец, всякое допиливание приветствуется так как приносит и пользу и радость владельцу)
Ну с рабочей температурой так — обычно показывает 75 — 85 градусов
Но это, как я написал, по-моему заниженные показания, пока не поставил теплоизоляцию на внешнюю часть датчика.
А подостыть — я пока взял для себя отметку 85 — 90, но опять-же думаю это мало, посмотрим как будет когда изоляцию поставлю
Но это, как я написал, по-моему заниженные показания, пока не поставил теплоизоляцию на внешнюю часть датчика.
А подостыть — я пока взял для себя отметку 85 — 90, но опять-же думаю это мало, посмотрим как будет когда изоляцию поставлю
Ну, может так оно и есть, там та ножка, которая не была на землю запаяна как раз к U2 и шла.
А U5 — это та микросхемка, которая напряжение показывает. Маркировка стерта, но я думаю там что-то типа такого www.promelec.ru/pdf/tc7116_17.pdf
А U5 — это та микросхемка, которая напряжение показывает. Маркировка стерта, но я думаю там что-то типа такого www.promelec.ru/pdf/tc7116_17.pdf
Между землей и питанием стоило добавить два керамических конденсатора по 0.1мкф, поместив прям у ножек мк (блокировочные кондеры)
Если будешь ставить еще семисегментные ( мало ли) можно оставить этот же мк и попользовать две полезных микросхемы — одна сдвигового регистра, а другая дешифратора. В сумме 6 ножек вместо 10 :(
Если будешь ставить еще семисегментные ( мало ли) можно оставить этот же мк и попользовать две полезных микросхемы — одна сдвигового регистра, а другая дешифратора. В сумме 6 ножек вместо 10 :(
- peshehodik
- 15 августа 2016 в 7:01
- ↓
Мегамозг. Отличный результат. А какой должна быть рабочая температура, я думаю можно взять за основу запорожский двигатель. Там 110 градусов была рабочая температура и допускалась кратковременная езда при 130.
Делал аналогичное, но без контроллера, bikepost.ru/blog/63764/Izmerjaem-temperaturu-masla-v-dvigatele.html По поводу
охлаждение воздушным потоком наружной части датчикапариться не надо, уж слишком маленькая поверхность для «охлаждения», да и измеряющий элемент всё ж унутрях находится. Вот то, что инфа с датчика снимается комплексная (температура масла, температура нагрева от асфальта, минус охлаждение от оребрения) — это да…
тоже хороший вариант
вообще мне аналоговые приборы больше нравятся, в приборке YBR-а может даже «со стрелочкой» и лучше смотрелось бы, чем светодиодные циферки :)
Но у циферок точность больше, хотя и так и так это все равно скорее «показометр», чем измерительный прибор. Много чего на показания влияет кроме температуры самого двигателя.
вообще мне аналоговые приборы больше нравятся, в приборке YBR-а может даже «со стрелочкой» и лучше смотрелось бы, чем светодиодные циферки :)
Но у циферок точность больше, хотя и так и так это все равно скорее «показометр», чем измерительный прибор. Много чего на показания влияет кроме температуры самого двигателя.
- plastilinko
- 15 августа 2016 в 11:51
- ↓
покупал подобный девайс, 2 раза съездил и он сдох, по симптомам будто где-то неконтакт т.к. если постучать то промелькивают показания
Ну если там температурный коэффициент одинаковый у датчиков, то получается можно «умножить» на 0.67 (т.е. заменить на меньшее сопротивление) соответствующий резистор в делителе напряжения в индикаторе.
А если коэффициент разный — то там уж зависит от схемы индикатора. Может можно по-простому как-то сделать, может на операционных усилителях замутить, а можно и как у меня. По сути, я все это дело заколхозил как раз вместо согласования сопротивлений датчиков :)
А если коэффициент разный — то там уж зависит от схемы индикатора. Может можно по-простому как-то сделать, может на операционных усилителях замутить, а можно и как у меня. По сути, я все это дело заколхозил как раз вместо согласования сопротивлений датчиков :)
- danila1271
- 16 августа 2016 в 9:46
- ↓
Да уж, подход к такой задаче впечатляет, руки откуда надо. Как ещё малину какйю нить на линухе не воткнул, чтобы при перегреве дрыгатель сам отрубался и т.д.)))
Только зарегистрированные пользователи могут оставлять комментарии.
Войдите, пожалуйста, или зарегистрируйтесь.
Комментарии (36)
RSS свернуть / развернуть