О поведении датчика давления BMP180
- Войдите на сайт для отправки комментариев
Замеряю время вызова функции опроса BMP180, температура, потом давление в одном флаконе (опросе). Для различных разрешений (точностей). МК ATMega328P, 16 МГц, 5 В. Замер времени по Timer1, 2000 кГц, 1 тик 0.5 мкс, начало измерения при вызове функции опроса, окончание - при возврате из функции. Помимо собственно измерений, там (в функции) и обсчет, чтение калибровочных коэффициентов и т.п.
Собственно измерения (температуры и затем давления) начинаются командой начала измерения и прекращаются при сбросе бита CSO в контрольном регистре 0xF4. Все по документации.
Вот результаты. Между сериями около 30 с, между измерениями 3 с.
О достоверности измерений. Температура совпадает +/- 0.1*С с одновременно работающими датчиками DS1621 и DS18B20 (ну и DHT22 близок). Давление проконтроллировать нечем, но высота (ALT, производная от измеренного давления) очень хорошо совпадает с определенной на глаз. (Выбор на карте высот города своей улицы + поправка на лапоть (зачеркнуто) этаж обиталища. Расхождение 2 м.)
Да, BMP180 из братского Китая, по фотографии не отличим от рассово правильных Adafruit. Каким напряжением его и его выводы питать в курсе.
Значения времени измерения, как видно из картинки, на порядок меньше ожидаемого. Да, растут с ростом точности, но тоже не так резко, как ожидается.
Или как говорил товарищ О.Бендер - "Вас обманули. Вам дали гораздо лучший мех. Это шанхайские барсы."
После этого моего удивления не хватает на то, что BMP180 работает по I2C на 100 кГц и отказывается работать на 400 кГц.
Кто-нибудь может прокомментировать и не дать остаться в неведении?
Привет! кто может подсказать, какая распиновка при подключении arduino leonardo и датчика освещенности BH 1750?
Понимаю, что времени нет, все дела, всякое такое...
Собственно SDA к SDA(2), SCL к SCL(3), о чем на этом же сайте и написано. Какие-то проблемы?
Пасибки за информацию, если ещё опубликуете скетчик работы с датчиком - народ будет признателен. По заданному вопросу скорости I2C железяка может быть просто заточена под эту скорость втупую. А вот то, что он работает настолько шустро - приятненько. Лежит, тоже ждет своего часа..
А пример, идущий в комплекте с библиотекой к датчику, самому слабо открыть?
Arhat109-2
Подозрение вызывает скорость считывания, которая существенно отличается от приведенной в документации. Данные же представляются правдоподобными. Результат устойчив.
Не умею писать скетчи, вот полный текст функции опроса.
_bmp180.h
_bmp180.c
Смотрел как кодируют другие, там просто ставится временнАя задержка между началом измерения и считыванием данных. Так тоже работает, результаты такие же.
alexvs
Мне даже подобные комментарии получать не слабо.
Пришла с Али россыпь датчиков. По виду BMP180. По программированию тоже. В упаковке библиотека не обнаружилась. В документации Bosh вежливо отсылают к региональным авторизованным поставщикам. Ссылку на библиотеку, идущую в комплекте с датчиком, предоставите? А пример сам постараюсь открыть.
Спасибо за скетчик, посмотрю и, если не возражаете - добавлю в свою библиотеку arhat .. может кому пригодится.
После этого моего удивления не хватает на то, что BMP180 работает по I2C на 100 кГц и отказывается работать на 400 кГц.
Кто-нибудь может прокомментировать и не дать остаться в неведении?
[/quote]
Не могу понять что Вы желаете узнать, а вообще в правом верхнем углу форума есть срока "поиск" набираете там BMP 180 и узнаете много интересного.
oleg_kazakof
Кроме ваших же советов всем обращаться в поиск ничего интересного не обнаружил. Вы понимаете, на что я жалуюсь?
Нет проблем с подключениями, хоть одного, хоть нескольких датчиков, нет проблем со считыванием данных. Есть смутное подозрение, что я где-то лажаю. Лажа в том, что считывание внешне достоверных данных происходит слишком быстро. По технике из документации, разумеется. Вот с этим кто-нибудь заморачивался? (Ну может там CSO нужно OSS раз дожидаться или еще что-то).
Ну и дополнительно, это уже мелочи. Кто-нибудь работал с BMP180 в режимах I2C шины выше standart (100 kHz)?
oleg_kazakof, вы уж лучше сразу ссылку на даташит приводите, если пост достает вас своей глупостью.
Понимаю, что времени нет, все дела, всякое такое...
Собственно SDA к SDA(2), SCL к SCL(3), о чем на этом же сайте и написано. Какие-то проблемы?
спасибо я просто еще зеленый совсем ,все что находил это на UNO там 4 , 5 вывод.и не получалось был неизменный коивицент покозаний.
Конкретно по этому дачтику - не подскажу, сам ещё его не ковырял.. пока лежит без надобности.
Но вот по опыту снятия показаний с датчика цвета TCS3200, могу сказать что почитав его даташит и посчитав обратную матрицу восстановления цветности и переведя её в целочисленную арифметику со сдвигами до точности в 0.5%, да прокалибровав его светодиоды на предмет восстановления баланса белого и тоже сдвигами до 0.5%, а также учтя фоновые засветки и подняв цветоделение на 12% .. получил вполне точный прибор с погрешностью около 2% определения RGB цветов в диапазоне освещенностей от 300 люкс до 12000люкс и чуствительностью от 7лк., да и скорость съема показаний в районе 1-16мсек (автоподстройка по яркости) .. а вот народ пишет, что "фигня, а не датчик" .. а по мне так очень хороший приборчик. :)
Я это к тому, что если вы все сделали по даташиту, то оно и должно работать с заявленной там точностью. Было бы странно обратное.
А вот по поводу скоростей шины I2C, могу предположить что в самом датчике нестандартная скорость просто не предусмотрена .. ну не ловит он частоту выше и всё тут.
Или Вы где-то находили решения с этой микросхемой и иной скоростью I2C?
Arhat109-2
Пример с датчиком цветности впечетляет работой над предметом. Собственно, так и надо. Слишком много бессмысленных измерений (описано в Инете) и шлакового кода. Видимо удачи придерживаются и не публикуются. Например реализациии CAN, большинство промышленных реализаций (в области измерений). Ну это нормально.
Наверное пора (мне) прекращать нытье с BMP180. Что касается частоты по I2C, то она до 3.4 МГц заявлена, но тут скорее мои замороки - длина проводов, сопли на макетках, еще что-то. Протоколы обмена всегда пишу сам, это просто интересно. На высоких скоростях бывают нюансы, видимо с twi на мегагерце еще не справился.
Благодарю за адекватные ответы.
Ну .. сейчас уже да, TWI (он же I2C) значительно расширен по спецификации .. но, косоглазые (а зачастую и косорукие мастера поднебесной) ставят в такие шилды "что подешевше" и достаточно старые микрухи .. вот они запросто могут иметь "фикс" по скорости шины.
С теми же датчиками цвета: чуть не пожег свою дуньку. На шилде есть нога !OE которая типа "выбор датчика" .. сделал расширитель и поставил 2 датчика (предварительно закрыв в корпус, изолировав трубкой приемник от собственных светиков .. разъёмчик, лего детальки для крепления .. "как надо" .. и внезапно обнаруцжил, что этот вход на шилде .. ага, тупо сидит на земле. Какое-то время не мог понять почему все время работает один из 2-х дачтиков .. все искал программную ошибку, пока не доперло. Хорошо что ничего не погорело.