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

センサーデータをRaspberry Piに統合:実践ガイド

概要

GPSモジュールとMPU-9150 IMUをRaspberry PiのI²CとUARTインターフェースで接続・読み取り、自律ナビゲーション向けにリアルタイムで情報を処理する方法を学びます。

キーワード: I2C通信, UART通信, Adafruit Ultimate GPS Breakout, Sparkfun MPU-9150 Breakout, Raspberry Piセットアップ

はじめに

センサーデータ取得はあらゆるデジタル制御システムの基盤です。組み込みコントローラがこれらの入力を処理する際、通信インターフェースの選択が極めて重要になります。ロボティックナビゲーションプロジェクトでは、継続的なGPS位置更新と正確なコース測定が必須です。このチュートリアルでは、GPSモジュールと磁力計をRaspberry Piに配線し、データをリモートで表示し、制御ソフトウェアに統合する方法を示します。

目的

この上級チュートリアルは、Raspbianと基本的なbashコマンドに精通していることを前提としています。Piのシリアルインターフェース経由で加速度計とGPSデータを読み取り、センサーを配線し、必要なハードウェアドライバを設定する手順をガイドします。

情報

ハードウェア

MPU-9150は、MPU-6050(3軸ジャイロスコープ & 加速度計)とAK8975デジタルコンパスを組み合わせたマルチチップモジュール。低消費電力と高性能でスマートフォンやタブレットで広く使用されています。

Adafruit Ultimate GPSはMTK3339チップベースで、10Hz更新レート、22衛星追跡、外部アンテナポートを提供。赤色LEDが信号状態を示す:探索中は1Hz点滅、フィックス取得後は15秒間隔で点滅。

通信標準

I²Cは双方向2線(SDA & SCL)でマスタ(Pi)と複数スレーブを接続、各スレーブは固有アドレスを持ちます。

UARTは、プログラマー定義のボーレートで5-8ビットフレームとして非同期にデータを送信、独立したTxDとRxDラインを必要とします。

パーツリスト

前提条件

手順

  1. PiのGPIOピンを特定:UARTはGPIO 14(Tx)& 15(Rx);I²CはGPIO 2(SDA)& 3(SCL)。
  2. GPS配線:GPSのTxをPiのRx、RxをPiのTxに接続、Vinに3.3Vまたは5V供給、GNDをPiのグランドに接続。
  3. MPU-9150配線:Vccを3.3V、GNDをグランド、SDAをGPIO 2、SCLをGPIO 3に接続。
  4. PiでI²Cを有効化:
    • sudo apt-get update && sudo apt-get install i2c-tools libi2c-devを実行。
    • WiringPiインストール:git clone git://git.drogon.net/wiringPi && cd wiringPi && sudo nano /etc/modulesでsnd-bcm2835、i2c-bcm2708、i2c-devを追加。
    • /boot/config.txtにdtparam=i2c1=onとdtparam=i2c_arm=onを追加し、再起動。
  5. MPU-6050デモをインストール:
    • git://github.com/richardghirst/PiBits.gitをクローン、MPU6050-Pi-Demoに移動、libgtkmm-3.0-devインストール。
    • I2Cdev.cppとsetup-i2c.shを編集し、/dev/i2c-0を/dev/i2c-1に置換。
    • makeでコンパイル、./setup-i2c.sh実行、sudo i2cdetect -y 1で確認。
    • ./demo_raw実行で生ジャイロ・加速度データを表示。
  6. GPSデータ取得のセットアップ:
    • AdafruitのGPSデーモンガイドを出発点とするが、カスタムハンドリングのためオープンソースlibgpsライブラリを使用。
    • git://github.com/wdalmut/libgps.gitをクローン、make && sudo make installでコンパイル。
    • 付属のposition_logger.c例でテスト:gcc -o position_logger position_logger.c -lgps -lmでコンパイルし./position_logger実行。フィックス取得時に緯度経度が10進度で出力。

結論

このチュートリアルでは、Raspberry Pi上で2つの一般的なセンサーのハードウェア配線、通信プロトコル有効化、基本ソフトウェアセットアップをカバーしました。例はデータ表示に焦点を当てていますが、同じ原則を洗練されたナビゲーションや制御アルゴリズムへのセンサー出力統合に拡張可能です。各センサーのライブラリを習得し、C/C++開発をしっかり理解することで、より複雑なリアルタイムセンサーフュージョンが可能になります。

参考文献

製造プロセス

  1. 複数DS18B20 1-WireセンサーをRaspberry Pi接続で精密温度監視
  2. Raspberry PiとDS18B20によるプロフェッショナルな温度監視
  3. Raspberry Piでサーバークローゼットの温度を正確に監視
  4. Raspberry PiでPIRモーションセンサーとLEDを制御
  5. Raspberry Piで低コスト土壌水分センサーを構築 - スマート灌漑に活用
  6. Raspberry Piでリアルタイムパン/チルト顔追跡 - 実践ガイド
  7. Lego Mindstorms NXT超音波センサーをRaspberry Piに直接接続する
  8. HC-SR04超音波センサーをRaspberry Piに接続する実践ガイド
  9. Raspberry Pi、DHT11、ThingSpeakで作る初めてのIoTプロジェクト
  10. Raspberry Piと湿度センサーで作る自動エアロポニックスシステム
  11. Raspberry Pi、MCP9808、InfluxDB、Grafanaで作る家庭温度モニター