微気圧計を製作する.    30th Jan.2022, 09th Feb.2022  15th July.2022 27th Aug.2022 Yoshio Okamoto

Making a precise barometer employing a Digital Barometric Air Pressure Sensor <DPS310>
with Arduino Uno + Raspberry Pi

※ 2022年7月現在,3個のDPS310を用いた比較観測などを始めています.また既存の水銀気圧計,AMeDAS公開データ,携帯自記気圧計「おん どとり」,iPhone内蔵の気圧センサなどとの比較も行っています.それらは8月22日から島根で開かれる日本地学教育学会で発表予定です.

上記島根大会の日本語ポスターの原稿です.ご参考に.
http://www.yossi-okamoto.net/2022_Matsue/GeoSciEd9_Barometer_Poster_J_final.pdf
(日変化のDailyがDairy,牛乳屋になっていますが,ご了承を)

ただ現在はさらに小型のM5Stackを用いた機材(下写真)に開発をシフトしています.
こちらについてはしかるべき発表をしたあとに,紹介を公開するつもりです.今しばらくお待ち下さい.



08-19 M5Stackに興味を持たれた方への,プログラム指南
M5Stackのプログラムの現状は次のサイトで解説のある2種類の手法があります.私はArduinoIDEを用いていますが,UIFlowも面白そうです.
https://burariweb.info/electronic-work/m5stickc-uiflow-setting.html
現在FaceBookのM5Stack User Groupに入れていただいて色々と教えてもらっている最中です.このデバイスは本当に凄いです!今までの計測器をすべて手のひらサイズに収める可能性があります.もちろん野外で使うためです.

07-25現在 ようやく,リアルタイムの気圧,気温の表示(グラフは気圧のみ)と
SDカードへの記録保存ができるようになりました!下記のAmbientへのデータ送付はオプションとしました.


観測の様子は下記動画で
The working video is

https://youtu.be/VZW5SJhE7mE


動画のサムネイル: M5Stack DPS10 Micro-Barometer

M5StackでArduinoIDEを使うにはメニューのtoolsからManageLibrariesを選択.あらかじめM5Stackライブラリをインストールしておく必要がある.
To use ArduinoIDE with M5Stack, select "ManageLibraries" from the "Tools" menu. M5Stack libraries must be installed beforehand.


ArduinoIDE におけるBoardとシリアルポートの設定(Linux版での設定,WindowsだとPortがcom3とかcom5とかになる)
Board and serial port designation in ArduinoIDE




このサイズで,すでに下記の微気圧計の製作記事で述べたRasPi+Arduinoを用いたキットと同等の性能を持っているから驚く.
My micro-barometer using M5Stack and DPS310 sensor. It also send the data via wifi socket to the following free visualize-data service in order to show graph plots.
Unfortunately, this site now in Japanese only.


2022-07-17 Program製作ノート公開


30th Jan.2022
トンガの噴火で世界に広がった空振の記録が,各所の気圧計で録られて話題になっています.
そこで,次のどこかの火山の噴火に対処できるように,微気圧計を製作しました.
最近はとても高感度の微気圧センサが安価に販売されているようです.ここで使用したのは
DPS310というセンサです.私は下記から入手しました.
https://www.marutsu.co.jp/pc/i/1631558/
幾つか同様のセンサがあるようなので探し見てください.なおこのセンサを用いた気圧計の製作記事はネットをくまなく探しました,私には見つかりませんでした(その後,オンラインで参加した幕張のJpGU2022で,幾つか紹介されていたそうです).
そこでこの記事を公開します.下の写真でご紹介しますが,ほんの10cmセンサを上げ下げしただけでも,気圧変化を捉えることができる優れものです.
もちろん絶対気圧計として用いるためには,水銀気圧計などでの較正が必要となりますが.

15th July 2022
MEMSダイヤフラム型半導体気圧センサのうち,数が多い圧電型(ピエゾ抵抗型)と本機のような静電容量型の違いのわかりやすい説明
https://product.tdk.com/ja/techlibrary/productoverview/barometric-pressure-sensors_icp101.html
https://www.jstage.jst.go.jp/article/sicejl1962/45/4/45_4_302/_pdf
http://www.daiichikeiki.co.jp/pressure/pressure_p04.html
YouTube動画
https://www.youtube.com/watch?v=H__jtDACFFo&t=1s

2022-02-01 Processing code を公開(最下段)

<日本語の参考にしたサイト,特にセンサ・信号処理関係>
https://www.macnica.co.jp/business/semiconductor/articles/infineon/129261/
https://garretlab.web.fc2.com/arduino/introduction/input_and_output/i2c/
https://nobita-rx7.hatenablog.com/entry/28248811
https://www.switch-science.com/catalog/6286/
https://garretlab.web.fc2.com/arduino_guide/libraries/

なお,身近な材料で作るアナログ「微気圧計」の製作記事は以下にもあります(日本の皆様むけ).
http://www.ricen.hokkaido-c.ed.jp/ht/240chigaku_jikken/24016kiatu/kiatukei.html
https://epa.desc.okayama-u.ac.jp/~metexp/2020/doc/thingstobring.pdf
https://www.metsoc.jp/tenki/pdf/2007/2007_03_0019.pdf(やや専門的)

なお,微気圧計(Microbarometer)ネットは元々,空中の核実験探査の目的で計画されたと英語版Wikiにありました.世界標準地震観測網(WWSSN)との類似が興味深いですね.

From Wikipedia -----------------------------------

Microbarometers are sensitive barometers that can measure air pressure with high precision. Microbarometers typically have a resolution of microbars (μbar) or pascals (Pa), while ordinary barometers can only resolve in hectopascals (hPa) or millibars (mbar). Recording microbarometers, or microbarographs, distributed around the world are planned to be used to monitor compliance with the Comprehensive Nuclear-Test-Ban Treaty (upon entry into force) by detecting the infrasound signature of a nuclear explosion, which can propagate for very long distances. By analyzing the data received at several of these monitoring stations, the location and yield of the explosion can be determined.

A microbarometer used as a pressure altimeter would be able to resolve altitude differences on the order of centimeters, but for the presence of infrasonic noise such as microbaroms.

------------------------------------------

それでは製作の方法を拙い英語で綴ります.

Purpose of the barometer

As you know, during the huge eruption from Hunga Tonga underwater volcano, a successive atmospheric shock waves traveled on the whole earth.
Some weather station caught this waves as sudden atmospheric pressure changes.
So, here, we are developing a precise-barometer using a cheap high sensitive sensor DPS310 with Arduino + Rasspberry Pi as a logging system for recording such atmospheric phenomena.

Cf. The microbarometer (or microvbarograph) was planned for detecting nuclear test;

Recording microbarometers, or microbarographs, distributed around the world are planned to be used to monitor compliance with the Comprehensive Nuclear-Test-Ban Treaty (upon entry into force) by detecting the infrasound signature of a nuclear explosion, which can propagate for very long distances. By analyzing the data received at several of these monitoring stations, the location and yield of the explosion can be determined. by Wikipedea

<Reference site>
https://github.com/Infineon/DPS310-Pressure-Sensor/tree/dps310/examples
https://www.infineon.com/cms/en/product/sensor/pressure-sensors/pressure-sensors-for-iot/dps310/

Processing code for Raspberry Pi Linux is now available in the bottom of this page (2022-02-01)

1. Materials


i) DPS310 sensor
https://www.infineon.com/cms/jp/product/sensor/pressure-sensors/pressure-sensors-for-iot/dps310/



Some seller treat this board,
https://jp.seeedstudio.com/Grove-High-Precision-Barometer-Sensor-DPS310-p-4397.html
 

ii) Softwares: example programs for Arduino are available from GitHub
https://github.com/Infineon/DPS310-Pressure-Sensor/tree/dps310/examples
provided by Infineon Technologies

Or, you can get them simply from Arduono IDE Ver1.8X tools tag and use their library manager by searching DPS310.




We use a sketch of modifying i2c_command for Arduino Uno.

3) Arduino Uno

4) Breadboard and wiring

5) Raspberry Pi 3B

2. Assembly with photos
Here is a photo of my prototype. Plastic holders are made using a 3D printer.



More simplified one



Test logging



The step signals are up and down the sensor at 2m high and low, also spike noises are opening and closing the door of my room. More slow trending atmospheric pressure changes are recorded.

Display with Raspberry Pi, time marks are 1 minute each. (The Upper is the lower air pressure)



Another example: a cold-front was passing on 2022-02-01




final monitor display (a strong windy night by a cold wave) with a pressure scale (Upper is high pressure, 5 Hz sampling, time marks show one minute, full monitoring time is one hour)



Also very calm night




3. Logging Software

The handling software provided by Infineon Technologies are found on GitHub or by library manager built in Arduino IDE.

Now, I modified it as follows to use Arduino IDE only. Because Arduino IDE has a function to show data via serial monitor.
But you can use the following program with a logging software written in Processing can run on Raspverry Pi. 
The Processing program is available at yhr bottom of this page.

For Arduino IDE (Please comment out // delay(100); with using Processing)
// Pascal ino modified from the original scktchs "i2c_command" provided by Infineon Technologies
// prog. by Yoshio Okamoto 2022-01-29  

#include <Dps310.h>

Dps310 Dps310PressureSensor = Dps310();

void setup()
{
  Serial.begin(9600);
  while (!Serial);

  Dps310PressureSensor.begin(Wire);

  Serial.println("Init complete!");
}

void loop()
{
  float temperature;
  float pressure;
  uint8_t oversampling = 7;
  int16_t ret;
 
//  Serial.println();
//  if ( Serial.available() > 0 ) {
    ret = Dps310PressureSensor.measurePressureOnce(pressure, oversampling);
    if (ret != 0)
    {
      Serial.print("FAIL! ret = ");
      Serial.println(ret);
    }
    else
    {
    //  Serial.print("Pressure: ");
      Serial.println(pressure);
    //  Serial.println(" Pascal");
    }
  delay(100);           // This is for Arduino use only with serial monitor. If you use Processing for signal transfer, you should comment out this line. 
}

Logging software For Processing
https://processing.org/

Here is a preliminary version 0.9 (No Warranty!) on 2022-02-01

Pascal_2.pde



Copyright(c) by Y.Okamoto 2022, All rights reserved.