Электронный высотомер

В предыдущих статьях мы научились измерять атмосферное  давление и температуру. 


Давайте не будем останавливаться на достигнутом, и изготовим электронный барометрический высотомер. Вообще высота бывает разная. Для летательных объектов это может быть: высота от поверхности земли под объектом, так называемая истинная высота, высота от какого-то условного уровня - относительная высота, от уровня моря - абсолютная высота и от уровня который соответствует стандартному атмосферному давлению 760мм.рт.ст.
Барометрический метод основан на изменении давления с высотой. Для определения давления на высоте существует барометрическая формула:

P=P0exp[-Mg(h-h0)/RT]

Преобразуя эту формулу для высоты, получим:

h=h0+RTln(P0/P)/Mg

здесь P0 - давление на условном уровне, P - давление на нашей высоте, R - универсальная газовая постоянная (8.31 Дж/(моль*К)), Т - абсолютная температура на нашей высоте, g - 9.8м/с2. Т.е. для того чтобы определить высоту места где мы находимся нам нужно знать давление P0 на какой-то начальной высоте h0, давление и температуру (в Кельвинах) на нашей высоте. Будем считать что мы измеряем относительно уровня моря и давление на уровне моря составляет 760мм.рт.ст. Таким образом нам остается измерить давление и температуру в месте где мы находимся, а это мы умеем.
В данном случае мне не особо была важна точность, т.к. измерения этим прибором проводил на 3-4тыс.м, а там бы мне подошла точность и 50мsmile. Схема имеет следующий вид
Собираем вместе программы из предыдущих статей (давлениетемпература) для измерения давления и температуры, добавляем расчет высоты, а результат выводим на экран (исходник можно скачать в конце статьи). Не буду приводить здесь никаких функций, т.к. все рассматривались в предыдущих статьях. Покажу только формулу, которая используется в программе для расчета высоты

//Высота
high=(29.274*(temp+273))*log(p0/(p*1000));//R=8.31, M=28.966g/cm3, g=9.8m/s2, p0 = 101325Pa

Если по пунктам, то в программе мы делаем следующее:
  1. Инициализация
  2. Измеряем давление
  3. Измеряем температуру
  4. По полученным данным высчитываем высоту
  5. Все данные выводим на экран
  6. Начинаем снова с п.2.
Точность измерения высоты данным способом составляет 8-9м.  Конечно же, нужно учитывать что давление при разных погодных условиях, даже на одной высоте, может сильно отличаться от нормального. Поэтому бо'льшая точность нужна только если вы измеряете относительную высоту. В этом году планирую сделать измерение высоты точнее и чтобы была возможность измерять давление от заданного уровня (относительную высоту). Все ж таки интересно какой перепад высот проходится за деньsmile. Поэтому появится еще усовершенствованный прибор.
В любом случае этот прибор уже не сравниться по размерам с теми ламповыми высотомерами, которые были в прошлом веке. Хотя на электронных лампах можно сделать и сегодня много интересных и качественных устройств.

Комментариев: 1 RSS

1 Ivan_1985 18-04-2012 02:43

Привет, Дмитрий smile

У меня возникла такая проблема.. Я создаю в Proteus ISIS вышеуказанную схему, но вот только на выводе на LCD-дисплейчик параметр t (температура) всегда равен нулю, независимо от настроек датчика температуры. Подскажите, пожалуйста, как исправить?

Мой проект: http://www.rapidshare.ru/2812494

Скрин схемы:

[URL=http://s2.ipicture.ru/Gallery/Viewfull/9998151.html][IMG]http://s2.ipicture.ru/uploads/20120417/thumbs/kiinDCAT.png[/IMG][/URL]

Заранее премного благодарен smile

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)