Здравствуйте все! Тема конечно старая, но все же спрошу, может кто-то что-то подскажет. Приобрёл давно датчик 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 с датчика все необходимые данные, поэтому ошибок со сдвигом и знаком быть не может, так как не использую микроконтроллер для расчетов.
1. Точно может ответить лишь изготовитель, но я думаю, что нельзя. Если-бы второй способ приводил к более точным результатам, его-бы и привели в ДШ на HP02S. 2. Рассчитанная температура для HP03S изменяется согласно реальной. 3. Данные с датчика температуры для HP02S предназначены только для температурной компенсации датчика давления. В ДШ отсутствуют сведения как на основании этих данных рассчитывать температуру сенсора. Поэтому, предполагая, что показания датчика температуры линейно зависят от темпратуры, можно определить оффсет и наклон характеристики сенсора экспериментально в 2-х точках, а заодно проверить его линейность замером в 3-х точках. Нужен Вам весь этот гемор? Возьмите лучше "нормальный" датчик, например BMP085.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
... Поэтому, предполагая, что показания датчика температуры линейно зависят от темпратуры, можно определить оффсет и наклон характеристики сенсора экспериментально в 2-х точках, а заодно проверить его линейность замером в 3-х точках. Нужен Вам весь этот гемор? ...
Ради интереса можно будет попробовать. С другой стороны если нужна точность измерения температуры, то на это есть более подходящие варианты.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Добрый день. Собрал простейшую схему PIC18F458 и HP02S, немного переделал код от Леонид Иванович под себя. Но при чтении и вычисления давление у меня 957,7 hPa, что очень далеко от 755 мм.рт.ст. Грешил на возможные проблемы с компилятором, создал таблицу, куда внес все коэфициенты и значения АЦП. Результат совпал с вычислениями контроллера. Значения АЦП давления и температуры немного "плавают" +- пару единиц, т.е., вроде, сам датчик живой. Думал, что из EEPROM не то читаю, попробовал вычитать от 0 до 16 байта, все, кроме коэффициентов, забито 0xFF. Порядок байт (первый байт - старшая часть) учел. На всякий случай мои коэффициенты: D0 30509 T0 26607 P0 10192 S 182 C 283
Датчик выдает данные в гектопаскалях, что-бы перевести данные в мм.рт.ст необходимо hPa*75/100 (если быть точнее то умножить на 0.75006375541921).
Это понятно, но все равно маловато выходит, 712 мм.рт.ст. У сотрудника телефон со встроенным датчиком давления, на вчерашний день показывал 765 мм.рт.ст.
Ser60 писал(а):
... и добавить поправку на высоту Вашего места, т.к. датчик показывает давление на уровне моря.
Найдите на google earth высоту вашего места и далее по формулам изменения дявления по разности высот. Но проще всего будет просто добавить к Вашему давлению разность показаний с эталонным барометром. А первым дело проверьте вручную все вычисления.
O, Боже мой, что я написал! Конечно, датчик показывает абсолютное давление на той высоте, где он находится. Это веб-службы погоды, как правило, нормируют его на уровень моря. Спасибо, что заметили ляпсус
Знаю тема старенькая, но все же... Есть проблема с hp02s, с eeprom все читается, но считывание давления и температуры не робит. XCLR в высоком, жду сколько нужно, но при чтении возвращает FF80 как для температуры так и для давления.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения