工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

DIY空気品質モニター– PM2.5、CO2、VOC、オゾン、温度およびハムArduinoメーター

呼吸している空気の質について疑問に思ったことはありませんか。それとも、一晩中寝た後でも、オフィスで眠くなったり、朝に疲れたりすることがあるのはなぜですか。空気の質が悪いと、健康に悪影響を与えるだけでなく、倦怠感、頭痛、集中力の低下、心拍数の増加などを引き起こす可能性があります。空気の質を監視することは、実際にはあなたが思っているよりも重要かもしれません。したがって、このチュートリアルでは、PM2.5、CO2、VOC、オゾン、および温度と湿度を測定できる独自の空気品質モニターを作成する方法を学習します。

次のビデオを見るか、以下のチュートリアルを読むことができます。

概要

それぞれの空気質パラメータが私たちにどのように影響し、センサーがどのように機能するかを説明します。このプロジェクトの頭脳は、2.8インチのNextionタッチディスプレイと組み合わせて適切なユーザーインターフェイスを提供するArduinoProMiniボードです。

すべてのセンサーからの測定値をリアルタイムで確認できます。特定のセンサーをクリックすると、そのセンサーから過去24時間の値が取得されます。ディスプレイの明るさを下げたり、完全にオフにしたりできる調光機能もあります。これは、たとえば、夜間の寝室の空気の質を追跡する場合に便利です。

夜間は画面をオフにし、翌日は各センサーの値を個別に確認できます。

それでも、ここで、それを構築するプロセス全体を説明し、すべてがどのように機能するかを説明します。このビデオの最後に、自分で作成できるようになります。それでは、始めましょう。

PM2.5センサー– PMS5003

このデバイスには、4つの主要コンポーネントまたは空気品質センサーがあります。 PMS5003センサーを使用して、直径が約2.5ミクロンの空気中のPM2.5または粒子状物質を測定しています。粒子状物質は、肺、血流、脳の奥深くまで浸透し、多くの健康上の問題を引き起こす可能性があるため、大気汚染の最も有害な形態です。

このセンサーは、レーザー散乱の原理に基づいて動作します。センサーには、制御された気流を生成するファンがあり、環境粒子が集束されたレーザービームを通過します。

粒子は光散乱を引き起こし、フォトダイオードによって検出され、マイクロプロセッサの助けを借りてPM濃度に変換されます。このセンサーの結果は非常に信頼性が高く、PM2.5に沿ってPM1とPM10の値も出力できることがわかりました。

CO2センサー– MH-Z19

次に、MH-Z19センサーを使用してCO2または二酸化炭素を測定します。人々は呼吸中に二酸化炭素を排出するため、室内のCO2濃度は非常に高くなりがちです。 CO2は高濃度で危険であるだけでなく、眠気、倦怠感、生産性の低下などを引き起こす可能性があります。

センサーは、空気中のCO2を測定するために非分散型赤外線の原理を使用しています。赤外線源は、私たちが測定している空気で満たされたチューブを通して光を導きます。赤外線源の反対側には、通過するIR光の量を測定する光学フィルターとIR検出器があります。

私たちが測定している空気中に存在するCO2ガス分子は、特定の帯域のIR光を吸収し、いくつかの波長を通過させます。したがって、CO2レベルは、放出された光の量と検出器が受け取ったIR光の量の差に基づいて計算されます。このセンサーの結果も非常に正確です。

VOCおよびオゾンセンサー–MP503およびMQ-131

VOCとオゾンの測定には、MP503とMQ131ガスセンサーを使用しています。これらは加熱された金属酸化物センサーであり、それらの動作原理は、対象ガスの存在下での抵抗の変化を検出することに基づいています。

特定の電流が金属基板を通過し、存在するガスの量に応じて抵抗が変化します。

MQ131センサーのターゲットガスはオゾンだけです。これは、通常の家庭では、特定の空気清浄機、顔の蒸し器、紫外線を生成する殺菌灯などの製品によって生成される可能性があります。

一方、MP503センサーには、アルコール、煙、イソブタン、メタナールなど、複数のターゲットガスが含まれています。 VOCは揮発性有機化合物の略で、洗濯洗剤、クリーナー、芳香剤、塗料、化粧品など、私たちが日常的に使用している製品からの有機放出物です。 VOCは、頭痛、目の炎症、皮膚反応、めまいなど、多くの健康への悪影響を引き起こす可能性があります。

DIY Arduino空気品質モニター–回路図

それでも、ここで回路図を見て、すべてを接続する必要がある方法を説明しましょう。

このArduino空気品質モニターに必要なコンポーネントは、以下のリンクから入手できます。

  • PMS5003PMセンサー……………………。
  • MH-Z19CO2センサー……………………..
  • MQ-131オゾンセンサー…………………..
  • MP503VOCセンサー………………………。
  • DHT22温度およびハムセンサー…………。
  • Nextion 2.8″ディスプレイ……………………..
  • DS3231RTC…………………………………。
  • ArduinoProMini………………..……。…..
  • 距離/スペーサーナットM3……………
  • ミニUSBコネクタ……………………。
  • ピンヘッダー…………………………………。
  • 2ポジションスイッチ…………………………
  • コンデンサの値:0.1uFセラミックおよび10uF電解
  • トランジスタ– 2N3904
  • 切り替え

開示:これらはアフィリエイトリンクです。アマゾンアソシエイトとして、私は対象となる購入から稼ぎます。

正しい抵抗値:R1 =1K、R2 =2K、R6 =100Kまたは1M、R7 =1K

PM2.5センサーは、シリアルインターフェースを介してArduinoと通信します。 5Vで動作しますが、受信RXロジックレベルは3.3vで動作するため、分圧器が必要です。 CO2センサーとNextionディスプレイもシリアル通信を使用しています。 VOCおよびオゾンセンサーの読み取りには、Arduinoのアナログ入力を使用しますが、DHT22温度および湿度センサーは、その目的でデジタルピンを使用します。

2つのトランジスタは、センサーヒーターをアクティブにするために使用されます。また、センサー値を保存する時間を追跡するためにリアルタイムクロックモジュールを使用しており、I2C通信を使用しています。デバイス全体は、ミニUSBコネクタを介して5Vで給電されます。

参照:8つのベストArduinoスターターキット[2021アップデート]

今、すべてを接続しようとすると、接続が多いためにかなり混乱します。

したがって、このプロジェクトには間違いなくPCBが必要です。

Arduino空気品質モニター用のPCBの作成

このプロジェクトのPCBを作成するために、実際にこのビデオのスポンサーであるAltiumDesignerを使用します。

Altium Designerは、真に統一された設計環境の作成に専念する何十年にもわたる革新と開発を代表しています。パワーと使いやすさの完璧なバランスを実現するAltiumDesignerは、市場で最も広く使用されているPCB設計ソリューションとしての地位を確保しています。

次に、AltiumDesignerを使用してこのプロジェクトのPCBを設計した方法を紹介します。プロジェクトの回路図を作成することから始めました。 Altium Designerには、基本的な電子コンポーネントを備えた組み込みのライブラリがありますが、さらに優れた方法として、メーカーから直接コンポーネントを検索できるため、プロジェクトのコンポーネントの調達が非常に便利になります。

例として、このメーカー部品検索機能を使用してミニUSBコネクタを見つけました。ここから、3Dモデル、フットプリント、寸法などのコンポーネントに関連するデータに簡単にアクセスすることもできます。

独自のコンポーネントライブラリを作成することもできます。このプロジェクトのほとんどのコンポーネントを自分で作成しました。最終的にPCB全体を3Dで取得できるように、パーツごとに独自の3Dフットプリントを作成したかったからです。 PCBフットプリントの3Dモデルを作成するには、任意のCADソフトウェアを使用して、ファイルを.STEPファイルとして保存し、AltiumDesignerにインポートできます。

回路図が完成したら、PCBを生成しました。コンポーネントを必要に応じて配置し、自動ルート機能を使用してクリックするだけで、ソフトウェアがすべてのトレースを自動的に生成しました。

必要に応じて、手動で作成または調整できます。また、自動ルーティングがトレースを作成する方法のデザインルールを設定したり、ネットごとに異なる幅を設定したりすることもできます。この時点で、PCBも3Dで表示され、PCBアセンブリ全体の3Dファイルをエクスポートします。このファイルは、後でケースを設計するために使用されます。

それでも、このような教育コンテンツを後援してくれたAltiumに感謝します。このソフトウェアの詳細と試用をご希望の場合は、以下のリンクをご覧ください。プロジェクトのプレビューとファイルについては、WebベースのAltium365ビューアを試すこともできます。

Altium Designerの無料トライアル– https://www.altium.com/yt/howtomechatronics
Altium 365ビューア:https://www.altium.com/viewer

AltiumDesignerプロジェクトファイルは次のとおりです。

電子部品の3Dモデルのプロジェクトファイル、ライブラリ、.STEPファイルを含むAltium Designerファイル:

PCBガーバーファイル:

さて、PCBが完成したら、GerberファイルとNCドリルファイルを生成し、それらを1つのzipファイルに入れて、PCBを製造するように注文する準備ができました。

JCLPCBにPCBを注文しました。ここでは、zipファイルをドラッグアンドドロップするだけで、アップロードするとPCBに関するすべての視覚情報を取得できます。

次に、必要なプロパティを選択して、PCBをリーズナブルな価格で注文できます。

PCBの組み立て

数日後、PCBが到着しました。 PCBの品質は素晴らしく、すべてがデザインとまったく同じです。

これで、PCBの組み立てを開始する準備が整いました。まず、小さなコンポーネント、抵抗器と2つのトランジスタを挿入してはんだ付けすることから始めました。

次に、ArduinoProMiniボードを所定の位置にはんだ付けできます。ただし、最初にピンヘッダーをはんだ付けする必要があります。すべてのピンが必要なわけではありませんが、A4、A5、DTRピンなどの必要なピンを見逃さないように注意してください。また、ピンのレイアウトが異なる場合があるため、このピンのレイアウトとまったく同じArduinoProMiniボードを使用していることを確認してください。

次に、DHT22センサーを所定の位置に挿入できます。そのためには、まずピンを90度曲げる必要があります。はんだ付け時にコンポーネントを固定するためにBlu-tack接着剤を使用することもあります。

このプロジェクトで使用される2つのコンデンサは、電源を安定させるためのものです。ボードへの電力は、5Vを接続できるミニUSBコネクタから供給されます。

電源コネクタの真上で、2つのスイッチをはんだ付けする必要があります。 1つはデバイスのオンとオフを切り替えるためのもので、もう1つはスケッチをArduinoボードにアップロードする場合に使用されます。次に、USBからUARTへのインターフェース、ディスプレイ、PM2.5センサー、およびVOC、オゾン、CO2センサーのピンヘッダーを所定の位置に挿入できます。

次に、DS3231リアルタイムクロックモジュールを再度はんだ付けするには、最初にピンを90度曲げる必要があります。はんだ付けしたら、メインPCBの電源が切れた場合でも時間を追跡するバッテリーを挿入できます。これでPCBは実際に完成します。あとは、PM2.5センサーとディスプレイをPCBに接続するために使用するケーブルを準備する必要があります。センサー付属のケーブルにオスピンヘッダーをはんだ付けしたので、PCBに簡単に接続できました。ディスプレイをPCBに接続するために、ディスプレイコネクタの裏側に4本のワイヤをはんだ付けしてから、PCBに接続しました。

これで、AirQualityMonitorが実際に実行されます。もちろん、私たちが今しなければならないことは、それのためにある種の箱やケースを作ることです。 Altium DesignerからPCBアセンブリ全体の3Dモデルを入手したので、CADソフトウェアにインポートして、ケースを設計できます。

私はその目的でSOLIDWORKSを使用し、2つの部品と少数のボルトとナットで構成される最も単純なケースを作成しました。 PCBとコンポーネントが露出しているように見えるのが好きで、DIYプロジェクトを披露するのにも最適な方法であるため、透明なアクリルを使用してケースを作成することにしました。

このDYIAirQuality Monitor 3Dモデルをダウンロードしたり、Thangsのブラウザで調べたりすることができます。

Thangsで3Dモデルをダウンロードします。

空気質モニターのケースを作成する

私が使用するアクリルは、ディスプレイに完全にフィットする4mmティックです。私は現在CNCマシンを持っていないので、単純な金属製の弓のこを使用して手動で形状をカットします。

展示用の開口部を作るために、最初にドリルで2つの穴を開けました。それから私はミニ弓のこから刃を通り抜けて、慎重に形を切りました。シンプルなラスプを使って、形を滑らかにしました。次に、3mmのドリルを使用して、PCBを取り付け、2枚のアクリル板を接続するためのすべての穴を開けました。

この時点で、アクリルから保護フォイルを取り外しました。正直なところ、これは非常に満足のいくプロセスです。 PCBをベースプレートに取り付けるために、私はいくつかのM3ボルトとナットを使用しました。 PM2.5センサーをプレートに取り付けるには、M2ボルトが必要です。

次に、いくつかのディスタンスナットを使用して、2つのプレートを結合できます。メス1個とオス1個のディスタンスナットを使用することで、2つのプレート間の希望の距離を簡単に得ることができました。

個人的には、このケースがどのようになったかが本当に気に入っています。さらに、空気がセンサーの周りを簡単に循環できるため、機能的です。

プログラミング

これで、デバイスの電源を入れてプログラムをアップロードできます。ミニUSBコネクタを介して空気品質モニターに電力を供給でき、5V USBアダプター、5V電話充電器、またはパワーバンクから5ボルトを取得できます。

プログラムをArduinoProMiniボードにアップロードするには、プログラミングヘッダーに接続できるUSBからシリアルUARTへのインターフェイスが必要です。コンピュータのUSBに接続する前に、まずデバイスの主電源をオンにする必要があります。そうしないと、500mAしかないコンピュータのUSBからの電力では、正しく動作しない可能性があります。 Arduinoスケッチをアップロードするときは、PCBのアップロードスイッチも切り替える必要があります。

ここから、ArduinoコードとNextionディスプレイプログラムをダウンロードできます:

スケッチをArduinoProMiniボードにアップロードするには、Arduino IDEで最初にこのボードを選択し、適切なバージョンのプロセッサを選択し、ポートを選択して、「USBasp」へのプログラミング方法を選択する必要があります。

コードをArduinoにアップロードしたら、Nextionディスプレイにもコードをアップロードする必要があります。 Nextionディスプレイには、実際にディスプレイを単独で制御するARMコントローラーが組み込まれています。

ボタン、テキスト、画像、変数などのすべてのグラフィックは、ディスプレイ自体によって生成および制御されます。 Nextionディスプレイには、これらすべてのものを作成できる専用のNextionエディターがあります。ディスプレイとArduinoはシリアル通信を使用して2本のワイヤーで通信します。 Arduinoはセンサーからディスプレイに値を送信するだけで、その逆も同様です。ディスプレイは必要に応じてデータをArduinoに送信します。

ディスプレイプログラムをアップロードするには、Nextionエディタから出力された.TFTファイルを保存できるmicroSDカードが必要です。

ディスプレイにはカードリーダーがあり、電源がオフのときにmicroSDカードを挿入できます。次に、デバイスの電源を入れると、プログラムがディスプレイにアップロードされます。カードを取り外し、電源を入れ直すだけで、空気質モニターが機能し始めます。

コードの説明

そのため、センサーごとにライブラリを使用しています。このライブラリは、MHZ19、PMS、MQ131、DHT、DS3231のリンクにあります。各センサーからデータを読み取る方法をよりよく理解するために、ライブラリのドキュメントを読んで、それらの例を試すことをお勧めします。

MH-Z19センサーとPMS5003センサーの両方がシリアル通信を使用するため、SoftwareSerialライブラリも使用しています。 ArduinoとNextionディスプレイも通信にシリアルポートを使用しており、この場合はデフォルトのハードウェアシリアルを使用しています。

そのため、Arduinoはセンサーを読み取り、そのデータをNextionディスプレイに送信します。これが例です。

Serial.print("tempV.val=");
Serial.print(temp);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);Code language: Arduino (arduino)

したがって、nextionの表示には「tempV」という変数があり、その値を更新するには、「tempV.val=22」のようにnextionにコマンドを送信する必要があります。したがって、変数名、次に「.val」、次に値、たとえば22です。コードの最初の2行はそれを行い、Nextionディスプレイがこのコマンドまたは実際に任意のコマンドを受け入れるためには、3つの一意のコマンドを送信する必要があります。 「書き込み」コマンド。

Nextionディスプレイプログラムには、Arduinoコードループと同じようにループで実行されるタイマーがあり、ディスプレイ上の数値を常に更新します。

このタイマーイベントには、値に応じて各センサーの背景色を変更するためのコードもあります。

2ページ目には、Arduinoから保存された値から値を取得する波形があります。コードのコメントに説明があるので、Arduinoコード自体に関する詳細情報を見つけることができることに注意してください。

時間とY軸の値も、Arduinoから値を取得します。

波形とメイン画面の数字の上に、Nextionエディターで「ホットストップ」と呼ばれる透明なオブジェクトがあり、それらがボタンとして機能していることがわかります。波形のホットストップを押すと、「イベント」セクションで「ページ0」に戻ることがわかります。

全体として、このArduino空気質モニターのプログラムはこのように機能します。もちろん、それがどのように機能するかを完全に理解するには、各センサーがライブラリでどのように機能するか、およびNextionディスプレイがどのように機能するかを学び、知る必要があります。

VOCセンサーの場合、ppmまたはppb値ではなく、このセンサーからの生データのみを読み取ることに注意してください。 0から1024までのアナログ値。値が大きいほどVOCが存在することを意味します。

オゾンセンサーについては、より正確な出力を得るには、ライブラリのキャリブレーション例に従って、setTimeToRead()とsetR0()の値を正しく設定する必要があります。ただし、setTimeToReadが長くなると、サンプリング中にプログラムがブロックされ、それ以外はすべてフリーズします。もちろん、これを回避する方法はあります。本当に必要な場合を除いて、オゾンセンサーをまったく使用しないことをお勧めします。

このビデオを楽しんで、何か新しいことを学んだことを願っています。もしそうなら、Patreonで私をサポートすることを検討してください。以下のコメントセクションで質問をして、Arduinoプロジェクトコレクションを確認してください。


製造プロセス

  1. DIY環境と空気品質モニター
  2. OpenSensorsで空気の質を測定する方法
  3. ヘリウム空気質センサー
  4. Arduinoを使用してモニターをAmbilightにする
  5. K30センサーによるCO2モニタリング
  6. Arduinoとスマートフォンを使用したDIY電圧計
  7. IoTを使用した心拍数モニター
  8. ArduinoTemp。 3.2ディスプレイを備えたモニターとリアルタイムクロック
  9. DIYバーチャルリアリティスケートボード
  10. シャープなGP2Y1010AU0Fセンサーを備えたDIY空気品質モニター
  11. DIY ArduinoRADIONICSトリートメントマシン