BNO085 21日に届きました。17日発注で、アメリカの
Thief River Falls, MN, United States=>Fargo, ND, United States=>Louisville, KY, United States
=>19日にはNarita, Japan到着で、長野県が21日昼配達とUPS早いです。
いつもだと、早く動作させたいので、徹夜で半田付けするのですが、10か月もBNO055をいじってきたので、
トラブルポイントがだいたい分っているので、実験計画をたてながら、評価しやすいように組込みます。
そのために、BNO055の過去の実験記録を見直しながら、実験計画を作りながら、組込み方も考えて実装します。
●開梱写真
●コネクタ名がややこしくてケーブル色でピンアサイン説明している。
ピン番号つけない取説にはびっくりした。米国人向けはこうなのか?
https://learn.adafruit.com/adafruit-9-dof-orientation-imu-fusion-breakout-bno085/downloads#pinouts
JST SHコネクタを使っているのですが、STEMMA-QTとSTEMMAと2種類あって非常に混乱します。
BNO085についてるのは、STEMMA-QT という名称ですが、
たかが、コネクタだけなのに、いちいちコネクタ専用ページがあります。
https://learn.adafruit.com/introducing-adafruit-stemma-qt
なんと、STEMMAという名称のコネクタは、JST PHコネクタ(2mmピッチ)ます。
STEMMA-QTという名称のコネクタは、JST SH(1mmピッチ)で
STEMMA QT with Grove/Gravity/STEMMA/Qwiic と互換性があると言ってます。
更にいけないのが、ピンアサインは、ピン番号で説明するのが常識なのに、何とコネクタハーネスの線の色で
取説に書いてあるから、私のようにサードパーティのJST SHを使う人には、ピンアサイン判りません。
しょうがないので、回路図見て、テスターであたって、正確なピンアサインがわかりました。
JST SH https://www.jst-mfg.com/product/index.php?series=231
BNO085ボード 基板回路図 https://learn.adafruit.com/assets/94834
10KΩでプルアップ抵抗がついていますが、これが、固定なので、ケーブルとマイコンの組み合わせによっては
I2Cに不具合が発生するリスクがあると思います。I2Cのプルアップ抵抗は、配線の時定数に合わせて計算するのが正規の方法なのに
10KΩ固定では、不適な場合もでてくると思います。
I2C抵抗に計算 CQ出版の解説:https://cc.cqpub.co.jp/system/contents/3481/
テスターで当たってみて、ピン穴のGNDと端が導通しているので、1番と決めて、隣の2番がピン穴3.3Vと導通OK 3番目がピン穴のSDAと導通OK, 4番目がピン穴SCL導通 OKで無事確認できました。
●アマゾンで購入したJST SHのハーネス色がだぶっている
https://www.amazon.co.jp/gp/product/B092Q1JRK1/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&th=1
Amazonで10本セットが安かったのでのですが、いかんせん、黄色線が2本と赤、黒という稀にみる出鱈目です。しょうがないので、赤黒黄色の3本コンタクトを抜いて順序を黒・赤・黄・黄と並べ直しました。
●マイコンとの配線
JST SHからJST XHのメスに接続して、用意してあるXHコネクタのシールド線でマイコンとつなぎます
こうしておけば、長さが短くしたい時、長くしたいときもXHケーブルを選べばいいので、実験手間が省けます。
●マイコンとI2C
ESP32DとTeensy4.1両方つかっているのですが、I2Cだとマイコンと配線ケーブルによって、相性があるので手間がかかります。今までのBNO055は、回転治具評価用はESP32Dでしたが、Adafruitの注意書きではESP32のI2C接続はダメだと書いてあります。とりあえず、ESP32Dでやってみて様子見ます。I2Cの面倒くさいのは、ケーブルのシールドをGNDにおとさないとダメだとか、長すぎるとダメだとか複雑にからみあって、試行錯誤しないと安定しないことががよくあります。ですので、BNO055はI2Cしかライブラリが無かったのでI2Cを使いましたが、
BNO085のAdfruitライブラリはシリアルがあるので、STAの実装はシリアルに変更しようかと思ってます。
●BNO085のシリアルは2種類モードがある
通常にUART以外に、特別なシリアルモードがあります。
UART RVCモードといって、ロボット掃除機用のモードで、GND,3.3V,TXの3線だけの通信です。
決まったデータを自動的に送ってくれるので、何もいじりたくない人はRVCモード便利です。
モードは、裏にあるジャンパピン半田付けでモードを選択しますが。I2Cは何もしないデフォルトです。
ジャンパは、4種類のモードを選べます
●以後
その1で、プログラム作って、通電初期動作始めますが、過去のBNO055の実験を整理しながら、
どういう実験評価をすれば、BNO085の実力が見えるのか、検討しながら、実験準備していきます。
回転治具以外に、VR的な動かしでも実験しないといけないVR用実装も作ります。