先日新しく購入した加速度センサーと以前購入したもの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弾準備中です。
小型PCのRasspberyPiや各種マイコン(ESP32,STM32)をベースに、Ambientクラウドを連携させたり、モーターやセンサーを連動させたりします。環境構築や出来ましたをまとめたblogです。
登録:
コメントの投稿 (Atom)
ラズパイ日記...esp32(arduino)+mpu6050
# esp32で6軸センサー読み出し esp32で6軸センサーを読み出し、値をグラフ表示して動作を確認します。 ## 準備 ハード的な接続は、センサーが3.3V駆動できるので、3.3VとGNDの2線で電源供給します。I2C用にSDAとSCLのデータ線が必要ですが、esp...
-
師匠に触発されて、9軸センサー購入しました。 動き系のセンサーは、どんなものか調べてみるのと、動力系と合わせて倒立振子をつくってみようと思ってます。 どんなものかは、Youtubeに沢山出てます。 センサー情報を元にモーターを制御するのはいろいろと難しい感じですが、結構...
-
# STM32F303K8ボードでCAN通信を しばらく「ラズパイ日記」の更新滞っていましたが、また始めます。昨年バイクを買ったのでそのデータを吸い出して 走行データと一緒に可視化できればと思い始めました。マイコンも新しい小型なものを購入し動作確認から始めたいと思います。 ...
-
一通りの配線確認を行い、それなりにセンサーの値を読み取り、モーターも正転、逆転できるところまではきました。 本体を組み立てていきます。 まずは、ギヤボックス。ネジ位置が板とあわないので、カッターでちょっと切り欠きます。後ろにプラスチックの板でユニバーサルプレートをネジ...
リアルタイムなグラフ化には、Processingなどはいかが?
返信削除https://processing.org/
https://shizenkarasuzon.hatenablog.com/entry/2019/02/16/163954
あと、こんなページもありました。飛行機が動くようです。自分でもやってみようかな!
返信削除http://skomo.o.oo7.jp/f48/hp48_53.htm
コメントありがとうございます。簡単に行けるかと踏んでましたが、やってみるとライブラリーインストールでコケたり、謎のエラーに悩まされたりです。地道に進めてみたいと思います。
削除