датчик давления HP02S
Re: датчик давления HP02S
Все здесь и слушают. Есть вопросы?
-
Макс электронщик
- Первый раз сказал Мяу!
- Сообщения: 35
- Зарегистрирован: Пн авг 29, 2011 10:52:08
- Откуда: Новоуральск (Свердловская область))
- Контактная информация:
Re: датчик давления HP02S
Ну вот опять...
ГДЕ ВСЕ
ГДЕ ВСЕ
-
Hausauer
- Родился
- Сообщения: 3
- Зарегистрирован: Вт дек 25, 2012 16:14:10
- Откуда: Украина, Краматорск
- Контактная информация:
Re: датчик давления HP02S
Здравствуйте все! Тема конечно старая, но все же спрошу, может кто-то что-то подскажет.
Приобрёл давно датчик HP02S, но только сейчас решил его подключить. В даташите на него все замечательно расписано и поправки и формулы всё есть. Коэффициенты считываются с внутренней EEPROM с адреса 0х02 по 0х0В и они участвуют для расчета поправок. Все вроде бы хорошо, но в той же EEPROM датчика HP02S присутствуют еще другие коэффициенты (адрес EEPROM 0х10 по 0х21), которые используются для расчета поправок в датчике HP03SA. Поэтому сделав расчёт давлений двумя разными способами, получил почти тоже самое (второй способ был меньше на 1.9 гПа (1.4 мм.рт.ст.)). Сначала я подумал, что второй метод более точный так как использует более сложные формулы для расчета поправок да и самих коэффициентов больше, значит он более "правильный". Но положив модуль HP02S на руку, чтобы искусственно его подогреть обнаружил что давление рассчитанное по второму способу возросло относительно давления первого способа, а температура (рассчитанная по даташиту на HP03SA) стала падать. Поэтому возникают вопросы:
1) Можно ли в модуле HP02S использовать коэффициенты и формулы поправок из даташита на модуль HP03SA?
2) Как ведет себя рассчитанная температура при использовании модуля HP03SA (возрастает или падает)?
3) Как рассчитать температуру для модуля HP02S?
P.S. Все расчеты формул я провожу в Delphi, получая по I2C с датчика все необходимые данные, поэтому ошибок со сдвигом и знаком быть не может, так как не использую микроконтроллер для расчетов.
Приобрёл давно датчик HP02S, но только сейчас решил его подключить. В даташите на него все замечательно расписано и поправки и формулы всё есть. Коэффициенты считываются с внутренней EEPROM с адреса 0х02 по 0х0В и они участвуют для расчета поправок. Все вроде бы хорошо, но в той же EEPROM датчика HP02S присутствуют еще другие коэффициенты (адрес EEPROM 0х10 по 0х21), которые используются для расчета поправок в датчике HP03SA. Поэтому сделав расчёт давлений двумя разными способами, получил почти тоже самое (второй способ был меньше на 1.9 гПа (1.4 мм.рт.ст.)). Сначала я подумал, что второй метод более точный так как использует более сложные формулы для расчета поправок да и самих коэффициентов больше, значит он более "правильный". Но положив модуль HP02S на руку, чтобы искусственно его подогреть обнаружил что давление рассчитанное по второму способу возросло относительно давления первого способа, а температура (рассчитанная по даташиту на HP03SA) стала падать. Поэтому возникают вопросы:
1) Можно ли в модуле HP02S использовать коэффициенты и формулы поправок из даташита на модуль HP03SA?
2) Как ведет себя рассчитанная температура при использовании модуля HP03SA (возрастает или падает)?
3) Как рассчитать температуру для модуля HP02S?
P.S. Все расчеты формул я провожу в Delphi, получая по I2C с датчика все необходимые данные, поэтому ошибок со сдвигом и знаком быть не может, так как не использую микроконтроллер для расчетов.
- Вложения
-
- HP03SA - barometer (not my).PDF
- датчик HP03SA
- (174.68 КБ) 544 скачивания
-
- HP02S - barometer.PDF
- датчик HP02S
- (127.75 КБ) 448 скачиваний
Re: датчик давления HP02S
1. Точно может ответить лишь изготовитель, но я думаю, что нельзя. Если-бы второй способ приводил к более точным результатам, его-бы и привели в ДШ на HP02S.
2. Рассчитанная температура для HP03S изменяется согласно реальной.
3. Данные с датчика температуры для HP02S предназначены только для температурной компенсации датчика давления. В ДШ отсутствуют сведения как на основании этих данных рассчитывать температуру сенсора. Поэтому, предполагая, что показания датчика температуры линейно зависят от темпратуры, можно определить оффсет и наклон характеристики сенсора экспериментально в 2-х точках, а заодно проверить его линейность замером в 3-х точках. Нужен Вам весь этот гемор? Возьмите лучше "нормальный" датчик, например BMP085.
2. Рассчитанная температура для HP03S изменяется согласно реальной.
3. Данные с датчика температуры для HP02S предназначены только для температурной компенсации датчика давления. В ДШ отсутствуют сведения как на основании этих данных рассчитывать температуру сенсора. Поэтому, предполагая, что показания датчика температуры линейно зависят от темпратуры, можно определить оффсет и наклон характеристики сенсора экспериментально в 2-х точках, а заодно проверить его линейность замером в 3-х точках. Нужен Вам весь этот гемор? Возьмите лучше "нормальный" датчик, например BMP085.
-
Hausauer
- Родился
- Сообщения: 3
- Зарегистрирован: Вт дек 25, 2012 16:14:10
- Откуда: Украина, Краматорск
- Контактная информация:
Re: датчик давления HP02S
Ser60 писал(а):... Поэтому, предполагая, что показания датчика температуры линейно зависят от темпратуры, можно определить оффсет и наклон характеристики сенсора экспериментально в 2-х точках, а заодно проверить его линейность замером в 3-х точках. Нужен Вам весь этот гемор? ...
Ради интереса можно будет попробовать. С другой стороны если нужна точность измерения температуры, то на это есть более подходящие варианты.
Re: датчик давления HP02S
Добрый день. Собрал простейшую схему PIC18F458 и HP02S, немного переделал код от Леонид Иванович под себя. Но при чтении и вычисления давление у меня 957,7 hPa, что очень далеко от 755 мм.рт.ст. Грешил на возможные проблемы с компилятором, создал таблицу, куда внес все коэфициенты и значения АЦП. Результат совпал с вычислениями контроллера. Значения АЦП давления и температуры немного "плавают" +- пару единиц, т.е., вроде, сам датчик живой. Думал, что из EEPROM не то читаю, попробовал вычитать от 0 до 16 байта, все, кроме коэффициентов, забито 0xFF. Порядок байт (первый байт - старшая часть) учел.
На всякий случай мои коэффициенты:
D0 30509
T0 26607
P0 10192
S 182
C 283
На всякий случай мои коэффициенты:
D0 30509
T0 26607
P0 10192
S 182
C 283
-
Hausauer
- Родился
- Сообщения: 3
- Зарегистрирован: Вт дек 25, 2012 16:14:10
- Откуда: Украина, Краматорск
- Контактная информация:
Re: датчик давления HP02S
Датчик выдает данные в гектопаскалях, что-бы перевести данные в мм.рт.ст необходимо hPa*75/100 (если быть точнее то умножить на 0.75006375541921).
Re: датчик давления HP02S
... и добавить поправку на высоту Вашего места, т.к. датчик показывает давление на уровне моря.
Re: датчик давления HP02S
Это понятно, но все равно маловато выходит, 712 мм.рт.ст. У сотрудника телефон со встроенным датчиком давления, на вчерашний день показывал 765 мм.рт.ст.Hausauer писал(а):Датчик выдает данные в гектопаскалях, что-бы перевести данные в мм.рт.ст необходимо hPa*75/100 (если быть точнее то умножить на 0.75006375541921).
Можно поподробней, как вычислить эту поправку?Ser60 писал(а):... и добавить поправку на высоту Вашего места, т.к. датчик показывает давление на уровне моря.
Re: датчик давления HP02S
Найдите на google earth высоту вашего места и далее по формулам изменения дявления по разности высот. Но проще всего будет просто добавить к Вашему давлению разность показаний с эталонным барометром. А первым дело проверьте вручную все вычисления.
Re: датчик давления HP02S
Ser60 писал(а):и добавить поправку на высоту Вашего места, т.к. датчик показывает давление на уровне моря.
Как это ему удаётся, если даже Вам нужны какие-то гугле-земли и куча вычислений?
Re: датчик давления HP02S
O, Боже мой, что я написал!
Конечно, датчик показывает абсолютное давление на той высоте, где он находится. Это веб-службы погоды, как правило, нормируют его на уровень моря. Спасибо, что заметили ляпсус
Конечно, датчик показывает абсолютное давление на той высоте, где он находится. Это веб-службы погоды, как правило, нормируют его на уровень моря. Спасибо, что заметили ляпсус
Re: датчик давления HP02S
Знаю тема старенькая, но все же... Есть проблема с hp02s, с eeprom все читается, но считывание давления и температуры не робит. XCLR в высоком, жду сколько нужно, но при чтении возвращает FF80 как для температуры так и для давления.