ラズパイ日記...27日目...加速度センサー比較

先日新しく購入した加速度センサーと以前購入したもの2つについて生データ出力を比較しました。

ESP32でもいいのですが、とりあえずPi zeroに繋いであるのでそのまま活用しました。
確認はpythonで2つのセンサーを読み出して、加速度3軸から角度を求める計算式で同じように計算した結果を比較してます。

リアルタイムなグラフ表示を目指してmatplotlib格闘中ですが、いまだ表示出来てません。
古風なやり方ですが、標準出力をファイルに書き出してgnuplotでグラフ化。画面キャプチャしてます。
Pi zeroとの接続は、各センサーこのようにI2C経由でバス接続で。電源はPi zeroの3.3Vで問題ありません。各センサーのSDA,SCL配線を間違わないように。
 
センサー部分を拡大するとこちら。
向かって左側が新しく購入したmpu6050。電源オンでLEDが点灯するので繋がってる感は目視できます。右側がbosch製のbmx055。こちらは電源オンしてもだんまりです。

まずは、センサーを動かさない状態で観測します。左のメモリは左右の傾き度数、横軸は時間です。
 
紫線がmpu6050、緑線がbmx055です。どちらも完全に水平に基板に刺さっているわけではないのとセンサー個体差で若干のオフセットが生じます。
どちらもプラスマイナス1度程度の振れです。ややbmx055の方が振れ幅大きい感じです。もっとbmx055の方が振れ幅が大きいイメージでしたが、比べるとほぼ同じでした。先入観はいけません。

基板を左右に45度動かすとこんな感じです。
0度からのオフセットは置いといて、ほぼ同じような動きです。角度としてはどちらも基板の動きにほぼ追従してます。
引き続き、フィルターに入れた場合の差、リアルタイムなグラフ化を目指したいと思います。

雑誌「トランジスタ技術」2019年7月号はカルマンフィルターの歴史が記事になってます。
カルマンフィルターはアポロ11号が月に行くための軌道計算のために開発されたそうです。その記事の続きで2輪倒立振子の製作が掲載されてます。
グッドなタイミングです。armが乗ったSTM32でC++言語で開発記事でした。タイヤ軸にロータリーエンコーダにかまして、移動距離をフィードバックするような感じです。第1弾GW宿題は倒立までたどり着かなかったので、夏休みの自由研究を目指して第2弾準備中です。

3 件のコメント:

  1. リアルタイムなグラフ化には、Processingなどはいかが?
    https://processing.org/
    https://shizenkarasuzon.hatenablog.com/entry/2019/02/16/163954

    返信削除
  2. あと、こんなページもありました。飛行機が動くようです。自分でもやってみようかな!
    http://skomo.o.oo7.jp/f48/hp48_53.htm

    返信削除
    返信
    1. コメントありがとうございます。簡単に行けるかと踏んでましたが、やってみるとライブラリーインストールでコケたり、謎のエラーに悩まされたりです。地道に進めてみたいと思います。

      削除

ラズパイ日記...esp32(arduino)+mpu6050

# esp32で6軸センサー読み出し esp32で6軸センサーを読み出し、値をグラフ表示して動作を確認します。 ## 準備 ハード的な接続は、センサーが3.3V駆動できるので、3.3VとGNDの2線で電源供給します。I2C用にSDAとSCLのデータ線が必要ですが、esp...