Модераторы: PILOT, ManiaK, Mazzi

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать валжность? 
V
    Опции темы
Ofer
Дата 21.7.2008, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.10.2006
Где: КривбаСС

Репутация: 1
Всего: 5



Добрый день! К АЦП ATmege 8 подключен датчик влажности HIH-4000-001. Как мне вычислить влажность воздуха в процентах? В приложении архив с описаниями датчика.

Присоединённый файл ( Кол-во скачиваний: 29 )
Присоединённый файл  Datasheets.rar 328,74 Kb
PM MAIL ICQ   Вверх
xvr
Дата 21.7.2008, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(Ofer @ 21.7.2008,  10:38)
Добрый день! К АЦП ATmege 8 подключен датчик влажности HIH-4000-001. Как мне вычислить влажность воздуха в процентах? В приложении архив с описаниями датчика.

А почитать, то что приатачил?

Цитата

Vout=Vsupply(0.0062(sensor RH)+0.16)


Vout - выходное напряжение
Vsupply - напряжение питания
sensor RH - влажность (в %)

PM MAIL   Вверх
Ofer
Дата 21.7.2008, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.10.2006
Где: КривбаСС

Репутация: 1
Всего: 5



xvr, читать то я читал. Но. Чем отличаются формулы 
TrueRH = SensorRH/(1.0305+0.000044T-0.0000011T^2) T in C
TrueRH = SensorRH/(0.92537-0.0041T+0.000040T^2) T in C

Как получить Vout? Vsupply - это напряжежние +5V, которыми запитуется датчик?
PM MAIL ICQ   Вверх
Specialist
Дата 21.7.2008, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.5.2008
Где: Кривой Рог

Репутация: 1
Всего: 2



Привет.
Цитата

Как получить Vout?

Подаешь питание на датчик, и с выхода преобразовуй с помощью АЦП напряжение. В даташите есть диаграмма зависимости напряжения от влажности.
Чем эти формулы отличаются я не знаю, но я так понял, что с помощью них можно посчитать поправку влажности в зависимости от конкретной температуры.

Например TrueRH = SensorRH/(1.0305+0.000044T-0.0000011T^2) T in C
TrueRH - Действительное значение влажности.
SensorRH - Полученное значение влажности с датчика.
По идее можно поправку не считать, но тогда полученный результат будет не совсем точный. smile 
З.Ы В даташите написано, что нужно закрывать от яркого света  smile 
PM MAIL WWW ICQ Skype   Вверх
Ofer
Дата 21.7.2008, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.10.2006
Где: КривбаСС

Репутация: 1
Всего: 5



Specialist, в принципе, я это знал. Только убедится надо было. Еще только не ясно как преобразовывать с ADC в Vout. Я так думаю, что Vout = (ADC*5)/1024;  А вот за яркий свет не знал. Спасибо smile
PM MAIL ICQ   Вверх
Specialist
Дата 21.7.2008, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 12.5.2008
Где: Кривой Рог

Репутация: 1
Всего: 2



Цитата

Я так думаю, что Vout = (ADC*5)/1024

Если 10 битный АЦП то 1024 деления. И если опорное напряжение 0 и 5в то все правильно.

З.Ы Кстати че за зверь такой "валжность" ?  smile 

Это сообщение отредактировал(а) Specialist - 21.7.2008, 23:31
PM MAIL WWW ICQ Skype   Вверх
Ofer
Дата 21.7.2008, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.10.2006
Где: КривбаСС

Репутация: 1
Всего: 5



Цитата(Specialist @  21.7.2008,  23:26 Найти цитируемый пост)
Если 10 битный АЦП то 1024 деления. И если опорное напряжение 0 и 5в то все правильно.

Да. 10битный и опорное 5.


Цитата(Specialist @  21.7.2008,  23:26 Найти цитируемый пост)
З.Ы Кстати че за зверь такой "валжность" ?   

Не знаю, но в при первом расчете у меня получилась влажность в помещении 230%
PM MAIL ICQ   Вверх
cardinal
Дата 22.7.2008, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Цитата(Ofer @  21.7.2008,  20:50 Найти цитируемый пост)
Еще только не ясно как преобразовывать с ADC в Vout.

Что, куда преобразовывать? Тебе датчик выдает DC сигнал. Его ты пропускаешь через ADC и имеешь значение в твоем мк.
Цитата(Ofer @  21.7.2008,  12:05 Найти цитируемый пост)
Чем отличаются формулы 
TrueRH = SensorRH/(1.0305+0.000044T-0.0000011T^2) T in C
TrueRH = SensorRH/(0.92537-0.0041T+0.000040T^2) T in C

Прошу заметить, что в даташите есть одна формула, а ты из нее две сделал  smile 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Ofer
Дата 22.7.2008, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.10.2006
Где: КривбаСС

Репутация: 1
Всего: 5



Цитата(cardinal @  22.7.2008,  00:13 Найти цитируемый пост)
Прошу заметить, что в даташите есть одна формула, а ты из нее две сделал  smile  


Это обе формулы из Honeywell__HIH-4000-001.pdf
PM MAIL ICQ   Вверх
cardinal
Дата 22.7.2008, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Это одна формула (просто на две строки растянута)!


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
xvr
Дата 22.7.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(Ofer @ 21.7.2008,  13:05)
xvr, читать то я читал. Но. Чем отличаются формулы 
TrueRH = SensorRH/(1.0305+0.000044T-0.0000011T^2) T in C
TrueRH = SensorRH/(0.92537-0.0041T+0.000040T^2) T in C

Как получить Vout? Vsupply - это напряжежние +5V, которыми запитуется датчик?

Вообще то формул там аж 3 разных (см DOC000... datasheet):
Vout=Vsupply(0.0062(sensor RH)+0.16) - линейная (просто, но не точно)
Vout=Vsupply(0.00003(sensor RH)^2+0.0281(sensor RH)+0.820) - квадратичная (сложнее и более точно)
Vout=(0.0305+0.000044T-0.0000011T^2)(Sensor RH)+(0.9237- 0.0041T+0.000040T^2), T=Temperature in ºC - компенсация по температуре
Vsupply - напряжение питания, должно совпадать (или быть пропорциональным) опорному напряжению АЦП (при этом оно не обязанно быть супер точным)


Это сообщение отредактировал(а) xvr - 22.7.2008, 10:52
PM MAIL   Вверх
cardinal
Дата 22.7.2008, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Именно, но таких что указаны Ofer'ом нет. А эти три вроде понятны и без объяснений. Пока вообще ничего не получается я бы взял линейную и добился нормальных результатов.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Ofer
Дата 23.7.2008, 01:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.10.2006
Где: КривбаСС

Репутация: 1
Всего: 5



Итак..... как понимаю я должен использовать в программе следующие формулы

Код

 Vin = (ADC*5)/1024; //напряжение на АЦП
 SensorRH = ((Vin/5)-0.16)/0.0062;     //показание HIH
 TrueRH = SensorRH/(1.0305+0.000044T-0.0000011T^2) 


Правильно?
PM MAIL ICQ   Вверх
cardinal
Дата 23.7.2008, 02:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Цитата(Ofer @  23.7.2008,  00:31 Найти цитируемый пост)
Правильно? 

Нет.

У тебя есть одна формула (простая и не очень точная), и вторая (более точная но без учета температуры). Не надо одну в другую вставлять. Точнее не просто не надо, а это неправильно.

Первый вариант

 Vin = (ADC*5)/1024; //напряжение на АЦП
 SensorRH = ((Vin/5)-0.16)/0.0062;     //показание HIH

Второй

 Vin = (ADC*5)/1024; //напряжение на АЦП
и потом решение квадратного уравнения, Voltage output (2nd order curve fit)

Третий

 Vin = (ADC*5)/1024; //напряжение на АЦП
и потом формула Temperature compensation

Это сообщение отредактировал(а) cardinal - 23.7.2008, 03:00


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Ofer
Дата 23.7.2008, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 293
Регистрация: 15.10.2006
Где: КривбаСС

Репутация: 1
Всего: 5



Цитата(cardinal @  23.7.2008,  02:57 Найти цитируемый пост)
Третий

 Vin = (ADC*5)/1024; //напряжение на АЦП
и потом формула Temperature compensation


Но ведь для нахождения температурной компенсации необходимо знать SensorRH. А для этого его нужно найти по 

SensorRH = ((Vin/5)-0.16)/0.0062;     //показание HIH

То есть в итоге мы имеем первый вариант + формулу температурной коррекции 
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.