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

Windows 10IoTプラント監視システム

コンポーネントと消耗品

>
Arduino Due
ARMベースで3.3ボルトを使用しているため、このボードを使用しました
× 1
Raspberry Pi2モデルB
× 1
AdafruitBMP180気圧/温度/高度センサー
中国語のものを使用
× 1
Adafruit ADS111516ビットADC
中国語のものを使用
× 1
SparkFun土壌水分センサー(ネジ端子付き)
コンパレータモジュールを備えた中国製のものを使用
× 4
サーボ(Tower Pro MG996R)
× 2
リレー(汎用)
× 2
ブレッドボード(汎用)
× 1

アプリとオンラインサービス

>
Microsoft Visual Studio 2015
Arduino IDE

このプロジェクトについて

プロジェクトの紹介

このプロジェクトは、植物の監視と散水システムを作成することを目的としています。主なタスクは、サーボを制御し、中継し、植物から土壌湿度データを収集することです。膨大な量のセンサーが出力としてアナログ信号を使用しますが、RaspberryPiにはアナログ-デジタルコンバーターがありません。この問題を解決するために、ADCが組み込まれているため、外部ADCモジュールとArduinoゲートウェイを使用しました。環境と相互作用したい場合、通常、パルス幅変調が必要です。この問題を解決する3つの方法を見つけました。 1つ目はソフトウェアPWM、2つ目はArduinoゲートウェイ、最後はPWM対応モジュール/ ICを使用するものでした。以前にI2Cデバイスを実装したことがあるため、最初の2つの方法を実装しました。 ADCとPWMはArduinoの世界で非常に頻繁に使用されるため、Raspberry PiでGPIOを使用する場合は、通常、これらの機能の少なくとも1つをRaspberryで実行する必要があります。

アプリ

<図>

このアプリケーションには2つのモードがあります。プラントに水が必要かどうかを検出する自動モードと、サーボとリレーを手動で制御できる手動モードです。サーボは約180度回転できるため、1つのサーボは2つの植物にしか水を与えられません。自動モードがデフォルトです。土壌湿度センサーを読み取るとき、その値を分類します。 5つのカテゴリがあります。最も乾燥したものはカテゴリ5にあり、GUIで赤でマークされています。その反対側のカテゴリ1は緑色でマークされています。タイマーはこれらの値を定期的にチェックし、「植物A」または「植物B」のカテゴリーが許容範囲よりも高い場合(つまり、地面が乾燥しすぎている場合)、乾燥したものに水をまきます。同じ期間に、プログラムは他の2つの植物(「植物C」と「植物D」)を同様の方法でチェックして水をやり、すべての期間でこれを行います。

コンポーネント

  • サーボSG90:

サーボを駆動するには、通常、大きなGPIOクロック周波数が必要です。デフォルトのプロバイダーでは不十分なので、Lightningプロバイダーを使用しました。 Piの最初の電源に問題がありました。私はどこかでそれを読んだことがありますが、Piは他のセンサーと比較して、より優れたパフォーマンスを必要とし、サーボは多くの電力を消費する可能性があります。これら2つの結果、パフォーマンスの問題が発生しました。今ではiPadの充電器を使用すると、はるかにうまく機能しますが、それでも躊躇することがあります。外部電源を備えたサーボ回路は、次のような問題を解決できます。

<図>

そして、私が思ったように、これで問題は解決し、今では完全に機能しています。サーボのVccを電源の5Vに接続しましたが、信号は同じままで、共通のアースがあります。新しい接続は次のとおりです:

<図>

最後に、このようにする必要はありません。 Raspberry Piの電源を改善したり、ソフトウェアを改良したりすることで、サーボに関するすべての問題を解決できるかもしれません。

  • ADS111516ビットI2cADC:

私はすべての機能をADS111516ビットADCに組み込んでみました。しかし、それはまだ開発中です。たとえば、しきい値レジスタは設定されておらず、独自のプロジェクト/チュートリアルに値します。全体として、完全に機能するADCドライバーになる準備がほぼ整っています。いくつかの論理的な問題があり、すべての組み込み関数が完全にテストされていない可能性があります。

  • BMP180 I2c温度および圧力センサー:

私が使用したBMP180ドライバーは、基本的にこのプロジェクトで使用されているものと同じです。 Lightningプロバイダーと完全に互換性がなかったため、初期化のみを変更しました。温度と圧力の測定は、気象観測所、植物の監視などのプロジェクトに属していると思います。

  • リレー:

リレーを駆動するには、簡単なGPIO操作が必要です。ソースコードから理解するのは非常に簡単です。

  • フォトダイオード回路:

この測定は同様のプロジェクトでも役立つ可能性があるため、このモジュールを使用しました。アンプ回路はLTC1050のドキュメントに記載されています。フォトダイオードは、日光用に最適化されたOsram BPW21です。

  • Arduinoゲートウェイ:

ゲートウェイには、3.3 VのプルアップI2Cバスがあるため、ArduinoDueを使用しました。電圧レベルコンバーターまたは独自のプルアップを備えた別のバスを使用することもできます(Arduino 2560および他のいくつかのボードにはより多くのI2Cバスがあり、プルアップされていないため、それらを使用できます)。コードは非常に単純です。

  • 土壌湿度センサー:

コンパレータモジュール付きの中国製のものを使用しました。

<図>

プロジェクトの概要

私の意見では、このプロジェクトは私たちの植物に水をやる方法の非常に基本的なアイデアを与えるのに役立つかもしれません、そしてあなたがあなた自身のプロジェクトに適用したいと思うかもしれないいくつかの機能があります:

  • I2Cバス(Arduinoゲートウェイ)でArduinoボードと通信する
  • RaspberryPiのADC
  • Raspberry Pi(サーボ)のPWM

今後の計画

  • Azure接続
  • Xamarinを使用したモバイルアプリ
  • Arduinoと通信するには、I2CをBluetoothに置き換えます

コード

Arduinoコード
https://github.com/horvathm/plant-monitoring-system-arduino.git
ラズベリーパイコード
https://github.com/horvathm/plant-monitoring-system-raspberry.git

回路図

回路図は、LTC1050のドキュメントに記載されています。

製造プロセス

  1. セルラーIoT:スマートゴミ箱
  2. Windows IoT:顔認識ドア
  3. Windows 10 IoTCoreおよびSHT15
  4. Windows 10 IoT Core for Raspberry Pi3モデルB +
  5. Windows 10 IoT Core:音声制御ロボット
  6. GoPiGo v2 with Windows IoT
  7. デュアルパーパスIoT森林管理システム
  8. IoTベースのリモートオイルおよびディーゼルタンク監視システム
  9. IoTベースの車両重量監視システムの8つの利点
  10. IoTのピンチでミルク貯蔵を改善する:ミルクレベル監視システム
  11. クラウドモニタリング、リモートコントロールシステム