Skip to main content

Grove-VOCおよびeCO2ガスセンサー(SGP30)

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

pir

Grove-VOCおよびeCO2ガスセンサー(SGP30)は、空気品質を検出するセンサーです。このGroveモジュールはSGP30をベースにしており、TVOC(総揮発性有機化合物)およびCO2eqの出力を提供します。

SGP30は、空気清浄機、需要制御換気、およびIoTアプリケーションへの簡単な統合を目的としたデジタルマルチピクセルガスセンサーです。SensirionのCMOSens®技術は、デジタルI2Cインターフェース、温度制御マイクロホットプレート、および2つの事前処理された室内空気品質信号を備えた単一チップ上の完全なセンサーシステムを提供します。複数のセンサー要素を1つのチップに搭載した初の金属酸化物ガスセンサーとして、SGP30は空気品質に関するより詳細な情報を提供します。

tip

Seeed Gas Sensor Selection Guideを公開しました。このガイドは、あなたのニーズに最適なガスセンサーを選ぶのに役立ちます。

産業用センサーへのアップグレード可能

SenseCAP S2110コントローラーおよびS2100データロガーを使用することで、Groveを簡単にLoRaWAN®センサーに変えることができます。Seeedはプロトタイピングを支援するだけでなく、SenseCAPシリーズの堅牢な産業用センサーを使用してプロジェクトを拡張する可能性も提供します。

SenseCAP S210xシリーズの産業用センサーは、環境センシングのための即時使用可能な体験を提供します。空気品質モニタリングのための高性能で堅牢なS2103ワイヤレスCO2、温度、湿度センサーをご参照ください。このシリーズには、土壌水分、空気温度と湿度、光強度、CO2、EC、および8-in-1気象ステーション用のセンサーが含まれています。次の成功する産業プロジェクトのために最新のSenseCAP S210xをお試しください。

SenseCAP 産業用センサー
S2103 空気温度 & 湿度 & CO2

特徴

  • 室内空気質アプリケーション向けのマルチピクセルガスセンサー
  • 優れた長期安定性
  • TVOCおよびCO2eq出力信号を備えたI2Cインターフェース
  • 低消費電力
  • チップモジュールはテープ&リールでパッケージ化され、リフローはんだ付け可能

仕様

>
パラメータ信号
動作電圧 3.3V/5V
出力範囲TVOC 0 ppb ~ 60000 ppb
CO₂eq 400 ppm ~ 60000 ppm
サンプリング レートTVOC1HZ
CO₂eq1HZ
解像度TVOC0 ~ 2008 ppb / 1 ppb
2008 ~ 11110 ppb / 6 ppb
11110 ~ 60000 ppb / 32 ppb
CO₂eq400 ~ 1479 ppm / 1 ppm
1479 ~ 5144 ppm / 3 ppm
5144 ~ 17597 ppm / 9 ppm
17597 ~ 60000 ppm / 31 ppm
デフォルトI2Cアドレス0X58

応用例

  • 空気清浄機
  • 需要制御型換気
  • IoTアプリケーション
  • 新築住宅の空気状態モニタリング

ハードウェア概要

ピンマップ

pir

回路図

電源

pir

SGP30の標準動作電圧は1.8Vです。安定した3.3VをMCP9600に供給するために、電源変換チップ XC6206P182MR を使用しています。

双方向レベルシフター回路

pir

これは、I2Cバスの異なる電圧セクションを接続するための典型的な双方向レベルシフター回路です。このセンサーのI2Cバスは1.8Vを使用しますが、ArduinoのI2Cバスが5Vまたは3.3Vを使用する場合、この回路が必要になります。上記の回路図では、Q7Q8はNチャネルMOSFET BSS138LT3Gで、双方向スイッチとして機能します。この部分をよりよく理解するために、AN10441を参照してください。

対応プラットフォーム

ArduinoRaspberry Pi

pir

pir

caution
上記で対応プラットフォームとして挙げられているものは、モジュールのハードウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム向けのソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォーム向けにソフトウェアライブラリやデモコードを提供することはできません。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。

はじめに

note
Arduinoを初めて使用する場合は、開始前に[Arduinoの使い方](https://wiki.seeedstudio.com/ja/Getting_Started_with_Arduino/)をご覧になることを強くお勧めします。

Arduinoで遊ぶ

ハードウェア

必要な材料

Seeeduino V4.2ベースシールドGrove-VOCおよびeCO2ガスセンサー(SGP30)

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
note
**1** USBケーブルを優しく差し込んでください。そうしないとポートが損傷する可能性があります。内部に4本のワイヤーがあるUSBケーブルを使用してください。2本のワイヤーしかないケーブルではデータを転送できません。お持ちのケーブルが不明な場合は、[こちら](https://www.seeedstudio.com/Micro-USB-Cable-48cm-p-1475.html)をクリックして購入できます。

**2** Groveモジュールは購入時にGroveケーブルが付属しています。Groveケーブルを紛失した場合は、[こちら](https://www.seeedstudio.com/Grove-Universal-4-Pin-Buckled-20cm-Cable-%285-PCs-pack%29-p-936.html)をクリックして購入できます。
  • ステップ1. Grove-VOCおよびeCO2ガスセンサー(SGP30)をGrove-Base ShieldのI2Cポートに接続します。

  • ステップ2. Grove-Base ShieldをSeeeduinoに差し込みます。

  • ステップ3. USBケーブルを使用してSeeeduinoをPCに接続します。

pir

note
Grove Base Shieldがない場合でも、以下のようにGrove-VOCおよびeCO2ガスセンサー(SGP30)をSeeeduinoに直接接続することができます。
SeeeduinoGrove-VOCおよびeCO2ガスセンサー(SGP30)
5V
GND
SDA
SCL

ソフトウェア

  • ステップ1. Seeed SGP30ライブラリをGithubからダウンロードします。

  • ステップ2. ライブラリのインストール方法を参照して、Arduino用のライブラリをインストールします。

  • ステップ3. ダウンロードしたSGP30_Gas_Sensor-master.zipを解凍すると、examplesフォルダ内に3つのサブフォルダが表示されます。

pir

absolute_humidity_exampleは外部湿度センサーのキャリブレーションが必要です。

base_exampleはキャリブレーションなしでデータを単純に収集します。

baseline_operation_exampleはデータベース値をフラッシュに保存できます。このソフトウェアは自動的にベース値を収集し、それを保存します。

baseline_operation_exampleを使用することをお勧めします。その後、xxx.inoファイルをクリックして例を開きます。

  • ステップ4. デモをアップロードします。コードのアップロード方法がわからない場合は、コードのアップロード方法を確認してください。

  • ステップ5. Arduino IDEのシリアルモニターを開きます。ツール->シリアルモニターをクリックするか、++ctrl+shift+m++キーを同時に押します。すべてが正常に動作していれば、結果が表示されます。

結果は以下のようになります:

318
tVOC 濃度:74ppb
CO2eq 濃度:506ppm
319
tVOC 濃度:80ppb
CO2eq 濃度:509ppm
320
tVOC 濃度:66ppb
CO2eq 濃度:500ppm
321
tVOC 濃度:69ppb
CO2eq 濃度:511ppm
322
tVOC 濃度:70ppb
CO2eq 濃度:511ppm
323
tVOC 濃度:60ppb
CO2eq 濃度:493ppm
324
tVOC 濃度:72ppb
CO2eq 濃度:502ppm
tip
    1- ppm: 百万分率。1 ppm = 1000 ppb (十億分率)

2- 結果は`baseline_operation_example.ino`に基づいています。

3- このデモはオフィスルームでテストしました。テスト環境によって結果は異なる場合があります。

Raspberry Piで遊ぶ (Grove Base Hat for Raspberry Piを使用)

ハードウェア

  • ステップ1. このプロジェクトで使用するもの:
Raspberry PiGrove Base Hat for RasPiGrove-VOCおよびeCO2ガスセンサー(SGP30)

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ2. Grove Base HatをRaspberry Piに差し込みます。
  • ステップ3. Grove-VOCおよびeCO2ガスセンサー(SGP30)をBase HatのI2Cポートに接続します。
  • ステップ4. USBケーブルを使用してRaspberry PiをPCに接続します。

pir

ソフトウェア

note
 **Raspberry Pi OS >= Bullseye** を搭載した **Raspberry Pi** を使用している場合は、**Python3** のみでこのコマンドラインを使用する必要があります。
  • ステップ 1. ソフトウェアの設定 に従って開発環境を構成します。
  • ステップ 2. grove.py ライブラリをクローンしてソースファイルをダウンロードします。
cd ~
git clone https://github.com/Seeed-Studio/Seeed_Python_SGP30.git

  • ステップ 3. 以下のコマンドを実行してコードを実行します。
cd Seeed_Python_SGP30
sudo python3 setup.py install
cd examples
python3 sgp30_simpleread.py

エラー

いくつかのエラーが発生する可能性がありますが、心配する必要はありません。

エラーファイルのパスをコピーします。

pir

以下は例として表示されるパスです: “/usr/local/lib/python3.7/dist-packages/sgp30-0.1.6-py3.7.egg/sgp30"

"cd" コマンドを使用してそのパスに移動し、コンパイラを使用して "sgp30.py" のコードを変更します。例えば: “sudo nano sgp30.py”。

pir

2行目の "SMBusWrapper" を削除して保存します。

pir

“Seeed_Python_SGP30/examples” フォルダに戻り、"python3 sgp30_simpleread.py" を適用すると、すべてが正常に動作します。

以下は sgp30_simpleread.py のコードです。

import seeed_sgp30
from grove.i2c import Bus

sgp30 = seeed_sgp30.grove_sgp30(Bus())
while True:
data = sgp30.read_measurements()
co2_eq_ppm, tvoc_ppb = data.data
print("\r tVOC = {} ppb CO2eq = {} ".format(
tvoc_ppb, co2_eq_ppm))
tip
すべてが正常に動作すれば、以下のような結果が表示されます。

pi@raspberrypi:~/Seeed_Python_SGP30/examples $ python3 sgp30_simpleread.py
tVOC = 9 ppb CO2eq = 943
tVOC = 9 ppb CO2eq = 931
tVOC = 10 ppb CO2eq = 920
tVOC = 14 ppb CO2eq = 904
tVOC = 12 ppb CO2eq = 888
tVOC = 13 ppb CO2eq = 873
tVOC = 11 ppb CO2eq = 865
tVOC = 11 ppb CO2eq = 842
tVOC = 9 ppb CO2eq = 828
tVOC = 10 ppb CO2eq = 814
tVOC = 11 ppb CO2eq = 794
tVOC = 14 ppb CO2eq = 786
tVOC = 9 ppb CO2eq = 764
tVOC = 12 ppb CO2eq = 744
tVOC = 11 ppb CO2eq = 739
tVOC = 12 ppb CO2eq = 715
tVOC = 15 ppb CO2eq = 688
tVOC = 13 ppb CO2eq = 669

このプログラムを終了するには、++ctrl+c++ を押すだけです。

注意事項

  • SGP30は動的なベースライン補正アルゴリズムとオンチップキャリブレーションパラメータを使用して、2つの補完的な空気質信号を提供します。ベースラインはEEPROMに保存する必要があります。初回の電源投入時にEEPROMにベースライン値がない場合、またはベースライン記録が7日以上古い場合、センサーはベースラインを保存できるようになるまで12時間動作させる必要があります。以下のプログラムフローチャートを参照してください。

pir

  • H2_SignalとEthanol_signalの両方の信号を使用して、基準濃度 cref に対するガス濃度 c を次の式で計算できます:
    ln(C/Cref) = (Sref - Sout) / a
    ここで、a = 512、sref は基準濃度での H2_signal または Ethanol_signal の出力、sout は Sout_H2 または Sout_EthOH です。

  • より正確な測定を行うために、絶対湿度補正を設定することができます。デフォルト値は11.57g/m³です。ただし、SGP30には湿度測定部分が統合されていないため、環境の相対湿度値を別の方法で取得する必要があります。これは少し手間がかかります。

pir

幸いなことに、通常の状況ではそれほど必要ではありません。

回路図オンラインビューア

リソース

技術サポートと製品ディスカッション

弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルを用意しています。

Loading Comments...