Ключевое ?лово

vk

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Софт:обсуждение программного обеспечения для умного дома
  • Страница:
  • 1
  • 2
  • 3
  • 4
  • 5
  • ...
  • 9

ТЕМА: Софт к датчику атмосферного давления BMP085 и 180

Софт к датчику атмосферного давления BMP085 и 180 16 Сен 2014 05:14 #90

  • sinoptik
  • sinoptik аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 51
  • Спасибо получено: 1
  • Репутация: 3
Доброго времени суток всем!
Я очень рад, что нашёл на вашем сайте информацию о самодельном барометре и приложение к нему.
Мне один очень хороший человек собрал таких 2 барометра, потом ещё 2. Первые 2 были на проводках датчики болтались, а вторые 2 барометра закрытые в термокембрике с отверстием под датчик и получились как флэшки.
Программу я скачивал вот тут: homes-smart.ru/index.php/oborudovanie/da...hik-davleniya-bmp085
написал батник, который складывал считанные с датчика данные в текстовый файл и сразу же обнаружил ошибку. Вот конкретный пример:
Temperature 31.50 *C
Pressure 758.62 hPa
Судя по значению давления выше 750 - это миллиметры ртутного столба, а написано, что это гектопаскали hPa. Вторая ошибка - это вместо значка градусов ° стоит звёздочка *.

покопавшись в исходном коде в файле bmp085.c, я был в шоке. Там даже коэффициент для перерасчёта Паскалей в миллиметры ртутного столба был неточный. Вместо 133,322387415 там был округлённый 133. Это приводило на выходе к завышению давления на 1,82 мм, что не могло радовать, так как по дата шиту при комнатной температуре точность +-1 hPa (+-0,75 мм).
я стал обдумывать, как бы это исправить и так как скомпилировать исходник не смог и не понял как, я открыл уже скомпилированный файл программы шестнадцатиричным редактором и там заменил переменную 133 на 133,322387415 и hPa исправил на mmHg (мм рт.ст.). Сохранив изменения, обнаружил, что программа не нарушилась и отлично работает. Аналогичным образом я сделал себе ещё 2 варианта этой программы консольной в гектопаскалях hPa, заменив коэффициент 133 на 100, и просто в Паскалях Pa, заменив коэффициент 133 на 1,0, чтобы оставить Паскали как есть на выходе датчика после всех заводских калибровок. Вот в архиве это тройное приложение:
Barometer_BMP085_for_Windows.zip


Ещё мой хороший друг, тоже программист самоучка, знающий в программировании больше, чем я, написал оконное приложение, в которое вложил исправленный мною программный файл, и на выходе получилась полноценная программа для самодельного барометра на датчике BMP085. Она опрашивает датчик каждую секунду и каждую минуту записывает данные в лог файл с возможностью дописывания данных. Вот эта программа:
BarometerBMP085GuiKdr.zip


А также мой друг собрал универсальный драйвер для барометра, который стал устанавливаться на Windows7 64 битную:
I2C_Drv_Kdr.zip
Последнее редактирование: 27 Дек 2014 23:27 от sinoptik.
Администратор запретил публиковать записи гостям.

Re: Исправлено приложение для барометра на BMP085 16 Сен 2014 05:58 #91

  • sinoptik
  • sinoptik аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 51
  • Спасибо получено: 1
  • Репутация: 3
Почему-то сайт не хочет принимать мои архивы с приложениями, то сначала формат .rar не понравился, я пробовал .zip, пишет, что лимит размера файла превышает (даже 260 килобайт для сайта показалось много). Ладно, выкручусь из ситуации, чтобы людям предоставить возможность пользоваться точной программой.
Вот Вам, пожалуйста, выкладываю программу для самодельного барометра на базе датчика BMP085 на своём сайте: meteo.na.by/meteoprograms/
Администратор запретил публиковать записи гостям.

Re: Исправлено приложение для барометра на BMP085 16 Сен 2014 13:43 #94

  • Adminhs
  • Adminhs аватар
  • Не в сети
  • Администратор
  • Сообщений: 7195
  • Спасибо получено: 1114
  • Репутация: 194
Уж не помню почему я поставил 133 ,возможно были сомнения в точности или где-то из примеров вытащил..
Вообще тут точность не особо актуальна и +/- 1 мм.р.с. ниначего не влияют ))
Основной канал проекта в Telegram t.me/wifi_iot
Администратор запретил публиковать записи гостям.

Re: Исправлено приложение для барометра на BMP085 16 Сен 2014 15:18 #95

  • sinoptik
  • sinoptik аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 51
  • Спасибо получено: 1
  • Репутация: 3
Добрый день, уважаемый Adminhs !
Я рад, что попал на Вас. Давно искал человека, который это писал. Поделюсь вот какой информацией: я ездил с двумя барометрами в виде флэшки в термокембрике на нашу местную метеостанцию гомельского гидрометцентра и ставил рядом с их точным барометром свои барометры. Так вот вторые 2 барометра показывали так: один не дотягивал 0,1 hPa, второй 0,2 hPa. Первые 2 барометра не дотягивали 1,3 hPa. Почему так не знаю. Видимо от партии зависит. Но скажу по поводу последних двух: погрешность поверенного барометра на метеостанции +-0,33 hPa, а у меня один не дотягивал 0,1 hPa, второй не дотягивал 0,2 hPa. Так что тут можно поспорить чей же барометр точнее: или мой за $6 самые точные получились или их поверенный за $1500 пляшет в пределах своей погрешности в +-0,33 hPa. Так что я предлагаю Вам перезалить в тему, ссылка на которую в моём первом сообщении, исправленный исходник и исправленный скомпилированный файл. Их можете скачать по ссылке на моём сайте в предыдущем сообщении. И вопрос: а под Linux у вас есть скомпилированный? Тот хороший человек, который мне их делает, пользуется именно приложением под Linux и мне очень хочется проверить код на наличие ошибок в коэффициенте.
Этот коэффициент получается из следующей формулы гидростатики: p=grh, где p - давление столба жидкости (ртути в барометре) в Паскалях, g - ускорение свободного падения 9,80665 м/с2, r - плотность ртути при нуле Цельсия 13595,1 кг/м3 и h - высота столба жидкости (ртути в барометре) в метрах. Вот и получается, что произведение ускорения свободного падения на плотность ртути при нуле Цельсия - это и есть этот коэффициент 133322,387415. Только он пересчитывает паскали в метры ртутного столба, а нам нужно в миллиметры. поэтому коэффициент делим на 1000 и получаем 133,322387415. А для пересчёта из системной единицы измерения гектопаскалей (hPa) в миллиметры ртутного столба (мм рт.ст.) получаем коэффициент 1,33322387415.
Администратор запретил публиковать записи гостям.

Re: Исправлено приложение для барометра на BMP085 16 Сен 2014 17:05 #96

  • Adminhs
  • Adminhs аватар
  • Не в сети
  • Администратор
  • Сообщений: 7195
  • Спасибо получено: 1114
  • Репутация: 194
А чего меня искать, если утилита чтения датчиков с этого ресурса скачана ? ))
На счет линукса - там легко собирается под линукс командой make.. Но надо активировать i2с в линукс- про это я тут где-то писал как это делать. Готовую утилиту выкладывать смысла нет т.к. номер линии i2c необходимо задать в исходнике - а она может быть разная на разных компьютерах..
Основной канал проекта в Telegram t.me/wifi_iot
Последнее редактирование: 16 Сен 2014 17:09 от Adminhs.
Администратор запретил публиковать записи гостям.

Re: Исправлено приложение для барометра на BMP085 16 Сен 2014 17:17 #97

  • sinoptik
  • sinoptik аватар
  • Не в сети
  • Захожу иногда
  • Сообщений: 51
  • Спасибо получено: 1
  • Репутация: 3
Я то нагревал, то охлаждал датчик, и заметил, что при повышении температуры показания давления становятся выше, а при температуре выше +60 и вовсе наблюдается резкий скачок на 4 hPa, а при понижении температуры всё возвращается.

Хочу спросить вот что: почему при температуре ниже 0 по Цельсию датчик показывает вот что, смотрите выписку из лог файла:
23:40 Temperature 27.1 °C Pressure 1001.71 hPa

23:41 Temperature 26.5 °C Pressure 1001.69 hPa

23:42 Temperature 26.2 °C Pressure 1001.67 hPa

23:43 Temperature 54.8 °C Pressure 1001.69 hPa

23:44 Temperature 63.2 °C Pressure 1005.79 hPa

23:45 Temperature 41.2 °C Pressure 1002.09 hPa

23:46 Temperature 23.6 °C Pressure 1002.35 hPa

23:47 Temperature 5.8 °C Pressure 1002.18 hPa

23:48 Temperature 0.2 °C Pressure 1001.97 hPa

23:49 Temperature 429496727.9 °C Pressure 1001.71 hPa

23:50 Temperature 429496727.0 °C Pressure 1001.71 hPa

23:51 Temperature 429496726.6 °C Pressure 1001.45 hPa

23:52 Temperature 429496724.4 °C Pressure 1001.33 hPa

23:53 Temperature 429496723.6 °C Pressure 1001.31 hPa

23:54 Temperature 429496724.2 °C Pressure 1001.40 hPa

Почему так показывает температуру ниже нуля? Может там выбрана переменная положительного типа? Можно это переделать?
Последнее редактирование: 16 Сен 2014 17:28 от sinoptik.
Администратор запретил публиковать записи гостям.
  • Страница:
  • 1
  • 2
  • 3
  • 4
  • 5
  • ...
  • 9
Модераторы: FlyRouter, Dolfik
Время создания страницы: 0.146 секунд

Home`s Smart © 2013-2016. г.Киров.
Цитирование материалов возможно только со ссылкой на сайт. Использование фотоматериалов только с разрешения авторов.