二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual
渡辺 敦志 (WATANABE Atsushi) 注 1
rev.5 - December 29, 2014

この文章はクリエイティブ・コモンズ・ライセンス 表示 - 継承 3.0 非移植 の下に提供されています。このライセンスのコピーを見るためには、http://creativecommons.org/licenses/by-sa/3.0/ をご覧になるか、以下へお手紙をお送り下さい： Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

注1

atsushi.w[at]ieee.org

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014) 改訂履歴

改訂履歴
版

改訂日

改訂内容

rev.1

March 9, 2013

• 作成

rev.2

August 17, 2013

• 量産版モータドライバ TF-2MD3-R6 の情報を追加• 型番の決定に伴う文章タイトル変更• プレ製品化版のスペック修正• ファームウェア書き込み方法修正• モータピン配置の誤り修正

rev.3

January 14, 2014

• 免責事項を追加• DC モータピン配置の誤り修正• モータパラメータ例 (MOTOR PHASE 項) の誤り修正• エラー表示 LED のパターン、YP-Spur のエラー出力の解説を
追加

rev.4

June 1, 2014

• YP-Spur のインストール手順を修正• ファームウェア更新方法を修正

rev.5

December 29, 2014

• Analog Input ポートの番号を修正• ファームウェア更新方法を修正• 注意事項に Analog Input ポート使用上の注意、供給電源に関する注意を追加• 電源の供給回路についての解説を追加• Windows での開発環境の構築方法を、コンパイル済みライブ
ラリを利用するように変更• 外形寸法の誤りを修正

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

目次

目次
1.

2.

3.

4.

5.

6.

7.

8.

概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1.1

TF-2MD3-R6 を用いた移動ロボット制御 . . . . . . . . . . . . . . . . . . . .

1

1.2

T-frog プロジェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11.3

主な仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2

1.4

TF-2MD3-R6 を用いた移動ロボットのシステム構成 . . . . . . . . . . . . .

3取り扱い上の注意 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

2.1

注意 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

2.2

推奨事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.3

免責事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

TF-2MD3-R6 の接続と取り付け . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

3.1

コネクタ・ピン配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73.2

電気的特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83.3

電源の供給 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93.4

外形と取り付け穴 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

YP-Spur を用いたロボット制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

4.1

開発環境の構築と動作テスト: Linux . . . . . . . . . . . . . . . . . . . . . . .

12

4.2

開発環境の構築と動作テスト: Windows . . . . . . . . . . . . . . . . . . . . .

14

YP-Spur ロボットパラメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

5.1

ブラシレスモータ用のロボットパラメータ作成 . . . . . . . . . . . . . . . .

15

5.2

パラメータファイル作成例 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

TF-2MD3-R6 のファームウェア更新方法 . . . . . . . . . . . . . . . . . . . . . . . .

17

6.1

Linux 環境の場合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

6.2

Windows 環境の場合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

6.3

ファームウェアの書き込みに失敗する場合 . . . . . . . . . . . . . . . . . . .

21

トラブルシューティング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

7.1

エラー表示 LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

7.2

ypspur-coordinator のエラー出力 . . . . . . . . . . . . . . . . . . . . . . . . .

24

問い合わせ先 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

1.

概要

1.1

TF-2MD3-R6 を用いた移動ロボット制御

1

二軸ブラシレスモータドライバ TF-2MD3-R6 は、ラップトップ PC を使って走行制御などを行う移動ロボットシステムの走行制御のために開発された、モータ駆動・制御モジュールです。図 1に例を示すような、差動駆動型等の移動ロボットの制御が可能です。移動ロボット走行制御ソフ
トウェアプラットフォーム “YP-Spur ” と組み合わせて使用することで、容易に移動ロボットシス
テムを構築できます。

図 1: 差動駆動型移動ロボットの例
本モータドライバは、産業用ロボットなどで広く用いられている、ブラシレスモータ (AC サー
ボモータ) の駆動・制御に対応しています。また、モータの特性やロボットのダイナミクスを考慮した、フィードフォワード制御を活用できるため、高い制御性を実現できます。

1.2

T-frog プロジェクト

2010 年に、筑波大学知能ロボット研究室の移動ロボット技術の移転と利用の促進のため、筑波大学と茨城県内の中小企業などをメンバーとして、T-frog (Future Robotics Groundworks from Tsukuba)
プロジェクトが発足しました。本モータドライバは、T-frog プロジェクトの一環として開発されたモジュールです。
TF-2MD3-R6 は、ツジ電子株式会社 注 1 と渡辺敦志 注 2 を中心に開発しています。また、本モータドライバモジュールには、筑波大学知能ロボット研究室 注 3 の研究成果が用いられています。

注 1

ツジ電子株式会社
渡辺敦志
注 3
知能ロボット研究室
注 2〒 300-0013 茨城県土浦市神立町 3739、info2[at]tsuji-denshi.co.jp、029-832-3031
筑波大学知能ロボット研究室 (2013 年度現在)、atsushi.w[at]ieee.org〒 305-8573 茨城県つくば市天王台 1-1-1 筑波大学 システム情報工学研究科、029-853-5155

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

1.3

2

主な仕様

TF-2MD3-R6 の外観を図 2 に、主な仕様を表 1 に示します。本モータドライバは 1 台につき、ブラシレスモータまたは DC モータを 2 台駆動・制御できます。通信インタフェースは USB の
CDC-ACM クラスに対応しており、Linux、Mac OS X、Windows 環境で使用可能 (Windows 環境ではドライバが必要) です。通信プロトコルは筑波大学 知能ロボット研究室で開発している移動ロ
ボット走行制御ソフトウェアプラットフォーム YP-Spur 注 4 と互換性があります。

図 2: TF-2MD3-R6 の外観
表 1: TF-2MD3-R6 の主な仕様
対応モータ
モータ数
インタフェース

最大電源電圧
最大連続電流PWM 分解能
エンコーダ入力
寸法
重量
その他

注 4

3 相 ブラシレスモータ
DC モータ2台
USB2.0 (CDC-ACM)
UART (3.3 V CMOS)
RS-485
12–50 V
5 A/ch (自然空冷)
1200 (20 kHz 時)
2 相 パルスエンコーダ
3 相 ホール素子+原点信号
100 x 55 x 30 mm
100 g
AD 変換 (3.3V) 7 ch、デジタル IO(3.3V) 8 ch

Robot Platform Project
http://www.roboken.esys.tsukuba.ac.jp/platform/

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

1.4

3

TF-2MD3-R6 を用いた移動ロボットのシステム構成

TF-2MD3-R6 と、YP-Spur を用いた移動ロボット走行制御システムの構成を、図 3 に示します。
本モータドライバは、図 3 下部の “モータドライバユニット” 部分に相当します。モータドライバ
上のマイクロコンピュータでは、ラップトップコンピュータから送信された制御パラメータを用いて、速度制御の目標値に追従するように、モータの角速度を PI 制御します。PI 制御器には、車輪を駆動したときに、独立二輪躁舵 (差動駆動) 型移動ロボットの動特性によって他の車輪に及ぼす影響などを補償するためのフィードフォワード補償器 [2][3] が内蔵されています。
ラップトップ

ユーザー
プログラム

ユーザー
プログラム

プロセス間通信(message queue)PC
ypspur-coordinator

ユーザー
プログラム

SpurコマンドSpurコマンド解析

x, y, θ目標軌跡
制御周期 5〜20 ms

走行制御器

x, y, θx, y, θω, νωref ,νref5 ms 周期

オドメトリ計算

速度・加速度リミット

ω, νωref ,νref
移動体逆キネマティクス

移動体キネマティクス

ωr , ωlωrref , ωlref
RS232C / USB

5〜20 ms 周期

モータドライバユニット

慣性補償τrref , τlref

PI制御器

制御周期 1 ms

ωr , ωlωr , ωl

摩擦補償+

フィードフォワード
トルク制御器

Vrref , Vlref

5 ms 周期ωr , ωlθr , θlωr , ωl
カウンタ

PWM生成器
駆動回路
モータ

ロータリエンコーダ
移動体ダイナミクス

図 3: TF-2MD3-R6 と YP-Spur を用いた移動ロボット走行制御システムの構成

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)2.

取り扱い上の注意

2.1

注意

4

けがや、機器の故障を防ぐために、以下の事項を必ずご確認下さい。


電源ケーブル・コネクタは

• ピン配置が正しいことを確認する!
• 正しく圧着できていることを確認する• 駆動するモータの合計容量に見合った定格容量を確保する

モータ・エンコーダのケーブル・コネクタは



!




• ピン配置が正しいことを確認する• モータとエンコーダの組み合わせが正しいことを確認する


本製品への電源供給は

• モータ駆動電源には、使用する動作範囲を考慮してヒューズまたはブレーカー
を挿入する

!

• モータ駆動電源のケーブルはできるだけ短くし、過電圧保護回路または、低 ESRの大容量キャパシタを挿入する (3.3 参照)• 5V 電源には、100mA∼1A 程度のヒューズまたはブレーカーを挿入する

異常を感じたときは• 正しく動作しなくなったら、事故防止のためすぐに電源を切る!
• 基板が発熱していないことを確認する• 電流制限機能付きの電源装置から電源を供給し、動作を確認する• 異常が続くときは、開発者へ問い合わせる



動作中の製品には

• 基板に直接手を触れない (人体の寄生容量や静電気による誤動作を防ぐため)• コネクタを着脱しない

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)5

走行制御プログラムの起動時には!

• パラメータファイルが正しいことを確認する• モータで駆動する部分に手を置かない


2.2



推奨事項

製品の正常な動作のために、以下の事項を推奨致します。


通信インタフェースには• シールド付きの USB ケーブルを使用する• ノイズが多い環境などで通信が切断される場合は、フェライトコア付きの USB
ケーブルを使用する








本製品への電源供給は• モータ駆動電源の電圧変動が、5V 電源に伝わりにくいように構成する









ソフトウェアについて• TF-2MD3-R6 のファームウェア更新、YP-Spur のソフトウェア更新を確認し、バグ修正などがあった際は更新する

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

2.3

6

免責事項

T-frog プロジェクトは、T-frog プロジェクトの製品及びサービスを任意に修正、改善、改良、およびその他の変更をし、製品の製造およびサービスの提供を中止する権利を留保します。製品を発注される前には、関連する最新の情報を取得して頂き、その情報が現在有効かつ完全なものであることをご確認下さい。
T-frog プロジェクトは、T-frog プロジェクトの製品を使用したお客様の製品設計および、アプリ
ケーションに関する支援について、責任を負いません。T-frog プロジェクトの製品を使用した、お客様の製品およびアプリケーションについての責任はお客様にあります。T-frog プロジェクトの製品を使用した、お客様の製品およびアプリケーションの安全対策は、必ずお客様にてお取り下
さい。
T-frog プロジェクトの製品は、移動ロボット研究用途に使用することを想定して、設計、および製造されています。T-frog プロジェクトは、T-frog プロジェクトの製品が安全でないことが致命的となる用途 (例えば、生命維持装置のように、T-frog プロジェクトの製品に不具合があった場合に死傷などの重篤な事故が発生するもの) に使用されることを認めません。また、T-frog プロジェク
トの製品は、自動車用アプリケーション、軍事的用途、もしくは航空宇宙アプリケーションで使用されるようには設計されておらず、使用されることを意図していません。お客様は、T-frog プロ
ジェクトの製品を、自動車の環境、軍事的環境、または航空宇宙環境で使用することは、お客様の危険負担においてなされること、および、お客様の責任をもって、それらの用途に必要な全ての法的要求事項および規制上の要求事項を満足させなければならないことを認め、かつ同意します。

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

7

3. TF-2MD3-R6 の接続と取り付け
3.1

コネクタ・ピン配置

TF-2MD3-R6 使用時には、モータドライブ用電源、コントローラ用電源、モータ、エンコーダ、USB コネクタを接続します。各コネクタの配置と、適合するハウジング・コンタクト品番を図 4に示します。
Housing: JST VHP-2N
Contact : JST SVH-21T-P1.1
or SVH-41T-P1.1

Motor Power Supply
1. GND
2. +12V 〜 +50V Input

Housing: JST VHP-3N
Contact : JST SVH-21T-P1.1
or SVH-41T-P1.1

Housing: JST VHP-3N
Contact : JST SVH-21T-P1.1
or SVH-41T-P1.1

Motor 1 Output
1. AC motor W / DC motor 2. AC motor V
3. AC motor U / DC motor +Motor 2 Output
1. AC motor W / DC motor 2. AC motor V
3. AC motor U / DC motor +* ファームウェアバージョン
v0.1.0 以前ではDCモータ接続の極性が逆転しています* プレ製品化版では
XHP-2 をご利用下さい
Housing: JST XHP-3 *Contact : JST SXH-001T-P0.6
or SXH-002T-P0.6

Controller Power Supply
1. GND
2. N/C
3. +5V Input

Housing: JST PHDR-08VS
Contact : JST SPHD-001T-P0.5
or SPHD-002T-P0.5

Housing: JST PHDR-08VS
Contact : JST SPHD-001T-P0.5
or SPHD-002T-P0.5

Motor 1 Encoder Input
1. +5V Output
2. Incremental A
3. Incremental B
4. Index
5. Hall U
6. Hall V
7. Hall W
8. GND

Motor 2 Encoder Input
1. +5V Output
2. Incremental A
3. Incremental B
4. Index
5. Hall U
6. Hall V
7. Hall W
8. GND

Top-View

Housing: JST ZHR-3(P)Contact : JST SZH-002T-P0.5
or SZH-003T-P0.5

UART (3V CMOS Level)
1. TXD
2. RXD
3. GND

Housing: JST ZHR-3(P)Contact : JST SZH-002T-P0.5
or SZH-003T-P0.5

RS485 (half duplex)
1. A
2. B
3. GND

Housing: JST ZHR-9(P)Contact : JST SZH-002T-P0.5
or SZH-003T-P0.5

General Purpose I/O
1. I/O 0
2. I/O 1
3. I/O 2
4. I/O 3
5. I/O 4
6. I/O 5
7. I/O 6
8. I/O 7
9. GND
Housing: JST ZHR-8(P)Contact : JST SZH-002T-P0.5
or SZH-003T-P0.5

Analog Input
1. AD Input 6
2. AD Input 5
3. AD Input 4
4. AD Input 3
5. AD Input 2
6. AD Input 1
7. AD Input 0
8. GND

Housing: JST ZHR-9(P)Contact : JST SZH-002T-P0.5
or SZH-003T-P0.5

Top-View
1st pin markFPGA Active Serial (Bottom side)
1. +3.3V Output
2. DCLK
3. CONF̲DONE
4. nCONFIG
5. nCE
6. DATAOUT
7. nCS
8. ASDI
9. GND

図 4: TF-2MD3-R6 のコネクタ・ピン配置
ブラシレスモータの U 端子に対して、V 端子、W 端子にそれぞれ 120 度、240 度遅れた波形の3 相交流を印加したときの回転方向、または DC モータの＋端子に正電圧を印加したときの回転方向において、エンコーダの A 相立ち上がりから 90 度遅れて、B 相が立ち上がるように接続して下さい。

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

3.2

8

電気的特性

TF-2MD3-R6 の、各コネクタの絶対最大定格を表 2 に示します。絶対最大定格を超えた電圧が一瞬でも印加されると、モータドライバが破損する可能性があります。また、電気的特性を表 3に示します。モータドライブ用電源およびモータのコネクタ (JST VH シリーズ) の定格連続電流は10A ですので、これ以上の電流が必要な場合は、ケーブルを直接半田付けするか、基板に端子台などを取り付けて配線して下さい。
表 2: TF-2MD3-R6 絶対最大定格
コントローラ基板電源
モータドライブ電源-0.5 ∼ +7 V
-0.5 ∼ +60 V

エンコーダ入力-0.5 ∼ +7 V

表 3: TF-2MD3-R6 電気的特性
コントローラ基板電源
モータドライブ電源
エンコーダ入力プルアップ
エンコーダ入力 LO レベル閾値
エンコーダ入力 HI レベル閾値
コントローラ基板電流
ドライブ基板スタンバイ電流

4.5 ∼ 5.5 V+10 ∼ 50 V
4.7 kΩ
0.6 V
2.2 V
typ 140 mA (1typ 20 mA(1 エンコーダなどの電流を除く、USB 通信時。

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

3.3

9

電源の供給

誘導性の負荷 (モータ) を駆動中に電源が遮断され、電源端子が開放されると、誘導電流によりモータドライバが破損する場合があります。これを防ぐため、モータ駆動電源のケーブルはできるだけ短くし、可能な限りモータドライバから近い位置 (5cm 以内を推奨) に低 ESR のキャパシタを挿入して下さい。
駆動中に電源が遮断された際に、回路の保護に必要なキャパシタ容量 Cp は以下を参考に算出して下さい。

Lm モータ端子間インダクタンス [H]
Ep 電源電圧 [V]Imax 瞬間最大電流 [A]
図 5 に示す回路構成において、モータドライバの保護に必要なキャパシタ容量は次式で算出できます。

Cp > 2

2
Lm Imax
602 − Ep2

TF-2MD3

V+
V-

+

Cp

電源装置

+
-

図 5: 電源供給回路の構成
例えば、インダクタンス Lm = 1.5 [mH]、抵抗 Rm = 0.8 [Ω] のモータを、電源電圧 Ep = 24 [V]で使用する場合 (ブラシレスモータ TF-M30-24-3500-G15L/R 相当)、以下のキャパシタ容量が必要になります。(瞬間最大電流 Imax を、パラメータ誤りなどで制御系が暴走してロックした状態のモータに最大出力を与えた際の電流 Imax = Ep /Rm = 24/0.8 = 30.0 とした場合 注 5 )Cp > 20.0015 · 302= 0.00089[F] = 890[uF]
602 − 242

ただし、キャパシタ容量のばらつきや、温度による容量変化、電源電圧の変動などを加味して、十分な安全率をとる必要があります。

ZNR 素子や専用 IC 等の、過電圧保護回路を組み込むことで必要な容量を削減できる場合があります。その際に必要なキャパシタ容量は、構成に応じて別途算出して下さい。

注 5

なお、TF-M30-24-3500-G15L/R に 30[A] の電流が流れた場合、モータは減磁、破損します。

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

10
$

'

参考資料: Cp の導出
容量 C のキャパシタの端子間電圧が E のとき、キャパシタに蓄えられているエネルギー P
は次式で求まる。

1
P = C · E2
2モータドライバ動作中はキャパシタは電源電圧 Ep で充電されている。この状態で電源が切断されると、モータ 2 台のインダクタンスに蓄えられているエネルギー 2Pl がキャパシタに回生される。その際の、キャパシタの総エネルギー Pc は次式で表される。

1
Pc = Cp · Ep2 + 2Pl2
このときのキャパシタ電圧 Ec と容量 Cp の関係は次式で表される。

Pc =1
Cp · Ep2 + 2Pl =2

1
Cp · Ec2
2
1
Cp · Ec2
2

モータドライバが破損しないためには、キャパシタの電圧が、モータドライバの絶対最大定格電圧 Emax 以下であればよい。したがって、モータドライバがモータの誘導電流によって破壊されない最小のキャパシタ容量 Cp は次式で求まる。

1
Cp · Ep2 + 2Pl =
2
Cp
&

1
2
Cp · Emax
2
2Pl
= 2 2
Emax − Ep2%

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

3.4

11

外形と取り付け穴

TF-2MD3-R6 の外形図と取り付け穴の配置を図 6 に示します。基板は 2 枚構成で、上部をコン
トローラ基板、下部をドライブ基板と呼びます。コントローラ基板とドライブ基板は基板スペー
サで取り付けてあります。ドライブ基板の裏面には基板スペーサ (10mm 高) が取り付けられており、M3.0 のネジで固定できます。

100.0
92.0 s0.5mm

3.5

4.0

48.0 s0.5mm

55.0ࢫ࣮࣌ࢧ㸦ᇶᯈ⿬㠃ࡼࡾ 10mm 突出㸧
M3.0ࢥࢿࢡࢱ✺ฟ㒊（最大 10mm）

Top-View
図 6: TF-2MD3-R6 の外形図

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)12

4. YP-Spur を用いたロボット制御
TF-2MD3-R6 は、移動ロボット走行制御ソフトウェアプラットフォーム “YP-Spur ” の通信仕様に対応しています。TF-2MD3-R6 と YP-Spur を組み合わせて用いることで、容易に移動ロボットの走行制御系を構築できます。
YP-Spur は、Unix 互換のシステム (Linux、Mac OS X など)、および Windows で動作します。
Mac OS X では、アタッチされるデバイスのパスなどが異なります。Unix 互換のシステムで用いる場合、バージョン管理ツール git、および gcc+glibc または、それらに相当する開発環境がインストールされている必要があります。
動作確認には、ロボットのパラメータファイルが必要となります。T-frog プロジェクトのオープ
ンソースロボットハードウェア “i-Cart mini” のパラメータファイルは、http://t-frog.com/products/
icart mini/ からダウンロードできます。新規に作成したロボットのパラメータは、5.1 章を参考に作成して下さい。

4.1

開発環境の構築と動作テスト: Linux

以下のコマンドで、コンパイル環境とバージョン管理ツールをインストールします。

Ubuntu の場合
1
2
3$ sudo apt-get update$ sudo apt-get install build-essential libreadline-dev$ sudo apt-get install git git-svn

Fedora の場合
1
2
3$ sudo yum groupinstall "Development Tools"$ sudo yum install readline-devel$ sudo yum install git git-svn

YP-Spur を、以下のコマンドでインストールします。
1
2
3
4
5
6
7

$ git clone https://openspur.org/repos/yp-spur.git/$ cd yp-spur$ ./configure$ make$ sudo make install$ sudo ldconfig$ cd ..

YP-Spur を用いたロボットの走行制御は、ラップトップ PC 上で走行制御を行う “ypspurcoordinator” プロセスと、ユーザプログラムのプロセスを動作させることで行います。1.0 x 0.1メートルの四角形を描くように走行する、YP-Spur のサンプルプログラムを実行するには、ター
ミナルを 2 つ開き、それぞれで以下のコマンドを実行します。
YP-Spur サンプルプログラムの起動時には



!



• パラメータファイルが正しいことを確認する• ロボットの正面 1.5 メートル、左右 1 メートル程度の空間を確保して実行する

1 つ目のターミナルで実行二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)1

13$ ypspur-coordinator -p PARAMETER_FILE.param -d DEVICE_PATH

2 つ目のターミナルで実行
1
2$ cd yp-spur/samples/$ ./run-test

コマンド中の PARAMETER FILE.param には、ロボットのパラメータファイルへのパスを指定します。DEVICE PATH は、/dev/ttyACM0 のように Linux 上にアタッチされるデバイスのフルパスを指定します。

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

4.2

14

開発環境の構築と動作テスト: Windows

下記 URL から、TF-2MD3-R6 の Windows 用のデバイスドライバをダウンロード、解凍し、“setup.bat” を右クリック、“管理者として実行” して下さい。PC に TF-2MD3-R6 を接続する前に予め、ドライバをインストールして下さい。(Windows 8 以降では、署名無しのドライバインストー
ルを許可する設定が必要です。
)

http://t-frog.com/products/motor driver/

YP-Spur を、下記の URL からダウンロードし、展開します。MinGW、Cygwin 環境で使用する
場合は、展開したファイルを MinGW、Cygwin 環境のルートディレクトリなどにコピーし、Linuxの場合を参考に動作テストを行って下さい。lib ディレクトリ下のライブラリ、DLL ファイル、および include ディレクトリ下のヘッダファイルを使用することで、Microsoft Visual C++ を用いた開発が可能です。
https://openspur.org/ypspur downloads.php


YP-Spur を用いたロボットの走行制御は、ラップトップ PC 上で走行制御を行う “ypspur-coordinator”
プロセスと、ユーザプログラムのプロセスを動作させることで行います。1.0 x 0.1 メートルの四角形を描くように走行する、YP-Spur のサンプルプログラムを実行するには、以下の手順を行って下さい。
1. 展開したファイルの bin ディレクトリ中の ypspur-gui.exe を実行する
2. Browse ボタンで、ロボットのパラメータファイルを開く
3. Port 欄で、モータドライバのデバイス名を選択する
4. Start/Stop ボタンを選択し、エラー表示が発生していないことを確認する
5. 上記 URL から別途、run-test.exe をダウンロードし、実行する

YP-Spur サンプルプログラムの起動時には



!



• パラメータファイルが正しいことを確認する• ロボットの正面 1.5 メートル、左右 1 メートル程度の空間を確保して実行する
二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)15

5. YP-Spur ロボットパラメータ
TF-2MD3-R6 は、DC モータ・ブラシレスモータに対応しており、モータの種類などの情報を
YP-Spur のロボットパラメータファイルで指定する必要があります。詳細なパラメータ決定方法・調整方法は移動ロボット走行制御プラットフォーム Wiki 注 6 を参照して下さい。

5.1

ブラシレスモータ用のロボットパラメータ作成

モータ種別の指定は MOTOR PHASE 項で行い、DC モータの場合は 0 を、3 相ブラシレスモータの場合は 3 を指定します。ブラシレスモータを使用する場合は、内部抵抗・逆起電力係数・トルク
係数は、DC モータに換算した値を指定します。

• MOTOR R: モータ内部抵抗 [Ω]
モータの端子間抵抗 R から、 34 · R で与える

• MOTOR VC: 逆起電力係数 [rpm/V]
定格電圧 V でのモータ無負荷最大回転数 rmax から、rmax /V で与える

• MOTOR TC: トルク係数 [Nm/A]
60で与える 注 7
逆起電力係数 KE = rmax /V から単位を変換し、 2πK
E

また、ブラシレスモータが、n 極 (モータ軸を 1 回転すると逆起電力波形やホール素子波形が n 周
期現れる) 場合は、ギア比 (GEAR 項) を n 倍し、エンコーダ分解能 (COUNT REV 項) を 1/n とする必要があります。モータ軸の慣性モーメントを指定する MOTOR M INERTIA 項 はギア比が n 倍だった場合に換算して指定する必要があるので、モータ軸の慣性モーメント M に対して、M/n2を与えます。

TF-2MD3-R6 と YP-Spur を用いて、パラメータを適切に設定すれば、フィードフォワード制御
によりロボット走行制御の特性を向上できます。

5.2

パラメータファイル作成例

最小構成の移動ロボットは、TF-2MD3-R6 の他に、モータ・タイヤ・電源・ラップトップ PC があれば構築できます。図 7 に、TF-2MD3-R6 の動作テスト用に構築した簡易な移動ロボットを示します。オリエンタルモータのブラシレスモータ (BX230A-15FR にパルスエンコーダを取り付けたバージョン) を搭載し、ダイレクトドライブでタイヤを駆動する構成となっています。
このときの、パラメータファイルの主要な部分を以下に示します。このモータは 3 相 5 極なので、ギア比は 5 倍となっています。

注 6

Robot Platform Project Wiki
http://www.roboken.esys.tsukuba.ac.jp/platform/wiki/

注 7

モータのエネルギー損失が無視できる場合、モータに注入した電力 P = E · I = KE · ω · I と、モータが発する動力 P = τ · ω = Kτ · I · ω が釣り合うため、KE = Kτ が成り立つ (単位系に注意)

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

図 7: ブラシレスモータを用いたダイレクトドライブ移動ロボットの例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

MOTOR_PHASETORQUE_FINENESSCOUNT_REV
VOLT
CYCLE
GEAR
MOTOR_R
MOTOR_TC
MOTOR_VC

3.00000000 #0.00000100 #400.00000000 #[cnt/rev]
24.00000000 #[V]0.00100000 #[s]5.00000000 #[in/out]
0.80000000 #[ohm]0.01527887 #[Nm/A]
600.00000000 #[rpm/V]

RADIUS[0]RADIUS[1]TREAD
CONTROL_CYCLE
GAIN_KP
GAIN_KITORQUE_MAXTORQUE_LIMITTORQUE_NEWTONTORQUE_VISCOS-0.05600000 #[m]0.05600000 #[m]0.39000000 #[m]0.02000000 #[s]35.00000000 #P gain
45.00000000 #I gain
0.40000000 #[Nm]0.50000000 #[Nm]0.00200000 #[Nm]0.00000000 #[Nm/rad/s]

MAX_VEL
MAX_W
MAX_ACC_V
MAX_ACC_W
MAX_CENTRI_ACC

3.00000000 #[m/s]6.28000000 #[rad/s]
2.00000000 #[m/ss]
12.50000000 #[rad/ss]
2.45000000 #0.25G

INTEGRAL_MAX
MASS
MOMENT_INERTIA
MOTOR_M_INERTIATIRE_M_INERTIA

0.20000000 #[rev]5.00000000 #[kg]0.10000000 #[kgmˆ2]0.00000093 #[kgmˆ2]0.00300000 #[kgmˆ2]

16

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)17

6. TF-2MD3-R6 のファームウェア更新方法
TF-2MD3-R6 のファームウェア更新は、USB インタフェースで行います。


ファームウェアの更新時

• 作業中は、モータ駆動電源を供給しない• 作業を中断しない

基板のバージョンと一致するコンパイル済みのファームウェアを、以下の URL からダウンロー
ドします。ソースコードをダウンロードしてコンパイルすることでも生成できます。

http://t-frog.com/products/motor driver/



6.1

Linux 環境の場合

以下のコマンドで、 “samba Flash Utility for AT91SAM7 microcontrollers”、および書き込みスク
リプトをインストールします。
1
2
3
4
5
6
7
8
9

$ git svn clone --trunk=trunk --prefix=samba http://samba.googlecode.com/svn/ samba$ cd samba$ ./configure$ make$ sudo make install$ cd ../$ git clone http://t-frog.com/repos/git/tf2md3_flash.git$ cd tf2md3_flash$ sudo make install

以下のコマンドを実行します。DEVICE PATH は、/dev/ttyACM0 のように Linux 上にアタッチされるデバイスのフルパスを指定し、FIRMWARE.bin はコンパイル済みのファームウェアのパス
を指定します。
1$ tf2md3_flash DEVICE_PATH FIRMWARE.bin

作業が完了したら、コントローラ基板電源を切断し、再度、投入します。
ハードウェアスイッチで消去した場合、書き込みを中断した場合の書き込み!

• ハードウェアスイッチでファームウェアを消去した場合、書き込みを途中で中断
して再度書き込む場合は、以下のコマンドを使用して下さい$ tf2md3 flash DEVICE PATH FIRMWARE.bin --erased









ファームウェア更新成功の確認

!

• 電源投入時に、LED1 が短時間点灯した後消灯、LED2 が薄く点灯することを確認する二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

6.2

18

Windows 環境の場合“SAM-BA for Windows” を下記の URL からダウンロードし、インストールします。


http://www.atmel.com/tools/ATMELSAM-BAIN-SYSTEMPROGRAMMER.aspx


TF-2MD3-R6 を USB インタフェースでコンピュータに接続、コントローラ基板電源 (5V) を接続します。はじめに、Tera Term (http://sourceforge.jp/projects/ttssh2/) などのターミナルソフトウェ
アで、TF-2MD3-R6 の COM ポートを開き、受信改行コードの設定を “LF” に、送信改行コードの設定を “LF” または “CR+LF” に変更します。以下のコマンドを入力して FLASH ROM を消去します。(先頭の “$” も入力して下さい。)
1
2$FLASHERACEA$FLASHERACEB

入力中は文字列は表示されませんが、入力後に下記の表示が現れます。
1
2
3
4
5

$FLASHERACEA
00P$FLASHERACEB
00P

表示が異なる場合は、ターミナルソフトウェアを終了してから、コントローラ基板電源を切断、再度接続し、上記の手順をやり直して下さい。
なお、初回接続時には、デバイスドライバのインストールウィザードが開きますので、画面の指示に従ってデバイスドライバをインストールして下さい。Windows 7 の場合は、以下の手順でインストールできます。

1. スタートボタンの “コントロールパネル” から、 “システム” を開き、 “デバイスマネージャ”
を選択

図 8: デバイスマネージャを起動

2. “ほかのデバイス” を展開し、 “不明なデバイス” を右クリック、 “プロパティ” を選択二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)19

図 9: 不明なデバイスのプロパティを開く

3. “ドライバー” タブの “ドライバーの更新 (P)” を選択

図 10: ドライバーの更新

4. “コンピュータを参照してドライバーソフトウェアを検索します (R)” を選択

図 11: コンピュータを参照してドライバーソフトウェアを検索

5. “参照” ボタンから、 “SAM-BA for Windows” をインストールしたディレクトリ下の “drv” ディ
レクトリを選択 (標準設定では C:\Program Files (x86)\Atmel\sam-ba 2.12\drv ) し、 “次へ (N)”を選択

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)20

図 12: ドライバーソフトウェアを参照

6. セキュリティ警告画面が現れるので、 “このドライバーソフトウェアをインストールします (I)”を選択

図 13: ドライバーソフトウェアを参照(Windows 8 以降では、署名無しのドライバインストールを許可する設定が必要です。)
以下の手順に従ってファームウェアを書き込みます。

1. インストールした “SAM-BA for Windows” を実行
2. “Select the connection” 欄で、TF-2MD3-R6 のポートを選択
3. “Select your board” 欄で、基板のバージョンに対応する型番を選択
プレ製品化版
TF-2MD3-R6

at91sam7se512-ek
at91sam7se256-ek

4. “Connect” を選択

図 14: “SAM-BA for Windows” 接続画面

5. “External RAM initialization failed.” の警告が現れるので、 “はい (Y)” を選択二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)21

6. “Download / Upload File” の “Send File Name” 欄で、コンパイル済みのファームウェアを開く
7. “Send File” ボタンを選択

図 15: “SAM-BA for Windows” ファームウェア書き込み

8. “Lock region(s)” ウインドウが現れるので “いいえ (N)” を選択
9. “Scripts” 欄で “Boot from Flash (GPNVM2)” を選択して “Execute”

図 16: Flash からの起動設定作業が完了したら、コントローラ基板電源を切断し、再度、投入します。


ファームウェア更新成功の確認



6.3

!



• 電源投入時に、LED1 が短時間点灯した後消灯、LED2 が薄く点灯することを確認する

ファームウェアの書き込みに失敗する場合

上記の方法でファームウェアの書き込みに失敗する場合は、以下の手順で、FLASH ROM を強制的に消去することで書き込みが可能になる場合があります。

1. TF-2MD3-R6 基板上のスライドスイッチ “SW1” を、1 ピン表示側にスライド
2. コントローラ基板電源 (5V) を投入 (1 秒以内に消去が完了)二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

3. コントローラ基板電源を切断
4. スライドスイッチ “SW1” を、初期状態 (3 ピン表示側) にスライド
なお、スライドスイッチ “SW1” は、基板の版ごとに以下の場所に実装されています。

TF-2MD3-R6 コントローラ基板の裏面中央(ネジ止めされているドライブ基板とコントローラ基板を、取り外す必要があります。)
TF-2MD3 プレ製品化版 コントローラ基板の表面中央

22二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)7.

23

トラブルシューティング

モータドライバが正しく動作しない場合の、問題の確認方法をご説明します。

7.1

エラー表示 LED

モータドライバが動作を続けられない状態におちいった際、モータへの電力供給が停止され、基板上の LED1 が、エラー内容毎に、表 4 に示すパターンで点滅します。各エラーは以下の状況で発生します。
駆動電圧低下モータ駆動用電源電圧が 8 V 以下になり回路が動作できなくなった場合に発生します。電源電
圧が 0.5 秒間異常連続して復旧すると、自動的に動作を再開します。
ホール素子 1 異常
ホール素子 1 の入力に、通常起こりえない信号パターンが与えられたときに発生します。例えば、ケーブルの配線が誤っている場合、断線、接触不良、短絡がある場合に発生します。
ホール素子 2 異常
ホール素子 1 の場合と同様です。
通信なし
速度制御などの指令値が、一定時間与えられなかった場合に発生します。コンピュータで動作している ypspur-coordinator が異常終了したり、CPU 使用率が 100 %になり、通信ができない状態になっている可能性があります。
表 4: エラー表示 LED 点滅パターン

1 周期あたり 2.0 秒 (点灯: 点 、消灯: 消 )駆動電圧低下 点

点

消

消

点

点

消

消

消

消

ホール素子 1 異常 点

消

点

点

点

点

点

点

消

消

ホール素子 2 異常 点

消

点

消

点

点

点

点

消

消

通信なし 点

消

点

消

点

消

点

消

消

消

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)

7.2

24

ypspur-coordinator のエラー出力

コンピュータで動作する ypspur-coordinator と、TF-2MD3 基板との通信中に発生する代表的なエラーの意味は以下の通りです。

Error: Can’t open serial port.
ypspur-coordinator が TF-2MD3 の USB ポートを開けない場合に発生します。TF-2MD3 のファー
ムウェアが正しく書き込まれていない、もしくは ypspur-coordinator 起動時のポート指定が誤っている可能性があります。
Error: Device doesn’t have available YP protocol version.
通信開始時に TF-2MD3 が応答しない、もしくは異常な応答を返した場合に発生します。TF2MD3 のファームウェアと ypspur-coordinator のバージョンに互換性がない、もしくはファー
ムウェアが正しく書き込まれていない可能性があります。
Error: Your parameter file format is too old.
TF-2MD3 のファームウェアが古い場合に発生します。
Error: Your parameter file format is unsupported!
YP-Spur のバージョンが古い場合に発生します。
Error: Cannot find parameter file.
ypspur-coordinator がロボットのパラメータファイルを読み込めない場合に発生します。ファイ
ル名の指定が誤っている、もしくはパラメータファイルが読み込み禁止になっている可能性があります。
Error: **** undifined!
ロボットのパラメータファイル中で、必須のパラメータ (****部分) が定義されていない場合に発生します。
Error: Select in serial recieve failed. / Error: Read in serial recieve failed.
ypspur-coordinator が TF-2MD3 の USB ポートからデータを取得できない場合に発生します。
TF-2MD3 の動作異常、もしくは USB の通信が切断された可能性があります。
Error: Select timed out. / Error: Read timed out.
ypspur-coordinator が TF-2MD3 の USB ポートからデータを取得できない場合に発生します。
TF-2MD3 の動作異常、もしくは USB の通信が切断された可能性があります。

二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014)8.

25

問い合わせ先
ご購入方法、ハードウェアの不具合などについて

ツジ電子株式会社

〒 300-0013 茨城県土浦市神立町 3739
info2[at]tsuji-denshi.co.jp
029-832-3031


ソフトウェアのトラブルについて





渡辺敦志



〒 305-8573 茨城県つくば市天王台 1-1-1
筑波大学 システム情報工学研究科 知能ロボット研究室 (2013 年度現在)
atsushi.w[at]ieee.org
029-853-5155


技術的な質問、最新情報など

T-frog プロジェクト モータドライバフォーラム (メーリングリスト)
http://t-frog.com/forums/forum.php?ml=tf-2md3-devel
tf-2md3-devel[at]t-frog.com


二軸ブラシレスモータドライバ TF-2MD3-R6 User’s Manual (rev.5 - December 29, 2014) 参考文献

参考文献
[1] 飯田重喜, 油田信一, DC モータのソフトウェアサーボ系におけるフィードフォワード電流制御. 電学論
D Vol.109-D, No.4, pp.289-296, 1989.
[2] S. Iida, S. Yuta, Control of Vehicle with Power Wheeled Steerings Using Feed-forward Dynamics
Compensation, in Proc. of Annual Conference on the IEEE Industrial Electronics Society, pp. 2264-2269,
1991[3] 坪内孝司, 車輪移動体の制御, in Proc. of 日本ロボット学会主催 第 43 回講習会 ロボット工学入門シリーズ＜移動技術編＞『移動ロボットのやさしい解説』, pp. 58-68, 1995