<ピン配列>
※上下の基板はコネクタで接続されているだけです。きちんと固定するには下記基板固定方法を参照してください。
※bps設定をする場合は、一度、上の基板をコネクタから抜いてから行ってください。bpsスイッチは販売時には保護用のオレンジ色のシールが貼られていますので設定を変える場合はピンセットなどでシールを取り去ってください。
<上下基板の固定方法>
AG−BT20Eは上下2つの基板で構成されています。上下の基板はコネクタで接続されているだけですので、ロボット組み込み時など、振動が加わる用途に使用する場合は、上下の基板を固定してください。固定はコネクタ部をホットボンドで固定する方法と、ネジ止めする方法があります。
ここではネジ止めする場合の例を紹介します。
上下の基板にはφ2.2の穴が開いており、基板間は5mmになっていますので、5mmスペーサを間にいれてM2ネジでネジ止めできるようになっています。下の写真を参照してください。
本製品にはM2ネジ、スペーサ、ナットは付属していませんので、お手数ですが電子部品店などで入手してください。尚、写真のものはネット通販のWILCOで購入したものを使っています。参考までに以下にWILCO品名を紹介します。
M2ネジ(M2L10ネジ): PC−0210
スペーサ:CT−2005
ナット:M2ナット(なんでもよい)
※下の基板(大きなほう)の四隅に取り付け穴があいていますが、上の基板を装着した状態では1つの穴が使えませんので注意してください。
<接続図(3.3V系マイコンとの接続)>
RX:マイコンのUARTのTXに接続します。
TX:マイコンのUARTのRXに接続します。
G :GNDに接続します。
3.3V:3.3Vの電源を供給します。
※以下2つは、マイコン側のアプリケーションにより接続します。(通信をする場合の必須ではない)
Link:マイコンのGPIOに接続します。この端子はBluetoothリンクが確立された場合にHighになり、リンクが切れている場合にはLowになります。
RST:マイコンのGPIOに接続します。この端子を1秒間LOWにした後、HIGHにするとリセットがかかり、コネクション待機状態になります。リセットボタンを押しても同じ動作になります。
下はPC用Bluetooth無線機の例(別売)です。USB接続のものがアマゾンなどで1500円〜3000円前後で販売されています。製品に添付されたアプリケーションソフトをインストールし、接続の管理などを操作します。詳しい接続方法などは下で説明します。PC側のBT無線機はVer2.0+EDRのものを使用してください。
<接続図(5V系マイコンと接続する場合)>
市販されているH8やPICマイコンボードの場合は、5V動作が多いと思います。この場合は、BT20Eへの入力ラインに下記のように抵抗をつけて分圧することで通信させることが可能になります。
尚、抵抗値については、マイコンボードのハードウェア構成によっては変わってくる場合がありますので、実際の接続時には事前にオシロスコープなどで波形を観測した後に接続することをお勧めします。BT20Eへ加わる電圧と、波形変化の形(方形波に近いほどよい)に注意してください。一般的には、抵抗値1:2で分圧すると5Vを約3.3Vへ変換できますが、マイコン又はマイコンボードの回路によってはこの比率が変わってくる場合があります。下記サンプルプログラムのページに実際の例があるので同じマイコンを使う場合は参照してください。(AGB65シリーズも5V系ですが、この場合は下記を参照願います。)
<AGB65シリーズと接続する場合)>
AGB65ロボット神経システムシリーズは特殊なシリアル通信ポートになっているので、BT20Eのような3.3V系につなぐ場合はオプションの「AGB65−BT」を経由して接続します。以下、接続例です。
尚、ここでは115200bpsでの接続例を示しますが、今後AGB65シリーズは460800bpsにも対応するバージョンを発売予定ですのでBlurtoothを使ってより高速にPCからコントロールすることが可能になる予定です。
ここではAGB65−ADCとAGB65−RSCを接続していますが、その他のAGB65シリーズ(もしくはADC,RSCの増設)も数珠つなぎに増設していくことができます。詳しくはAGB65のページ及び各サンプルプログラムのページを参照願います。
<動作説明>
AG-BT20E(以下BT20Eと略す)とPCをBluetooth(以下BTと略す)通信させるには以下の手順で行います。
※通信速度DIPスイッチを切り替えた後の一回目の電源ON時にはかならずエラー(次の節参照)が出ますので、一度電源を切り入りしてください。その後はエラーは出なくなります。
1)PCにPC側のBluetooth無線機のアプリケーションソフトをインストールします。詳細は各無線機のマニュアルを参照してください。PIN認証(パスキーという場合もある)の設定がある場合は、「PIN認証あり」に設定してください。
その後、PC側のBT無線機を起動して下さい。BT20EのPINは「0000」で固定です。(半角数字のゼロが4つ)
2)BT20Eをマイコンと3.3V電源に接続し、電源を入れます。電源投入後、BT20Eは無線モジュールの初期化を行った後にLEDを3回点滅させます。その後、
他のBTから検索(スキャン)が可能な状態にへの移行を試みます。検索(スキャン)が可能な状態へ問題なく移行できた場合は「RADY」のLEDだけ点灯します。
3)BT20Eの「RADY」だけ点灯している状態で、PC側のBT無線機から検索及びペアリングを実行します。検索及びペアリングはPC側BT無線機に付属しているアプリケーションソフトで行うのが一般的なので、詳細はそちらのマニュアルを参照してください。BT20EはPCからの要求に自動応答してペアリング(物理的に無線がつながった状態)を行います。
4)その後、PCとBT20E間でSPPプロトコルスタックを実装します。これも自動で行われます。SPPが実装され、仮想COMポートでソフトウェア的な接続も終了すると、BT20E上の「Link」LEDが点灯します。またこのとき、Link端子がHIGHになり、仮想COMポートで接続されている間中HIGHを保持します。
5)「RADY」と「Link」両方が点灯している状態でBT20Eにデータを送ると、そのデータがそのままPCの仮想COMポートへ送られます。また、このときPCから仮想COMポートへデータを送るとそのデータがそのままBT20Eから出力されます。通信は全二重通信でおこなわれますので、送信中に受信をすることも可能です。
7)PC側から接続を切断すると、BT20Eはリセットがかかり、2)の状態になります。BT20E側の電源を切るとPC側の接続が切断されます(数秒かかる)。
基本的には、PC側マスタから接続を呼びかけてBT20E(スレーブ)が応答し、通信経路を確立するという流れになります。接続までの流れはPC側の操作や設定に依存しますので、以下に実際の例を示します。
尚、現在販売されているUSB接続のBT無線機は、アプリケーションソフトにより大きく「BlueSoleil系」、「TOSHIBA
Bluetooth Stack系」、「WIDCOMM系」に分かれます。ここでは実際のデータ通信は行いませんが、上記4)までの例を示します。実際の通信例は下のサンプルプログラムの節を参照願います。
■BlueSoleil系(ELECOM製BT-UD1)とBT20Eとの接続例
■TOSHIBA Bluetooth Stack系(プラネックス製BT-Mini2EDRW)とBT20Eとの接続例
■WIDCOMM系(SIGMA製SBTD01)とBT20Eとの接続例
尚、現在こちらで確認できているのは
BlueSoleil系:ELECOM、ロジテック
TOSHIBA Bluetooth Stack系:Prinston、プラネックス、SANWA
WIDCOMM(Bloadcom)系:SIGMA、IOデータ
のようです(確実でないので、実機を確認してください。)。
<エラー時>
通信エラーが起きた場合はRADYのLEDが点滅します。エラーの種類により、以下のように点滅回数が変わります。点滅はエラーの間中、周期的に点滅しつづけます。
1回:bpsスイッチ読み取りができなかった
2回:無線モジュール(上の基板)が動いていない。コネクタが外れている。
3回:初期化失敗
4回:ペアリング失敗
エラーが起きた場合はRSTボタンを押すか、RST端子をLOW1秒間LOWにした後にHIGHにします。尚、一番初めの通信時や、bps設定スイッチを変えた後には初期化失敗エラーが起きる場合があります。この場合は一度全ての電源をOFFにしてからONにして下さい。
また、接続可能状態になるまでは数秒(平均3秒ほど)かかります。この間にBT20Eに対してデータを送るとエラーの原因になりますので注意してください。
<注意事項>
■有線のシステムを無線に置き換える場合は通信ができなかった場合のことを考慮する必要があります。最近のシリアル通信装置の性能は良いので、通常の有線のシリアル通信システムでは通信ができなかった場合を考慮していない場合があります。
この無線機に限らず、市販の有線型ロボットなどを無線化する場合には通信ができなかった又は通信途中でデータが変わってしまった場合にどうなるか(フリーズする、暴走する可能性がある、など)をよく確認願います。
ご自分でマイコンシステムを構築している場合にはチェックサムをつけるなど、エラー対策を入れることをお勧めします。
BlueTooth無線の場合は送信データをある程度のまとまりづつ送りますので、大量のデータを連続送受信することはできません。目安ですが、数百バイト程度なら連続で送れますが、数千バイト以上になるとデータの抜けなどが生じます。長いデータを送る場合には数百バイトづつ送るようにアプリケーションで調整してください。
■一番初めの起動時と、bps設定スイッチを変えた後一回目の動作時には初期化失敗エラー(LED点滅)が起きます。電源を切り入りすると次からはエラーが出なくなります。
■この無線機はLVTTLレベル(0V/3.3V)で動きますが、PCのシリアル通信ポート(COMポートなど)は違う電圧レベルで動きますので、間違った接続をすると無線機が壊れる可能性があります。PCのシリアル通信については「Windowsアプリを組んでみる」で詳しく説明していますので一度ご参照願います。
■通信距離は使用する環境によって大きく変わりますのでご注意願います。
<ドキュメント>
■AG-BT20E取り扱い説明書 (製品添付のものです。実際の取り扱いはこのページを参照願います。)
<使い方事例、サンプルプログラム>
■A33FでPCと無線通信をおこなう
■ロボット神経システムAGB65シリーズとPCを無線で接続する
■H8マイコンでPCと無線通信をおこなう
■SH2でPCと無線通信をおこなう
■AVR(AT-WALKER)でPCと無線通信をおこなう
■PICでPCと無線通信をおこなう
<Q&A>
※Q&Aにつきましては、お問い合わせ、ご質問の多いものから随時掲載していく予定です。
Q:3.3Vがきちんと供給されているのに、電源を入れてもLEDが3回点滅しない。
A:G端子は基板のグランドパターンに接続されておりますが、グランドパターンは面積が大きいので他の端子よりもハンダがのりにくくなっています。G端子がきちんとハンダ付けされているか確認してください。尚、導通テスターを使うと素子に逆電圧が加わる可能性があるので、確認はルーペなどで目視するのがよいかと思います。
Q:接続は合っていると思われるし、起動時にLEDが3回点滅するが、その後赤LED点灯状態にならずに2回点滅を繰り返す。
A:AG−BT20Eへの供給電流が足りないとこのような現象になることがあります。 3.3V電源を出力が大きいものに変えてみてください。
Q:BT20E側から連続送信するときにかなりのデータが化ける。初めの1バイト以外は全部化ける。
A:BT20Eに接続しているマイコンのクロック源が不安定だとこのような症状になることがあります。たとえばマイコン内臓のRCクロックを使っている場合、RCクロックはいつも正確なタイミングを出すわけでなないので送信動作起動直後に不安定になりデータ化けするということがあるようです。この場合はクリスタル発振子などの正確なクロックを外部から供給することで解決できます。
|