Страница 1 из 3
датчик давления HP02S
Добавлено: Вт янв 25, 2011 22:11:25
DotZZ
Всем доброго времени!
Приобрел недавно этот датчик для своего проекта метеостанции. Подключаю на пару с ds1307, MCLK с датчика подключаю к ноге кварца 32кгц который на DS часах.
Значения констант из EEPROM читаются, а вот текущие значения давления по нулям... Может кто работал с сабжем? Есть какие-нибудь нюансы? Нужно ли городить программный генератор на 32 кгц?
Re: датчик давления HP02S
Добавлено: Ср янв 26, 2011 10:35:47
Fasterpast
А на DS1307 разве нет CLK выхода? Не логичнее будет подключиться к нему?
Re: датчик давления HP02S
Добавлено: Ср янв 26, 2011 11:09:13
stas00n
Fasterpast прав, надо тактирование брать со специального выхода (вывод 7), а не с кварца; если подключитесь непосредственно к кварцу, в лучшем случае расстроите частоту (увеличится ход), в худшем - генератор вообще не заведется. Осциллографом смотрели тактовую? При чтении АЦП адрес устройства поменять не забыли? На XCLR высокий уровень?
Re: датчик давления HP02S
Добавлено: Ср янв 26, 2011 17:18:43
DotZZ
значит подключил 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 по нулям
Re: датчик давления HP02S
Добавлено: Ср янв 26, 2011 22:27:21
stas00n
У Вас макрос i2c_write() просто шлет аргумент в шину, или младший бит обнуляет? Проверьте этот момент. Аргумент i2c_read() насколько я понял, определяет слать или нет бит подтверждения слейву; после приема первого байта надо послать ACK, а после второго не надо.
DotZZ писал(а):Код: Выделить всё
p1 = i2c_read(1); //а не наоборот ли надо?
p2 = i2c_read(0); //сначала i2c_read(0); потом i2c_read(1);
Re: датчик давления HP02S
Добавлено: Чт янв 27, 2011 00:29:40
DotZZ
поменял местами, результата все равно нет... на 7й ноге ДСки частотомер упорно показывает 1кгц, хотя инициализировал для 32кгц... могла частота из-за чего-то сбиться?
Re: датчик давления HP02S
Добавлено: Чт янв 27, 2011 00:36:38
stas00n
1 кГц никак не должно быть. Доступные значения 1Гц, 4096Гц, 8192Гц, 32768Гц, все. 32 кГц должно быть если Control Register = 0x13 или 0x93.
Re: датчик давления HP02S
Добавлено: Чт янв 27, 2011 17:49:50
DotZZ
еще вопрос, а нужен ли в этом случае на SQW подтягивающий резистор, или напрямую ногу с датчика подключать?
Re: датчик давления HP02S
Добавлено: Пт янв 28, 2011 22:47:34
DotZZ
можно генерировать на датчик те же ~32Кгц с шим контроллера?
Re: датчик давления HP02S
Добавлено: Пн янв 31, 2011 22:35:30
md5sum
DotZZ:Есть подвижки? То-же присматриваюсь к этому датчику, но в связи с поднятой темой пока решил подождать

Re: датчик давления HP02S
Добавлено: Ср фев 02, 2011 21:08:11
DotZZ
Да, все получилось!! Частоту подаю с ШИМа, могу выложить исходнички)
Re: датчик давления HP02S
Добавлено: Ср фев 02, 2011 21:17:44
md5sum
Исходники не обязательно

Все по datasheet?
То есть получив от датчика D1 и T1 по формуле из ДШ считаем давление?
Re: датчик давления HP02S
Добавлено: Чт фев 03, 2011 01:58:46
DotZZ
Абсолютно верно) единственное, я для удобства умножал результат на 0.075 (мм.рт.ст), ну это уже кому что нужно
Re: датчик давления HP02S
Добавлено: Вт мар 29, 2011 12:07:54
Apparatchik
DotZZ писал(а):еще вопрос, а нужен ли в этом случае на SQW подтягивающий резистор, или напрямую ногу с датчика подключать?
Думаю что да. Я как то использовал этот вывод для синхронизации мк и без резистора неработало
DotZZ писал(а):Абсолютно верно) единственное, я для удобства умножал результат на 0.075 (мм.рт.ст), ну это уже кому что нужно
Это чтоб получить результат в милиметрах ртутного столба?
DotZZ писал(а):Да, все получилось!! Частоту подаю с ШИМа, могу выложить исходнички)
Хотелось бы поподробней узнать о функциях инициализации, чтения и управления. Есть ли мануал на русском что из себя представляет этот датчик, какие в нём регистры и как с ним работать?
Можно ли его подключить на аппаратный I2C паралельно ds1307 и какие при этом нюансы?
Re: датчик давления HP02S
Добавлено: Вс май 15, 2011 22:53:44
Sizoy
А может кто-нибудь выложить исходники по этому датчику?
Re: датчик давления HP02S
Добавлено: Вс май 15, 2011 23:12:53
md5sum
Лови....
Написано немного "в лоб", но после тестов не было времени причесать...
HOP_get_value(); возвращает давление в сотых мм.рт.ст
Написано для HP03, но пойдет и для HP02: они отличаются только питанием и рабочим диапазоном температур.
Re: датчик давления HP02S
Добавлено: Пн май 16, 2011 17:45:02
md5sum
md5sum писал(а):Написано для HP03, но пойдет и для HP02
СТОП !!!! Извиняюсь !!!!
Ни фига не подойдет! Сейчас открыл ДШ для 02 - ничего общего касательно вычислений и поправок.
Re: датчик давления HP02S
Добавлено: Вт май 17, 2011 18:02:55
Ser60
Народ, а сверял-ли кто показания 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 и его "сырые" данные и получил полное соответствие вычисленных величин. Наблюдал-ли кто что-то подобное, или мне не повезло с экземпляром сенсора?
Re: датчик давления HP02S
Добавлено: Вт май 17, 2011 19:05:56
md5sum
Сравнивать с вебом если только порядок цифр...
От меня ближайшие данные - аэропорт Домодедово - 31 км.
Расхождения с аэрпортом стабильные - 10 мм.рт.ст
Думаю, что в реальной атмосфере в ветренную погоду даление разное даже на небольшом расстоянии. А полного штиля ждать придется долго...
Барокамеру надо

Для теста, на днях, запущу HP02S (после прокола с неправильными исходниками - надо реабилитироваться

)
Вот и сравню хотя-бы их между собой. Алгоритм вычислений у ни совсем разный, как и кол-во поправочных коэффициентов.
Как альтиметр проверял - 15 метров (5-й этаж) - 1 мм.рт.ст.
Если надо могу в hpa замерить....
Re: датчик давления HP02S
Добавлено: Вт май 17, 2011 20:52:48
Ser60
А я наоборот склонен больше верить вебу чем местным станциям, которые
неизвестно что меряют. На вебе, как правило, по крайней мере ясно указано,
что они отображают абсолютное давление пересчитанное под средний уровень
моря (может это тоже указано на сайте аэропорта, не знаю). В любом
случае давление требует пересчета под высоту конкретного места над уровнем
моря. У меня, например, эта высота около 200м, если верить тому-же вебу, и
разница с давлением на уровне моря порядка 18mmHg, что подтверждается
показаниями различных датчиков, включая промышленные. Может и в Вашем
случае расхождение из-за разницы высот? Кстати, о каком датчике идет речь?
По поводу влияния ветра на давление, согласен, но непонятно как учесть. Вот
тут теория хорошо представлена:
http://www.ux1.eiu.edu/~cfjps/1400/pressure_wind.html Может отличие с данными в аэтопорту и из-за ветра. Их обычно строят в
ветренных местах. Попробуйте сравнить свои данные с другим вебом, например
http://www.weather.com и пересчитать их под свою высоту. Интересно что получится.
Я лично не считаю, что Вы "прокололись", но мне был-бы интересен опыт
сравнения показаний HP02 с HP03.