Перейти к содержанию
    

Всем доброго дня!

Нужна помощь в разработке высотомера на PIC.

Есть в наличии pic16f877a и датчик давления mpxh6115a.

Диапазон измерения датчика от 15 до 115 кПа., на выходе от 0,2 до 4,7 в., чувствительность 0,045 в./кПа

Из барометрической формулы Р=101,325ехр(-0,00012h) получается что на один метр приходится примерно 0,01216 кПа.

И выходит что изменение на давления на метр, на выходе датчика изменится значение на 0,0005472 в.

На борту PIC имеется 10 битный АЦП. Хватит ли разрядности имеющегося АЦП или нужно использовать 16 битный АЦП?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем доброго дня!

Нужна помощь в разработке высотомера на PIC.

Есть в наличии pic16f877a и датчик давления mpxh6115a.

Диапазон измерения датчика от 15 до 115 кПа., на выходе от 0,2 до 4,7 в., чувствительность 0,045 в./кПа

Из барометрической формулы Р=101,325ехр(-0,00012h) получается что на один метр приходится примерно 0,01216 кПа.

И выходит что изменение на давления на метр, на выходе датчика изменится значение на 0,0005472 в.

На борту PIC имеется 10 битный АЦП. Хватит ли разрядности имеющегося АЦП или нужно использовать 16 битный АЦП?

 

Тут и 8-ми разрядного может хватить, вопрос в том, насколько точен Ваш датчик и какая дискретность результата нужна?

P.S. 16-ти разрядный АЦП не имеет смысла использовать при грубых условиях измерения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нужно получить точность измерения в один метр...

Изменено пользователем Pathfinder7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Точность в 1 метр

Простите меня за грубость. Не принимайте всерьез, но просто не могу удержаться. Бывает чепуха относительная и чепуха абсолютная.

1 метр по барометрическому давлению - пример чепухи абсолютной. Поставьте на подоконник бытовой барометр и понаблюдайте сутки. Неужели подоконник метров на 50 или более за день подпрыгивает?

Из-за слепой веры в барометр разбился не один десяток самолетов.

По-нормальному и 8 разрядов АЦП достаточно для высотомера, точнее он все равно высоту по давлению не определит.

Часто встречающаяся трудность у программистов - не видят разницы меж точностью и разрешающей способностью измерителя.

Основы метрологии полистать нужно.

Даже если Вы каким-то чудом на своем ПИКе обработаете 5 мкВ, достоверность этих показаний - никакая. Для кой-какой достоверности Вам нужен на земле сравнительный, опорный датчик на известной высоте в подполетной точке.

И то, давление будет от погоды меняться. Оно и на берегу моря меняется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Измерения будут проводится в какой то один момент времени опираясь на данные температуры и давление над уровнем моря от погодных станций в определенной местности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Измерения будут проводится в какой то один момент времени опираясь на данные температуры и давление над уровнем моря от погодных станций в определенной местности.

Может, с gps модуля снимать готовую величину? хотя, я про точность не знаю.

 

PS Ну вот почему именно 1 метр? а жили бы в xxx, захотели бы 1 фут? (но это так, про любовь к круглым числам в ТЗ)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо, если отойти от давления и высоты. Как реализовать соединение данного датчика с pic16f877a ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо, если отойти от давления и высоты. Как реализовать соединение данного датчика с pic16f877a ?

Как? Проводами, наверное... Только пропустить через нормирующий усилитель, чтобы ноль шкалы выставить. Согласовать шкалу датчика со шкалой АЦП.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может, с gps модуля снимать готовую величину? хотя, я про точность не знаю.

±десяток-другой метров (зависит от типа приёмника). Это если дешево делать, за 10-20 $.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как? Проводами, наверное... Только пропустить через нормирующий усилитель, чтобы ноль шкалы выставить. Согласовать шкалу датчика со шкалой АЦП.

Это понятно, что проводами...

Как преобразовать от 0,2 до 4,7 в. с шагом в 0,045 в. имеющимся 10 битным АЦП pic16f877a ?

Разрешения 10 битного АЦП не хватает, что бы увидеть изменение в 0,045 в.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это понятно, что проводами...

Как преобразовать от 0,2 до 4,7 в. с шагом в 0,045 в. имеющимся 10 битным АЦП pic16f877a ?

Разрешения 10 битного АЦП не хватает, что бы увидеть изменение в 0,045 в.

5 милливольт - обычное разрешение "пикового" АЦП. В качестве опоры берете землю и +5V питание.

В этот диапазон как раз укладывается ваш барометр. Теперь делим 5 вольт на 1024 и получаем

5 милливольт - цена деления в вашем приборе на базе данного ПИКа.

Т.е. разрешающая способность порядка 10 метров вам вполне доступна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это понятно, что проводами...

Как преобразовать от 0,2 до 4,7 в. с шагом в 0,045 в. имеющимся 10 битным АЦП pic16f877a ?

Разрешения 10 битного АЦП не хватает, что бы увидеть изменение в 0,045 в.

Ну как преобразовать...

Вы упростите себе задачу Считайте что датчик выдает не от 0.2 до 4.7 вольта, а то минус 3 до плюс 15. Как бы Вы решали задачу в таком случае?

Сведете минус три - плюс 15 к диапазону 0-5 вольт (диапазон АЦП) тогда свести 0.2-4.7вольта - заурядная проблема.

масштабирующий усилитель. Y=кх+b.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так вроде ж есть готовые модули барометров...

Прямо вот сейчас юзаю барометр на датчике давления BOSH BMP085.

Точность измерения 1 единица = 5 см высоты. Для улучшения точности использовал усреднение последних 32 показаний.

 

Например датчик выдаёт 98355 Pa находясь на столе.

Перемещаю датчик на пол (-50см) - показания 98365 Pa (+10 Pa)

Перемещаю на стол - снова 98355 Pa

Поднимаю над столом на 50см - показания 98345 Pa (-10 Pa)

Снова на стол - снова 98355 Pa. Повторяемость показаний хорошая.

Датчик стоит в Украине 90 грн (в Космодроме например). Интерфейс I2C. Питание 1.8-3.6v. Ток потребления 12 мка.

 

Датчик использует при расчёте давления также и температуру самого датчика (в нём измеряется и t и давление). Для температуры выдаёт 16 битное значение, и для давления - 19 битное значение.

 

Но! В течение дня давление изменяется на, примерно, 150 Pa (т.е. примерно на 7.5 метров). Конкретно сегодня утром было 98380 Pa, а сейчас вечером 98230 Pa. В мм/рт.столба это будет 737.9мм, и 736.8мм соответственно. Тут видно, что показания гидрометцентра для такой цели не очень годятся, т.к. разница давлений в 1.1мм/рт.столба = 165 Pa = 8,2 метра высоты. По гидрометцентру мерить может и не получиться.

 

Ночью давление больше, а днём меньше. Ещё давление существенно изменяется при перемене погоды (циклоны и антициклоны - разность давлений между ними как перепад сразу за несколько дней).

Чтоб использовать датчик как высотомер, нужно знать давление на уровне земли в данный конкретный момент. Т.к. показания изменяются даже при перемене ветра, или заслонении солнышка тучкой. Так что датчиков наверное надо 2. Один на земле, а другим меряем высоту (высчитывая разность между первым и вторым датчиком).

Изменено пользователем controller_m30

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так что датчиков наверное надо 2. Один на земле, а другим меряем высоту (высчитывая разность между первым и вторым датчиком).

Для точного измерения ещё больше. Поскольку температура также сильно меняется с высотой и может как понижатся (чаще) так и повышатся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для точного измерения ещё больше. Поскольку температура также сильно меняется с высотой и может как понижатся (чаще) так и повышатся.
Если датчиком автора - то да, надо несколько датчиков, и разных.

В BMP085 температура учитывается при расчёте. Например мой барометр показывает 98380 Pa и температуру 26.3 градуса. Я берусь рукой за датчик, и температура начинает расти: 27, 28, 29...34, 35 градусов. Но давление как было 98380 Pa - так и осталось. Т.е. датчик вносит поправку на изменение температуры.

А для простого датчика давления нужно мостить датчик температуры, чтоб корректировать погрешность из-за расширения (сужения) материала корпуса, мембраны, проводов...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...