アナログセンサーを用いた気圧計、高度計です。
気圧がわかると、高度も推定することができます。ほとんどの高度計はこの原理を利用しています。
MPS-2407は半導体圧力センサーです。
圧力差による応力をピエゾ抵抗の変化に変換します。真空を基準にしています。
変化は微小であるため、ホイートストン・ブリッジの出力電圧(V1-V2)として取り出します。
大気圧に比例した出力電圧を得られます。
ブリッジ抵抗Rbは5KΩ前後で変化します。
ホイートストン・ブリッジ駆動電流=1mA(In+,In-間)のとき、1気圧=101325[Pa]の差動出力電圧は170mV前後です。駆動電流が小さいと出力電圧も小さくなります。
センサーのオフセット電圧は±25mVです。つまりオフセット誤差があります。
国際民間航空機関(ICAO)が定めた標準大気モデルがあります。
対流圏(高度11km以下)においてこの大気モデルは実際とよく合います。
乾燥気体は理想気体とみなすことができます。
理想気体においてはボイル・シャルルの法則を適用できます。
ところで1[km]の高度差における気温差は6.5[C]です。
もし高精度で気温を測定できれば、高度を推定することができます(海面気温T0=15[C]と想定)。
しかし高度1[m]の気温差は0.0065[C]ですので、1[m]の分解能を得るためには小数点以下4桁の気温精度が必要です。
これは事実上不可能ですので、ボイル・シャルルの法則を利用し、気圧から高度を推定します。
標準大気モデルは海面気温T0=15[C]、海面気圧P0=101325[Pa]を想定しています。
現在地気温T[K]から海面気温T0[K]の推定式(1)
現在地気圧P[Pa]から高度h[m]の推定式(2)
(1)と(2)の連立方程式を解くと現在地気圧P[Pa]と現在地気温T[K]から高度h[m]を導くことができます。
定数は以下のとおりです。
表示 LCD表示 分解能 大気圧7[Pa], 高度0.58[m] 精度 大気圧 ±50程度[Pa], 高度±1程度[m]、較正精度に依存。気象影響を除く。 電源 単三 x2 消費電流 6mA 電池寿命 2000mAH/6mA=333hour
- 3.3V電源で統一します。
- 持ち運び可能とするため電池駆動とします。精度向上のため、3.3Vレギュレータ使用が望ましいでしょう。
- 3.3V電源では液晶のコントラスト不足のため、コッククロフト回路でマイナス電源を供給します。
- AN0は電池電圧のモニター用です。
- ホイートストン・ブリッジ駆動電流は3.3V/5K=0.66mAです。これにより差動出力電圧は170mV*0.66mA/1mA=112mVに減少します。
- 圧力電圧を高精度で取り込む必要があるため、16ビットA/D変換精度のMCP3422を利用します。1/2/4/8倍のアンプも内蔵しています。
- MCP3422とはI2C接続です。
- 電圧分解能は2.048/8/32767=7.813[uV]です。これは101325*(7.813[uV]/112[mV])=7.068[Pa]に相当します。
- 7.068[Pa]は高度0[m]付近では0.58[m]に相当します。
- 高度計算のために浮動小数点演算を必要とするため、プログラム容量の大きいPIC16F1000シリーズを利用します。
- ピン数の少ないPIC16F1825はまだ出荷されていないため、入手可能なPIC16F1938としました。
値 数 備考 PIC16F1938 1 IC1 マイクロチップ(秋月) MCP3422 1 IC2 A/Dコンバータ、マイクロチップ(サンプル) MPS-2407 1 IC3 圧力センサー(秋月) MCP9700 1 IC4 温度センサー、マイクロチップ(秋月) SD1602 1 LCD1 キャラクタLCD, 16桁x2行(秋月) HT7733A 1 R0 DCDCコンバータ(秋月) 4.7K 2 R1,R2 カーボン皮膜抵抗1/4W 0.01uF 2 C1,C2 積層セラミックコンデンサ 0.1uF 2 C5,C6 積層セラミックコンデンサ 47uF 2 C3,C4 縦型電解コンデンサ(耐圧16V) 1N4148 2 D1,D2 汎用ダイオード(秋月) 1S4 1 D3 ショットキーバリアダイオード(秋月) 47uH 1 L1 インダクター, TDK
気象の影響について(気象条件が与える気圧変動)
- 標準大気モデルは海面気温=15[C]、海面気圧=101325[Pa]と想定しているため、 この想定の崩れるような気象条件では高度推定に影響を及ぼします。
- 海面気温の影響は現地気温で考慮されており、夏場と冬場の気温変動は考慮されています。
- しかし海面気圧の変動は考慮されていません。
- 年間の通常気圧変動は1000hPaから1025hPaに収まっており、比較的安定しています。
- この変動による地上付近の高度換算誤差は約±100[m]に相当します。
- 台風で海面気圧=960[hPa]となれば、地上付近の高度換算誤差は約450[m]と非常に大きいものになります。
いずれにしても気象変動により±100[m]前後の誤差を生じます。
- また、標準大気モデルは乾燥空気を想定しているため、雨天など湿度の高いときに誤差を生じます。
- 湿度の上昇により、大気の平均分子量が重くなるため、気体定数に影響を及ぼすためです。
- 2011-09-21 台風15号(中心気圧955hPa)が上陸しました。
- ちょうどよい機会ですので、気圧を計測しました。
- 通過中の最低気圧は96572.25Paでした。精度がいいようです。
- このときの高度値は423.86mで、約370mの誤差となりました。気象による影響も計算どおりです。
- MPLAB IDEとHI-TECH Cで開発しました。
- PIC16F1000シリーズはI2Cモジュールを内蔵していますが、ライブラリがないため自作しました。I2Cマスター制御は慣れるまでに時間がかかります。
- 温度センサーMCP9700の誤差は±4Cあるため、補正処理をして±0.1Cにしました。(AN1001参照)
- 気圧センサーMPS-2407の温度係数は定電圧源のとき-0.21%/C(213Pa/C相当)あり、この補正処理を追加しました。
- 気圧の精度を表示するために、doubleのサイズを24ビットから32ビットに変更してコンパイルしました。変更しないと6桁程度の精度しか計算されず、小数点以下が0に固定されます。
- 気圧較正は、気象庁の気圧データと現在地の高度、気温から、101325Pa at 20Cの電圧値を較正することで行いました。
- アナログセンサーとはいえ、かなり精度よく計測できるようです。
- 気圧は常時50Pa前後変動します。上位4桁は安定しており、hPa単位の精度はあるようです。例えば、1013hPa表示は正しいようです。
- 高度も常時変動します。m単位で安定しています。ただし、高気圧のときは高度をマイナス表示します。例えば、1020hPa時には-50mと表示されます。気象変動は予想通りです。
- 気温はかなりの精度があり、小数点以下2桁まで安定しています。
水ヶ塚公園(C)2011 All rights reserved by Y.Onodera.五合目駐車場
GPS MPS-2407 MPL115PA2 SCP1000 1460.10m 1429.72m 1393.36m 1442.42m - 86013.22Pa 85994.62Pa 85812.87Pa - 20.29C 12.48C 18.20C
GPS MPS-2407 MPL115PA2 SCP1000 2388.00m 2293.45m 2290.58m 2134.99m - 77630.51Pa 77207.23Pa 78901.00Pa - 13.67C 7.43C 11.80C
- 富士山スカイラインでの標高テストです。(2011-07-15、晴れ)
- MPL115PA2は気温誤差が大きいようです。補正が必要です。
- デジタルよりもアナログのMPS-2407の方が精度が高いようです。
- 理論どおりの気圧と標高の関係があることを確認できました。