Барометр и термометр своими руками
Барометр и термометр на микроконтроллере
Челпанов О. Барановский В.
По просьбам тех, кто собрал предыдущую конструкцию барометра на PIC 16F684 и датчике давления BMP180, публикуем статью (продолжение). Данное устройство позволяет отображать одновременно и температуру и давление. Для этого в конструкции был применен индикатор на базе микросхемы MAX7219 которая позволяет работать с матрицей 8Х7, применение данного индикатора позволило сократить число задействованных портов микропроцессора.
Датчик температуры применен самый распространенный — 18b20, который имеет трехвыводную конструкцию. DS18B20 (Programmable Resolution 1-Wire® Digital Thermometer). Диапазон измерения температуры составляет от -55 до +125 °C. Для диапазона от -10 до +85 °C погрешность не превышает 0,5 °C.
Схема устройства показана на рисунке 1.
Индикатор MAX7219 приобретался на Aliexpress. Но данный индикатор продается уже в готовом виде и вам остается только 5ю проводниками его подключить к запрограммированной плате.
Принципиальная схема индикатора показана на рисунке 2, внизу показано фото такого индикатора.
Внешний вид собранного устройства показан на фото ниже.
Отрицательные температуры отображаются, минус перед числом и градусы отображаются без десятых долей.
23 комментария к “Барометр и термометр своими руками”
Здравствуйте! Почему авторы не использовали термометр из BMP180?
Я повторил обе конструкции просто супер.Но не хватает в этих
девайсах самого главного ЧАСЫ. Жду следующего девайса +часы.
Хорошо бы атмосферное давление отображать с десятыми, ведь
индикатор позволяет?
зачем давлению такая точность?
С десятыми будет видно тенденцию роста или спада давления.
А так весь день почти, смотрю на одно и тоже число. Ну и
задействовать оставшийся разряд?
Можно ли вметсто pic16f674 использовать pic16f676
Здравствуйте.Вопрос-на печатной плате возле датчика BMP180 и программатора есть пустые контактные площадки.На схеме нет этих деталей Что туда ставить.Вышлите новую прошивку для этой конструкции
Авторы конструкции, вас там двое, и ни один из вас не в курсе, что висящий в воздухе (не подтянутый к «+» питания) MCLR — это антенна для помех, и не просто для помех, а для слёта прошивок?
А линии квадратной шины к «+» не должны подтягиваться резисторами, не?
И потом, зачем 14-выводный 684, если хватило бы 8-выводного 683-го?
Пишу не просто так, а по причине возникновения глюков и слёта прошивки в устройстве при повторении его моим товарищем. Кинулись — а оказалось авторы ТРИ важнейших резистора «забыли» поставить.
Здравствуйте!Собрал обе конструкции,обе рабочие,хотя термобарометр не устойчив к помехам,скорее всего разводка на плате возле кварца,слишком длинные дорожки.И,как у всех завышение показаний давления на 5-6 единиц.Хотелось попросить авторов выслать подправленную прошивку,заранее благодарен.
Привет, Игорь, у меня нет связи с авторами этих конструкций. А сами они молчат.
Перепилил код под PIC16F683 на Ассемблере для обмена данными по RS-232 (температура, давление, контрольный пример, прием/сохранение режима точности)
Отвечаю Всем и сразу: Конструкция законченная, проверена при сборке нескольких экземпляров, ни сбоев ни помех не обнаружено. Процессор использовался тот который был под руками в нужном количестве, учитывая точность BMP180 наличие десятых просто излишне, разброс по давлению минимальный 1-2мм р.ст. и он в основном из за разброса самих датчиков!!! Вы сами с чем сравнивали показания с каким эталоном? На счет помех — еще раз повторюсь — не замечено!
Есть конструкция и с часами и на точечных индикаторах и на огромных матричных. Да, добавление к предыдущему посту — внутренний терморезистор нужен для вычисления правильного давления, и он очень чуствителен к нагреву платы (КРЕНка даже при слабом нагреве завышает его показания) и не точен! поэтому установлен 18b20/
Есть такая же точно конструкция, просто два термометра, без давления.
Доброго дня а где можно увидеть проект с часами
Привет,Александр. Как закончу все, так и выложу.
Вот, именно. Только часов и не хватало! С кнопкой для пары десятков мигающих и мерцающих режимов с прочей, абсолютно не нужной хренотенью...
Планетарный полудуркизм уже и сюда влез.
Здравствуйте. Собрал, всё работает, однако термометр завышает на 3,5 градуса. Сверяю с термовлагометром «Baldr». Можно ли как то подогнать значение к реальному? Если нетрудно, вышлите, пожалуйста текст программы. В программировании не очень силён, но попытаюсь разобраться. Заранее спасибо.
К сожалению, это не моя программа, а исходный текст программы они, как всегда зажали. Я их с самого начала просил, чтобы прислали исходник, но тщетно. Так, что попробовать поставить другой датчик, но не факт, что все будет лючше. Одним словом — Китай.
В представленом виде эти проекты (этот и от Kdekaluga на Хабре) без возможности юстировки по эталону — бесполезные игрушки. В комнате +18, а показывает +21-22.Это же «две большие разницы», как говорят в Одессе. Перепробовал три датчика DS18B20 в схеме термобарометра от Челпанова и Барановского при различных условиях (разное удаление от платы, при различных температурах и напряжениях питания). Расхождение — 3-4 градуса с заводскими приборами (два ЖК — новый и старый, и спиртовой термометр — все с одинаковыми значениями). Как говорится — «плюс-минус лапоть».
На те же 3-4 градуса и 4% влажности завышает и термовлагометр с датчиком DHT22 от Kdekaluga, который, правда, выложил исходник на ассемблере, с подробным описанием. За что, конечно, спасибо. Понять бы где в программе отминусовать значения, да к температуре на табло прибавить значок «с» градусов(как в данном проекте), цены б ему не было при рекордной простоте на Attiny13.
Привет, Николай. Не ты первый возмущаешься сверточностью китайских датчтков. Поэтому по просьбе моих посетителей я когдато выкладывал схему термостата — термометр с коррекцией температуры на DS18B20. Ищи в рубрике «термометры-термостаты» DHT22 — вообще дерьмо. С ними больше дел не имею.
Привет, Админ. Просто сожалею о потраченом времени на повторение недоделаной самоделки. Не думаю, что проблема в датчиках, и тем более «неправильных» китайцах. Без допусков/погрешностей ничего не бывает. Именно это и не учли авторы. Завышены показания не только с DHT22, но и с хвалёным DS18B20. Т.е. закавыка явно в (недо)обработке данных программой. Любой измерительный прибор должен иметь возможность юстировки. Была бы возможность внесения в программу ±поправок в отображаемые значения, и вопрос решён. Или хотя бы текст программы был...
Кстати, китайцы в массовом производстве водогрейной техники используют «элементарные» датчики NTC, отличающиеся довольно высокой точностью без всякой оцифровки.
За ссылки спасибо. Будем искать.
Немного переделал плату, с питанием от телефонной зарядкиdisk.yandex.ru/d/26ielThKNCn1bg