Skip to main content

Черно-белый термометр с большими цифрами

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

Краткие характеристики:
Диапазон измеряемой температуры-55°C - +125°C
Период опроса датчика10 секунд
Напряжение питанияDC 6-40В

На самом деле проблемы-то нет никакой, большие семисегментные индикаторы существуют, но в данный момент у меня таких нет. Заказывать и ждать нужно время, да и обыденно это все. Индикаторов нет, но есть куча SMD светодиодов, лист ПВХ пластика и ЧПУ станок. Попробуем из этого набора соорудить что-нибудь интересное.

Схема и плата.

Схема особенностей не имеет, микроконтроллер ATmega8A в корпусе TQFP, датчик DS18B20, индикация статическая на сдвиговых регистрах 74HC595 усиленных сборками Дарлингтона ULN2003. Питание на ШИМ-регуляторе LM2596. Применение отдельных светодиодов позволило создать собственные символы (стрелки изменения температуры).

Плата двухсторонняя.

bw_thermo_01
bw_thermo_02
bw_thermo_03
bw_thermo_04
bw_thermo_05
bw_thermo_06
Корпус.

Изготовить плату это половина дела, устройству обязательно нужен корпус. Который я решил сделать из ПВХ пластика толщиной 8 мм. Материал довольно мягкий, но и устройство не носимое, так что, думаю, вполне годный вариант. В качестве первого эксперимента был изготовлен классический вариант (часть панели для издевательств).

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

И тогда родилась другая идея: сделать сегменты не сплошными, а выполнить перфорацию. Вот так выглядит верхняя крышка до покраски.

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

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

В нижней части корпуса точно так же вырезаны углубления для микросхем, конденсаторов, разъемов и выполнена перфорация для охлаждения.

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


  • Немного о периоде опроса датчика и стрелках изменения температуры.

Определение изменения температуры реализовано "в лоб": при измерении значение температуры запоминается, а далее с определенной периодичностью измеренная температура сравнивается с ранее сохраненной, после чего принимается решение. В исходном варианте датчик опрашивается раз в 10 секунд, а "окно" определения изменения температуры - 15 минут. При желании эти параметры можно изменить.

#define UPD_SENS 11	// период опроса датчика (секунды - 1)
#define UPD_STAT 90	// период обновления указателя температуры (количество опросов датчика) 90*10сек = 15 мин

Фьюзы

Необходимо перевести тактирование внутреннего генератора на частоту 4MHz (с завода генератор настроен на частоту 1MHz). Слежение за напряжением питания настроено на 2,7V (впрочем, это не обязательно).

High Fuse: 0xD9
Low Fuse:  0xA3


Видео

Загрузки
Значок
Черно-белый термометр с большими цифрами

Схема, плата (DipTrace), сборочный чертеж, прошивка, исходный код.

7 комментарии в “Черно-белый термометр с большими цифрами”

  1. Объясните пожалуйста почему , не задействован вывод 0Q? Ведь данные передаются последовательно и запись начнётся в регистр с 0Q. Я правильно понял это Вы сделали для того , чтобы не было путаницы при подключении к UNL 2003 и для удобства разводки печатной платы для тех кто будет повторять. Программированием никогда не занимался и хотелось узнать это Вы учли в программе , чтобы не использовать 0Q. Спасибо.

    1. На самом деле все очень просто, вывод Q0 не используется только потому что он не нужен. Разряд цифры у нас состоит из семи сегментов (точки ведь у него нет), потому и используются выводы Q1-Q7. В коде знакогенератор цифр учитывает этот факт, в регистр-то конечно загружается 8 бит, но просто один бит не используется. А какой он будет, Q0 или какой-либо другой, вообще не имеет значения. Можно было бы подключить Q0-Q6, а Q7 оставить в воздухе, просто для этого нужно было бы переписать коды символов. Почему я выбрал именно Q1-Q7? Именно потому что они идут по порядку, и так удобнее разводить печатную плату, тут Вы всё верно заметили. В этом-то и прелесть написания кода, что можно переназначить выводы по своему желанию именно под удобную разводку. В коде-то куда проще ноги поменять, чем на плате гору перемычек лепить.

      1. Спасибо за ответ , в связи с возрастом (64 года), мне сложновато некоторые вещи в понимании без пояснений, вот и задал Вам такой вопрос, мои друзья по ветеранской хоккейной команде попросили меня сделать цифровое табло для счёта игры на тренировках. В интернете таких разработок очень много , но они имеют слишком обширный функционал, нам нужно элементарно, две цифры на счёт для каждой команды и по три кнопки управления (кнопка нажатием добавить счёт , кнопка убавить счёт если ошибочно добавили и сброс показаний счёта ,на случай если другая команда вступает в игру. Мы играем в Ледовом крытом катке и большое табло вечером не включаю, да и нужен оператор компьютер это для тренировок неудобно. Разрешите за основу взять взять, Ваш проект, а именно схему контролера с тремя цифровыми индикаторами , вместо стрелок добавлю 4 индикатор, Размеры цифр у меня 12 сантиметров. С уважением Анатолий . Спасибо

        1. Вы можете делать с проектом все что угодно, допиливайте как Ваша душа пожелает. 🙂 Если будут возникать вопросы, пишите прямо на почту - public@enabledevice.ru. Я всегда рад поделиться тем, что знаю сам.

          1. Спасибо Вам большое. Да на почту самое то, ведь не всем интересны вопросы которые я хотел узнать. С уважением Анатолий.

  2. Просто классно сделано , как на предприятии с большими возможностями. Фантастика .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *