В этой статье я расскажу вам, про электронный термометр с цифровой индикацией и линейной шкалой без применения микроконтроллеров и программирования.
Данный проект появился, когда очередной раз мне пришлось сменить САПР для проектирования печатных плат. Нужна была какая-то тестовая схема, чтобы изучить возможности новой для меня программы. И, как это часто бывает, в процессе я немного увлекся.
Схема разработана буквально на тех компонентах, которые болтались у меня под рукой. Она не претендует на что-то серьезное, но вполне сгодится в качестве досуга на выходной день.
А что может получиться у скучающего схемотехника, когда нет четко сформулированного ТЗ, вы узнаете под катом.
Цифровой термометр предназначен для измерения температуры окружающего воздуха в помещениях. Диапазон измеряемых температур составляет от 0°С до 50°С с шагом в 1°С.
Отображение температуры производится на цифровом индикаторе в десятичном виде и с помощью светодиодной линейной шкалы. Также цифровой термометр позволяет регулировать яркость светодиодной индикации с помощью потенциометра.
Первую версию печатной платы я вырезал на фрезеровальном станке. О том, как я делаю печатные платы, вы можете дополнительно почитать в моем предыдущем посте.
Почему-то эта версия устройства не понравилась моим коллегам по работе. Может быть вы напишете мне в комментариях, что могло послужить причиной?
Пришлось немного изменить концепцию устройства. Печатная плата обзавелась крючком, за который ее можно повесить куда-нибудь на стенку, ну или на ручку оконной рамы.
К слову сказать, удалось добиться достаточно неплохой точности и стабильности измерений для устройства, которое «показывает погоду». В пределах одного — двух градусов показаниям верить можно. И чтобы закрепить успех, было принято решение повторить результат уже в «зеленке».
❯ Как устроена схема
Структурная схема цифрового термометра представлена на рисунке.
В основе схемы использован интегральный датчик температуры A2 TMP36 с аналоговым выходным сигналом. Чтобы выровнять диапазон выходного сигнала датчика температуры А2 с диапазоном цифрового индикатора B и линейной шкалы D, используется схема согласования A4.
Для преобразования аналогового сигнала температуры в цифровой вид схема генерирует ступенчато нарастающее напряжение. Для этого счетчик A3 накапливает 50 тактовых импульсов от генератора A1 на частоте 50Гц по количеству элементов светодиодной шкалы D2. А выходы счетчика A3 управляют напряжением на выходе схемы A5 R2R-ЦАП.
Напряжение на выходе A5 R2R-ЦАПа увеличивается с каждым тактовым импульсом на 80мВ в диапазоне от 0В до 4В. Пятьдесят первый тактовый импульс от A1 сбрасывает схему счетчика A3, и напряжение на выходе A5 ЦАП снова начнет нарастать от 0В.
Напряжения с термодатчика A2 и с выхода ЦАП A5 поступают на вход компаратора A6, который определяет состояние входа Data сдвиговых регистров D1. Пока напряжение на выходе термодатчика A2, нормированное схемой согласования A4, ниже ступенчато нарастающего напряжения со схемы ЦАП A5, в сдвиговые регистры D1 записывается высокий уровень. После чего происходит запись сигнала низкого уровня.
Сигнал сброса Reset счетчика A3 одновременно обновляет состояние всех выходов сдвигового регистра D1. Таким образом на линейной шкале D2 формируется светящийся столбец, количество включенных светодиодов в котором эквивалентно измеренной температуре.
Для реализации цифровой индикации B в схеме использован двух разрядный семисегментный дисплей статического типа B4. Формирование цифровых значений температуры происходит с помощью двух дополнительных десятичных счетчиков B1. Первый — отсчитывает единицы, а второй — десятки градусов.
Десятичные счетчики B1 работают параллельно с двоичным счетчиком A3, который управляет схемой R2R-ЦАП A5. Схема детектирования среза B2 отслеживает переход сигнала Data на выходе компаратора A6 в схеме измерения температуры из высокого уровня в низкий, и подает импульс записи Strob на семисегментный дешифратор B3.
Управление яркостью светодиодной индикации B и D производится ШИМ на основе опорного напряжения, установленного потенциометром C1. Напряжение с потенциометра C1 сравнивается с пилообразным напряжением от генератора C2 на частоте 400Гц компаратором C3. Полученный ШИМ-сигнал управляет электронным ключом C4, который коммутирует катоды всех светодиодных индикаторов B4 и D2.
Питание схемы было решено сделать от USB. Мне показалось это удобно. Можно приладить повербанк, или просто воткнуть схему в порт компьютера.
❯ Вторая версия печатной платы
Как я и писал выше, было решено изготовить термометр в «зеленке». Я даже не смог отказать себе в удовольствии паять по иммерсионному золоту.
И только после того, как был пройден полный цикл проектирования от нескольких прототипов до первой опытной партии на «сувениры», я осознал, что схема получилась избыточной. Часть светодиодов в ней будет светиться постоянно, так как в комнате редко бывает ниже 15°С. А другая часть светодиодов наоборот включаться не будет, так как выше 35°С, ну максимум 40°С где-нибудь на юге, в помещениях тоже практически не бывает. А на улице использовать данное изделие тоже не получится, климатическое исполнение этому не способствует, да и отрицательные температуры оно показывать не обучено.
Я не стал отчаиваться, и приступил к устранению этих недостатков. В результате получился термометр с усеченной светодиодной линейной шкалой от 10°С до 30°С. Пришлось добавить еще два светодиода на случай выхода за заданные пределы температуры. Я снова вырезал печатную плату для прототипа на ЧПУ, дальше сборка, настройка, проверка…
Не спрашивайте зачем, но и эту версию я тоже собрал в «зеленке». И только после того, как работа была завершена, мои коллеги обратили внимание на то, что традиционные спиртовые комнатные термометры тоже имеют заведомо более широкий диапазон, и что это более привычно для пользователя. Вот к чему приводит отсутствие сформулированного ТЗ до начала проектных работ…
Втору версию печатной платы заказывал с обычным лужением. Печатные платы пришли с небольшим браком. Видимо при окунании платы олово, посадочное место для разъема USB оказалось снизу, и его основательно залило припоем. Пришлось прочищать все платы вручную.
Если вам понравилась эта статья, то вы можете посмотреть другие мои проекты:
- 1. Простая схема динамических указателей поворотов, и никаких микроконтроллеров
- 2. Светодиодная шкала для переменного резистора на «рассыпухе»
- 3. Светофор на логике со схемотехникой в стиле Beatles. Как электроника вновь стала моим хобби
- 4. Профессиональные методы прототипирования печатных плат. Распечатать на принтере или фрезеровать, ни слова про утюг
- 5. Бирдекель или арифметический детектив на операционных усилителях
- 6. Электронная игра «лабиринт» на сервоприводах. Никаких arduino, только жесткая логика
- 7. Велосипедный фонарь с динамическими поворотами. Зачем покупать на AliExpress, если можно сделать самому?
- 8. LPKF ProtoMat S63. Мыши плакали, кололись, но… продолжали фрезеровать печатные платы
- 9. Звуковой усилитель на драйвере шагового двигателя L298 и таймере 555. Да, 555-й может и спеть
- 10. Графический спектроанализатор с динамической индикацией на жесткой логике
Комментарии (46)
dmitryrf
04.12.2023 08:49+4Внушительно!
Можно модифицировать шкалу таким образом: отображать всегда крайние точки и одну точку температуры между ними, отличается от градусника, но легко понятно издалека.OldFashionedEngineer Автор
04.12.2023 08:49На самом деле нет острой необходимости с высокой точностью видеть значение температуры в комнате или на улице. Обычно плюс минус два - три градуса вполне хватает. А для этого шкала вполне подходит. К тому же в схеме каждый пятый и десятый резистор для светодиодов отличаются по номиналу. За счет этого различаются отсчеты кртатные пяти и десяти градусам.
iliasam
04.12.2023 08:49+5Встречал схему термометра на шаговом искателе, вообще без полупроводников: https://radiokot.ru/circuit/analog/home/44/
Jury_78
04.12.2023 08:49+2Еще проще - резистивный мост и стрелочный прибор. :)
sappience
04.12.2023 08:49+5Можно вертикально закрепить реостат, его связать с двигателем с червячной передачей и включить реостат в мост. Результирующее значение с моста на управление двигателем. Бегунок реостата покрасить чтоб положение было видно издалека.
NotebookKiller
04.12.2023 08:49Вы придумали автоматический измерительный мост
sappience
04.12.2023 08:49Спасибо за лесть, но его придумали задолго до меня и мне придумывать не пришлось. Я лишь озвучил как его реализовать похожим на столбик термометра.
MaFrance351
04.12.2023 08:49+1О! Давным-давно видел этот проект, но ссылку сходу не нашёл. Спасибо за подсказку.
johnfound
04.12.2023 08:49+5Данный проект появился, когда очередной раз мне пришлось сменить САПР для проектирования печатных плат.
Я из-за этого предложения зашел. Но увы, на этом предложении тема и закончилась.
sinc
04.12.2023 08:49+1kicad видимо
OldFashionedEngineer Автор
04.12.2023 08:49+1Игл... кикад сейчас надо осваивать.
sinc
04.12.2023 08:49+1Сначала плюёшься из-за непревычного управления, а потом норм. Из плюсов: достаточно гибкий и мощный, относительно легковесный, есть встроенный spice-симулятор, имеются бесплатные автотрассировщики. У них на оф. сайте оч. неплохой туториал.
OldFashionedEngineer Автор
04.12.2023 08:49Почти со всем согласен. Автороутер у игл, по моему мнению, один из самых лучших. Справляется лучше, чем альтиум при более простых настройках. Но, я попал на момент неудачного обновления софта, при перемещении любого компонента по схеме, игл жутко тупил. Это сильно попортило мою нервную систему. Баг быстро попатчили, но полученная психологическая травма так и не зажила.
Gryphon88
04.12.2023 08:49Интересно, но, имхо, с r2r-dac вы несколько перемудрили. Мне нравится схема с аналоговым реобасом: чем выше температура к максимуму, тем больше заполнение ШИМ.
А ШИМ мы можем "порубить" на отрезки с помощью RC-цепочек. Или наоборот, использовать интегрирующую RC цепочку, а дальше АЦП.
sinc
04.12.2023 08:49+2Тогда уж сразу сделать сигма-дельта АЦП. Тем более в исходной схеме все для этого есть.
OldFashionedEngineer Автор
04.12.2023 08:49По разному можно сделать. Мне захотелось больше резисторов поставить на плату, чтоб паять было увлекательнее.
OldFashionedEngineer Автор
04.12.2023 08:49Не очень люблю аналоговые схемы. Их всегда дополнительно настраивать надо, не особо хочется с этим возиться. цифрой все таки проще.
Dark_Purple
04.12.2023 08:49+4Коль уж это АРТ такой, то зачем вы самое красивое спрятали на противоположной стороне от индикаторов? Все компоненты надо было ставить с одной стороны в СМД.
OldFashionedEngineer Автор
04.12.2023 08:49Честно говоря ,я не подумал об этом. Действительно можно было так и сделать. Я то сам обычно на плату смотрю со стороны компонентов, а не со стороны индикации.
MaFrance351
04.12.2023 08:49+1Круто! Люблю такие проекты. Было бы интересно попробовать реализовать схему с термистором (всё же у используемого тут термодатчика зависимость сигнала от температуры линейная).
Вспомнился ещё чей-то очень старый термометр на ГРИ и ещё более дубовых компонентах, но ссылку, увы, уже не найду...
OldFashionedEngineer Автор
04.12.2023 08:49Схема и так достаточно объемная получилась. Под рукой не было TMS35, он от 0 мерит. TMS36 мерит от -50 градусов, пришлось еще смещение вычитать.
Чтобы мерить с термистора, надо компенсировать нелинейность изменения сопротивления от температуры. Еще неплохо бы компенсировать температурное изменение сопротивления и прочее. В общем много дополнительных наворотов. И при этом каждый новый термистор все равно надо было бы калибровать. В общем, решил немного считирить, и использовал готовый термодатчик со всеми компенсациями и линейным выходом.
MaFrance351
04.12.2023 08:49Кстати, вот что за проект я упомянул:
https://radiokot.ru/circuit/analog/home/44/
Таки подсказали чуть выше ссылку.
1CHer
04.12.2023 08:49-5Всё таки я против кликбейтной части заголовка "без микроконтроллера". Тут уже используются логические элементы. Можно сказать заново изобретён микроконтроллер. Вот когда будут простые элементы (что кстати так же элементарно) тогда и можно такой заголовок.
OldFashionedEngineer Автор
04.12.2023 08:49+5Еще раз прочитал заголовок статьи, написано: "... на жесткой логике". Мне казалось, что это достаточно полно характеризует действительное положение дел.
Схема не содержит сложных компонентов, в основном это операционные усилители и преимущественно цифровые микросхемы из стандартного набора логики. И схема должна быть не только простой, в данном случае она должна нравиться... хотя бы ее автору.
1CHer
04.12.2023 08:49-4Ну немного устал и не так выразился, у меня тема + часть статьи: "без применения микроконтроллеров и программирования". По сути своей МК с жёстко заданной программой. Да и принцип всей железки на булевой алгебре, по сути своей программой и является, просто в непривычном виде. Тут всё можно выразить в виде процедуры, цикла, условий, переменных и проч. Я не говорю что идея плохая или статья плохая. Мне просто кажется что сейчас это ну проще и легче с помощью МК. Разве что для школьников начальной школы будет наглядный пример. Сам с подобного начинал. Но ради интереса возможно ли аналогичный прибор но с минимальными логическими МК, просто на транзисторах? Вот думаю это было бы искусство оптимизации конечного автомата-электронной схемы!
OldFashionedEngineer Автор
04.12.2023 08:49+1Рыбу проще в магазине покупать, а кто-то со снастями на берегу сидит. У меня на работе хватает головоломок. Посмотрите мои предыдущие посты, в статье ссылки есть. Именно этот формат - моё хобби.
jar_ohty
04.12.2023 08:49Классическая линейная светодиодная шкала на последовательно соединенных транзисторах (на N светодиодов нужно N транзисторов и 2N резисторов), ну и схема, преобразующая выходной сигнал датчика температуры в постоянное напряжение в диапазоне от 0 до напряжения питания шкалы. Проще не придумаешь. Недостатки -- что сегменты загораются и гаснут плавно, и что напряжение питания довольно велико: ведь его должно хватить для работы каждого из последовательно соединенных транзисторных ключей. 12 вольт хватает примерно на 6-8 сегментов шкалы, соответственно, если нужно индицировать температуру от 10 до 35 градусов через градус, потребуется напряжение питания вольт 50.
OldFashionedEngineer Автор
04.12.2023 08:49И ещё такую схему будет сложнее синхронизировать с цифровой индикацией. Плюс сюда повышающий преобразователь нужен. А ещё компоненты с более высоким рабочим напряжением... я за простоту в схемотехнике.
Maxbor23
04.12.2023 08:49Удивительное совпадение. Как раз сегодня видел эту схему и печатку в демо экзамене по электронике
OldFashionedEngineer Автор
04.12.2023 08:49+2Ни каких совпадений. Я с 2017 по 2022 год был разработчиком заданий демонстрационного экзамена по электронике. Просто писать про экзамен не вижу интереса. А схемы получились прикольные.
Gryphon88
04.12.2023 08:49Много валилось? Волшебная комбинация сдвиговый регистр+595 дает кучу возможностей, но если про нее просто читать (даже если весь год), не беря паяльника в руки, то что-то сложнее гирлянды сходу изобразить маловероятно.
Jek_Sen
04.12.2023 08:49Мне наоборот первая версия больше понравилась, практичность крюка в новой версии сомнительная) Лучше бы смотрелось, если микросхемы были расположены на одной стороне с индикаторами, не создавалось бы впечатление, что плата только на перемычках собрана.
Ego78
04.12.2023 08:49Вспомнил ералаш, когда к часам прилагались два чемодана батареек. Парам пара пам ))))
av-86
04.12.2023 08:49А почему нет комментариев по поводу причины неприятия коллегами первого варианта схемы? Осмелюсь предположить, дело в не очень хорошем отношении длины к ширине?
viordash
для следующей версии :) добавьте еще пару светодиодов, чтобы отображать тренд температуры, который иногда более полезен чем статика
OldFashionedEngineer Автор
Я это делаю по принципу "один раз слепил и забыл". Не очень хочется один проект несколько раз мусолить. Всегда есть новые идеи, которые хочется реализовать, а для этого нужно время.
viordash
согласен с вами полностью, мое предложение для последователей.
Этот форм-фактор навел на мысль делать измеритель шума для опен-спэйсов, с батареечным питанием. Развесить девайс в различных местах офиса, глядишь и громких разговоров станет меньше.
johnfound
Измерение температуры больного никак не улучшает его состояние.
viordash
большой красный светодиод, который зажигается при превышении порога громкости, мне кажется будет иметь действие
Gryphon88
Тогда уж запускать "хомяка-повторюшку": собственная речь, повторенная со сдвигом примерно в 0,1с, дает очень нетипичный стимул и человек по итогу затыкается.
OldFashionedEngineer Автор
Вот кстати сделать измеритель шума в таком же формате, это идея интересная, как я сам не догадался!?
Rayven2024
еще полезнее (/me смотрит что творится под ногами за окном) если отдельно будет еще один светодиод, показывающий переход с + на - в течении последних суток....
OldFashionedEngineer Автор
Тогда ещё и барометр прийдется добавлять. Я обычно на телефоне смотрю краткосрочный прогноз перед тем, как на улицу выходить. А этот девайс сделан больше ради процесса его сборки, чем в практических целях.