Привет, Хабр!

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

Данный проект появился, когда очередной раз мне пришлось сменить САПР для проектирования печатных плат. Нужна была какая-то тестовая схема, чтобы изучить возможности новой для меня программы. И, как это часто бывает, в процессе я немного увлекся.

Схема разработана буквально на тех компонентах, которые болтались у меня под рукой. Она не претендует на что-то серьезное, но вполне сгодится в качестве досуга на выходной день.
А что может получиться у скучающего схемотехника, когда нет четко сформулированного ТЗ, вы узнаете под катом.

image

Цифровой термометр предназначен для измерения температуры окружающего воздуха в помещениях. Диапазон измеряемых температур составляет от 0°С до 50°С с шагом в 1°С.
Отображение температуры производится на цифровом индикаторе в десятичном виде и с помощью светодиодной линейной шкалы. Также цифровой термометр позволяет регулировать яркость светодиодной индикации с помощью потенциометра.

Первую версию печатной платы я вырезал на фрезеровальном станке. О том, как я делаю печатные платы, вы можете дополнительно почитать в моем предыдущем посте.

image

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

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

image

К слову сказать, удалось добиться достаточно неплохой точности и стабильности измерений для устройства, которое «показывает погоду». В пределах одного — двух градусов показаниям верить можно. И чтобы закрепить успех, было принято решение повторить результат уже в «зеленке».

image

Как устроена схема


Структурная схема цифрового термометра представлена на рисунке.

image

В основе схемы использован интегральный датчик температуры A2 TMP36 с аналоговым выходным сигналом. Чтобы выровнять диапазон выходного сигнала датчика температуры А2 с диапазоном цифрового индикатора B и линейной шкалы D, используется схема согласования A4.

image

Для преобразования аналогового сигнала температуры в цифровой вид схема генерирует ступенчато нарастающее напряжение. Для этого счетчик A3 накапливает 50 тактовых импульсов от генератора A1 на частоте 50Гц по количеству элементов светодиодной шкалы D2. А выходы счетчика A3 управляют напряжением на выходе схемы A5 R2R-ЦАП.

image

Напряжение на выходе A5 R2R-ЦАПа увеличивается с каждым тактовым импульсом на 80мВ в диапазоне от 0В до 4В. Пятьдесят первый тактовый импульс от A1 сбрасывает схему счетчика A3, и напряжение на выходе A5 ЦАП снова начнет нарастать от 0В.

Напряжения с термодатчика A2 и с выхода ЦАП A5 поступают на вход компаратора A6, который определяет состояние входа Data сдвиговых регистров D1. Пока напряжение на выходе термодатчика A2, нормированное схемой согласования A4, ниже ступенчато нарастающего напряжения со схемы ЦАП A5, в сдвиговые регистры D1 записывается высокий уровень. После чего происходит запись сигнала низкого уровня.

Сигнал сброса Reset счетчика A3 одновременно обновляет состояние всех выходов сдвигового регистра D1. Таким образом на линейной шкале D2 формируется светящийся столбец, количество включенных светодиодов в котором эквивалентно измеренной температуре.

image

Для реализации цифровой индикации B в схеме использован двух разрядный семисегментный дисплей статического типа B4. Формирование цифровых значений температуры происходит с помощью двух дополнительных десятичных счетчиков B1. Первый — отсчитывает единицы, а второй — десятки градусов.

image

Десятичные счетчики B1 работают параллельно с двоичным счетчиком A3, который управляет схемой R2R-ЦАП A5. Схема детектирования среза B2 отслеживает переход сигнала Data на выходе компаратора A6 в схеме измерения температуры из высокого уровня в низкий, и подает импульс записи Strob на семисегментный дешифратор B3.

Управление яркостью светодиодной индикации B и D производится ШИМ на основе опорного напряжения, установленного потенциометром C1. Напряжение с потенциометра C1 сравнивается с пилообразным напряжением от генератора C2 на частоте 400Гц компаратором C3. Полученный ШИМ-сигнал управляет электронным ключом C4, который коммутирует катоды всех светодиодных индикаторов B4 и D2.

image

Питание схемы было решено сделать от USB. Мне показалось это удобно. Можно приладить повербанк, или просто воткнуть схему в порт компьютера.

image

Вторая версия печатной платы


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

image

И только после того, как был пройден полный цикл проектирования от нескольких прототипов до первой опытной партии на «сувениры», я осознал, что схема получилась избыточной. Часть светодиодов в ней будет светиться постоянно, так как в комнате редко бывает ниже 15°С. А другая часть светодиодов наоборот включаться не будет, так как выше 35°С, ну максимум 40°С где-нибудь на юге, в помещениях тоже практически не бывает. А на улице использовать данное изделие тоже не получится, климатическое исполнение этому не способствует, да и отрицательные температуры оно показывать не обучено.

image

Я не стал отчаиваться, и приступил к устранению этих недостатков. В результате получился термометр с усеченной светодиодной линейной шкалой от 10°С до 30°С. Пришлось добавить еще два светодиода на случай выхода за заданные пределы температуры. Я снова вырезал печатную плату для прототипа на ЧПУ, дальше сборка, настройка, проверка…

image

Не спрашивайте зачем, но и эту версию я тоже собрал в «зеленке». И только после того, как работа была завершена, мои коллеги обратили внимание на то, что традиционные спиртовые комнатные термометры тоже имеют заведомо более широкий диапазон, и что это более привычно для пользователя. Вот к чему приводит отсутствие сформулированного ТЗ до начала проектных работ…

image

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

image

Если вам понравилась эта статья, то вы можете посмотреть другие мои проекты:



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


  1. viordash
    04.12.2023 08:49
    +6

    для следующей версии :) добавьте еще пару светодиодов, чтобы отображать тренд температуры, который иногда более полезен чем статика


    1. OldFashionedEngineer Автор
      04.12.2023 08:49
      +1

      Я это делаю по принципу "один раз слепил и забыл". Не очень хочется один проект несколько раз мусолить. Всегда есть новые идеи, которые хочется реализовать, а для этого нужно время.


      1. viordash
        04.12.2023 08:49
        +1

        согласен с вами полностью, мое предложение для последователей.

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


        1. johnfound
          04.12.2023 08:49
          +1

          Развесить девайс в различных местах офиса, глядишь и громких разговоров станет меньше.

          Измерение температуры больного никак не улучшает его состояние.


          1. viordash
            04.12.2023 08:49

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


            1. Gryphon88
              04.12.2023 08:49
              +1

              Тогда уж запускать "хомяка-повторюшку": собственная речь, повторенная со сдвигом примерно в 0,1с, дает очень нетипичный стимул и человек по итогу затыкается.


        1. OldFashionedEngineer Автор
          04.12.2023 08:49
          +1

          Вот кстати сделать измеритель шума в таком же формате, это идея интересная, как я сам не догадался!?


    1. Rayven2024
      04.12.2023 08:49

      еще полезнее (/me смотрит что творится под ногами за окном) если отдельно будет еще один светодиод, показывающий переход с + на - в течении последних суток....


      1. OldFashionedEngineer Автор
        04.12.2023 08:49

        Тогда ещё и барометр прийдется добавлять. Я обычно на телефоне смотрю краткосрочный прогноз перед тем, как на улицу выходить. А этот девайс сделан больше ради процесса его сборки, чем в практических целях.


  1. dmitryrf
    04.12.2023 08:49
    +4

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


    1. OldFashionedEngineer Автор
      04.12.2023 08:49

      На самом деле нет острой необходимости с высокой точностью видеть значение температуры в комнате или на улице. Обычно плюс минус два - три градуса вполне хватает. А для этого шкала вполне подходит. К тому же в схеме каждый пятый и десятый резистор для светодиодов отличаются по номиналу. За счет этого различаются отсчеты кртатные пяти и десяти градусам.


  1. da-nie
    04.12.2023 08:49
    +3

    Надо ИН-13 как индикатор поставить. :)


  1. iliasam
    04.12.2023 08:49
    +5

    Встречал схему термометра на шаговом искателе, вообще без полупроводников: https://radiokot.ru/circuit/analog/home/44/


    1. tormozedison
      04.12.2023 08:49
      +2

      Вольтметр тоже можно так сделать.

      http://archive.radio.ru/web/1965/03/034/


    1. Jury_78
      04.12.2023 08:49
      +2

      Еще проще - резистивный мост и стрелочный прибор. :)


      1. sappience
        04.12.2023 08:49
        +5

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


        1. NotebookKiller
          04.12.2023 08:49

          Вы придумали автоматический измерительный мост


          1. sappience
            04.12.2023 08:49

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


    1. MaFrance351
      04.12.2023 08:49
      +1

      О! Давным-давно видел этот проект, но ссылку сходу не нашёл. Спасибо за подсказку.


  1. johnfound
    04.12.2023 08:49
    +5

    Данный проект появился, когда очередной раз мне пришлось сменить САПР для проектирования печатных плат.

    Я из-за этого предложения зашел. Но увы, на этом предложении тема и закончилась.


    1. sinc
      04.12.2023 08:49
      +1

      kicad видимо


      1. OldFashionedEngineer Автор
        04.12.2023 08:49
        +1

        Игл... кикад сейчас надо осваивать.


        1. sinc
          04.12.2023 08:49
          +1

          Сначала плюёшься из-за непревычного управления, а потом норм. Из плюсов: достаточно гибкий и мощный, относительно легковесный, есть встроенный spice-симулятор, имеются бесплатные автотрассировщики. У них на оф. сайте оч. неплохой туториал.


          1. OldFashionedEngineer Автор
            04.12.2023 08:49

            Почти со всем согласен. Автороутер у игл, по моему мнению, один из самых лучших. Справляется лучше, чем альтиум при более простых настройках. Но, я попал на момент неудачного обновления софта, при перемещении любого компонента по схеме, игл жутко тупил. Это сильно попортило мою нервную систему. Баг быстро попатчили, но полученная психологическая травма так и не зажила.


  1. Gryphon88
    04.12.2023 08:49

    Интересно, но, имхо, с r2r-dac вы несколько перемудрили. Мне нравится схема с аналоговым реобасом: чем выше температура к максимуму, тем больше заполнение ШИМ.

    Управляем скоростью вращения 12v кулера с помощью LM335Z
    Управляем скоростью вращения 12v кулера с помощью LM335Z

    А ШИМ мы можем "порубить" на отрезки с помощью RC-цепочек. Или наоборот, использовать интегрирующую RC цепочку, а дальше АЦП.


    1. sinc
      04.12.2023 08:49
      +2

      Тогда уж сразу сделать сигма-дельта АЦП. Тем более в исходной схеме все для этого есть.


      1. OldFashionedEngineer Автор
        04.12.2023 08:49

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


    1. OldFashionedEngineer Автор
      04.12.2023 08:49

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


  1. Dark_Purple
    04.12.2023 08:49
    +4

    Коль уж это АРТ такой, то зачем вы самое красивое спрятали на противоположной стороне от индикаторов? Все компоненты надо было ставить с одной стороны в СМД.


    1. OldFashionedEngineer Автор
      04.12.2023 08:49

      Честно говоря ,я не подумал об этом. Действительно можно было так и сделать. Я то сам обычно на плату смотрю со стороны компонентов, а не со стороны индикации.


  1. MaFrance351
    04.12.2023 08:49
    +1

    Круто! Люблю такие проекты. Было бы интересно попробовать реализовать схему с термистором (всё же у используемого тут термодатчика зависимость сигнала от температуры линейная).

    Вспомнился ещё чей-то очень старый термометр на ГРИ и ещё более дубовых компонентах, но ссылку, увы, уже не найду...


    1. OldFashionedEngineer Автор
      04.12.2023 08:49

      Схема и так достаточно объемная получилась. Под рукой не было TMS35, он от 0 мерит. TMS36 мерит от -50 градусов, пришлось еще смещение вычитать.

      Чтобы мерить с термистора, надо компенсировать нелинейность изменения сопротивления от температуры. Еще неплохо бы компенсировать температурное изменение сопротивления и прочее. В общем много дополнительных наворотов. И при этом каждый новый термистор все равно надо было бы калибровать. В общем, решил немного считирить, и использовал готовый термодатчик со всеми компенсациями и линейным выходом.


      1. MaFrance351
        04.12.2023 08:49

        Кстати, вот что за проект я упомянул:

        https://radiokot.ru/circuit/analog/home/44/

        Таки подсказали чуть выше ссылку.


  1. 1CHer
    04.12.2023 08:49
    -5

    Всё таки я против кликбейтной части заголовка "без микроконтроллера". Тут уже используются логические элементы. Можно сказать заново изобретён микроконтроллер. Вот когда будут простые элементы (что кстати так же элементарно) тогда и можно такой заголовок.


    1. OldFashionedEngineer Автор
      04.12.2023 08:49
      +5

      Еще раз прочитал заголовок статьи, написано: "... на жесткой логике". Мне казалось, что это достаточно полно характеризует действительное положение дел.

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


      1. 1CHer
        04.12.2023 08:49
        -4

        Ну немного устал и не так выразился, у меня тема + часть статьи: "без применения микроконтроллеров и программирования". По сути своей МК с жёстко заданной программой. Да и принцип всей железки на булевой алгебре, по сути своей программой и является, просто в непривычном виде. Тут всё можно выразить в виде процедуры, цикла, условий, переменных и проч. Я не говорю что идея плохая или статья плохая. Мне просто кажется что сейчас это ну проще и легче с помощью МК. Разве что для школьников начальной школы будет наглядный пример. Сам с подобного начинал. Но ради интереса возможно ли аналогичный прибор но с минимальными логическими МК, просто на транзисторах? Вот думаю это было бы искусство оптимизации конечного автомата-электронной схемы!


        1. OldFashionedEngineer Автор
          04.12.2023 08:49
          +1

          Рыбу проще в магазине покупать, а кто-то со снастями на берегу сидит. У меня на работе хватает головоломок. Посмотрите мои предыдущие посты, в статье ссылки есть. Именно этот формат - моё хобби.


        1. jar_ohty
          04.12.2023 08:49

          Классическая линейная светодиодная шкала на последовательно соединенных транзисторах (на N светодиодов нужно N транзисторов и 2N резисторов), ну и схема, преобразующая выходной сигнал датчика температуры в постоянное напряжение в диапазоне от 0 до напряжения питания шкалы. Проще не придумаешь. Недостатки -- что сегменты загораются и гаснут плавно, и что напряжение питания довольно велико: ведь его должно хватить для работы каждого из последовательно соединенных транзисторных ключей. 12 вольт хватает примерно на 6-8 сегментов шкалы, соответственно, если нужно индицировать температуру от 10 до 35 градусов через градус, потребуется напряжение питания вольт 50.


          1. OldFashionedEngineer Автор
            04.12.2023 08:49

            И ещё такую схему будет сложнее синхронизировать с цифровой индикацией. Плюс сюда повышающий преобразователь нужен. А ещё компоненты с более высоким рабочим напряжением... я за простоту в схемотехнике.


  1. Maxbor23
    04.12.2023 08:49

    Удивительное совпадение. Как раз сегодня видел эту схему и печатку в демо экзамене по электронике


    1. OldFashionedEngineer Автор
      04.12.2023 08:49
      +2

      Ни каких совпадений. Я с 2017 по 2022 год был разработчиком заданий демонстрационного экзамена по электронике. Просто писать про экзамен не вижу интереса. А схемы получились прикольные.


      1. Gryphon88
        04.12.2023 08:49

        Много валилось? Волшебная комбинация сдвиговый регистр+595 дает кучу возможностей, но если про нее просто читать (даже если весь год), не беря паяльника в руки, то что-то сложнее гирлянды сходу изобразить маловероятно.


  1. Jek_Sen
    04.12.2023 08:49

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


  1. Ego78
    04.12.2023 08:49

    Вспомнил ералаш, когда к часам прилагались два чемодана батареек. Парам пара пам ))))


  1. av-86
    04.12.2023 08:49

    А почему нет комментариев по поводу причины неприятия коллегами первого варианта схемы? Осмелюсь предположить, дело в не очень хорошем отношении длины к ширине?


    1. OldFashionedEngineer Автор
      04.12.2023 08:49

      Там больше по Фрейду придирка была)))