Можно купить цифровой датчик за несколько сотен рублей.
Подключить его к контроллеру.
И получить на экране 23,47 °C.
В первом материале мы остановились на этом месте. Два знака после запятой выглядят убедительно. Они ещё ничего не говорят о температуре воздуха. Как читать эту цифру — в тексте «23,47 °C: что на самом деле показывает экран».
В дорожной карте мы попросили ничего не заказывать, пока нет требований и списка. Требования к первому измерению зафиксированы. Этот текст и есть список.
Он будет пополняться. Новая закупка появляется здесь, когда для неё уже есть вопрос. Посылки идут две-три недели, поэтому следующую таблицу отправляем в заказ раньше, чем закончится текущий опыт. Сами опыты при этом не меняются местами: солнце нельзя мерить датчиком, который ещё не прошёл ноль и соль.
Солнечной панели, радио и аккумулятора полевого узла в списке нет. До них очередь дойдёт отдельными строками, не отдельной статьёй.
Зачем ферме эта цифра
Первый узел проекта измеряет температуру и влажность воздуха. График сам по себе никому не нужен. Цифра нужна там, где по ней принимают решение.
Ночью смотрят, есть ли риск заморозка. Для этого надо отличить воздух около нуля от воздуха около +2 °C и заметить, что температура падает.
Днём смотрят, можно ли выходить на обработку. Здесь полоса шире: несколько градусов и около десятка процентов влажности.
Позже по тем же двум величинам считают, сколько водяного пара не хватает воздуху до насыщения. Это дефицит давления пара. Считать его в первом опыте рано. Если датчик уже сейчас врёт на несколько процентов влажности, будущий расчёт будет аккуратным и пустым.
При 25 °C и 60 % относительной влажности дефицит около 1,3 кПа. Ошибка в 3 % влажности сдвигает его примерно на 0,1 кПа. Три процента — уже не косметика. И это ещё та область, где нормальный датчик влажности способен держать слово.
Отсюда планка, под которую мы вообще что-то покупаем.
Температура: ±0,3 °C в диапазоне от −10 до +40 °C.
Между 0 °C и +2 °C всего два градуса. Если сам сенсор гуляет на градус, следующий опыт — с экраном от солнца — прочитать не получится. Мы не поймём, греется корпус или врёт датчик.
Влажность: ±3 % в диапазоне от 10 до 90 % при 15…30 °C.
Выше 95 % процент перестаёт быть решением. Ночью и в теплице датчик доходит до насыщения. Там нам нужен признак «около росы», а не цифра, похожая на точность.
После конденсата датчик должен вернуться в те же ±3 %.
Роса, которая навсегда сдвинула показание, портит следующий день. Датчик при этом может выглядеть живым: он по-прежнему выдаёт проценты.
Зимой сенсор на улице должен переживать −40 °C. Иначе узел для хозяйства в средней полосе не имеет смысла. На столе этой зимой мы такую точку не ставим. Ледяная баня и комната отвечают на другой вопрос: способны ли мы вообще увидеть планку ±0,3 °C.
Датчик, у которого в паспорте уже написано ±0,5 °C, эту планку не проходит до включения. Показание 23,47 °C означает только то, что в программе нашлось место для сотых.
Четыре датчика на столе ещё не измерение
Если положить рядом четыре исправных модуля, они легко покажут 22,9 °C, 23,3 °C, 23,7 °C и 24,1 °C.
Мы узнаем, что они не согласны друг с другом.
Мы не узнаем, какая температура у воздуха.
Для этого нужна опора вне сравниваемой партии и, лучше, другого устройства. Иначе опыт проверяет, насколько датчики похожи, и выдаёт это за проверку точности.
По температуре у стенда две такие опоры. Они про разное.
Первая — ледяная каша из чистой воды. Таяние льда при обычном давлении держит 0,00 °C. Эта точка не зависит от того, что написано в паспорте сенсора. Во всём опыте она одна такая: абсолютная.
Вторая — термометр сопротивления Pt100. Он измеряет, как с температурой меняется сопротивление платиновой проволоки. SHT, BME и AHT измеряют другое: ёмкость полимерной плёнки и температуру собственного кристалла. Общая ошибка этой семьи на платиновом термометре не спрячется.
Берём Pt100 класса A и обязательно в четырёхпроводном включении.
Класс B при нуле уже имеет допуск около ±0,3 °C, а в комнате ещё шире. Таким термометром нельзя судить опыт, у которого вся планка равна ±0,3 °C. Класс A при 0 °C укладывается в ±0,15 °C, при 25 °C — примерно в ±0,20 °C. Этого хватает, чтобы увидеть промах на полградуса и на градус.
Этого не хватает, чтобы присудить победу за лишнюю десятую. Между SHT40 и SHT45 стенд такой разницы по температуре не разглядит. Мы не будем писать, что разглядел.
Четыре провода нужны по той же причине. В двухпроводном модуле сопротивление кабеля складывается с сопротивлением датчика. На длине в пару десятков сантиметров это те же десятые градуса, ради которых затеян опыт.
По влажности опорой служит закрытая банка с насыщенным раствором соли. Над таким раствором воздух сам приходит к известной влажности. Её берём из таблиц Льюиса Гринспена 1977 года — для той температуры, которую измерили в банке, а не для круглого «75 %».
При 25 °C это примерно 32,8 % над хлоридом магния, 75,3 % над хлоридом натрия и 97,3 % над сульфатом калия. Неопределённость самих точек — десятые доли процента, у сульфата калия около половины процента. Для планки ±3 % этого достаточно. Достаточно, если на дне ещё лежит нерастворившаяся соль, сенсор висит в воздухе и температура банки записана.
Пищевая соль из кухни сюда не подходит. В неё добавляют вещества против слёживания, и равновесие уже не то, что в таблице. Нужны реактивы не хуже квалификации ЧДА: хлорид магния, хлорид натрия и сульфат калия.
SHT45 в этом наборе — кандидат с жёстким паспортом, а не истина. Сверять по нему SHT40 значит сравнивать одну технологию с самой собой.
Как устроен опыт
Опыт называется FVZ-EXP-001. Вопрос у него один.
Какие из купленных экземпляров в спокойном воздухе укладываются в ±0,3 °C и ±3 % влажности относительно опоры, и что с ними делает роса.
Стенд — стол, ноутбук и провода. Контроллер ничего не решает. Он пишет строки. Сенсоры отнесём от платы на 20–30 сантиметров: ESP32 греется, и это тепло легко принять за температуру воздуха.
Каждый модуль подписываем до того, как включили питание. SHT40-A, SHT40-B, BME280-A. Через месяц в файле не должно остаться «сенсора 2».
В строке записи — время, имя опыта, модель, экземпляр, его температура и влажность, температура опоры и короткая заметка. На спокойных участках пишем раз в десять секунд. После запотевания — раз в секунду. В заметку попадает всё, что сдвинуло воздух: сквозняк, солнце на банку, открытая крышка, рука.
Ноль
Лёд замораживаем из дистиллированной воды. Крошим его в термос и добавляем немного той же воды, чтобы вышла каша. Сенсор стоит в этой каше. Не на дне и не в слое чистой воды у поверхности.
Ждём, пока показание перестанет ползти, и записываем смещение от нуля.
Водопроводная вода эту точку портит. Растворённые соли сдвигают температуру таяния, и мы измерим воду, а не датчик. Поэтому в списке покупок дистиллированная вода, и лёд тоже из неё. Поэтому термос, а не стакан на столе: в стакане каша расслаивается раньше, чем датчик успокоится.
Этой точкой проверяем и кандидатов, и сам Pt100. Если платиновый термометр промахнётся по нулю, комнатному сравнению верить будет нельзя. Это тоже результат, и его нужно увидеть до того, как мы потратим сутки на банки.
Одна комната
Дальше все кандидаты и Pt100 проводят три часа в одном объёме. Без солнца, вдали от батареи и блока питания. Первые пятнадцать минут не считаем: датчики ещё приходят в себя после рук и другого воздуха.
Смотрим, насколько каждый ушёл от Pt100 и насколько разошлись экземпляры одной модели.
Если три SHT40 разъехались между собой сильнее, чем на 0,3 °C, эта партия ещё не кандидат в узел. Паспорт при этом может быть безупречным. Паспорт описывает чип на заводе. Мы покупаем модуль, который приехал в конверте.
Три банки
На каждую соль — своя банка на 0,5–1 литр с плотной крышкой. На дне должны остаться кристаллы. Сенсор висит над раствором на полке или хомуте. Капля на корпусе превращает опыт в измерение мокрой платы.
Рядом в той же банке — Pt100. Равновесная влажность этих солей от температуры зависит слабо, на десятые доли процента за градус. Градус ошибки в банке меньше портит опыт, чем раствор, в котором соли уже не осталось. Всё равно температуру пишем. В протокол попадёт табличное значение при этой температуре, а не номинал с этикетки.
Точку держим, пока показание не встанет. Ориентир — двенадцать часов. Если кривая ещё ползёт, ждём дальше. Влажность в банке устанавливается медленно, и «подождали час» здесь обычно означает, что измерили переходный процесс.
Порядок один и тот же для каждого экземпляра. Сначала хлорид натрия, около 75 %. Потом хлорид магния, около 33 %. Последним сульфат калия, около 97 %.
Последняя точка специально близка к насыщению. С неё нельзя начинать. Сенсор, который только что побывал у 97 %, ещё помнит эту влагу и утащит за собой среднюю точку. Как раз это память мы хотим поймать отдельным шагом, а не вперемешку с калибровкой.
В банку ставим один сенсор или два. Вся связка сразу греет маленький объём. Пучок проводов в крышке ещё и выпускает пар наружу. Тогда банка молча измеряет комнату.
Роса
Экземпляр, который уже прошёл все три соли, охлаждаем в закрытом пакете в холодильнике и вносим в комнату. Поверхность должна запотеть.
Пишем раз в секунду, пока влажность не вернётся к тому комнатному значению, которое этот же экземпляр показал раньше.
Нужны две вещи: сколько времени занял возврат и остался ли сдвиг. Экземпляр, который после росы уехал больше чем на 3 % и не вернулся, для поля не подходит. Даже если в банках он выглядел отлично. На хозяйстве ночь с росой случается чаще, чем аккуратная банка на столе.
Кого кладём на стол
Мы не ищем лучший датчик на рынке. Мы покупаем ответы на вопросы, которые иначе останутся впечатлениями с форума.
SHT40, три модуля. Основной претендент на будущий узел. У Sensirion в паспорте типично ±0,2 °C и ±1,8 % влажности. Худшая граница по влажности доходит до ±3,5 % — это уже край нашей планки, не середина. Чип рассчитан на мороз до −40 °C и на работу, когда на нём выпадает роса. Есть и встроенный подогрев, которым производитель предлагает сушить сенсор после конденсата. Пригодится ли он вживую, стенд как раз и покажет.
Три штуки нужны потому, что один модуль отвечает только на вопрос «он сегодня включился». Три показывают, похожи ли экземпляры друг на друга. Заодно это страховка от платы, на которой нарисован SHT40, а внутри стоит что-то другое. Такое на рынке модулей встречается.
SHT45, два модуля. Та же семья, паспорт жёстче: типично ±0,1 °C и ±1,0 % влажности. По температуре наш Pt100 такую разницу не докажет, об этом уже сказано. По влажности точки Гринспена точнее, чем зазор между паспортами, так что шанс увидеть разницу есть. Если внутри нашей планки SHT45 не лучше SHT40, переплачивать за него нет причины. Это и есть вопрос, ради которого мы его покупаем.
BME280, два модуля. Его чаще всего ставят в самодельные метеостанции, и читатели будут сравнивать нас с ним. По влажности Bosch указывает ±3 % в середине диапазона. Это ровно наша планка, без запаса. Температуру чип измеряет у себя на кристалле. В даташите прямо написано, что она зависит от нагрева платы и саморазогрева и обычно выше окружающего воздуха. Мы берём BME280, чтобы измерить этот сдвиг на своём столе. Вычёркивать популярный модуль по чужим рассказам рано.
AHT20, два модуля. Дешёвая полка, которую уже покупают. Паспорт выглядит близко к делу: около ±0,3 °C и ±2 % влажности. Что остаётся от этих цифр у модулей из конверта, мы не знаем, пока не запишем свои строки. Два экземпляра дадут первый ответ. Повторять чужие отзывы до этого незачем.
DS18B20, три зонда. Только температура, другая шина, паспорт ±0,5 °C в диапазоне от −10 до +85 °C. В нашу планку он не входит уже на бумаге. Он в списке потому, что воздухом его меряют очень часто, и потому что тот же зонд позже понадобится для температуры почвы. Опыт покажет, чем приходится платить за привычный выбор. Ждать, что он обойдёт SHT40 по точности, мы не будем.
Pt100 класса A с преобразователем MAX31865. Это опора, не участник конкурса. Преобразователь нужен, чтобы сопротивление стало числом в том же файле, что и остальные датчики. Ручной мультиметр раз в час для двенадцатичасовой банки не годится: мы пропустим ход кривой.
DHT22 в список не берём. По паспорту у него ±0,5 °C, влажность он набирает медленно и помнит предыдущее значение. Место в банке ограниченное. Его отдаём датчикам, чей паспорт хотя бы обещает нашу планку, и тем, которые люди уже ставят пачками: BME280, AHT20, DS18B20.
Почему в списке мультиплексор и вторая плата
У модулей SHT на шине обычно один и тот же адрес. Два таких чипа на одних проводах не отвечают по очереди. Они мешают друг другу, и запись молча портится.
Мультиплексор TCA9548A даёт восемь отдельных шин. Пять модулей SHT занимают пять. Два AHT20 сидят на одном и том же адресе и занимают ещё две. Остаётся одна шина на два BME280. Они помещаются на неё вдвоём, только если у плат можно выбрать разные адреса. У части плат можно. У части — нет.
Поэтому в списке один мультиплексор и две платы ESP32. Первая пишет весь набор в ноутбук, если адреса сошлись. Вторая забирает лишние модули, если не сошлись, и остаётся запасом на прогон, который длится двенадцать часов. Сорванная банка из-за мёртвой платы стоит дороже второй платы.
DS18B20 и Pt100 этот мультиплексор не занимают. Зонды живут на своей шине, термометр сопротивления подключается через MAX31865 отдельно.
Список покупок
Таблицы ниже — ведомость. Обоснование каждой строки написано выше и в разделах опытов. Новая закупка добавляется сюда же.
Почта занимает две-три недели. Если заказывать экран в тот день, когда закончились банки с солью, стенд простоит пустой, пока едет посылка. Поэтому календарь такой.
| Когда | Что уходит в заказ | Что в это время делаем |
|---|---|---|
| Сейчас, почтой | Первая, вторая и третья закупки целиком | Ждём одну волну, не три |
| Сейчас, в городе | Дистиллированная вода, термос, банки. Монтажную коробку, хомуты и трубку — если они есть рядом | Это не должно ехать вместе с сенсорами |
| В день, когда приехала первая посылка | Четвёртая закупка: измеритель тока | Пока идут соли и уличный опыт, прибор успеет приехать к измерению питания |
| Когда есть цифра потребления | Пятая: панель, аккумулятор и заряд | Размер без измерения — угадывание |
| Когда выбраны сенсор и экран | Радио и корпус узла | Отдельная очередь, не эта ведомость |
Соль квалификации ЧДА, если её нет в городе, едет почтой вместе с сенсорами.
Первая закупка. Стенд
| Что | Какая деталь | Зачем она здесь |
|---|---|---|
| Основной кандидат | SHT40, 3 модуля | Претендент на узел. Три штуки, чтобы увидеть разброс |
| Более точный паспорт | SHT45, 2 модуля | Есть ли смысл доплачивать внутри нашей планки |
| Привычный модуль | BME280, 2 модуля | Свой замер саморазогрева, не чужой отзыв |
| Дешёвая полка | AHT20, 2 модуля | С ней нас будут сравнивать |
| Привычный термометр | DS18B20, 3 зонда | Цена выбора, который уже стоит на многих столах |
| Опора по температуре | Pt100 класса A, 4 провода, и MAX31865 | Другой физический принцип в том же файле |
| Развести адреса | TCA9548A, 1 штука | Иначе одинаковые SHT нельзя писать одновременно |
| Запись | ESP32, 2 платы | Лог в ноутбук и запас, если адресов не хватит |
| Чтобы не греть датчик | Макетная плата и провода | Унести сенсоры от контроллера на 20–30 см |
| Три точки влажности | Банки 0,5–1 л с крышками, 3 штуки, полка или хомут | Сенсор в воздухе над раствором |
| Сами точки | MgCl2·6H2O, NaCl и K2SO4, не хуже ЧДА | Таблица Гринспена, а не соль из солонки |
| Ноль и растворы | Дистиллированная вода, 5 л, и термос | Ледяная каша и банки. Лёд тоже из этой воды |
Экран, коробка и вентилятор в первой таблице намеренно отсутствуют: они не отвечают, врёт ли сенсор. Они стоят ниже, отдельными закупками. Заказать их можно сразу. Включать солнце раньше комнатного стенда нельзя: иначе в одной цифре снова смешаются ошибка сенсора и ошибка установки.
Второй и третий опыт сенсор не выбирают. Им хватит трёх SHT40 из первой закупки.
Вторая закупка. Экран и коробка
Солнце не покупается. В заказ уходит то, во что сажаем уже проверенный сенсор, когда выносим его на свет.
Это не будка Стивенсона. Будка — белый жалюзийный ящик метеостанции, внутри него место для стеклянных термометров. Нам нужен маленький тарельчатый экран: стопка белых тарелок, между которыми проходит воздух, а сенсор висит в середине. Задача та же — не пустить солнце и дождь к датчику. Конструкция другая, и заказывать надо её.
Вопрос один: насколько установка добавляет к ошибке сенсора, который уже проверен в комнате.
Три одинаковых SHT40 ставим на одну высоту, на солнце, вдали от стены.
Один остаётся в тени навеса. Это не абсолютный ноль, но по нему видно добавку солнца, а не разницу чипов.
Второй кладём в закрытую монтажную коробку. Так обычно и собирают самоделку: датчик внутри, крышка защёлкнута, «герметично».
Третий сажаем в пассивный экран из тарелок. Рядом, тем же днём, стоит такой же экран, собранный своими руками из белых тарелок. Покупной и самодельный должны спорить друг с другом, а не с памятью.
| Что | Какая деталь | Зачем она здесь |
|---|---|---|
| Плохая установка | Монтажная коробка с крышкой, около 100×100 мм, 1 штука | Датчик внутри, как в типичной сборке |
| Готовый экран | Тарельчатый пассивный экран без вентилятора, 1 штука | С чем сравнить самоделку |
| Свой экран | Белые тарелки или крышки одного диаметра, 6–8 штук, винты и втулки | Собрать тот же принцип руками |
| Одна высота | Хомуты и стойка: труба, шпилька или штатив | Три точки не затеняют друг друга |
| Длина | Провод, 3 отрезка по 1–2 м | Сенсор далеко от греющейся платы |
Третья закупка. Поток воздуха
Пассивный экран в полный штиль всё равно греется. Маленький вентилятор это лечит или сам становится нагревателем. Это следующий вопрос, и ответ на него не зависит от того, какой чип выиграет первый опыт.
Мотор не ставим вплотную к сенсору и не питаем от той же платы, которая пишет лог. Иначе мы снова измерим блок питания.
| Что | Какая деталь | Зачем она здесь |
|---|---|---|
| Обдув | Вентилятор 5 В, 40 мм, 2 штуки | Один в экран, второй запасной |
| Питание вентилятора | Отдельный USB-кабель, не от платы логгера | Ток вентилятора не должен греть измерение |
| Зазор | Короткий отрезок трубки | Мотор дует на сенсор, но не лежит на нём |
Четвёртая закупка. Сколько это ест
Её не отправляем сегодня. В день, когда приехала первая посылка, заказываем измеритель. Пока идут банки и уличный опыт, две-три недели как раз проходят. Панель и аккумулятор в эту закупку не входят: без измеренных миллиампер их размер не из чего выбрать.
| Что | Какая деталь | Зачем она здесь |
|---|---|---|
| Ток | USB-тестер или модуль INA219, 1 штука | Записать, сколько миллиампер берёт узел в сне и в момент измерения |
Пятая закупка — панель, аккумулятор и плата заряда — появится в этой ведомости, когда цифра тока будет. Радио и корпус узла встанут следом, после выбора сенсора и экрана.
Климатическую камеру и профессиональный гигрометр мы тоже не закладываем. Камера сделала бы те же точки быстрее. Банки делают их повторяемыми на другой кухне, без лаборатории. Нам это важно: один и тот же опыт должны суметь пройти несколько хозяйств.
Если поверенный термометр, гигрометр или метеостанция уже стоят, это опора сильнее нашей банки. Такой прибор полезнее ещё одного набора модулей. Напишите о нём в анкете.
Чем кончится этот опыт
У каждого экземпляра останется четыре числа.
Смещение от нуля в ледяной каше. Смещение от Pt100 за три часа в комнате. Ошибка на трёх солях. Сдвиг после росы.
По ним выберем сенсор для узла. Паспорт до этого момента — гипотеза, не результат.
Первый опыт не выбирает экран, корпус и питание. Он не измеряет, как датчик уедет за сезон. Детали для этих вопросов добавляются в список выше по одной закупке. Если ни один сенсор не попадёт в планку, следующие строки придётся переписать: ставить на солнце будет нечего.
Если не останется, так и напишем. Следующая закупка будет другой. Для первого опыта это нормальный итог.
Кому этот список уже можно заказывать
Сейчас почтой уходят первые три таблицы. Четвёртую отправляем в день прихода первой посылки. Опыты идут по очереди: сначала лёд, комната, соли и роса, потом экран на улице, потом обдув. Один SHT40 на столе снова покажет цифру на экране. К общему опыту он ничего не добавит.
Результаты разных столов сложатся только тогда, когда совпадут модели, число экземпляров, соли, подписи и поля в файле. Форму файла и прошивку записи опубликуем до того, как имеет смысл отправлять посылки. Пока их нет, список стоит заказывать тем, кто готов собрать стенд и дождаться общей записи.
Остальным по-прежнему нечего покупать под поле. Узел для хозяйства ещё не выбран.
Рассказать про хозяйство и про приборы, которые уже стоят, можно в анкете. Туда же — если готовы позже поставить наш узел рядом со своей метеостанцией. Письмо на info@fermozavr.ru остаётся запасным путём.
Что приехало, что показал лёд и какая банка ведёт себя странно, пишем в канале «Фермозавр». Рядом с каналом есть закрытая группа для тех, кто заполнил анкету и повторяет опыты.





