датчик давления HP02S
-
DotZZ
- Первый раз сказал Мяу!
- Сообщения: 22
- Зарегистрирован: Вт ноя 30, 2010 13:45:01
- Откуда: Донецк
- Контактная информация:
датчик давления HP02S
Всем доброго времени!
Приобрел недавно этот датчик для своего проекта метеостанции. Подключаю на пару с ds1307, MCLK с датчика подключаю к ноге кварца 32кгц который на DS часах.
Значения констант из EEPROM читаются, а вот текущие значения давления по нулям... Может кто работал с сабжем? Есть какие-нибудь нюансы? Нужно ли городить программный генератор на 32 кгц?
Приобрел недавно этот датчик для своего проекта метеостанции. Подключаю на пару с ds1307, MCLK с датчика подключаю к ноге кварца 32кгц который на DS часах.
Значения констант из EEPROM читаются, а вот текущие значения давления по нулям... Может кто работал с сабжем? Есть какие-нибудь нюансы? Нужно ли городить программный генератор на 32 кгц?
- Fasterpast
- Мучитель микросхем
- Сообщения: 493
- Зарегистрирован: Ср фев 14, 2007 12:07:58
- Откуда: Москва
- Контактная информация:
Re: датчик давления HP02S
А на DS1307 разве нет CLK выхода? Не логичнее будет подключиться к нему?
Re: датчик давления HP02S
Fasterpast прав, надо тактирование брать со специального выхода (вывод 7), а не с кварца; если подключитесь непосредственно к кварцу, в лучшем случае расстроите частоту (увеличится ход), в худшем - генератор вообще не заведется. Осциллографом смотрели тактовую? При чтении АЦП адрес устройства поменять не забыли? На XCLR высокий уровень?
-
DotZZ
- Первый раз сказал Мяу!
- Сообщения: 22
- Зарегистрирован: Вт ноя 30, 2010 13:45:01
- Откуда: Донецк
- Контактная информация:
Re: датчик давления HP02S
значит подключил MCKL к выводу 7, прогаю следующим образом:
char p1=0,p2=0;
DDRB=0x3F;
i2c_init();
// строка инициализации часов
// Square wave output on pin SQW/OUT: On
// Square wave frequency: 32768Hz
rtc_init(3,1,0);
PORTB.0=1; //здесь у меня выход на XCLR
i2c_start();
i2c_write(0xEE);
i2c_write(0xFF);
i2c_write(0xE8); //для теста беру значение Т1
i2c_stop();
delay_ms(60);
i2c_start();
i2c_write(0xEE);
i2c_write(0xFD);
i2c_start();
i2c_write(0xEF);
p1 = i2c_read(1);
p2 = i2c_read(0);
i2c_stop();
PORTB.0=0;
Часы идут нормально, а вот p1 p2 по нулям
char p1=0,p2=0;
DDRB=0x3F;
i2c_init();
// строка инициализации часов
// Square wave output on pin SQW/OUT: On
// Square wave frequency: 32768Hz
rtc_init(3,1,0);
PORTB.0=1; //здесь у меня выход на XCLR
i2c_start();
i2c_write(0xEE);
i2c_write(0xFF);
i2c_write(0xE8); //для теста беру значение Т1
i2c_stop();
delay_ms(60);
i2c_start();
i2c_write(0xEE);
i2c_write(0xFD);
i2c_start();
i2c_write(0xEF);
p1 = i2c_read(1);
p2 = i2c_read(0);
i2c_stop();
PORTB.0=0;
Часы идут нормально, а вот p1 p2 по нулям
Re: датчик давления HP02S
У Вас макрос i2c_write() просто шлет аргумент в шину, или младший бит обнуляет? Проверьте этот момент. Аргумент i2c_read() насколько я понял, определяет слать или нет бит подтверждения слейву; после приема первого байта надо послать ACK, а после второго не надо.
DotZZ писал(а):Код: Выделить всё
p1 = i2c_read(1); //а не наоборот ли надо?
p2 = i2c_read(0); //сначала i2c_read(0); потом i2c_read(1);
-
DotZZ
- Первый раз сказал Мяу!
- Сообщения: 22
- Зарегистрирован: Вт ноя 30, 2010 13:45:01
- Откуда: Донецк
- Контактная информация:
Re: датчик давления HP02S
поменял местами, результата все равно нет... на 7й ноге ДСки частотомер упорно показывает 1кгц, хотя инициализировал для 32кгц... могла частота из-за чего-то сбиться?
Re: датчик давления HP02S
1 кГц никак не должно быть. Доступные значения 1Гц, 4096Гц, 8192Гц, 32768Гц, все. 32 кГц должно быть если Control Register = 0x13 или 0x93.
-
DotZZ
- Первый раз сказал Мяу!
- Сообщения: 22
- Зарегистрирован: Вт ноя 30, 2010 13:45:01
- Откуда: Донецк
- Контактная информация:
Re: датчик давления HP02S
еще вопрос, а нужен ли в этом случае на SQW подтягивающий резистор, или напрямую ногу с датчика подключать?
-
DotZZ
- Первый раз сказал Мяу!
- Сообщения: 22
- Зарегистрирован: Вт ноя 30, 2010 13:45:01
- Откуда: Донецк
- Контактная информация:
Re: датчик давления HP02S
можно генерировать на датчик те же ~32Кгц с шим контроллера?
Re: датчик давления HP02S
DotZZ:
Есть подвижки? То-же присматриваюсь к этому датчику, но в связи с поднятой темой пока решил подождать
Есть подвижки? То-же присматриваюсь к этому датчику, но в связи с поднятой темой пока решил подождать
— Не говорите мне что делать и я не скажу куда Вам идти...
-
DotZZ
- Первый раз сказал Мяу!
- Сообщения: 22
- Зарегистрирован: Вт ноя 30, 2010 13:45:01
- Откуда: Донецк
- Контактная информация:
Re: датчик давления HP02S
Да, все получилось!! Частоту подаю с ШИМа, могу выложить исходнички)
Re: датчик давления HP02S
Исходники не обязательно 
Все по datasheet?
То есть получив от датчика D1 и T1 по формуле из ДШ считаем давление?
Все по datasheet?
То есть получив от датчика D1 и T1 по формуле из ДШ считаем давление?
— Не говорите мне что делать и я не скажу куда Вам идти...
-
DotZZ
- Первый раз сказал Мяу!
- Сообщения: 22
- Зарегистрирован: Вт ноя 30, 2010 13:45:01
- Откуда: Донецк
- Контактная информация:
Re: датчик давления HP02S
Абсолютно верно) единственное, я для удобства умножал результат на 0.075 (мм.рт.ст), ну это уже кому что нужно
- Apparatchik
- Держит паяльник хвостом
- Сообщения: 908
- Зарегистрирован: Вс май 23, 2010 13:55:42
- Откуда: Украина, Александрия
Re: датчик давления HP02S
DotZZ писал(а):еще вопрос, а нужен ли в этом случае на SQW подтягивающий резистор, или напрямую ногу с датчика подключать?
Думаю что да. Я как то использовал этот вывод для синхронизации мк и без резистора неработало
DotZZ писал(а):Абсолютно верно) единственное, я для удобства умножал результат на 0.075 (мм.рт.ст), ну это уже кому что нужно
Это чтоб получить результат в милиметрах ртутного столба?
DotZZ писал(а):Да, все получилось!! Частоту подаю с ШИМа, могу выложить исходнички)
Хотелось бы поподробней узнать о функциях инициализации, чтения и управления. Есть ли мануал на русском что из себя представляет этот датчик, какие в нём регистры и как с ним работать?
Можно ли его подключить на аппаратный I2C паралельно ds1307 и какие при этом нюансы?
«И всё-таки она вертится!»
Re: датчик давления HP02S
А может кто-нибудь выложить исходники по этому датчику?
Re: датчик давления HP02S
Лови....
Написано немного "в лоб", но после тестов не было времени причесать...
HOP_get_value(); возвращает давление в сотых мм.рт.ст
Написано для HP03, но пойдет и для HP02: они отличаются только питанием и рабочим диапазоном температур.
Написано немного "в лоб", но после тестов не было времени причесать...
HOP_get_value(); возвращает давление в сотых мм.рт.ст
Написано для HP03, но пойдет и для HP02: они отличаются только питанием и рабочим диапазоном температур.
Последний раз редактировалось md5sum Ср май 18, 2011 23:53:46, всего редактировалось 1 раз.
— Не говорите мне что делать и я не скажу куда Вам идти...
Re: датчик давления HP02S
md5sum писал(а):Написано для HP03, но пойдет и для HP02
СТОП !!!! Извиняюсь !!!!
Ни фига не подойдет! Сейчас открыл ДШ для 02 - ничего общего касательно вычислений и поправок.
— Не говорите мне что делать и я не скажу куда Вам идти...
Re: датчик давления HP02S
Народ, а сверял-ли кто показания HP02/HP03 с действительностью? Я тоже сейчас занимаюсь метеостанцией и приобрел 2 датчика для сравнения: HP03SA и BMP085. Так вот, у меня HP всегда показывал давление на 12-14 mmHg выше чем BMP. Показания BMP совпадали в точности с данными давления на вебсайтах погоды (после пересчета под высоту места).
Далее, показания температуры у моего HP отличались от BMP на 1-1.5 градуса и были очень нестабильны. Т.е. при измерении температуры с интервалом примерно 2 сек показания HP иногда непредсказуемо прыгали до 0.2-0.5 градуса Цельсия, в то время как BMP показывал стабильную температуру в полном соответствии с сенсором SHT15 (отличие не более 0.1 градуса). Правильность программных вычислений проверял на калькуляторе, используя предварительно считанные поправочные коэффициенты сенсора HP03SA и его "сырые" данные и получил полное соответствие вычисленных величин. Наблюдал-ли кто что-то подобное, или мне не повезло с экземпляром сенсора?
Далее, показания температуры у моего HP отличались от BMP на 1-1.5 градуса и были очень нестабильны. Т.е. при измерении температуры с интервалом примерно 2 сек показания HP иногда непредсказуемо прыгали до 0.2-0.5 градуса Цельсия, в то время как BMP показывал стабильную температуру в полном соответствии с сенсором SHT15 (отличие не более 0.1 градуса). Правильность программных вычислений проверял на калькуляторе, используя предварительно считанные поправочные коэффициенты сенсора HP03SA и его "сырые" данные и получил полное соответствие вычисленных величин. Наблюдал-ли кто что-то подобное, или мне не повезло с экземпляром сенсора?
Re: датчик давления HP02S
Сравнивать с вебом если только порядок цифр...
От меня ближайшие данные - аэропорт Домодедово - 31 км.
Расхождения с аэрпортом стабильные - 10 мм.рт.ст
Думаю, что в реальной атмосфере в ветренную погоду даление разное даже на небольшом расстоянии. А полного штиля ждать придется долго...
Барокамеру надо
Для теста, на днях, запущу HP02S (после прокола с неправильными исходниками - надо реабилитироваться
)
Вот и сравню хотя-бы их между собой. Алгоритм вычислений у ни совсем разный, как и кол-во поправочных коэффициентов.
Как альтиметр проверял - 15 метров (5-й этаж) - 1 мм.рт.ст.
Если надо могу в hpa замерить....
От меня ближайшие данные - аэропорт Домодедово - 31 км.
Расхождения с аэрпортом стабильные - 10 мм.рт.ст
Думаю, что в реальной атмосфере в ветренную погоду даление разное даже на небольшом расстоянии. А полного штиля ждать придется долго...
Барокамеру надо
Для теста, на днях, запущу HP02S (после прокола с неправильными исходниками - надо реабилитироваться
Вот и сравню хотя-бы их между собой. Алгоритм вычислений у ни совсем разный, как и кол-во поправочных коэффициентов.
Как альтиметр проверял - 15 метров (5-й этаж) - 1 мм.рт.ст.
Если надо могу в hpa замерить....
— Не говорите мне что делать и я не скажу куда Вам идти...
Re: датчик давления HP02S
А я наоборот склонен больше верить вебу чем местным станциям, которые
неизвестно что меряют. На вебе, как правило, по крайней мере ясно указано,
что они отображают абсолютное давление пересчитанное под средний уровень
моря (может это тоже указано на сайте аэропорта, не знаю). В любом
случае давление требует пересчета под высоту конкретного места над уровнем
моря. У меня, например, эта высота около 200м, если верить тому-же вебу, и
разница с давлением на уровне моря порядка 18mmHg, что подтверждается
показаниями различных датчиков, включая промышленные. Может и в Вашем
случае расхождение из-за разницы высот? Кстати, о каком датчике идет речь?
По поводу влияния ветра на давление, согласен, но непонятно как учесть. Вот
тут теория хорошо представлена:
http://www.ux1.eiu.edu/~cfjps/1400/pressure_wind.html
Может отличие с данными в аэтопорту и из-за ветра. Их обычно строят в
ветренных местах. Попробуйте сравнить свои данные с другим вебом, например
http://www.weather.com и пересчитать их под свою высоту. Интересно что получится.
Я лично не считаю, что Вы "прокололись", но мне был-бы интересен опыт
сравнения показаний HP02 с HP03.
неизвестно что меряют. На вебе, как правило, по крайней мере ясно указано,
что они отображают абсолютное давление пересчитанное под средний уровень
моря (может это тоже указано на сайте аэропорта, не знаю). В любом
случае давление требует пересчета под высоту конкретного места над уровнем
моря. У меня, например, эта высота около 200м, если верить тому-же вебу, и
разница с давлением на уровне моря порядка 18mmHg, что подтверждается
показаниями различных датчиков, включая промышленные. Может и в Вашем
случае расхождение из-за разницы высот? Кстати, о каком датчике идет речь?
По поводу влияния ветра на давление, согласен, но непонятно как учесть. Вот
тут теория хорошо представлена:
http://www.ux1.eiu.edu/~cfjps/1400/pressure_wind.html
Может отличие с данными в аэтопорту и из-за ветра. Их обычно строят в
ветренных местах. Попробуйте сравнить свои данные с другим вебом, например
http://www.weather.com и пересчитать их под свою высоту. Интересно что получится.
Я лично не считаю, что Вы "прокололись", но мне был-бы интересен опыт
сравнения показаний HP02 с HP03.