реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> SHT21 (Модуль GY-21) на ATMega8, Точностть показаний
hd44780
сообщение Nov 21 2016, 11:14
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Привет всем.

Вот обзавёлся этим датчиком и решил заменить им старый добрый проверенный HIH-3610 (аналоговый датчик влажности с выходом на АЦП), но сдохший к великому сожалению crying.gif .

В конечный прибор пока не вставлял, в целях тестирования/отладки подключил его к отдельной меге8@16MHz. Результаты для простоты гоню на USART и далее в комп.
На базе примеров из интернета написал функции для работы с этим датчиком. Использую ногодрыг, т.к. в конечном устройстве на меге8 ноги аппаратного i2C заблокированы АЦП (там ещё MPX6115A висит). Это не STM32 rolleyes.gif ...

Датчик запустился в общем-то без проблем, данные с него приходят исправно, но, на мой взгляд, немного странные. Например:
Цитата
Temp=24.54; Hum=28.76
Temp=24.55; Hum=28.58
Temp=24.55; Hum=28.45
Temp=24.54; Hum=28.30
Temp=24.53; Hum=28.18
Temp=24.51; Hum=28.15
Temp=24.51; Hum=28.12
Temp=24.51; Hum=28.03
Temp=24.50; Hum=27.91
Temp=24.51; Hum=27.87
Temp=24.54; Hum=27.97
Temp=24.56; Hum=27.97
Temp=24.57; Hum=27.91
Temp=24.57; Hum=28.15
Temp=24.58; Hum=28.18

Замеры раз в секунду. В 30 см от него лежит DS18B20, показывает ~22 градуса.
Если долго держать включённым, температура медленнно но повышается. это нормально? В целом вопрос теоретический, у меня прибор сам вырубается через 10 сек после включения.

А вот влажность какая-то пониженная. Эталона у меня, правда, нет, но когда HIH-3610 был в норме, он 30% даже в жару не показывал...

И ещё вопрос. По стандарту I2C вначале положено передавать адрес девайса. В некоторых примерах под ардуину я видел передачу этого адреса. Но когда я это делаю, оно где-то виснет (не разбирался где).
Но у меня нет доверия к ардуино-примерам, т.к. там значения из датчика везде делят на 65535, хотя по доке на SHT21 там разрешения 16 бит нигде нет, для температуры максимум 14 бит, для влажности - 12.

Я также не припаял pull-up резюки к ногам. Для этого модуля они вроде не нужны. Или я ошибаюсь?

Кто-то может помочь?
Код для CvAVR приложил. Сам датчик полностью адекватный - кладу палец - температура повышается (кстати и влажность тоже sm.gif ), открываю окно (идёт холодный воздух) - понижается.
подышу на него - влажность увеличивается. Снимаю эти воздействия - показания возвращаются обратно.

Спасибо.
Прикрепленные файлы
Прикрепленный файл  Mega8_SHT11.7z ( 7.47 килобайт ) Кол-во скачиваний: 24
 


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Obam
сообщение Nov 21 2016, 13:25
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Вот чуток инфы с we.easyelectronix.ru
Прикрепленный файл  SHTxx_Design_Guide.zip ( 1.69 мегабайт ) Кол-во скачиваний: 88

лишней думаю не будет.


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
ivn
сообщение Nov 21 2016, 13:34
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 18-04-05
Пользователь №: 4 250



Я нe работал с SHT11, но когда-то изучал.

Цитата
И ещё вопрос. По стандарту I2C вначале положено передавать адрес девайса. В некоторых примерах под ардуину я видел передачу этого адреса.
Цитата из DataSheet-а:
"The sensor cannot be addressed by I2C protocol; however, the sensor can be connected to an I2C bus without interference with other devices connected to the bus. The controller must switch between the protocols."

Цитата
Я также не припаял pull-up резюки к ногам.
На коротком расстоянии можно пользоваться внутреннюю подтяжку на линии потра АВР, но надеяться на неё не стоит, и лучше подтянуть резистром в 10КОм.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 21 2016, 14:39
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Цитата(Obam @ Nov 21 2016, 16:25) *
Вот чуток инфы с we.easyelectronix.ru
Прикрепленный файл  SHTxx_Design_Guide.zip ( 1.69 мегабайт ) Кол-во скачиваний: 88

лишней думаю не будет.

Да, спасибо. я видел кое-где упоминания этой доки, но все ссылки были битые sad.gif

Цитата(ivn @ Nov 21 2016, 16:34) *
На коротком расстоянии можно пользоваться внутреннюю подтяжку на линии потра АВР, но надеяться на неё не стоит, и лучше подтянуть резистром в 10КОм.


Резюки припаяю ... хз. У меня расстояние между датчиком и процом максимум 5 см (если мерять по длине проводка).


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
amiller
сообщение Nov 21 2016, 16:41
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 176
Регистрация: 20-02-14
Из: Томск
Пользователь №: 80 612



В документации на SHT10 (SHT11) есть указания по дизайну платы и по ограничениям на частоту опросов, чтобы свести к минимуму саморазогрев девайса.
Удивительно, что Вам удалось без документации запустить обмен. Там в общем то не совсем I2C.
Ещё там есть CRC, которую желательно проверять.
Да и процедуры сброса интерфейса на стороне SHT надо реализовать. В условиях помех зависание по шине обмена - вовсе не редкость.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 21 2016, 17:05
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Дико извиняюсь, датчик SHT21 - http://www.ebay.com/itm/112053626741?_trks...K%3AMEBIDX%3AIT
Дизайн платы - китайский biggrin.gif и пуллапы 10 кил там уже есть. Поэтому этот вопрос отпадает.

Про ограничения на частоту опроса я в курсе, делаю раз секунду (или 2 ) - и так и так делал.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
RabidRabbit
сообщение Nov 27 2016, 17:01
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Цитата(hd44780 @ Nov 21 2016, 14:14) *
Но у меня нет доверия к ардуино-примерам, т.к. там значения из датчика везде делят на 65535, хотя по доке на SHT21 там разрешения 16 бит нигде нет, для температуры максимум 14 бит, для влажности - 12.

ну если ардуинам не верите, то даташит Вы читали? sm.gif
там пишут, что датчик отдаёт данные всегда в 16-битном формате, только, к примеру, для 12-битного разрешения младшие 4 бита не считаются (и лучше их после приёма принудительно сбросить, так бит 1 указывает на тип данных 0 - температура, 1 - влажность).
и формула из даташита H = -6 + 125*<16-bits_data>/65536 немного не совпадает с тем, что у Вас в исходниках: return -6.0F + 125.0F*(float)hum_raw/4096.0F;
Go to the top of the page
 
+Quote Post
M_Andrey
сообщение Nov 27 2016, 17:41
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 158
Регистрация: 15-10-07
Из: Й-Ола
Пользователь №: 31 376



Цитата(hd44780 @ Nov 21 2016, 14:14) *
Датчик запустился в общем-то без проблем, данные с него приходят исправно, но, на мой взгляд, немного странные.

Если данные более-менее адекватные, значит с ПО все в порядке, а далее начинается "магия". Любой датчик температуры (влажности) показывает температуру (влажность) самого себя и уже ваша проблема заставить его показывать температуру (влажность) среды, которую вы хотите sm.gif.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 28 2016, 12:49
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Цитата(RabidRabbit @ Nov 27 2016, 20:01) *
ну если ардуинам не верите, то даташит Вы читали? sm.gif
там пишут, что датчик отдаёт данные всегда в 16-битном формате, только, к примеру, для 12-битного разрешения младшие 4 бита не считаются (и лучше их после приёма принудительно сбросить, так бит 1 указывает на тип данных 0 - температура, 1 - влажность).
и формула из даташита H = -6 + 125*<16-bits_data>/65536 немного не совпадает с тем, что у Вас в исходниках: return -6.0F + 125.0F*(float)hum_raw/4096.0F;

ну ДШ я читал sm.gif Но там тоже, извините, лажа.
В разделе 6, в формулах (!) указано 16 бит, в разделе 5.6 - 12 и 14 бит, в разделе 9, самая последняя страница - вообще 2^RES biggrin.gif
Я пытался писать формулы из расчёта RES=16, получил температуру типа -86 градусов в комнате, и такую же ахинейскую влажность. Кстати RES=16 -- брал из ардуины. интересно, как оно там работает?
Когда вписал 12 и 14 -значения стали более-менее правдоподобные.
А из датчика я всегда 2 байта забираю.

M_Andrey, а как же рассказы про заводскую калибровку? Все врут, все врут ...


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
M_Andrey
сообщение Nov 28 2016, 16:08
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 158
Регистрация: 15-10-07
Из: Й-Ола
Пользователь №: 31 376



А при чем тут калибровка. Может у вас датчик что-то греет.
Цитата(hd44780 @ Nov 21 2016, 14:14) *
Замеры раз в секунду. В 30 см от него лежит DS18B20, показывает ~22 градуса.
Если долго держать включённым, температура медленнно но повышается. это нормально?
А вот влажность какая-то пониженная.

Может сама схема, а может горячий воздух из ноута, например sm.gif.
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 29 2016, 07:21
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



ну я ж не первый раз делаю такие схемы sm.gif
Китайская платка с датчиком в воздухе, где-то в 1-1.5 см от платы. Воткнута в разъём, который собственно и задаёт эту высоту. Сам проц вообще в стороне от него.
Могу фотку скинуть sm.gif

ЗЫ
А ноута у меня вообще нет biggrin.gif


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
M_Andrey
сообщение Nov 29 2016, 12:09
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 158
Регистрация: 15-10-07
Из: Й-Ола
Пользователь №: 31 376



Кстати у SHT21 есть встроенный подогрев чипа, у вас он не включен случайно?
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 29 2016, 14:25
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Ну я его не включал, он мне 300 лет не нужен :D . Гляну. выключу на всякий случай.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
hd44780
сообщение Nov 29 2016, 18:31
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Прочитал конфиг-регистр: 3Ah = 00111010 - бит 2 = 0 - грелка выключена.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
enclis_
сообщение Dec 14 2016, 14:25
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 119
Регистрация: 21-09-09
Из: Москва
Пользователь №: 52 501



Цитата
А вот влажность какая-то пониженная. Эталона у меня, правда, нет, но когда HIH-3610 был в норме, он 30% даже в жару не показывал...

Зимой в помещениях с отоплением влажность всегда ниже чем это бывает в теплое время года. Вам ещё повезло, что целых 28-29%. У меня на работе всего 15-17% (на улице -10°C) в лучше случае, если верить AM2302. Могу скинуть свои логи, на которых хорошо видно как проседает влажность, когда кто-то запускает воздух с улицы в комнату, даже после того как температура восстановится до номинальной.

Цитата
Если долго держать включённым, температура медленнно но повышается. это нормально?

В каком диапазоне меняется температура? Даже если у вас датчик находится внутри изолированной термокамеры - температура может спокойно плавать в небольшом диапазоне. Ну и конечно - может быть саморазогрев чипа .
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 03:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.0283 секунд с 7
ELECTRONIX ©2004-2016