ベンチトップ型ブラシレスDCモーターコントローラ
![](https://www.thorlabs.co.jp/Images/GuideImages/5066_BBD10X_BrushlessDC_6.jpg)
- One-, Two-, and Three-Channel Models Available
- Supports 3-Phase, Brushless DC Servo Motors (5 A Peak Total Output) with Encoder Feedback
- Direct Front Panel Control or Remote PC Operation
BBD301
1-Channel Controller
BBD303
3-Channel Controller
Kinesis® Software GUI
![](../../images/loading-red.gif)
Please Wait
Benchtop Motion Controllers |
---|
1-, 2-, and 3-Channel Brushless DC Servo Controllers |
1-, 2-, and 3-Channel Stepper Motor Controllers |
1- and 3-Channel Open Loop Piezo Controllers |
1- and 3-Channel Closed Loop Piezo Controllers |
2-Channel NanoTrak® Auto-Alignment Controller |
Other Brushless DC Servo Controllers | |
---|---|
K-Cube™ Single-Channel Controller | |
19" Rack-Mounted Controller | |
Modular 2-Channel Rack System Module |
特長
- 当社の3相ブラシレスDCサーボモータ製品に対応
- エンコーダによる速度と位置の閉ループ制御
- 前面パネルのディスプレイとコントローラが、PCによるリモート操作を補完
- RS232による通信とデジタル信号の入出力が可能なAUX I/Oポート
- USBおよびイーサネット接続が可能
- Kinesisソフトウェア制御によるサポート
- Kinesisが新たな機能をサポート
- 動作の同期
- PID設定
- すべてのKinesisコントローラ製品とシームレスな統合が可能
- コンパクトな設置サイズ(詳細は「仕様」タブ参照)
BBD300シリーズのブラシレスDCモーターコントローラは、高速(数百 mm/s程度)かつ高いエンコーダ分解能(100 nm未満)での操作を必要とするモーションコントロール用途に適しています。これらのコントローラには、幅広い用途に対応する高精度のモーションコントロールチャンネル(製品により1つ~3つ)があります。特に当社のMLS203シリーズの2軸走査ステージと組み合わせると顕微鏡の試料の位置制御が可能になります。また、 150 mm、220 mm、300 mm、600 mmのブラシレスDCモータ搭載の移動ステージやダイレクトドライブ回転ステージを使用した一般的なモーション用途にも対応しています。19インチラックでの用途向けにコントローラRBD201、ラックシステムエンクロージャMMR601への組み込み向けにコントローラーモジュールMBD602もございます。
これらのコントローラは、Kinesis製品の一部として、標準的な制御およびプログラミングインターフェイスが備わっているので、自動モーションコントロールシステムを簡単に構築することができます。このユニットはKinesisシリーズの最新コントローラの1つで、様々な機能を有するKinesisシリーズ PCソフトウェアツールを活用できます。また、このソフトウェアを使うことで製品を入手後すぐにお使いいただけます。このユニットは、現場での再プログラミングが可能なので、将来ファームウェアのアッデートに伴う新しいプログラミングインターフェイス(顕微鏡標準コマンドセットなど)を追加することも可能です。
USB接続のプラグアンドプレイによって簡単にPCとの連動ができます。多軸モーションコントロール用途の場合、標準的なUSBハブを介して複数のユニットを1台のパソコンへ接続することが可能です。当社のKinesisソフトウェアを利用することにより、複雑な動作シーケンスを短時間で構築することができます。このソフトウェアには、当社のステージおよびアクチュエータ製品用に、すべての関連動作パラメータが自動設定されます。
![Joystick Controller](https://www.thorlabs.co.jp/images/TabImages/MJC2_Stage_Joystick_A2-150.jpg)
Click to Enlarge
XY軸制御用のジョイスティックコンソールMJC2
ケーブルについて
アクチュエータやステージをコントローラに接続するケーブルはアクチュエータやステージに付属しており、コントローラには付属しておりません。交換用のケーブルについてのお問い合わせは当社までご連絡ください。
BBD200シリーズコントローラとの比較
当社のBBD300シリーズコントローラは、旧世代のBBD200シリーズコントローラに比べて性能面で大幅にアップグレードされています。新製品の前面パネルでは、ユニットがPC接続されていなくても、取り付けたステージを直接手動制御したり、速度および位置などの主要パラメータをLCDに表示する機能が実現しています。また、動作の同期機能はマルチチャンネルバージョンに含まれており、高度な輪郭運動が可能になりました。さらに、PIDモータ設定を制御することで、さまざまな負荷慣性を考慮して調整を行い動作を最適化できるようになりました。
ブラシ付きDCモータにはご使用になれません。
このコントローラは、高出力のブラシレスDCサーボモータ用の設計となっております。当社のブラシ付きDCサーボモーターデバイスの制御については、K-Cube DCサーボモーターコントローラKDC101のページをご覧ください。
ジョイスティックコンソール(オプション)
ジョイスティックコンソールMJC2とMJC3は顕微鏡との使用向けに設計されており、ステージの位置決めの際に直観的な手動制御が可能になります。このコンソールは、2軸ジョイスティックによるXY制御、または3軸ジョイスティックによるXYZ制御が可能です。ほとんどの用途では、コントローラにデフォルト値として保存されたパラメータの設定が利用できるので、ご自身による設定が不要です。これによりホストPCに接続する必要がない真のリモート操作が実現できます。
Item # | BBD301 | BBD302 | BBD303 |
---|---|---|---|
Number of Channels | 1 | 2 | 3 |
Drive Connector | 8 Pin DIN, Round, Female | ||
Feedback Connector | 15-Pin D-Type, Female | ||
Brushless Continuous Output | 2.5 A per Channel, 5 A Max All-Channel Total Output | ||
Brushless Peak Output | 4.0 A per Channel, 5 A Max All-Channel Total Output | ||
PWM Frequency | 40 kHz | ||
Operating Modes | Position and Velocity | ||
Control Algorithm | 16-Bit Digital PID Servo Loop with Velocity and Acceleration Feedforward | ||
Velocity Profile | Trapezoidal/S-Curve | ||
Position Count | 32 Bit | ||
Position Feedback | Incremental Encoder | ||
Encoder Bandwidth | 2.5 MHz (10 M Counts/sec) | ||
Encoder Supply | 5 V | ||
AUX Control Connector | 37-Pin D-Type Female (User Digital IO, 5 V O/P) | ||
Front Panel Display | 4.3" Full-Color LCD, 480 x 272 Pixels | ||
Input Power Requirements | 250 VA Voltage: 100 to 240 VAC Frequency: 47 to 63 Hz Fuse: 3.15 A | ||
Dimensions (W x D x H) | 199.8 mm x 229.1 mm x 108.8 mm (7.87" x 9.02" x 4.28") | 250.0 mm x 279.1 mm x 108.8 mm (9.84" x 10.99" x 4.28") | 350.0 mm x 279.1 mm x 108.8 mm (13.78" x 10.99" x 4.28") |
Mass (Weight) | 1.20 kg (2.65 lbs) | 1.70 kg (3.75 lbs) | 2.20 kg (4.85 lbs) |
前面パネルの概要
当社のBBD300シリーズコントローラは、PC接続や周辺ソフトウェアを必要とせず、取り付けたステージを前面パネルのコントローラおよびディスプレイによって操作できます。ただし、各ステージへの接続や電源の接続は必要です。以下はシングルチャンネルコントローラBBD301の主な機能をまとめたものです。
ステージ制御画面(ステージ静止時) | ステージ制御画面(ステージ動作時) | ||
起動し、必要なチャンネルを選択すると(マルチチャンネルコントローラの場合)、チャンネルに接続されたステージの情報、ステージのパラメータ、ステータス情報がディスプレイ画面に表示されます。このステージは、スクリーン左の2つのタッチボタンで簡単に「ENABLE」にしたり、ホーム画面に戻したりすることができます。 | ステージの動作中(この場合、ホーミング中)、ステージはSTOPボタンを押すと停止します。ステージ動作中にはこのボタンは赤くなります。これは、動作に予期しない障害がある場合、または間違った実行シーケンスが開始された場合に役立ちます。 | ||
モーターパラメータ | モーターパラメータの編集 | ||
ステージの動作パラメータを一目で認識し変更することができます(隣の画面参照)。 | 設定パラメータの変更はシンプルかつ直感的に行えます(ここではステージの速度が表示されています)。 | ||
位置のセットポイント | 一般的な設定 | ||
「Teach」メニューのノブおよびタッチボタンを使用して、複数の位置セットポイントをプログラムすることができます。ステージが所定の位置に達したら、Positionボタンを長押ししてその位置をファームウェアに記憶させます。必要な位置情報の隣にあるボタン(Position 1、Position 2、Position 3)を押すことで、ステージはこれらの位置に直接移動できます。 | スクリーンの明るさおよびノブの感度は変更可能です。この画面には、ファームウェアのバージョン、IPアドレス、コントローラのシリアルナンバも表示されます。 |
モータードライバ
DINコネクタ、メス
Pin | Description | Pin | Description |
---|---|---|---|
1 | Motor Phase V | 5 | Stage ID |
2 | GND | 6 | GND |
3 | Temp. Sensor (Not Used) | 7 | Motor Phase W |
4 | Motor Phase U | 8 | Enable |
フィードバック
D型コネクタ、メス
Pin | Description | Pin | Description |
---|---|---|---|
1 | Not Connected | 9 | GND |
2 | GND | 10 | Limit Switch + |
3 | Not Connected | 11 | Limit Switch - |
4 | Index - | 12 | Index + |
5 | QB - | 13 | QB + |
6 | QA - | 14 | QA + |
7a | 5 V | 15 | Not Connected |
8a | 5 V |
ハンドセット
Mini DINコネクタ、メス
Pin | Description | Pin | Description |
---|---|---|---|
1 | RX (Controller Input) | 4 | Supply Voltage for Handset 5 V |
2 | Ground | 5 | TX (Controller Output) |
3 | Ground | 6 | Ground |
AUX I/O
D型コネクタ、メス
Pin | Description | Pin | Description | Pin | Description | Pin | Description |
---|---|---|---|---|---|---|---|
1 | RS232 TX | 11 | User Digital O/P 11+ | 21 | +5 V | 31 | User Digital O/P 4+ |
2 | RS232 RX | 12 | User Digital O/P 10- | 22 | User Digital I/P 3 | 32 | User Digital O/P 4- |
3 | Ground | 13 | User Digital O/P 10+ | 23 | User Digital I/P 2 | 33 | User Digital O/P 5+ |
4 | Differential I/P 2+ | 14 | User Digital O/P 9- | 24 | User Digital I/P 1 | 34 | User Digital O/P 5- |
5 | Differential I/P 2- | 15 | User Digital O/P 9+ | 25 | User Digital I/P 0 | 35 | User Digital O/P 6+ |
6 | Differential I/P 1- | 16 | User Digital O/P 8- | 26 | User Digital O/P 0 | 36 | User Digital O/P 6- |
7 | Differential I/P 1+ | 17 | User Digital O/P 8+ | 27 | User Digital O/P 1 | 37 | Ground |
8 | User Digital O/P 12- | 18 | User Digital O/P 7- | 28 | User Digital O/P 2 | - | - |
9 | User Digital O/P 12+ | 19 | User Digital O/P 7+ | 29 | User Digital O/P 3 | ||
10 | User Digital O/P 11- | 20 | +5 V | 30 | Ground |
USB
USB Type B、メス
I/O
BNCコネクタ、メス
5 V TTL
Software
Kinesis Version 1.14.49
The Kinesis Software Package, which includes a GUI for control of Thorlabs' Kinesis system controllers.
Also Available:
- Communications Protocol
![Kinesis Software](https://www.thorlabs.co.jp/images/TabImages/Kinesis_KDC101_GUI_A2-400.jpg)
Kinesis GUI Screen
Thorlabs offers the Kinesis® software package to drive our wide range of motion controllers. The software can be used to control devices in the Kinesis family, which covers a wide variety of motion controllers ranging from small, low-powered, single-channel drivers (such as the K-Cubes™) to high-power, multi-channel benchtop units and modular 19" rack nanopositioning systems (the MMR60x Rack System).
The Kinesis Software features .NET controls which can be used by 3rd party developers working in the latest C#, Visual Basic, LabVIEW™, or any .NET compatible languages to create custom applications. Low-level DLL libraries are included for applications not expected to use the .NET framework and APIs are included with each install. A Central Sequence Manager supports integration and synchronization of all Thorlabs motion control hardware.
By providing this common software platform, Thorlabs has ensured that users can mix and match any of our motion control devices in a single application, while only having to learn a single set of software tools. In this way, it is perfectly feasible to combine any of the controllers from single-axis to multi-axis systems and control all from a single, PC-based unified software interface.
The software package allows two methods of usage: graphical user interface (GUI) utilities for direct interaction with and control of the controllers 'out of the box', and a set of programming interfaces that allow custom-integrated positioning and alignment solutions to be easily programmed in the development language of choice.
Legacy Software
Select products are still capable of running the legacy APT™ software package. Information on software compatibility can be found in the product documentation (), and additional details about the APT software can be found here.
Kinesis®ソフトウェアでは新しい.NETコントロールが使用でき、最新の最新のC#, Visual Basic, LabVIEW™、ほかの.NET対応言語を使用する開発者がカスタムにプログラムを作成することもできます。
C#
このプログラミング言語はマルチプログラミングパラダイムやマルチプログラミング言語が使用可能となるよう設計されているため、複雑な問題が簡単かつ効率的に解決できます。型付け、命令型、宣言型、関数型、ジェネリック、オブジェクト指向、そしてコンポーネント指向が含まれます。 この共通のソフトウェアプラットフォームにより、1セットのソフトウェアツールを習得するだけで、あらゆるKinesisコントローラを簡単に組み合わせることができます。このようにして1軸システムのコントローラから多軸システムのコントローラまで、様々なコントローラを組み合わせ、全てを1台のPCのソフトウェアインターフェイスから制御することが可能となりました。
Kinesisシステムソフトウェアを使用するには2つの手段があります。コントローラを直接つないで制御を行なう付属のGUI(グラフィカルユーザーインターフェイス)ユーティリティ、またはご希望の開発言語でカスタム仕様の位置決めやアライメントを簡単にプログラムできる一連のプログラミングインターフェイスです。
Kinesisモーションコントロールライブラリの構築の参考となる実行可能なプロジェクト機能拡張例については下のリンクをクリックしてください。なお、Quick Startのプロジェクト例の実行には別の統合開発環境(IDE)(Microsoft Visual Studioなど)が必要です。C#のプロジェクト例はKinesisソフトウェアパッケージに付属する.NETコントロールで実行可能です(詳細は「Kinesisソフトウェア」タブをご覧ください)。
![]() | Click Here for the Kinesis with C# Quick Start Guide Click Here for C# Example Projects Click Here for Quick Start Device Control Examples | ![]() |
LabVIEW
LabVIEWは、.Netコントロールを介してKinesisまたはAPTベースのコントローラとの通信に使用できます。LabVIEWでは、ツールとオブジェクトでフロントパネルとして知られるユーザーインターフェイスを構築した後、グラフィカル表記の関数を使ってコードを追加し、フロントパネルのオブジェクトを制御します。下記のLabVIEWチュートリアルでは.Netコントロールを使用してLabVIEW内KinesisまたはAPT駆動デバイス用の制御GUIを作成するための情報をご提供しています。 LabVIEWでコントローラを制御する基本的な方法や、LabVIEW GUIを用いてデバイスを操作する前に行うべき設定の手順についても解説しています。
![]() | Click Here to View the LabVIEW Guide Click Here to View the Kinesis with LabVIEW Overview Page | ![]() |
Posted Comments: | |
Hallam Greene
 (posted 2024-08-09 11:22:09.247) We are having issues controlling DDS600/M and DDS220/M delay stages using the BBD302 when using 32 bit LabView scripts. Neither the APT/Active-X nor the Kinesis/.NET controls seem to be able to communicate with the stages. Using APT/Active-X controls in 64 bit LabView works fine, as does using the Kinesis software directly at 32 bit. Any suggestions would be appreciated, thank you! cstroud
 (posted 2024-08-14 04:23:58.0) Thanks for reaching out, I'm sorry that you're having issues with our DLL's. I will contact you directly to help troubleshoot this. Qiuyuan Zhong
 (posted 2024-06-05 15:52:38.38) Hi, I am using a BBD302 controller with a MLS203 stage, and want to use trigger output at position steps (Fwd). Can you please send me how to configure in Kinesis and running XY stage with trigger output at fixed intervals? Best Regards, wind cstroud
 (posted 2024-07-01 09:16:44.0) Thanks for reaching out. I will contact you directly to help set up the output trigger. Dan Orop
 (posted 2024-05-23 13:44:00.99) Is there a sample code for the BBD302 (or BBD3xx) in Labview using Kinesis to set an output trigger at a specific position?
I see that there's the basic BBD sample code for motion and there is a sample for non-BBD triggering (KCube) but I am unable to find some of the appropriate method to do this. Thanks! do'neill
 (posted 2024-06-04 09:54:20.0) Thank you for reach out, I will reach out to you directly to discuss this with you and provide an example VI. hongsung an
 (posted 2024-04-04 15:53:57.977) Hello. I am using bbd302 (firmware 010107).
I have set the trigger out in the software to use the trigger, but when I moved to the stage, the trigger signal is not outputting.
Is this because of the firmware not being updated?
If it's a firmware issue, please let me know how to update it. spolineni
 (posted 2024-04-09 06:15:44.0) Thank for reaching out. Your issue might be due to outdated firmware. I’ll contact you soon for further troubleshooting and potential firmware update. Hwi Je Woo
 (posted 2024-03-22 10:39:14.53) Hi, I am using a BBD301 with a DDS220/M through Python scripts. I adjusted the DDS220/M to move forwards and backwards from 100 mm to 120 mm, over 30 times. The acceleration was set to 100 mm/s², and the velocity to 10 mm/s. Subsequently, the BBD301 displayed an 'overload' message, and the DDS220/M stopped working. Were the operating conditions for the BBD301 too demanding for repeated movements? How can I prevent the BBD301 from becoming overloaded or non-functional? do'neill
 (posted 2024-04-03 05:53:25.0) Thank you for you feedback and I am sorry to hear about this. There are many possible causes for the overload error. Your application itself should not intrinsically cause it but this will depend on many factors such as load. I will reach out to you directly to discuss your application and help troubleshoot this. SONY UDAYAN
 (posted 2024-03-08 14:49:32.84) we tried to program the controller BBD302 using c#. we tried to create controller object, it returns a null value.
The error value is System.NullReferenceException..The object is not creating. do'neill
 (posted 2024-03-13 08:00:50.0) Thank you for reaching out. I will reach out to you directly to provide an example and troubleshoot your issue. Danny Chan
 (posted 2023-11-29 13:01:16.713) I am using a DDS220/M axis with a BBD301 controller using the .NET API via pythonnet. The controller frequently shows an "Overload message" on its display and sometimes stops working at all. I used the sample code from the Kinesis getting started guide. I noticed that the axis sounds differently if I use the Kinesis software vs controlling via the API. MaxVelocity and Acceleration parameters are the same, however. What can I do? do'neill
 (posted 2023-12-11 04:22:43.0) Response from Daniel at Thorlabs. I will reach out to you directly to directly to discuss your application and look over your script. In addition example scripts to get you started can be found on out GitHub page at https://github.com/Thorlabs/Motion_Control_Examples selene flemming
 (posted 2023-06-13 08:14:15.32) Do the BBD30X units have any advantages over the more economical KBD101 K-Cubes? do'neill
 (posted 2023-06-15 09:15:24.0) Response from Daniel at Thorlabs. There are a few differences, the KBD101 K-cubes are all single channel where as the BBD30X can be 1, 2, or 3 channel. Also the stages that the K-cubes support are different from the benchtop devices. Vytautas Jakstas
 (posted 2022-09-07 09:56:40.747) Hi. We would like to operate three translation stages (type: DDS300/M and/or DDS220/M) at a time. Can we use a single BBD303 controller for all three of the stages? DJayasuriya
 (posted 2022-09-07 10:51:35.0) Thank you for your feedback. Yes that is correct. The BBD303 has 3 channels that controls 3 brushless stages. Please get in touch with your local techsupport team if you have any questions, we would be happy to help. user
 (posted 2022-08-18 20:41:23.68) Hi thorlabs, can BBD302 be used to control the galvo like GVS012? DJayasuriya
 (posted 2022-08-18 09:51:58.0) Thank you for your inquiry. Unfortuantely the BBD302 would not support the GVS012. For the GVS012 you would need a DAQ card or a function generator. Please see chapter 4 on our manual (htps://www.thorlabs.com/drawings/ce7acd8b6476cac5-EB516D8C-E4E4-8D37-C9B7C526F0005FB1/GVS012-Manual.pdf). If you have any questions please do not hesitate to get in touch with your local tech support team. Fu Kai-Jun
 (posted 2022-06-29 15:51:28.873) Hi,i am using BBD301 with DDS220.My product number is 103228554I want to use a trigger signal to trigger DDS220 but it didn't Work.
I had used Kinesis set BNC1 = input in the Baseunit page.Then in Channel 1 trigger page I set input mode:home sorce:BNC1 polarity:high. cwright
 (posted 2022-06-29 09:10:34.0) Response from Charles at Thorlabs: Thank you for contacting us. I will reach out to you to assist with troubleshooting. The configuration is correct and I have verified this works with the latest firmware (1.01.06). It is likely the device is disabled or there is a fault with the triggering method. suraj somwanshi
 (posted 2022-05-12 18:34:41.73) Hi,
I am using BBD302 controller with MLS203 stage, and wanted to understand trigger output feature. Can you please send me few sample codes on configuring and running XY stage with trigger output at fixed intervals?
Best Regards,
Suraj S. cwright
 (posted 2022-05-13 05:30:56.0) Response from Charles at Thorlabs: Thank you for contacting us. The BBD30x series does have additional triggering options which may benefit from an example. We will look at putting together a short example and will reach out to you about this. suraj somwanshi
 (posted 2022-04-05 19:34:32.277) Hi,
We are using BBD 303 with MLS203 XY stage.
We are experiencing intermittent channel disable issue. After this, we are not able to home the channel.
We tried upgrading both firmware and software to latest version as well but still issue remains.
URGENT help greatly appreciated.
Best Regards,
Suraj S.
VP Product Engineering
OptraSCAN cwright
 (posted 2022-04-05 08:52:29.0) Response from Charles at Thorlabs: Thank you for contacting us. A member of technical support will reach out to help with troubleshooting. Your local technical support team can also be contacted directly using the details at the following link: https://www.thorlabs.com/supportcontact.cfm Noah Kolodziejski
 (posted 2022-02-11 10:26:45.3) I would like to know if these controllers have fans inside? Our assembly will be delivered to a clean room and fans are prohibited. cwright
 (posted 2022-02-14 06:27:34.0) Response from Charles at Thorlabs: Hello and thank you for your query. These controllers do include two 60 mm x 60 mm fans inside the case. Klaus Bartl
 (posted 2022-01-12 05:04:23.41) I'm controlling a DDR100/M rotation stage connected to a BBD301. I'm using the "Host-Controller Communications Protocol" like described in Issue 29 (2021-10-20). Everything works fine. Now I want to use time-position arrays (commands 0x0980, 0x0983, 0x0986). But after loading the data, setting the (cycling) parameters and sending SYNCHSTART nothing happens. The stage is not moving at all. Is there a possibility to check, if the data has been loaded correctly? It's a bit unclear and ambiguously described where indices (ArrayID, StartIx, CycleStartIx, CycleEndIx) start. Are they 0-based ore 1-based? cwright
 (posted 2022-01-14 04:40:23.0) Response from Charles at Thorlabs: Thank you for your query. I will reach out to you directly to discuss this in detail. It appears the command protocol may have a couple of documentation errors which are likely causing confusing. An update will be released shortly. Michael Giacomelli
 (posted 2021-07-13 16:27:17.53) Does the BBD302 still expose the quadrature encoder outputs on the AUX connector like the BBD202? The manual mentions QA, QB and IX/Ref, but they're not listed on the pinouts. cwright
 (posted 2021-07-15 10:26:46.0) Response from Charles at Thorlabs: Hello and thank you for your query. Yes, this is still possible. The QA, QB and IX signal from the BBD302 are accessible through the AUX IO D-Type connector. There are differential outputs (“Digital O/P 4+/4-“ to “Digital O/P 12+/12-“) which output the QA, QB and IX signals by default. Suraj Somwanshi
 (posted 2021-07-01 16:43:58.507) We were earlier using BBD200 series controllers with MLS 203 stages.
We intend following functionality which was available in earlier BBD200 series and would like to know if this can be achieved in BBD302 controllers.
Using user I/O port, we could readout encoder positions on our micro-controller based board using differential pins (QA,QB and Index).
We technically use this to read the position and generate trigger output at certain position intervals.
We would like to know if this can be achieved in BBD302 controller AUX I/O output signals.
Once you confirm this, we would like to place order for two units immediately. jcater
 (posted 2021-07-02 06:12:24.0) Response from Jack at Thorlabs: Thank you for your inquiry. It is possible to read the QA, QB and IX signal from the BBD302's AUX I/O connector. There are 9 differential outputs on the 37-way D-type connector (the pairs “Digital O/P 4+/4-“ to “Digital O/P 12+/12-“).
These are configurable and by default they output the QA, QB and IX signals corresponding to the 3 motor channels. Spencer Nelson
 (posted 2021-02-16 12:01:58.88) equip: Controller BBD201, Stage DDS300
Using a terminal communication app, the only command that I can get a responses is MGMSG_HW_REQ_INFO 0x0005. Any suggestions? DJayasuriya
 (posted 2021-02-17 09:09:58.0) Thank you for your inquiry. On a BBD, REQ_INFO would take 0x11 (the motherboard) as the destination byte, other commands, such as the REQ_VELPARAMS would take the channel slot as the destination byte, 0x21, 0x22, 0x23. If you have used 0x11 as the destination byte for REQ_VELPARAMS there would be no response. Hope this helps. If you have any other questions your local tech support team will be happy to help. Soyeon Kim
 (posted 2020-06-09 03:43:25.61) I followed a guideline for BDD 202 motor, but I had a problem with Issettingsinitialized method. I couldn't wire those with previous one. Could you tell me how I can do this?
Plus can i open example file without upgrading labview? cwright
 (posted 2020-06-11 04:05:11.0) Response from Charles at Thorlabs: Hello and thank you for your query. I will need to see your VI so I will reach out to you directly to diagnose the issues you are experiencing. An older version of Labview cannot open a file created for a recent version but they can be saved for compatibility with some older versions. I can help you with this when I reach out to you. Min Kim
 (posted 2020-05-29 16:07:06.787) I am having trouble with connection between BBD202 (connected with MLS203) and micromanager. It seems MLS203 recognized as BD102. Could you kindly let me know how I can change it to MLS203 so that I can control XYstage?
Please let me know. Thank you. DJayasuriya
 (posted 2020-06-01 09:38:42.0) Thank you for your inquiry. We will get in touch directly to resolve your issue. Mathias Hüne
 (posted 2019-11-15 09:44:21.103) Hi, I want to trigger the controller externally with a digital trigger. In the APTUser software, I set the Input trigger on my desired trigger behaviour (e.g rel move on rising edge) and this works so far. But unfortunately I can not figure out, how I set the distance. In the manual it is written, that the last value from move_rel is used. But either in my APT based python software nor in the APTUser software I have this command. So how can I set this value?
I have also tried the Kinesis software, where I also can enable the Trigger. But this did not work at all.
Do you have an idea or an example? cwright
 (posted 2019-11-22 09:44:00.0) Response from Charles at Thorlabs: Hello Thank you for contacting us. The relative move distance is not available through APT’s GUI and must be set through ActiveX controls or serial commands. I will reach out to you directly to help troubleshoot your program. user
 (posted 2019-07-02 12:31:40.44) Hi, I am having some issues getting this recognized in uManager. I see below that someone else requested some support. Any idea hints as to how to get this the BBD202 recognized?
Many thanks for your help. A AManickavasagam
 (posted 2019-07-04 09:46:42.0) Response from Arunthathi at Thorlabs: Thanks for your query. We will contact you directly with the documentation that might help set up the controller correctly in Micromanager. Ekin Kocabas
 (posted 2019-04-24 19:14:01.243) Hello, I'm developing a python wrapper for the Kinesis C API to connect to BBD202 with two DDS220 stages in XY configuration. I had the following questions/comments.
Current Setup
-------------
* Windows 10 64 bit
* Using Kinesis Version 1.14.16 C API (64 bit)
* Two DDS220 stages connected as XY to a BBD202 controller
* Python wrapping via ctypes, homing and basic motion commands implemented
Questions/Comments
------------------
1) TLI_DeviceInfo Struct Reference in Thorlabs.MotionControl.C_API.chm file does not match the definition in the Thorlabs.MotionControl.Benchtop.BrushlessMotor.h file. For instance, in the chm file TLI_DeviceInfo has a field called "maxPaddles" which is absent in the header file.
2) Why does the example code under BMC_Open checks for BMC_Open(serialNo) != 0 to execute the contents of the if statement? Does running BMC_LoadSettings and BMC_StartPolling automatically connect to the controller?
3) Without a BMC_LoadSettings call, position related functions such as BMC_GetRealValueFromDeviceUnit or BMC_GetMotorParamsExt do not work. Are there other inter-functional dependencies? It would be great to have those reflected in the documentation.
4) I try to use BMC_SetLimitsSoftwareApproachPolicy and BMC_SetMotorTravelLimits functions to limit motion by the stages, but BMC_MoveToPosition function overrides the travel limits. What is the proper way to limit the travel range for the DDS220 stages through the C API? rmiron
 (posted 2019-04-25 04:27:22.0) Response from Radu at Thorlabs: Hello, Ekin. Thank you for taking the time to bring these issues to our attention. I have relayed your feedback internally such that our C_API documentation gets improved. I will try to address your points in order.
1) maxPaddles is a parameter of the TLI_DeviceInfo struct defined in Thorlabs.MotionControl.Polarizer.h. That is why it is mentioned in the .chm file.
2) BMC_Open is the function call which connects the controller to the PC. By checking whether the call returned 0, one is effectively checking whether the connection was initialised successfully. I advise you to add an else statement which prints the returned value (the error code) in case there are any connection issues.
3) Without a BMC_LoadSettings call, the PC does not know what motor parameters to use for conversions between real and device units. Every other method which requires such knowledge will be negatively affected. There are many other similar inter-functional dependencies (some functions need to be called before others in order for the code to run successfully) that are not documented. I agree that this situation needs to be amended.
4) I will contact you directly in order to check whether you have identified a bug, or whether the custom limits get overridden by a different function call. If it is a bug, we will fix it by the next software release. In the meantime, you could bypass the problem by amending your code such that it checks whether a stage has been ordered to move outside of this custom travel range. aurelien.duboin
 (posted 2018-03-21 11:07:26.443) Good morning,
I'm trying to run a MLS203 stage with a BBD202 Controller under Micromanager (build 1.4.23). When using the Thorlabs device adapter library I can connect the controller through a virtual COM, however then the stage moves only along X axis and the delay between 2 moves is approx 10s. The other adapter Thorlabs APTstages appears unavailable in the Hardware configuration wizard of Micromanager despite I'm copying the APT.dll in Micromanager folder.
The stage is working fine under Metamorph on the same computer.
Can you confirm which adapter I need to use under Micromanager ? Do I have to use APTconfig first to configure the controller ?
Many thanks in advance,
Best regards bhallewell
 (posted 2018-04-05 04:24:35.0) Response from Ben at Thorlabs: I will contact you to see if I can assist you. Please note that Micromanager is an Open Source program and so it is possible that changes have been made to the program which is forcing this to not function correctly. It may be worth trying to use an older version of Micro-Manager (1.4.21) where we previously contributed to fixing issues with motor stage movement and XY stage initialization. davide.musiari
 (posted 2017-06-01 17:24:56.09) Good afternoon,
I'm trying to create a c++ program allowing me to control the 2 DDS220 stages through the BBD202 controller.
I'm succeeding in importing the .h files and the other libraries, but I don't undestrand how to implement functions, such as motortype.
Furthermore, I'm looking for the commands that gives the possibility to communicate with the controller.
May you send me an easy example of c++ implementation?
kind regards bhallewell
 (posted 2017-06-09 06:03:35.0) Response from Ben at Thorlabs: The motor type for BBD202 is selected on controller start-up & therefore shouldn't need to be selected. We have some video tutorial resources for controlling our Motion Control hardware through ActiveX controls via use of our APT software package as well as C# .NET managed examples for the BBD202 via our Kinesis package. APT methods are defined in the APT Server help file from the APT software download & Kinesis methods outlined within the .NET API from the Kinesis download. Kinesis is our latest version of software which we would recommend use of.
Kinesis Examples Download area (see - BBD Console Managed).
https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=10285
Note - To query the Stage settings, you can refer to methods outlined in Thorlabs::MotionControl::GenericMotorCLI::Settings::MotorDeviceSettings from the .NET API guide.
https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=10285
APT Visual C++ Tutorials
https://www.thorlabs.com/tutorials/APTProgramming.cfm simone.decataldo
 (posted 2017-05-11 11:57:15.81) Good morning,
We purchased two DDS220 translation stages with its specific control drive BBD202.
We manage to move indipendently the 2 linear stages, but now we are facing a problem: we are not able to connect the 2 linear motors and give them simultaneous operations. We believe that the solution is in the APTUser Application, but we haven't found yet; then we hope to receive some technical advice from you.
kind regards bhallewell
 (posted 2017-05-22 08:18:59.0) Response from Ben at Thorlabs: Thank you for your feedback. It is unfortunate to hear that these devices are not currently meeting your expectations. I'll contact you directly to see if I can assist you. eliana.cordero
 (posted 2017-02-14 09:11:45.33) The APT available to install does not content the BBD202 control unit which enables me to stablish the communication with the controller and the platform. also the Kinetics software does not work, I get a message that indicates that the applciation is going to close and that I should revew the error log. I would appreciate if any solution is suggested.
Kind regards,
Eliana Cordero bwood
 (posted 2017-02-15 11:13:18.0) Response from Ben at Thorlabs: I am sorry to hear about your difficulties connecting our BBD202 controller to your computer. This question will likely require additional troubleshooting, so I will be in contact with you directly. However, one piece of advice I can give is that the "Firmware Update Utility" included with APT and Kinesis, is a good tool to use for initial communications troubleshooting. If your controller appears in the utility, that means that basic USB communications have been established with the controller. chiwon.lee
 (posted 2016-11-02 11:27:35.76) Hello,
I'm using BBD01 controller. On trying to do labview programming, I have a problem that my labview sub-vi doesn't communicate with the controller. The error message says that
"A software call has been made to a control which is not currently communicating with any hardware. This may be because the control has not been started or due to incorrect serial number or missing hardware.".
The serial number that I put on my sub-vi is the same with the one used in the APT User software. The controller is working well through the APT User, but not through the labview. bhallewell
 (posted 2016-11-03 10:00:04.0) Response from Ben at Thorlabs: I will contact you directly to help you with using APT with LabVIEW. A number of web-based resources including examples, a help guide & video tutorials can be found in the following link.
https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=8348 okirfan
 (posted 2016-10-21 08:01:56.927) I want to use BBD203 (along with DDS 220) with lockin amplifier SR830, I don't know where to connect SR830 in this Assembly. Also, previously I used newport stuff. Can you provide program for pump probe spectroscopy with these?
thanks msoulby
 (posted 2016-10-25 06:35:37.0) Response from Mike at Thorlabs: We will contact you directly to discuss your application jwlee
 (posted 2016-07-02 03:44:20.337) I tried to install APT software 32bit in my PC(windows enterprise 64bit). Another computer completely installed but my PC dosen't installed and error massage below,
##IDS_DIFX_X86##.
So please, resolve this problem. bhallewell
 (posted 2016-07-04 06:37:15.0) Response from Ben at Thorlabs: Thank you for your response here. Please ensure that you are downloading & installing either the 32-bit for 64-bit OS version of APT or the full 64-bit software package.
https://www.thorlabs.de/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control
I would also recommend trying our new Kinesis software package, which includes such benefits as an improved Sequence Manager & improvements to connectivity sensitivities that exist within the older APT framework. This is also free to download & install from the above link. balaji
 (posted 2015-09-24 22:28:15.08) Hi I have been using a range of APT software driven instruments such as TDC controller, BBD002 servo controller etc., I want to point out that there is some issue with 64 bit software for 64 bit platform. The 32 bit for 64 bit works fine. Secondly and more importantly we have been trying to shift to using USB/serial communication while I have been able to list the com port after enabling Load VCP in the advanced tab of the driver. However having hard time sending commans through serial terminal software such as commdebug, real term etc., They all recogonise the com port but the device is totally unresponsive left to wonder if there is some way to test the communication and if we need to use a FTDI library to issue a write command rather than through terminal software msoulby
 (posted 2015-09-28 10:14:12.0) Response from Mike at Thorlabs: The VCP setting should be set up as follows. Baud rate = 115200; Flow control = RTS/CTS; Bits per word = 8; Number of stop bits = 1; Parity = NONE. We have contacted you directly with the latest version of the communications protocols for our motion control products and also some brief instructions on how to use this is a terminal emulator, in this case Termite. Using the identify command MGMSG_MOD_IDENTIFY (0x0223) is a good way to check you have established communication with the controller, this command will flash the front panel LEDs of the addressed controller. yannick.dmello
 (posted 2014-07-28 11:42:54.91) I am using the BBD203 to drive a translation stage and we have encountered two issues:
1. The controller seems to power off if left idle for over a few minutes, this is very inconvenient for remote controlled operation and I have not yet found a fix. I am using two controllers and only one of them has this issue. Can this setting be changed?
2. The translation stage does not move in exactly 0.1um precision though the software claims it does. How exactly can this be calibrated?
Thank you msoulby
 (posted 2014-07-29 06:24:12.0) Response from Mike at Thorlabs: (1) The controller should not power off after just five minutes, I suspect that there could be an issue with that controller especially in light of the fact that your second controller seems to operate correctly. We will need to get the controller back for evaluation/repair. Our US office will be in contact with you shortly regarding this. (2) The brushless DC motors all make use of a linear encoder to give feedback from the stage to the controller to obtain the correct position, we are confident that the encoder gives the correct distance travelled. This closed loop system uses a PID control loop to control how the stage reaches the final position, these PID settings can be tuned in the settings panel of APT to suit different customer applications to account for load, acceleration, speed, move size, etc.. As you are using such a small move size it will be worth taking a look through the BBD203 manual for more details on the settings and how they affect stage movements, the manual can be viewed here http://www.thorlabs.de/thorcat/23900/BBD203-Manual.pdf ilr
 (posted 2014-07-01 20:46:15.93) Hello again. Did you manage to find a workaround to access motor's serial number from the controller?
We are considering making a comercial product based on your BBD controller and MLS motors. Obviously, we would like to protect our product from being purchased once, but used on many setups with the same controller (just by replugging cables). So a workaround will be very much appreciated! msoulby
 (posted 2014-07-03 10:28:15.0) Response from Mike at Thorlabs: Unfortunately there is no work around for this. Our controllers can often operate with a number of stage variants which is why we have the APT config utility so that the user can assign each controller serial number to a certain stage or axis. This controller serial number is how each stage is identified in APT. This means that the controller is not limited to using just one type of stage. However this does mean that attention needs to be paid to how the cables are connected to ensure you assign the correct axis to that particular channel. ilr
 (posted 2014-01-22 02:42:11.16) Thank you again for the explanation, Mike! Since HWSerialNum is a property from the MG17Motor control, I thought I was setting up a motor's S/N, but now I see what you mean. I would really appreciate any workaround. ilr
 (posted 2014-01-20 17:46:58.493) Thank you for your reply, Mike! I am a bit confused now, even though I have programmed fully one setup. Does the motor serial number belong to the controller or to the translation stage (MLS203)? I am asking because I would like to programmatically bind a translation stage to a particular controller, so that one cannot plug another (but same model) stage to a given controller. I was thinking to use controller's S/N together with motor's S/N. Is that possible? msoulby
 (posted 2014-01-21 05:00:24.0) Response from Mike at Thorlabs: There is a motor serial number and this is read by the BBD202 controller, however as this is not generally required we did not develop an ActiveX method to help expose this. The only serial numbers you can use will be the serial numbers of the controller channels and not the motor. As the APT server does not see the motor it only sees the controller then each serial number needs to be configured to a particular stage before run time in our APT config utility. The APT config utility sets parameters used by the APT server specific to the stage you are using, for example travel length, max velocity, max acceleration, etc… these settings are all stored in the APTServer.ini file in the windows directory. As the APT server does not see the motor it is not possible to set a controller to a specific motor; currently the only way would be to ensure the same channel and stage have their connectors clearly labelled. We are however looking to see if there might be a workaround to access this value from the controller and we will contact you directly with our findings. ilr
 (posted 2014-01-18 17:09:14.277) I am using BBD202 controller and two motors with my own software to make 2D scans. To enumerate the motors and get their serial numbers, I use the technique described in the manual. In particular, I use MG17System object and its methods GetNumHWUnits and GetHWSerialNum. Those serial numbers are then used with MG17Motor to address the particular motor.
Now I would like to buy one more BBD202 controller, which will be controlled simultaneously with the same software (my own). How do I distinguish between the two controllers? I know that they have different serial numbers, but I could not find any reference in the manual saying how I can obtain this serial number and then use with the MG17System object to talk to the proper controller.
Is it possible to operate two BBD202 controllers simultaneously that are connected on the same USB bus? msoulby
 (posted 2014-01-20 09:25:25.0) Response from Mike at Thorlabs: Yes it is possible to use two controllers simultaneously on the same USB bus. The only way to address each individual channel is to use the HWSerialNum ActiveX property from the MG17Motor control. The correct serial number can be found above each channel on the rear panel of the BBD202 controller. Each controller will have the same hardware type but will have a unique set of serial numbers allowing each channel to be easily recognised; each channel will need its own instance of the MG17Motor.ocx control. |
![Back to Top Back to Top](https://www.thorlabs.co.jp/images/arrow_Vert.gif)
- 1、2、または3チャンネルの3相ブラシレスDCサーボモータ用コントローラ
- 高速、高精度のモーションコントロールに適した製品
- 前面パネルにディスプレイとコントロールスイッチ
- 通信、およびプラグアンドプレイによるPC操作のためのUSB、イーサネットおよびAUX I/Oポート
- Kinesisによるソフトウェア制御をサポート
- コンパクトな設置面積
BBD300シリーズのブラシレスDCサーボモーターコントローラは、高速性(数100 mm/s程度)と高いエンコーダ分解能(100 nm未満)を要求されるモーションコントロールに適しています。このBBDシリーズコントローラは、最新のデジタルおよびアナログ技術と、高帯域で高パワーのサーボコントロール回路を使用しており、ブラシレスDCサーボモータを最大連続出力電流2.5 A (型番BBD301)または5 A(型番BBD302とBBD303)で駆動できるように設計されています。これらのコントローラは、S字加減速が自由に設定できるため、振動や衝撃の無い、スムーズな高速位置決めが可能です。従って、当社のMLS203シリーズの2軸走査ステージと組み合わせると、顕微鏡下での試料位置の操作に大変有用です。また、150 mm、220 mm、300 mm、600 mmの移動ステージやダイレクトドライブ回転ステージを使用した一般的なモーションコントロールにも有用です。
これらのDCサーボコントローラでは、当社のKinesis®によるコントロール&プログラミングインターフェイスをご利用いただくことができ、自動モーションコントロールのアプリケーションに簡単に組み込むことができます。PCとのインターフェイスとして、柔軟性を高めるためにUSBとRS232の両方を備えており、付属のソフトウェア開発キット(SDK)を用いてステージのPC自動制御が可能です。SDKはWindowsで動作する全ての主要な開発言語をサポートしており、従来のダイナミックリンクライブラリ(DLL)の形式で提供されます。
USB接続のプラグアンドプレイによって簡単にPCでの操作が可能になります。多軸のモーションコントロールを行う場合でも、標準的なUSBハブを介して複数のユニットを1台のPCに接続できます。この機能と使いやすいソフトウェアを組み合わせることで、複雑な動作シーケンスを短時間でプログラムして実行することができます。
![Back to Top Back to Top](https://www.thorlabs.co.jp/images/arrow_Vert.gif)
- USB HIDプロトコルを使用した信頼性の高いジョイスティック
- ジョイスティックノブによる2軸または3軸制御
- 高速または高精度の移動を実現する2種類のモード
- 感度調整のための速度ダイヤル
- リモート手動操作が可能
- PCを用いて再プログラム可能
- 人間工学に基づいた設計
ジョイスティックMJC2およびMJC3は顕微鏡ユーザ向けに設計されており、ステージの位置決めを手動で直感的に行うことができます。MJC2にはXY制御用に2軸のジョイスティックノブ、MJC3にはXYZ制御用に3軸のジョイスティックノブが付いています。どちらのジョイスティックノブも上下左右に動かすことができますが、MJC3のジョイスティックノブでは第3軸の制御機能として時計回りまたは反時計回りにひねることができます。また、ジョイスティックには高速移動と高精度移動を切り替えるプッシュボタンと、速度制御を微調整するためのスピードダイヤルも付いています。ほとんどの用途では、コントローラに保存されたデフォルトのパラメータ設定のままですぐにお使いいただくことができ、それ以上の設定は不要です。そのような使い方をするときはホストPCに接続する必要もなく、真のリモート操作が可能です。PCを使用してパラメータを再設定したとき、それをペアリングしたコントローラにも保存できます。そのため、PCとの接続を外してもリモート操作を継続できます。
ジョイスティックMJC2およびMJC3は、当社のベンチトップ型ブラシレスDCモーターコントローラ、ラックマウント型ブラシレスDCサーボコントローラ、ステッピングモーター用コントローラに対応します。これらのコントローラやUSB HIDクラスを使うセットアップと組み合わせて使用できるように、ジョイスティックにはMini-DINポートとUSB Type-Cポートの両方が付いています。また、6ピンMini-DINプラグ-プラグケーブルとUSB 3.1 Type-A - Type-Cケーブルの2本のケーブルが付属します。USB HIDを介したジョイスティックの構成やセットアップについての詳細は、型番横の赤いアイコン()をクリックしてマニュアルをご覧ください。