Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Подскажите, в чем косяк с HTU21D

Вт окт 30, 2018 07:25:23

Здравствуйте,
на протеусе 8.4 моделирую работу датчика HTU21D, подключаю его к ATMEGA8. Пытаюсь считать влажность. При первом цикле считывает данные правильно, но при при последующих получается так:
если даю стоповую команду после 1-го цикла, то датчик больше ни на что не откликается
если просто пытаюсь считывать 2-й раз, то почему-то сначала считывается снова последний байт из считывавшихся при первом проходе, если делаю так,
что при 2-м проходе этот байт игнорировать - то считывается все одно, тоже самое показание, хотя на датчике влажность меняю.

Пробовал давать команду ресет - не помогает. Что-то явно не так делаю...

Посоветуйте, куда копать? :shock: ( открыл глаза по полной! )

Re: Подскажите, в чем косяк с HTU21D

Вт окт 30, 2018 07:29:11

Скорее всего, ошибка в ACK-ах при чтении данных.
Сверьтесь с pdf-ом на датчик.

Re: Подскажите, в чем косяк с HTU21D

Вт окт 30, 2018 20:13:08

я это делал через TWI контроллера, как я понял, в этом случае ACK формируется автоматически... ведь когда я задаю адрес для команды - я не формирую ACK отдельно, все идет вместе, контроллер это сам формирует.

Re: Подскажите, в чем косяк с HTU21D

Вт окт 30, 2018 20:18:43

Контроллер выполняет то что вы (или не вы) написали в программе.
Что касается ACK-ов - прочтите в pdf на датчик в каких случаях нужно отвечать ACK и в каких NACK при чтении данных с HTU21D.

Re: Подскажите, в чем косяк с HTU21D

Ср окт 31, 2018 06:16:54

У меня здесь есть статья с использованием HTU21D. В конце приведены исходники проекта. Они, правда, для другого контроллера, но понадобятся лишь 3 процедуры: Get_Temp_Humi(), Request_Conversion() и Read_Conversion(). При желании из кода можно понять какие команды засылать в датчик.

Re: Подскажите, в чем косяк с HTU21D

Ср окт 31, 2018 07:24:02

Спасибо, попробую разобраться сегодня вечером... Вчера пробовал - задаю влажность 62 - показывает - 61, а на 61 - 62... а на 63 - 64, на 64 - 65, на 65 - 64... странно ведет... при чем ошибка точно не в преобразовании результата...

Re: Подскажите, в чем косяк с HTU21D

Ср окт 31, 2018 13:04:51

99% у вас ошибка в том, что вы не закрываете сеанс связи с HTU21D. При чтении последнего байта, нужно ей выставить NACK.
На всякий случай, это не единственная микросхема, которая жёстко требует при чтении последнего байта NACK перед STOP.

Re: Подскажите, в чем косяк с HTU21D

Ср окт 31, 2018 21:38:00

Все, разобрался... добавил паузу после измерения, и все же напортачил при умножении на 125... не надо было быть таким самоуверенным, что там - все ОК... )
Всем спасибо за помощь! :beer:

Re: Подскажите, в чем косяк с HTU21D

Ср ноя 20, 2019 15:07:47

появился у меня однажды модуль с HTU21D.
заказывал на али модули ЦАП MCP4725, 3 штуки. а пришло 2 ЦАП и один модуль с HTU21D.
и недавно решил его применить в своем хозяйстве.
и вот что оказалось.
в помещении неправильно измеряет влажность - намного меньше, чем есть на самом деле.
есть у меня в хозяйстве еще советский прибор, измеряет давление, влажность и температуру.
так вот, по этому прибору влажность в комнате около 60%, а HTU21D дает 23-25%.
выношу на улицу - измеряет примерно правильно. возвращаю в квартиру - опять врет.
уже подумал, что как на улице, ему нужно движение воздуха. положил рядом с кулером, чтобы обдувало - эффект НОЛЬ.
вот что ему надо, чтобы в помещении показывал правильно влажность?
и еще оказалось, что температуру он завышает примерно на 1,5 градуса, что многократно больше допустимой погрешности по даташиту.
ну, с температурой проще, программно вычитаю 1,5 градуса.
а вот с влажностью какие-то непонятки...

Re: Подскажите, в чем косяк с HTU21D

Ср ноя 20, 2019 22:39:36

Слишком много причин для неправильных показаний и слишком мало вводных данных. Например, обычная некондиция в дешёвой китайской продукции, ошибки в программе, или подогрев сеснора на плате (поэтому может и завышение температуры). Если подогрева нет, но при неправильных показаниях температуры я-бы грешил на кошерность сенсора. Может окно сенсора запылено (это врядли, но...). А как Вы определили, что на улице правильно показывает - выносили советский прибор туда? Кстати, не знаю как для Вашего климата, но для моего 60% влажности дома в это время года много, и обычно бывает около 30-40. Попробуйте ещё включить внутренний подогрев в сенсоре и оставить так на ночь. Иногда помогает это или в печь его при 100 градусах на несколько часов для ликвидации оффсета.

Re: Подскажите, в чем косяк с HTU21D

Чт ноя 21, 2019 07:39:21

погрешность по температуре меня мало волнует. эти 1,5 градуса ошибки наблюдаются как в помещении, так и на улице, то есть, при разной температуре.
подогрев программно я не включал, а по умолчанию он отключен.
запыленности окна тоже не может быть, так как модуль хранился в пакетике с момента получения посылки.
да, я выносил советский прибор на улицу, поэтому я и сказал, что на улице датчик влажности измеряет примерно правильно.
ошибок в программе нет, там просто негде ошибиться.
советский прибор 83 года. я его не разбирал для проверки механизма. но можно предположить, что что-то мешает стрелке пройти ниже 60% по влажности.
однако, на улице стрелке ничто не помешало показывать высокую влажность.
на улице датчик показал 89%, на приборе я дождался примерно 78%. но у прибора инерционность очень большая и у меня не хватило терпения, чтобы показания прибора стабилизировались.
но вот сейчас я взял прибор, и сейчас он показывает 52%. то есть, стрелка не клинит и может перемещаться ниже 60%.

Re: Подскажите, в чем косяк с HTU21D

Чт ноя 21, 2019 10:09:46

но вот сейчас я взял прибор, и сейчас он показывает 52%. то есть, стрелка не клинит и может перемещаться ниже 60%.
Имхо - ошибка может быть не только из-за того что что там где-то "клинит" или не даёт стрелке перемещаться. Раз прибор 83-го года (пенсионер), то почти наверняка его гарантийный срок эксплуатации давно прошёл (если конечно не сняли его с чего-то военного 8) ) и никакой уверенности в правильности показаний уже быть не может - кто его знает какие там параметры его комплектующих могли выйти из допустимых диапазонов?
Тем более если есть какие-то перемещающиеся механические детали (старение материалов, окисление, изменение упругости и т.п.) и тем более - внутри закрытого корпуса. Например: вязкость смазки перемещающихся деталей могла измениться и, чтобы сдвинуть стрелку, требуется большее усилие, поэтому коэффициент соотношения влажность/угол_поворота_стрелки - стал другой. Если бы у Вас был психрометр (как у меня когда-то), то у него (имхо) меньше вероятность влияния деградации параметров от старения компонентов. Ему было бы больше доверия. Но и то....
При отсутствии других приборов, которым можно доверять, можно проверить сравнив показания прибора на улице с показаниями текущей погоды в интернете для Вашей геолокации. Можно даже эти данные усреднить, взяв с разных источников. Я свой BME280 так проверял - летом показания в квартире практически один-в-один совпадали с показаниями интернет-погоды (летом у меня почти постоянно все окна открыты). Сейчас конечно они сильно разнятся в ожидаемую сторону из-за отопления.

Re: Подскажите, в чем косяк с HTU21D

Чт ноя 21, 2019 11:04:06

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

Re: Подскажите, в чем косяк с HTU21D

Чт ноя 21, 2019 12:02:47

ну, у прибора не "глухой", закрытый, корпус. в вся задняя стенка в отверстиях. какая у него инерционность через эти отверстия, трудно сказать.
на улице я держал прибор и свой измеритель около 1 часа. и как я сказал, на улице прибор отставал от датчика. то есть, можно предположить, что механика у него барахлит...
Дело ведь не только в "инерционности".
Не знаю какая конструкция в Вашем приборе, но предположим, например, что там есть некая пружина (металлическая). Со временем она может покрыться окислами -> изменится её толщина и упругость -> её реакция на некую физическую величину, станет другой. А значит: изменится коэффициент изменение_размера_пружины/изменение_влажности станет не равным расчётному при изготовлении прибора. А значит: сколько не жди - никогда показания не дойдут до реальных.
Ну или там в конструкции есть некий волосок/нить из какого-то материала, который с изменением влажности меняет свою длину. Со временем в материале этого волоска могут происходить изменения (окисление, кристаллизация и т.п.) и его реакция на влажность может измениться.

Re: Подскажите, в чем косяк с HTU21D

Чт ноя 21, 2019 12:49:47

я вскрыл советский прибор.
да, там нить, которая изменяет от влажности свою длину. нить пластмассовая, похожа не леску.
да, есть спиралевидная пружина, видимо, из латуни, которая своими концами припаяна к неподвижным частям корпуса.
пружина натягивает нить. и на пружине укреплена стрелка.
при изменении длины нити изменяется угол поворота стрелки.
я совершенно согласен, что за столько лет свойства нити и свойства пружины могли измениться.
я провел эксперимент - положил на батарею отопления разобранный прибор и свой новый измеритель.
на батарее показания на приборе снизились до 40%. показания датчика прыгали 1-3%, то есть, практически полная сушь...
затем я разобранный прибор (чтобы снизить инерционность) и свой измеритель вынес на улицу, минут 20 назад.
сейчас сходил и посмотрел показания.
интернет дает 64% влажность. прибор установился на 56%. мой измеритель показывает 62-63% (показания скачут).
таким образом, а улице HTU21D показывает влажность примерно правильно, а старый прибор дает ошибку.
в программе я даже применил формулу из даташита по учету температурного коэффициента для влажности.
но в даташите оговорено, что формула справедлива от 0 до 80 градусов, а на улице сейчас минус 12 градусов. и тем не менее, датчик показал влажность практически совпадающую с интернетом.
но тогда, если верить уличным показаниям датчика, получается, что у меня в комнате на самом деле влажность в районе 25%, а старый прибор безбожно врет.

Re: Подскажите, в чем косяк с HTU21D

Чт ноя 21, 2019 15:26:58

получается, что у меня в комнате на самом деле влажность в районе 25%, а старый прибор безбожно врет.
если бы у Вас была влажность воздуха в комнате постоянно 60%, скорее всего, у Вас было бы много плесени и мхов :) 25-35% когда включено отопление - нормально. Ну, если специальных мер никаких не применять для увлажнения воздуха.

Re: Подскажите, в чем косяк с HTU21D

Чт ноя 21, 2019 15:31:20

Нельзя HTU21D использовать: они очень быстро деградируют, если влажность не меняется в широких пределах. Знакомый несколько штук тестировал. Меньше, чем за год, те, что находились в помещениях с постоянной влажностью, сдохли окончательно.

Re: Подскажите, в чем косяк с HTU21D

Чт ноя 21, 2019 15:51:46

но тогда, если верить уличным показаниям датчика, получается, что у меня в комнате на самом деле влажность в районе 25%, а старый прибор безбожно врет.
25% - вполне нормально при работающем отоплении. У меня примерно так же показывает и BME280 и DHT22 (20...40%). Да и инет говорит, что это - типичное значение.

Ну, если специальных мер никаких не применять для увлажнения воздуха.
Цветочков побольше посадить. Только не кактусов. :)

Добавлено after 2 minutes 2 seconds:
Меньше, чем за год, те, что находились в помещениях с постоянной влажностью, сдохли окончательно.
Видимо - с тоски. Одно и то же значение показывать - скучно. :)

Re: Подскажите, в чем косяк с HTU21D

Чт ноя 21, 2019 20:38:01

AAX писал(а):25-35% когда включено отопление - нормально.
jcxz писал(а):25% - вполне нормально при работающем отоплении.
спасибо, ребята, успокоили.
а то я до сих пор о влажности даже не интересовался, соответственно, про влажность был "ни в зуб ногой"...
я собираюсь этот измеритель поместить в погреб. а в погребе бывает большая влажность, вплоть до образования конденсата.
поэтому хочется надеяться, что этот датчик там будет показывать влажность адекватно.
за температурой в погребе я и ранее следил, термометром на основе датчика DS18B20, чтобы в сильные холода картошка не замерзла и своевременно включить подогрев в погребе. теперь решил контролировать и влажность.

Re: Подскажите, в чем косяк с HTU21D

Чт ноя 21, 2019 22:15:42

jcxz, на самом деле, товарищ довольно серьезно подошел к делу. Сравнивал кучу датчиков. В общем, дешевле, чем за ~2000 рублей датчики-гигрометры покупать смысла нет - пустая трата денег.
Ответить