Термометр – таймер – вольтметр для автомобиля

Изготовление электронных устройств для автомобиля – довольно интересное направление, тем более что автолюбитель и радиолюбитель понятия абсолютно не взаимоисключающие. Такие вещи как электронные спидометры, тахометры, расходомеры и т.д. – вещи конечно интересные, но индивидуальны для каждой модели автомобиля. А вот банальный термометр гораздо более универсален и будет хорошим дополнением для оснащения любимого авто. Спросите зачем это нужно, если на авторынке можно купить готовый китайский дешевле чем стоимость деталей этого проекта? А я ведь уже говорил что радиолюбительство (не путать с промышленным конструированием) изначально убыточно. Это скорее для души, да и не сделают китайцы такого, как сам себе придумаешь.

Будете смеяться, но этот проект появился как развитие желания моего очень хорошего товарища встроить в Mitsubishi Galant то ли 2008 то ли 2009 года выпуска термометр, которого там почему-то не оказалось.

Напичканый по самое “не балуйся” электроникой автомобиль, но бортовой компьютер оказался не в состоянии отобразить температуру ни салона ни наружную 🙁 Такая вот странная прихоть производителей. Было решено разместить два дисплея по четыре символа с высотой символов 8мм в двух нишах в центральной части передней панели. Дисплеи разбиты на правый и левый не зря, так как используется скроллинг (экран приветствия) при запуске. Это имеет смысл учитывать при повторении. Изначально планировалось, что это будет просто сдвоенный термометр. Позже был добавлен третий датчик температуры, функция вольтметра и функция секундомера. Дисплеи выполнены на отдельных платах, что облегчит встраивание устройства в нужное вам место и применение других дисплеев.

Идеология работы такова: после включения  (подразумевается что прибор включается зажиганием) по окончанию экрана приветствия на левом, ближнем к водителю дисплее отображаются данные с термодатчика IC3 (в нашем случае наружная температура – в вашем – решать вам), на правом одно из значений термодатчика IC1 (в нашем случае температура наружная), термодатчика IC2 (в нашем случае температура двигателя), вольтметра и секундомера.  Эти значения циклически переключаются кнопкой S1. Последнее значение запоминается, – т.е. если вы выключили зажигание и последним светился секундомер, то при следующем старте он и засветится. Данные секундомера не запоминаются, на то он и секундомер. Вообще идея с секундомером может показаться кому-то лишней, ведь у каждого есть мобильный телефон а в каждом мобильном телефоне есть секундомер – а теперь задайте себе вопрос – когда вы последний раз пользовались секундомером в мобильном телефоне? Ведь специализированный секундомер, который всегда под рукой, в прямом смысле этого слова и “гипотетический” секундомер в кармане все же разные вещи. Данная функция может оказаться полезной для любителей “ставить рекорды” и не только. Короткое нажатие на кнопку S2 остановит или запустит секундомер. Длинное нажатие (удержание дольше секунды) – установит секундомер в “0”. Если в этот момент на правом дисплее отражается что то другое – кнопка S2 не имеет действия. Максимально измеряемое время 99 минут 59 секунд. С вольтметром все еще проще – измеряется напряжение от 0 до 20в с шагом 100мв. Для опознания режима в конце светится “u” – 12.1u.

Для дополнительного комфорта и безопасности водителя предусмотрено четыре градации яркости дисплея. Удерживая кнопку S1 нажимайте кнопку S2 – градации яркости будут переключаться циклически. Последняя яркость будет запомнена в EEPROM. Упор делался на то, чтобы устройство было ненавязчивым для водителя. Запоминается яркость и отображаемая информация – возможно большинству будет достаточно один раз настроить, остальные функции будут использоваться изредка.

Устройство выполнено на Atmel Mega16 в TQFP корпусе. Плата выполнена на двухстороннем текстолите, в качестве  земли используется второй слой. Сделано это не для улучшения помехозащищенности – в схеме нечем “собирать” наводки, а с точки зрения упрощения, а значит и компактности платы. Плата имеет размеры 43×55мм, т.е. немногим больше спичечного коробка. Применение ключей на транзисторах  позволит в случае надобности использовать индикаторы большего размера. Особенности регулировки яркости (идея подсмотрена в 90-х годах у японцев в схемах управления двигателями загрузки видеомагнитофонов) позволяют применить индикаторы только с общим анодом. Мега16 тактируется от кварца 8мгц, это нужно для точных отсчетов временных интервалов секундомера. Применение в качестве С3 конденсатора емкостью 3300.0 – 4700.0 uF хоть и ухудшит динамические характеристики стабилизатора, но позволит сгладить переходные процессы при запуске двигателя. При настройке нужно убедиться в наличии на AREF напряжения порядка 2.5-2.6в, Резистором R3 (или R2) добиться правдивых показаний в режиме вольтметра. Резисторами R19, R20 задаются пороги яркости. Возможно их придется подобрать при использовании другого индикатора. В качестве транзисторов VT1-VT4, VT6-VT9 вполне подойдут BC817 или любые другие NPN в корпусе SOT23 и с током коллектора не менее 100-200ма, VT5 – любой NPN в корпусе SOT89 с такими же параметрами.

Фуз-биты при программировании нужно выставить так:

Также было бы нелишним записать содержимое EEPROM из файла ttv_meter.eep ниже.

Файлы:
Схема в Splan 7
Печатная плата в SprintLayout 5
Прошивка
Прошивка EEPROM
Прошивка с отключенным экраном приветствия (для тех кого он задолбал или кто хочет как-то по другому расположить индикаторы)

29 коментарів до “Термометр – таймер – вольтметр для автомобиля

  1. Очень понравилась идея, как раз в машине барахлит индикатор температуры. К сожалению после повторения возникли две проблемы
    – нет идикации сегмента С на всех индикаторах
    – завышается измеряемая температура примерно на 2-3 градуса.
    Соответственно два вопроса:
    – не сгорит ли порт МК, если я для проверки замкну токоограничительный резистор в цепи сегмента С на землю?
    – как по времени организован опрос датчика температуры (постоянный или нет)? Возможно завышение температуры связоно с саморазогревом DS18B20? К стати показания всех трех датчиков также различаются хотя расположены рядом.

    • Ну с сегментом С, я думаю, все просто – проверяйте цепи сегмента С. А если делали мою плату – то скорее всего замкнули токоограничительным резистором сегмент на землю, или дорожка не дотравилась. Там под резистором дорожка проходит. Порт теоретически конечно сгореть может, но практически вряд ли… Динамическая индикация все таки. А датчики у Вас скорее всего сейчас припаяны к плате, а платка греется. А проводники проводят не только ток, но и тепло. Когда повесите на провода длиной хотя бы 10см лишние градусы уйдут. Из практики разбег между датчиками может достигать 0.5С. Можно было бы сделать коррекцию… Но как-то больно лениво было, тем более что предполагалось измерение трех абсолютно разных температур – двигатель, улица и салон. Да, и еще! На проводах 3-4м возможно понадобится повесить конденсаторы 100n. Я вешал 100nf размера 1206 прямо на ноги DSки.

  2. C сегментом действительно все просто – ковырял плату , а непропай был на индикаторах.
    Датчики действительно стоят пока на плате. Вечером попробую рекомендации.
    Да, я не ставил пока защитные диоды (я так понял, что это защита от импульсьсов в БС авто) на DSки,но врядли это имеет значение.
    Сейчас при включении первый датчик показывает 23 гр.(реально 22гр) и потом медленно ползет до 28 и дальше стабилизируется.
    Второй показывае 24, а третий 23 причем показания стабильны.
    На схеме заметил – резистор в цепи Тлки стоит 75 Ом наверное пропущена запятая 7,5 Ом.
    Так же на схеме питание МК разведено с ошибкой, на печатке все правильно.

    • Датчик скорее всего ближний к стабилизатору показывает 28. С резистором ошибки нет, хотя сути дела это не меняет – все равно будете подбирать R3 для вольтметра. Ну и насчет ошибки с питанием это Вы конечно громко – забыл землю нарисовать возле AREF 🙂 А конденсаторы на DS18B20 – дело сугубо индивидуальное. У меня был тоненький длинный шлейф – вот помехи и наводились. Это просто совет как избавиться от гипотетически возможных “граблей”.

      • Про питание я наверное неправильно выразился. Прошу простить великодушно.
        Я имел в виду VCC Меги – на схеме идет от ZD, а в реально с 7805. Только и всего.
        Спасибо за схему и советы.
        Убрал датчики с платы – все пришло в норму. Разница между показаниями датчиков 0,4 гр. и о,2 гр. между контрольным термометром.

        • Уфф… Нашел, чуть глаза не сломал. Исправил. Большое спасибо за участие. Рад, что все понравилось. 0.2…0.4С – в пределах допустимого по даташитам на DS18B20. Если в процессе эксплуатации вдруг найдете какие глюки в прошивке – пишите не стесняйтесь.

          • Не знаю как это квалифицировать, При отключении датчика последние показания не сбрасываются пока не выключишь питание. Если снова подключить датчик показания опять возобновляются.

            • Ну тут все просто. Специфика 1-wire шины и датчиков DS18B20 заключается в том, что ошибка – это значение 85. В случае с квартирным термометром и измерением температуры -20…+45С все было бы нормально А вот в случае с измерением температур до 100…110С (например ДВС) было бы нехорошо обыгрывать эти все моменты и писать “err” при 85С, да и сама специфика устройства не подразумевает “горячее подключение” датчиков. Плюс ко всему прочему вполне возможно проскакивание ошибочных пакетов – автомобильная бортовая сеть не самая помехозащищенная вещь и подмаргивание изредка сообщением об ошибке не добавит комфорта при эксплуатации. Потому и сделано как сделано – логика такая – светим последнее “правильное” значение. К слову, сильно и не балуйтесь с подключением / отключением датчиков на ходу – DSки достаточно нежные…

        • 0,4 и 0,2 для температуры улицы/салона/двс/котла/морозилки жизненно важно? десятые, как по мне, абсолютно не важны. штука конечно хорошая, но 3 порта под 3 датчика… жалко однако 🙂

    • Да добавить то не очень сложно, вот только если делать правильно, то добавлять узел на m41t56 (RTC c I2C интерфейсом) + батарейка к двум свободным ногам меги. Иначе постоянно придется постоянно питать от аккумулятора и дополнительно бороться с провалами питания при старте – не вижу особого смысла в таких «программных» часах. Хотите поучаствовать? Есть пару «но» – тестировать будем на Вашем экземпляре (мой уже установлен и работает)и второе – платка довольно компактная и удачная, данную «добавку» придется делать в виде модуля.

  3. а если посадить датчики на один порт ( мне больше 2х не надо, типа t салона и улицы), добавить тахометр (видел простенький на hardlock.org.ua), вольтметр. двигатель работает – тахометр по умолчанию, двигатель заглушен – температура. ну а кнопкой выбирать по кругу то что надо что б было на индикаторе.
    согласен тестить 🙂

    • Вольтметр же и так есть… Шина 1-wire конечно же позволяет повесить не один датчик, но как тогда быть с тем чтобы точно знать какой из них какой?
      Поглядел исходники, немного вспомнил как все было… Добавление часов и тахометра грандиозно поменяет эксплуатацию таймеров. На “удаленное” отлаживание такая добавочка уже не тянет… Чем такое добавлять – проще уже все с нуля сделать, к тому же под такое увеличение измеряемых (отображаемых) параметров больше бы подошел двухстрочный ЖК дисплей, а тахометр лучше выводить на светодиодную шкалу (8-16 светодиодов), хотя цифровое отображение можно оставить как опцию…. В общем обещаю подумать, но быстро не обещаю… 🙁

  4. ок, подождем :), как только тестеры понадобяться – рад буду помочь. пишите на мыло.
    С ув. Александр.

  5. Хочеться поддержать идею добавления в устройство часов, и может быть тахометра. Дело в том что сама идея схемы с двумя дисплеями- мне очень нравится, я сейчас сам пытаюсь сделать такое устройство, но собрав его из двух-трёх. Таким образом можно одновременно видеть несколько параметров(например “Тулицы-Твмашине”, “Время-Твсалоне” Использование ЖК индикатора, не так уж необходимо, глазами лучше воспринимаются именно светодиодные матрицы. В инете появился ролик “Термометр,вольтметр,тахометр на PIC+часики.MP4 на YouTube” – только ни описания ни схемного решения.

  6. alexsey_nes, глянул на yuutube, действительно не плохо получилось и явно лучше чем аналогичные на жк, + семисегментники можно в разные места торпеды раскинуть.

    • Заинтриговали. Два комментария про ролик. Посмотрел… Абсолютно ничего сложного не вижу. Но как и говорил – лучше делать не на базе этого устройства, а с нуля. Еще бы можно было спидометр добавить на три здоровых семисегментника, как на новых ситроенах. Хотя если появится датчик скорости – сразу возникает желание еще пару функций “дорисовать”. Может и возьмусь через пару месяцев – сейчас другой проект более-менее крупный в процессе. Ну и конечно если у желающих поучаствовать пыл не поугаснет…

  7. Доброго времени суток:)
    Спидометр – вещь нужная, однако – цифровая индикация скорости хуже воспринимается человеком , особенно во время движения. Видел на форуме АЗЛК – полностью переделанные приборки и на мосвич и на “копейку”. Впечатляет масшабностью разработки( я бы никогда не полез к тем проводам которые контактируют с бензобаком…) и яркостью картинки. На практике – такая “цветомузыка” ни к чему. Да и как не старайся – не получится из “копейки” Ситроена. Но пробовать всегда хочется. :)) .
    Через пару месяцев – как раз то что надо – будет теплее и не так грустно в гараже ковыряться.
    Поддержу модульное испонение прибора, по крайней мере в одном корпусе несколько плат. – как в любом более-менее сложном устройстве: 1) модуль питания, с необходимыми фильтрами и радиаторами, 2) основной модуль с процессором и может быть с одним двумя семисегментиками, 3) часовой модуль с 1307 и с батарейкой легкодоступной для замены (если это будет необходимо), 4) модуль линейного индикотора на простых светодиодах, (он как раз удобен для восприятия, аналог стрелки,) для тахометра.
    Насчёт измерения скорости – пока не знаю … а нужно ли оно если есть штатный прибор, да и вмешиваться в работу штатной элетроники…..лучше не стоит.
    ….встречалась мне статья , в которой в этот же прибор устанавливали фотодатчик, обеспечивающий автоматическое включение габаритов(ближнего света) в сумерках и в тёмное время суток, – это так, к размышлению, а стоит ли городить.
    … и наверно стоит снабдить устройство неким мелодичным зумером, по крайней мере начнёт мурлыкать если на улице стемнеет, а фары не включены, или скорость движения превышена , и банально – будильник.
    К вопросу о таймере в оригинальном устойстве:
    Довелось поюзать девайс “Амфитон-250” – тахометр от петербургского производителя. там есть таймер. Работает он следующим образом: 1 – ручной, при включении функции таймера – он обнуляется и начинает отсчёт времени, Второй – автоматический – который работает всё время: привключении зажигания он на 2-3 сек отображает время которое машина стояла и зам переходит в режим тахометра, (при этом таймер сбрасывается) , при выключении мотора также 2-3 сек отображается время в пути, и затем индикатор переходит в ждущий режим. мне кажется это удобно, нет надобности постоянно включать секундомер, просто приехав из гаража – глушишь мотор- и видишь время – 14 мин, из магазина – 3 мин, вышел с работы – 9час 15 мин.:)))

    • Да идей много, что получится в итоге наперед сказать сложно. Я вот тут немного думал насчет модульности…. Есть идея дополнительные индикаторные модули (часы, температура и т.д.) сделать стандартными в виде платки с четырехсимвольным светодиодным семисегментником + ATtiny 2313 в качестве драйвера. Каждый такой модуль подключался бы к основной плате тремя проводами – питание, земля и один провод с данными – это было бы очень удобно при монтаже на торпеду. Каждый бы себе городил что ему нужно. Кому часы, кому вольтметр, кому еще чего… А подключение к датчику скорости открывает не только возможности спидометра. Также появляется возможность использования сбиваемых счетчиков километров, измерение времени разгона до нужной скорости, да та же напоминалка скорости потребует этого датчика. Очень возможно что если и соберусь с мозгами за разработку такого устройство – вполне вероятно это будет STM8… Есть там кой-какие вещи, чего с атмелом, увы, не провернешь…

  8. не совсем понимаю про таймеры, для так сказать “домашнего” пользования (…видишь время – 14 мин, из магазина – 3 мин, вышел с работы – 9час 15 мин) это больше на слежку похоже. кстате гдето видел схему gprs логгера на меге и сд карте.
    модульный? чем больше мк, тем глюков в прошивках больше, а програмист, на сколько я понял, тут один. спидометр + бак = расходомер, но это уже лучше на жк. STM8? 🙁

    • p.s. и звуковую сигнализацию в виде 2313+cd+usart можно прикрутить (ремни, остаток топлива, превышение скорости,… ) radiokot.ru/forum/viewtopic.php?f=20&t=39705&start=160 проверял, “плеер” по usart работает.

  9. Проект хороший, прекрасно работает около года. Одно неудобство – не отображается температура двигателя свыше 99 градусов.
    Уважаемый автор, моглибы Вы подкорректировать прошивку.

  10. Очень рад, что попал на страничку этого проекта. Вопрос: Нет ли версии с 3 раздельными индикаторами, для отображения температуры? Зараннее спасибо.

      • Здравствуйте! Меня вот тоже интересует возможность использовать 3-хразрядные индикаторы. Да и нужно только две температуры и напряжение. Не подскажите, что и где подредактировать в схеме и прошивке для этого? Можно на почту. Буду очень признателен!

Залишити коментар до sdf Скасувати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *