かみやんの技術者ブログ

主にプログラムの話です

TDS01V買ってみた

HMC1052Lでは、自分の回路のGNDが弱いせいか、三端子レギュレータの5V電源のみだと安定するが、12VのDC-DCの電源もONにすると誤差が大きくなって使えない。HMC6352は、I2Cなのだが、I2Cの経験がなく下回りのライブラリから作らないといけないので時間が足りなさそう。ということで、PC直結のTDS01Vを買ってみた。(これ6,800円

届いてスペックを見たら、地磁気の精度±10度とか。。。そんなに精度悪いのかな(だとするとやはりHMC6352にしないと駄目かも)

まずUSB-Serial変換チップのドライバのダウンロード。 http://www.ftdichip.com/ からFT232Bのドライバをダウンロード。
次に、秋月電子のサイトのMeasurement Toolをインストール(付属のCD-ROMのはVerが古いのでNG)。
で、Measurement Toolを起動してポート番号を入力して接続するもつながらない。。説明書を読んだらCOMポートは、18番まで対応とか。うちの仮想COMポートは19番だよ。。ということでデバイスマネージャーで強制的にCOMポートを1にした。
動作確認はOK。

次。TeraTermでTDS01vへ接続。9600bps、パリティなし、ストップビット1、フロー制御なし、改行コードCR+LF、エコーバックONでつながる(マニュアルにはストップビット0とあるが、TDSのICに直接SPIで同期シリアルでつないだときのことであろう。PCからはストップビット1でOK)。これで、「55」で「AA」が帰ってこればOK。
最初、バイナリで送るものかと思ったが、どうもPIC側でテキストバイナリ変換をしてくれている模様で、PCから使う分には、テキストで送るのが正しいようだ。

TDS01Vのコマンド表

コマンド 内容 ACK NAK
05 計測条件設定 FA 05
0D センサ情報項目設定 F2 0D
0F リセット F0 0F
21 計測開始 DE 21
23 計測停止 DC 23
27 地磁気センサ初期化要求 D8 27
29 センサ情報要求(計測結果の取得) データ -
2B 状態要求(動作状態の取得) データ -
2D 詳細状態要求(取得) データ -
35 EEPROMプロテクト解除要求 CA 35
3B EEPROM初期化要求(工場出荷状態) C4 3B
49 自己診断開始 B6 49
55 通信回線試験要求 AA -
59 自己診断状態要求 データ -
5F ROMバージョン要求 データ -

コマンドは上記の15個。

フローとしては、

  1. ソフトウェアリセットをかける
  2. 計測条件設定で、周期(最大10Hz)、基準気圧(0m気圧)、偏角(方位のオフセット)を設定
  3. センサ情報項目設定で、地磁気、加速度、気圧のどれを計測したいか設定
  4. 磁気センサ初期化要求
  5. 計測開始
  6. 状態要求で情報が更新されるまで待つ
  7. センサ情報要求
  8. 6.へ戻る、または、計測停止


だ。
HMC6352と違って、TDS01Vの地磁気センサのキャリブレーションは、PCのソフトのMeasurement Toolでしか行えないらしい。
または、方位で取得せずに、磁気ベクトルでもらって自力でキャリブレーションソフトを書くか。

よし。予習完了。明日は、AibiUIに取り込みたい。