ベンチトップ型ステッピングモーター用コントローラー


  • Motor Speeds up to 3000 RPM
  • 409,600 Microsteps per Revolution of Motor
  • Seamless Operation with Thorlabs Stages/Motors

Full Suite of Software Support Tools Included

BSC201

BSC201 Rear Panel

Related Items


Please Wait
BSC203
BSC203(ステッピングモーターアクチュエータDRVシリーズ用)

特長

  • 微細位置決め用途向け高分解能マイクロステップ制御 
  • 差動エンコーダーフィードバック(QEP入力)による閉ループ位置決め制御
  • モータ制御用I/Oポート(ジョグ、インターロック)
  • 制御用ソフトウェア一式が付属
  • 直感的操作が可能なグラフィック制御パネル表示のソフトウェア
  • ActiveX®プログラミングインターフェイス
  • 他のAPT™シリーズコントローラ製品も対応可能な完全統合型ソフトウェア

こちらのステッピングモータ用コントローラは、これまでより機能が改良された次世代のコントローラで、従来のAPTユーザーインターフェイスを使用します。選択可能な台形またはS字型の速度プロファイルや、理論的にさらに高分解能のマイクロステップ(200フルステップモータで409,600)、そして従来のコントローラの2倍の速度実現など新しい機能・性能が多く備わっています。

当社のDRVシリーズアクチュエータ(DRV208DRV225DRV250*)と使用する設計のこちらの1、2、3チャンネル型の50 Wステッピングモータ用コントローラは、エンコーダーフィードバック付き、あるいは無しの高出力2相バイポーラ式ステッピングモータを駆動できます。当社の高出力ステッピングモータ付きナノポジショニングアクチュエータやステージ(LNR502/MならびにNRT150/Mなど)を駆動するように設計されていますが、様々なステップサイズの一般的な2相バイポーラ式モータの駆動も可能です。対応するモータについては「仕様」タブをご覧ください。DRVシリーズアクチュエータをコントローラに接続するケーブルはアクチュエータとともに発送いたしますが、交換用ケーブル(長さ1 mのPAA612と、長さ3 mのPAA613)もご用意しております。なお、これらのコントローラは当社のZSTまたはZFSシリーズステッピングモータとの使用には適しておりませんのでご留意ください。

USB接続のプラグアンドプレイによって簡単にPCとの連動ができます。多軸モーションコントロール用途の場合、標準的なUSBハブを介して複数のユニットを1台のパソコンへ接続することが可能です。使いやすいAPTソフトウェアと組み合わせることにより、これらの機能を短時間で起動し、ある程度複雑な動作シーケンスで動作させることが可能です。例えばこのソフトウェアには、当社のステージおよびアクチュエータ製品用に、すべての関連動作パラメータが自動設定されています。ActiveX®プログラミング環境を使用すれば、より高度なカスタム仕様のモーションコントロールやシーケンスも可能となります。詳細は、「モーションコントローラソフトウェア」および「APTチュートリアル」タブをご参照ください。

さらにAPTコントロ―ラは当社の2軸および3軸ジョイスティックコンソール(下記参照)も対応します。このジョイスティックコンソールは、ステージの直感的かつ触覚的な手動位置決めが可能です。ほとんどの用途では、コントローラにデフォルト値として保存されたパラメータの設定が利用できるので、ユーザ自身による設定が不要です。したがってホストPCに接続する必要がない真のリモート操作が実現できます。しかし、駆動するアクチュエータによっては、ソフトウェアの一部の設定の調整が必要な場合があります。すべてのケーブルが付属します。なお、このジョイスティックは当社の旧世代BSC10xシリーズコントローラには対応しませんのでご留意ください。

2チャンネル型コントローラBSC202をお持ちの場合、当社によるアップグレードでコントローラを3つ目のチャンネルに対応できるようにすることも可能です。詳しくは当社までお問い合わせ下さい。

*これらのステッピングモータ用コントローラは、当社の旧世代アクチュエータDRV001、DRV013、DRV014にも対応します。

Other Stepper Motor Controllers
K-Cube™ Single-Channel Controller 1-, 2-, and 3-Channel Benchtop ControllerModular 2-Channel Rack System Module

Item #BSC201BSC202, BSC203
Input and Output
Motor Drive Connector
(15-Pin, D-Type Female)
2-Phase Bipolar Motor Drive Output
Differential Quadrature Encoder (QEP) Input
Forward, Reverse Limit Switch Inputs
Encoder 5 V (with Ground)
Control IO Connector
(15-Pin, D-Type Female)
Jog Forward/Back Input (TTL)
User Logic Input/Output (TTL)
Single-Ended Analog Input (0 - 10 V)
User 5 V (with Ground) 100 mA Max
Trigger Input/Output (TTL)
Motor Resolution
Microsteps per Full Step2048
For 200 Step Motor409,600 Microsteps/Rev
Motor Drive Voltage48 V
Motor Drive PowerUp to 50 W (Peak) / 25 W (Average)
Motor SpeedsUp to 3000 RPM (200 Full Step Motor)
Encoder Feedback Bandwidth500 KHz (500 000 Counts/s)
Input Power Requirementsa
Voltage85-264 VAC
Power100 W (Peak)200 W (Peak)
Fuse3.15 A
General
Housing Dimensions (W x D x H)152 mm x 244 mm x 104 mm (6" x 9.6" x 4.1")240 mm x 360 mm x 133 mm (9.5" x 14.2" x 5.2")
Weight3.18 kg (7 lbs)6.7 kg (14.75 lbs)
Compatible Motor Specifications
Peak Powers15 to 50 W
Average Power25 W (Max)
Step Angle Range20° to 1.8°
Coil Resistance (Typical)4 - 15 Ω
Coil Inductance (Typical)4 - 15 mH
Rated Phase Currents (Typical)0.1 - 1 A
  • 電源ケーブル(日本国内用)が付属

制御I/Oコネクタ

d-type_long

モータードライブコネクタ

d-type lon

PinDescriptionReturnPinDescriptionReturn
1User 5 V I/O99User 0 V-
2Jog Forwardsa910Jog Backwardsa9
3Not Used911Analog Inb9
4Trigger In-12Trigger Out9
5User 0 V-13Not Used5
6Not Used-14Not Used6
7Digital (User) In-15Digital (User) Out9
8Keyed Pin-   
PinDescriptionPinDescription
1Encoder A +ve9CW Limit Switch
2Encoder A -ve10CCW Limit Switch
3Encoder B +ve110 V User
4Encoder B -ve12For Future Use
55 V User13For Future Use
6For Future Use14Motor Phase B+
7Motor Phase B-15Motor Phase A+
8Motor Phase A-  
  • ジョグ入力機能を有効にするにはUser 0 V(ピン9)に接続する必要があります。
  • Analog Inはピン9の0 Vを基準にした0~5 Vとなります。この入力は、APTソフトウェアのLLGetADCInputsメソッドを呼び出して読み込むことができます。詳細はAPTServerのヘルプファイルをご覧ください。

PC接続用

USB B型

d-type_long

USBのB型-A型変換ケーブルが付属します。

リモートハンドセットコネクタ

ジョイスティックMJC2およびMJC3に対応

PinDescription
1 RX (Controller Input)
2Ground
3Ground
4+5V, 100 mA Power Supply
5TX (Controller Output)
6Ground

ドライバの適応性

ステッピングモータは、DCサーボモータよりも低速動作性能と位置決め安定性が優れています。2相バイポーラ式のステッピングモータを搭載したアクチュエータは、幅広い種類が市販されており、ステップ分解能、ピーク相電流や電圧、送りネジのピッチなどそれぞれ独自の特性があります。そのような幅広い種類のモータに対応するため、BSC200シリーズステッピングモータ用コントローラは、ソフトウェアのグラフィカルインターフェイスパネルの主要の設定からすべての設定(パラメータ化)が可能です。ステップの分解能と送りネジのピッチは、モータ/アクチュエータを指定することで設定でき、相電流は必要に応じて適切なピークパワーに制限可能です。リミットスイッチの設定はロジック設定で対応します。

また、相対的および絶対的動作は、速度プロファイルパラメータ(加速と減速を含む)を使って動作プロファイルを設定することで実行できます。同様に、ホーミング(ゼロ位置データ)シーケンスには、特定のステージまたはアクチュエータに対して調整された関連パラメータが含まれています。操作を容易にするため、apt™ソフトウェアには各ステージならびにアクチュエータ用に設定が予めされておりますが、他社製のステッピングモータ駆動システムでもご使用いただけるようすべてのパラメータが開示されています。

便利で簡単な機能として、すべての主要パラメータは、直感的なソフトウェアグラフィカルパネルから直接設定が可能です。例えば、次の位置へ移動する場合は位置表示を直接クリックして新しい値を入力することで始動します。

BSC101 GUI

注:自動アライメントシーケンス用に、これらの設定やパラメータはすべてプログラム可能な ActiveX®インターフェイスからのアクセスも可能です。BSC200シリーズ用のapt™ソフトウェアのサポート機能については「モーションコントロールソフトウェア」タブをご覧ください。

GUIコントロール&ActiveX®コントロールソフトウェアが一式付属

BSC200には最先端のソフトウェアサポート一式が完備されています。このセットには、複雑な設定が不要で、コントローラを入手後すぐに使用開始するためのユーティリティが多数含まれています。全ての動作モードは手動アクセスが可能です。パラメータを変更し、また次回まで保存しておくこともできます。より高度なカスタム仕様のモーションコントロール用途には、カスタム仕様の開発をサポートするActiveX®プログラミング環境も付属しています。注:これらの設定やパラメータはプログラム可能なActiveX®インターフェイスからのアクセスも可能です。BSC200シリーズのapt™ソフトウェアサポートについて詳細は「モーションコントロールソフトウェア」タブをご覧ください。apt™ソフトウェアのプログラミング方法は、「APTチュートリアル」タブ内のビデオでご紹介しています。

ActiveX

こちらのステッピングモータ用コントローラに付属のActiveX® apt™システムソフトウェアは、当社のマルチチャンネルのラックベースシステムや小型光学テーブルに取付可能なCube型コントローラをはじめとするapt™コントローラ製品にも互換性があります。統一ソフトウェアによって、単体位置決めの用途で使用するapt™ベンチトップ、テーブルトップならびにラックベースのユニットをシームレスに組み合わせることが可能です。

MMR601

apt™シリーズのコントローラならびに関連する可動製品の特徴は、主にハードウェアならびにソフトウェア両方のレベルにおいて完全自動のアライメント・位置決めシステムが設計できることです。apt™シリーズのコントローラには全てUSB接続部が付いております。マルチドロップバスにより、複数のapt™ユニットを市販のUSBハブやケーブルを使用して1台のPCにつなぎ、制御することを可能になります。マルチチャンネルの用途をお考えの場合、単純に必要なドライバを増設して、その数のAPTコントローラにつなげるだけです。

エンコーダーフィードバック:位置決め確度 

こちらのステッピングモータ用コントローラは、専用のQEP入力によるエンコーダーフィードバックもサポートしています。「ビルトイン」アルゴリズムが可能なことにより、複雑な反復的動作シーケンスからステッピングモータシステムをエンコードされた位置に移動させ、位置を保持することができます。カスタム仕様の閉ループアルゴリズム向けに、 ActiveX®プログラミング可能インターフェイスによるアクセスのためのエンコーダ位置を開示しています。

ソフトウェア開発者向けサポート用CD

apt™シリーズのコントローラには、開発者向けのキットが含まれています。このサポートソフトウェアは、apt™製品を組み込んだ大型システムのソフトウェア開発向けです。キットには便利なコードサンプルやビデオチュートリアル情報が豊富に含まれています。

当社では幅広い種類のモーションコントローラを駆動できるよう、Kinesis® ソフトウェアパッケージと従来のAPT™(Advanced Positioning Technology)ソフトウェアパッケージの2種類のプラットフォームをご用意しております。どちらのパッケージも小型で低出力のシングルチャンネルドライバ(K-Cube™やT-Cube™など)から高出力でマルチチャンネルのモジュール式19インチラックナノポジショニングシステム(APTラックシステム)まで幅広い種類のモーションコントローラをカバーするKinesisシリーズのデバイスを制御できます。

Kinesisソフトウェアには、最新のC#、Visual Basic、LabVIEW™またはその他の.NETに対応する言語を使用してカスタムプログラムを作成するサードパーティの開発者向けに、.NETコントロールが付属しています。また、.NETフレームワークを使用しない用途向けに低級言語用のDLLライブラリも付いています。センターシーケンスマネージャが、当社の全てのモーションコントロールハードウェアの統合と同期をサポートします。

Kinesis Software
KinesisのGUIスクリーン
APT Software
APTのGUIスクリーン

当社従来のAPTシステムソフトウェアプラットフォームは、C#、Visual Basic、LabVIEWまたはその他のActive-Xに対応する言語を使用してカスタムプログラムを作成するサードパーティの開発者向けに、ActiveXをベースとしたコントロールが付属しています。また、ハードウェア無しでカスタムプログラムの開発を行うためのシミュレーターモードも付いています。

これらの共通のソフトウェアプラットフォームにより、あらゆるKinesisとAPTコントローラをシングルアプリケーションに簡単に組み込むことができます。ソフトウェアツールは1セット習得するだけで共通した操作が可能です。シングルチャンネルシステムからマルチチャンネルシステムまで、あらゆるコントローラを組み合わせ、全てを1台のPCのソフトウェアインターフェイスから制御することが実現可能です。

このソフトウェアパッケージを使用するには2つの手段があります。GUI(グラフィカルユーザーインターフェイス)ユーティリティを使用したコントローラとの直接対話ならびに「out of the box」コントロール、またはご選択の開発言語でカスタム統合の位置決めやアライメントソリューションを簡単にプログラムできる一連のプログラミングインターフェイスです。

APTシステムソフトウェアをよりご理解いただけるために様々なチュートリアルビデオもご用意しております。ビデオではソフトウェアの概要とAPT Configユーティリティをご説明しています。また、ソフトウェアのシミュレーターモードを利用すると、コントローラを接続しないでソフトウェアを試すことができます。その方法を説明したビデオもあります。これらのビデオは「APTチュートリアル」タブ内のリンクからご覧いただけます。

ソフトウェア

Kinesis バージョン 1.14.49

このKinesisソフトウェアパッケージには、当社のKinesisならびにAPT™システムコントローラを制御するためのGUIが含まれています。

下記もご用意しております:

  • 通信プロトコル
Software Download

ソフトウェア

APT バージョン 3.21.6

このAPTソフトウェアパッケージには、当社のAPT™およびKinesisシステムコントローラを制御するためのGUIが含まれています。

下記もご用意しております:

  • 通信プロトコル
Software Download

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ソフトウェア」タブをご覧ください)。

C Sharp IconClick Here for the Kinesis with C# Quick Start Guide
Click Here for C# Example Projects
Click Here for Quick Start Device Control Examples
C Sharp Icon

LabVIEW
LabVIEWは、.Netコントロールを介してKinesisまたはAPTベースのコントローラとの通信に使用できます。LabVIEWでは、ツールとオブジェクトでフロントパネルとして知られるユーザーインターフェイスを構築した後、グラフィカル表記の関数を使ってコードを追加し、フロントパネルのオブジェクトを制御します。下記のLabVIEWチュートリアルでは.Netコントロールを使用してLabVIEW内KinesisまたはAPT駆動デバイス用の制御GUIを作成するための情報をご提供しています。 LabVIEWでコントローラを制御する基本的な方法や、LabVIEW GUIを用いてデバイスを操作する前に行うべき設定の手順についても解説しています。

Labview IconClick Here to View the LabVIEW Guide
Click Here to View the Kinesis with LabVIEW Overview Page
Labview Icon

こちらのページでご覧いただくAPTビデオチュートリアルは、付属のATPユーティリティに関する説明と、いくつかのプログラミング環境におけるAPTシステムのプログラミングに関する説明の2つの部分から構成されています。

免責事項:これらの動画は、当初はAdobe Flashによって作成されました。2020年のAdobe Flashのサポート終了後、これらのチュートリアルは再録画されています。各動画の下にはFlash Playerの操作ボタンが見えますが、機能はしません。

APTコントローラには、APTUserユーティリティとAPTConfigユーティリティが付いています。APTUserを用いると、直感的操作が可能なグラフィック制御パネルを介して、APTで制御するハードウェアに素早く簡単に接続することができます。APTConfigは「オフライン」ユーティリティで、メカニカルステージのタイプを事前に選択し、それらを特定のモーションコントローラに対応付けるなど、システム全体のさまざまな設定を行うことができます。

APT Userユーティリティ

下の左側の動画では、APTUserユーティリティの操作概要について説明しています。シングルチャンネルコントローラのOptoDriverは、制御用のPCが無くても前面パネルのコントローラを介して操作できます。前面パネルのコントローラに保存されている操作に関する設定は、APTUserユーティリティを使用して変更することができます。そのプロセスは下の右側の動画でご覧いただけます。

APT User - 概要
APT User - OptoDriverの設定


APT Configユーティリティ

シミュレートされたハードウェア構成のセットアップや、メカニカルステージの特定のモータードライブチャンネルへの対応付けなど、APT Configユーティリティを使用してAPTシステム全体の様々な設定ができます。下の最初の動画ではAPT Configの概要をご覧いただけます。シミュレートされたハードウェア構成の作成方法やステージと対応付ける方法についての詳細は、その右側の2つの動画でご覧いただけます。

APT Config - 概要
APT Config - シミュレータのセットアップ
APT Config - ステージとの対応付け


APTのプログラミング

APTソフトウェアシステムは、ActiveXコントロールのコレクションとして実装されています。ActiveXコントロールは言語に依存しないソフトウェアモジュールで、グラフィカルユーザーインターフェイスとプログラミングインターフェイスの両方を提供します。ハードウェアユニットのタイプごとにActiveXコントロールのタイプがあります。例えば、Motor ActiveXコントロールはすべてのタイプのAPTモーターコントローラ(DCまたはステッパ)の操作に対応します。ActiveXコントロールは多くのWindowsソフトウェア開発環境やソフトウェア言語で直接サポートされており、そのようなコントロールがカスタムアプリケーションに組み込まれると、そこに含まれるすべての機能が即座にアプリケーションで利用できるようになります。下の動画では、LabVIEW、Visual Basic、Visual C++によるAPT ActiveXコントロールの基本的な使用方法について説明しています。これ以外に、LabWindows CVI、C++ Builder、VB.NET、C#.NET、Office VBA、Matlab、HPVEEなどの多数の言語でもActiveXはサポートされています。これらの言語環境についてはチュートリアルのビデオでは特に取り上げていませんが、動画内の考え方の多くは他の言語環境でも適切に使用できます。

Visual Basic

Part 1ではVisual Basicで動作するAPT ActiveXコントロールを設定する方法について説明しており、Part 2では独自の位置決めシーケンスをプログラミングする方法について説明しています。

Visual BasicによるAPTプログラミング:Part 1
Visual BasicによるAPTプログラミング:Part 2


LabVIEW

LabVIEWはActiveXをフルサポートしています。下の一連のチュートリアルビデオでは、APTによる独自のモーションコントロールシーケンスを作製する際の基本的な構成要素を示しています。まずソフトウェア開発中にオンラインヘルプを呼び出す方法をご紹介します。Part 2ではAPT ActiveXコントロールの作成方法をご紹介します。ActiveXコントロールではメソッド(機能)とプロパティ(数値設定)の両方を設定できます。Part 3と4では、ActiveXコントロールで示されたメソッドとプロパティを作成してワイヤで接続する方法をご紹介します。最後に、Part 5では全体をまとめて、独自の移動シーケンスを実行するLabVIEWのプログラム例をご紹介します。

LabVIEWによるAPTプログラミング -
Part 1:オンラインヘルプへのアクセス方法
LabVIEWによるAPTプログラミング -
Part 2:ActiveXコントロールの作成方法
LabVIEWによるAPTプログラミング -
Part 3:ActiveXのメソッドの作成方法
LabVIEWによるAPTプログラミング -
Part 4:ActiveXのプロパティの作成方法
LabVIEWによるAPTプログラミング -
Part 5:ActiveXコントロールの開始方法


下のチュートリアルビデオでは、メソッドおよびプロパティのノードを作成する別の方法について説明しています。

LabVIEWによるAPTプログラミング -
ActiveXメソッドの作成方法(別の方法)
LabVIEWによるAPTプログラミング -
ActiveXプロパティの作成方法(別の方法)


Visual C++

Part 1ではVisualC++で動作するAPT ActiveXコントロールを設定する方法について説明しており、Part 2では独自の位置決めシーケンスをプログラミングする方法について説明しています。

Visual C++によるAPTプログラミング:Part 1
Visual C++によるAPTプログラミング:Part 2


MATLAB

当社のAPTポジショナにMATLABおよびActiveXコントロールを使用する場合は、こちらの資料をご覧ください。

プログラマー向けとして、LabVIEWでAPTソフトウェアをプログラミングする方法もこちらからご覧いただけます。


Posted Comments:
an tinghui  (posted 2024-09-12 16:58:51.49)
I am working on implementing a BSC203 in a test system with software written in labview. I want to use it to implement a two-dimensional snake like scan. May I ask if you can provide some relevant case studies.
tschofield  (posted 2024-09-18 05:00:56.0)
Thank you for contacting us. I will reach out to you directly in order to facilitate your request.
Stephen Pflanze  (posted 2024-06-27 19:38:26.59)
I read in documentation that firmware upgrade may be necessary before the Kinesis, or APT, software works. It is not obvious in this webpages how to find out if a later version of firmware exists, and how to upgrade to it if it does.
spolineni  (posted 2024-07-05 05:51:23.0)
Thank you for contacting us. To perform firmware updates, please run the firmware update utility with the latest version of the Kinesis software installed on your PC.I will personally reach out to you to offer further assistance with any questions you may have.
jaeyeon choi  (posted 2024-06-18 09:18:02.647)
this benchtop stepper motor controllers support EtherCAT?
do'neill  (posted 2024-06-21 03:26:26.0)
Thank you for your question, the BSC200 series does not have an Ethernet port and does not support EtherCAT. I will reach out to you directly to discuss this with you further.
Ryan Syndergaard  (posted 2024-05-30 16:12:38.147)
I am working on implementing a BSC201 (and later BSC203) in a test system with software written in Python. The examples listed on GitHub are nice, but do not have documentation on the classes and methods inside the dlls. Where can I find docs for the dll contents?
do'neill  (posted 2024-05-31 05:11:56.0)
Thank you for your feedback. There is a help file for the .NET and native DLLs in the download folder, usually C:\Program Files\Thorlabs\Kinesis. I will reach out to you directly to discuss your application with you.
Zhaoran Xu  (posted 2024-02-06 21:16:28.72)
Hi Thorlabs, The Enable LED of our controller is always off even if it is connected with our delay stage. Kinesis also always shows "Device not responding." while the controller is connected to PC. Best regards, Zhaoran Xu
cstroud  (posted 2024-02-16 07:07:39.0)
Thanks for reaching out. We have contacted you directly to help troubleshoot your issue.
Jaewon Choi  (posted 2024-01-11 00:55:03.28)
Hello! I'd like to control the BSC203 using MATLAB. Would you please let me know how to use in the Kinesis software? Could I utilize the Instrument Control Toolbox for serial communication? Thank you.
do'neill  (posted 2024-01-18 04:31:36.0)
Thank you for your interest in our controllers. You can control these in MATLAB using the .NET dlls. I will reach out to directly with an example.
Dominique Belhachemi  (posted 2023-12-06 14:43:10.263)
Hi, We recently bought the BSC202 controller and the LPXY1 stage. We downloaded the Kinesis software v1.14.44 and the example program: https://github.com/Thorlabs/Motion_Control_Examples/blob/main/C%2B%2B/Benchtop/BSCX0X/Example_BSC103.cpp This program is calling a few API functions defined in: https://github.com/Thorlabs/Motion_Control_Examples/blob/main/C%2B%2B/Benchtop/BSCX0X/Thorlabs.MotionControl.Benchtop.StepperMotor.h That header file is referring to additional documentation, e.g. see \ref C_MOTOR_sec10 "Homing" for more detail. see \ref C_MESSAGES_page "Device Messages" for details on how to use messages. Could you please point us to the beforementioned Kinesis API documentation?
do'neill  (posted 2023-12-19 10:34:44.0)
Thanks for your enquiry. The additional documentation is referring to the C API HTML help file. This is generated from those comments and is located in the Kinesis install folder. I will contact you via email to discuss this further.
Ramses Bautista  (posted 2023-08-10 22:35:14.4)
Hello, I have a problem with my BSC203. Before it was working properly in all the channels, now only one (Channel 1) is working. I checked the motors to check if they were the problem but no, all of them are working properly. What could be the solution? Best wishes.
do'neill  (posted 2023-08-14 07:46:09.0)
Response from Daniel at Thorlabs. I am sorry to hear this, I will reach out to you directly to help you troubleshoot this issue.
Darryl Perks  (posted 2023-07-27 13:16:25.61)
I have just taken delivery of a HDR50/M and BSC202. I would like to be able to enter a negative number into the degrees Move field in order to create an anti-clockwise rotation but am unable to enter a negative number. How can I make the rotation stage move in an anti-clockwise direction? This isn't mentioned in the manual either.
fguzman  (posted 2023-07-28 11:17:24.0)
Thanks for your enquiry. Although you cannot enter negative degrees for an anticlockwise motion. You can enter a smaller angle (position) and it will go to that said angle. For example going from 60 deg to 30 deg the motion will be anticlockwise. Although if the angled (position) entered is closer to the actual angle, it would still motion clockwise. For example if you are at 320 deg and you set to fo to 20 deg, it will move clockwise as this later position is closer rather than going the other way around.
user  (posted 2023-06-14 12:09:56.673)
Can you confirm the EMI of 3.125MHz from your controller electronics?
fguzman  (posted 2023-06-22 07:35:43.0)
Thanks for your enquiry. Unfortunately we do not have Electro-Magnetic Interference data for this item. If you need further assistance please contact your local tech support team (techsupport@thorlabs.com).
Yuon Song  (posted 2023-06-08 10:40:22.013)
Dear Thorlabs I using BSC202 to run NRT100 XY stage. but i have some trriging problem. if you contact me at E-mail, I will explane problem more detail. please contact me to solve the problem. thank you. song
Soonyoung Cha  (posted 2023-05-02 16:06:51.857)
Dear Thorlabs, I am using BSC201 to run NRT150. After connecting USB to PC, I tried to operate with Kinesis, but it cannot call the controller with error 'device not responding'. I can find the controller from Kinesis at 'connect' tab with correct serial number, but I cannot make it connect to operate. One other strange thing is that the enable button is turned off (But power is on). How to fix this problem? Thank you. Soonyoung
fguzman  (posted 2023-05-04 07:31:26.0)
Thanks for contacting Thorlabs. Could you please help us check you have the latest Kinesis and firmware versions? After you have the latest version of Kinesis, you can update the firmware via "Firmware Update Utility". I will contact you directly to further discuss your application.
Aurelien David  (posted 2023-03-22 14:31:33.593)
I am trying to ensure the controller only operates within a certain range of positions, to avoid physical collision. - Is there a way to use a hardware switch that stops the controller if the switch is triggered (i.e. an interlock)? -If not, is there a robust way to do this in software? I am worried that a software approach won't work if the power is lost and the controller loses its position.
JReeder  (posted 2023-03-24 09:06:44.0)
Thank you for your enquiry. I have reached out to you directly to discuss your application and the functionality of these stepper motor controllers.
yuon song  (posted 2023-01-19 15:07:21.417)
Dear thorlabs Hello, I made a 2 axis scanning stage using your BSC202 controller, NRT100/M stage and labview. Unfortunately, the system's triggering isn't quite right. This issue appears to be a stage or controller issue. please contact me to solve the problem. thank you. song
DJayasuriya  (posted 2023-01-20 04:50:50.0)
Thank you for your enquiry. We have got in touch with you directly to troubleshoot your issue.
Grayson Ries  (posted 2023-01-17 11:32:48.237)
Hi, I had a question about the Config. I am using 2 NRT100 devices and I am using a OWIS gmbh motor and the OWIS is not being recognized by the Config as the OWIS gmbh motor is not plugged into the motor drive an instead the Interconnect. is there an adapter or cable that could be used to connect the OWIS motor into the motor drive? Please let me know Thanks, Grayson Ries
JReeder  (posted 2023-01-18 10:41:19.0)
Thank you for your enquiry. The interconnect on the BSC20X series is currently reserved for future use and is not implemented. We do not have any adaptor cables designed for compatibility with 3rd party actuators. You will need to create your own adaptor cable to connect your 3rd party actuator to the BSC, in this instance you might find the pin diagrams for the BSC useful, which can be found on the product page here: https://www.thorlabs.de/newgrouppage9.cfm?objectgroup_id=1704&pn=BSC201&tabname=pin%20diagrams
Song Yuon  (posted 2022-11-17 18:52:03.217)
Dear thorlabs Hello, I use BSC 202 benchtop controller. I'm programming using examples, but I'm running into some problems. 1. I used the SetTriggerSwitches property node to give a trigger externally and used GetTriggerSwitches to check it. However, I connected Pins 9 and 12 of the Control I/O Connector to the oscilloscope and checked them, but I did not notice any difference. We would like to inform you of the necessary method to use the triggering function and receive related materials. thank you.
JReeder  (posted 2022-12-02 05:11:33.0)
Thank you for your enquiry. You can find the relevant information for setting the triggers using the .NET API under the following folder after installing the Kinesis Software: C:\Program Files\Thorlabs\Kinesis. In order to change the trigger settings, the command "SetTriggerSwitches()" should be used. The parameter used by this command is a byte which describes the trigger settings. Please find further information on this byte on pages 135-137 of the Communications Protocol: https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdf. I have reached out to you directly to troubleshoot why you are not seeing a change in the trigger output.
user  (posted 2022-10-12 09:20:49.41)
Dear Thorlabs, Using C# and Kinesis 64bit libs to talk to a BSC103. While developing the program I would like to use a simulated device instead with the Kinesis simulator. I took your code directly from Thorlabs.MotionControl.DotNet_API and compiled with VS2022 Community, Windows 10 64-bit PC. Running admin cmd the homing command will always give "70000123 is not a valid serial number". While debugging I can see that DeviceManagerCLI.GetDeviceList() returns zero serialnumbers. What is the culprit here? Thanks for your time in advance!
cwright  (posted 2022-10-13 05:45:39.0)
Response from Charles at Thorlabs: Thank you for your query. Please ensure that the Kinesis Simulator program is running in the background and that the Kinesis control GUI is not open. You cannot connect both your C# program and Kinesis to the simulator at the same time. This could be one problem. You are also using the wrong serial number for a BSC103 device, which begins with "40", not "70". Technical support with reach out to you.
Robert Roos  (posted 2022-10-10 14:19:26.82)
Dear ThorLabs, I have a question about interfacing with the BSC20x. Is the USB a regular serial connection? We are considering the controller for our setup, controlled by a TwinCAT PLC. Running the full user interface is then not a good option. We want to use the FW103H/M filterwheel. Could we also use the trigger TTL to switch the filters? How would we program such actions? Thank you in advance for any advice! Kind regards, Robert Roos
DJayasuriya  (posted 2022-10-12 06:08:04.0)
Thank you for your inquiry, Yes this is correct there is a FTDI chip converts the data packets to serial commands. The serial commands can be found here to control the respective stage : https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdf. We have got in touch with directly for more information.
user  (posted 2022-08-29 17:53:44.403)
What's the meaning of the bWait time-out in the LabView code? What changes from setting the value from True to False?
cwright  (posted 2022-08-31 03:42:27.0)
Response from Charles at Thorlabs: Thank you for your query. This documentation can be found in the APTServer.chm help file. I will use the Home command as an example. If the bWait parameter is set to 'False', the method returns as soon as the homing sequence has been initiated. If bWait is set to 'True', MoveHome returns only after the motors have finished homing. In either mode, a HomeComplete event is fired once the homing sequence has been completed. When a client application needs to perform a homing sequence, it is more efficient programming practice to set bWait to 'False' and respond to the HomeComplete event. This event driven approach allows a client application to service other tasks while the motors are homing.
Yuon Song  (posted 2022-07-18 04:25:01.13)
Dear Thorlabs. Hello, I am using BSC202 controller and XY stage using 2 NRT100/M. I have a few questions about configuring the system using LABVIEW. 1. I use the 'SetMoveAbsolutePosition(Decimal position)' and 'MoveAbsolute' property nodes to move the stage. However, if I enter a value less than 1mm, it doesn`t work. I want distance values ​​less than 1mm. Tell me the suitable way please. 2. About 'SetMoveAbsolutePosition_Device unit(int 32 Position)' property node, I want to know definition of the'device unit' . This is not easy to find. 3. I want to know the distance traveled per 1 revolution of the NRT100/M stepper motor stage. Or the distance traveled per step. 4. The maximum acceleration of NRT100/M stage is 30mm/sec^2. Is there a way to immediately stop the stage when it stops? I look forward to your reply. thank you
cwright  (posted 2022-07-19 03:39:56.0)
Response from Charles at Thorlabs: Thank you for contacting us. Please see answers to your questions below. 1. I use the 'SetMoveAbsolutePosition(Decimal position)' and 'MoveAbsolute' property nodes to move the stage. However, if I enter a value less than 1mm, it doesn`t work. I want distance values ​​less than 1mm. Tell me the suitable way please. We will reach out to ask for your VI as it is often not possible to diagnose software without seeing the actual program. I have an example which sets the position to less than 1mm using these commands and the stage moves without issue. I will provide this. 2. About 'SetMoveAbsolutePosition_Device unit(int 32 Position)' property node, I want to know definition of the'device unit' . This is not easy to find. The device units are how the device measures movement, before any calculations are applied. For stepper motors this is microsteps, for DC stages it is encoder counts. 3. I want to know the distance traveled per 1 revolution of the NRT100/M stepper motor stage. Or the distance traveled per step. Please see section 4.1 "Specification" of the NRT100/M manual. The movement per revolution of the lead screw is 1 mm and there are 409,600 microsteps per revolution when using our controllers. 4. The maximum acceleration of NRT100/M stage is 30mm/sec^2. Is there a way to immediately stop the stage when it stops? In the Continuous Jog mode you can specify the stop profile as "Immediate". The motor will stop quickly, in an unprofiled manner.
Ching-Wei Lin  (posted 2022-04-20 09:25:19.603)
Hi, I was trying to use Kinesis .NET in LabVIEW to control the system and found an annoying bug. The dll files can only be stored in the same folder as the labVIEW project file or one layer under. If these dlls were saved in two layers or more under, the .NET container cannot load the dll. I am wondering if you could help us to solve this problem. Thanks. Best, Ching-Wei
DJayasuriya  (posted 2022-04-21 10:23:36.0)
Thank you for inquiry. Of course. we have got in touch with you directly to resolve this.
user  (posted 2022-01-10 04:31:58.35)
Hello, I use the stepper motor controller BSC203. For controlling I use APT software. Is it possible to build vector graphics to set the trajectory of movement? And if there is, what kind of application is needed?
DJayasuriya  (posted 2022-01-10 06:47:05.0)
Thank you for your inquiry. We will get in touch with you directly to resolve your issue.
carlos Reyes  (posted 2021-08-04 05:25:08.517)
Hello, I am working with integrating the benchtop stepper controller (BSC203) with Labview. I have been successful in creating the .NET container and integration of the control in Labview. When opening Kinesis the serial number is 70174934-1/ 70174934-2/ 70174934-3. I am able to create a motor control in Labview when passing the serial number 70174934 as a property node. However this only creates one control for one axis. When I pass the serial number as: 70174934-1 there is an error message saying no devices found. So my problem is that I can only control one axis, can you help me solve this? Carlos
DJayasuriya  (posted 2021-08-05 03:26:51.0)
Thank you for your inquiry. We will get in touch with you directly to resolve this issue.
Maria Romodina  (posted 2021-07-23 14:36:53.043)
Dear thorlabs support team, I am trying to write LabView program to control the motion of ODL220/M using BBD201 controller. I tried Kinesis LabView examples, but after a few steps, stage stops and doesn't move any more. It moves again, when I press Disable and then Enable butten. It seems, that after the step, stage can't rich settled position and continue to move around this position. The same problem appears when I use default Kinesis software (not LabView VI). Seems that stage works fine with APT program. But I couldn't find the LabView APT VI examples for BBD201. I will be very grateful if you help me to solve this problem. Or, if you send me the link on LabView APT VI examples for BBD201. Best wishes, Dr. Maria Romodina Postdoctoral Fellow Russell Emeritus group Max Planck Institute for the Science of Light Staudtstr. 2, 91058 Erlangen, Germany Tel.: +49-9131-7133-251 Email: maria.romodina@mpl.mpg.de
cwright  (posted 2021-07-26 09:19:53.0)
Response from Charles at Thorlabs: Hello Maria and thank you for your query. The LabVIEW examples for both Kinesis and APT can be found at the following link: https://www.thorlabs.com/navigation.cfm?guide_id=2424 It may be that the PID settings, which determine how the controller manages the trajectory and settling position of the stage, are not set correctly in Kinesis. Using the most up to date version of both the Kinesis software and the firmware for your controller should correct this. The firmware can be updated using the firmware update utility which installs with Kinesis. I will contact you about this.
jinsu lee  (posted 2021-06-23 12:05:46.55)
I use Labview 2017 64 bits, 64bits Window, Kinesis for 64 bits SW 64 bits window I use controller BSC202 to build XY translation stage. However, Labview's Kinesis front panel doesn't recognize the controller. Kinesis software itself recognizes the controller and motor well. I can home and move the stage. What can I do to deal with this problem? Thanks
YLohia  (posted 2021-08-27 02:40:47.0)
Hello, there are a few reasons as to why this error can occur, most commonly is that the incorrect bit version is being used. Another common reason for this error is that the .NET assemblies have not been copied over to the same directory as where the LabVIEW project is saved. In order for LabVIEW to find the .NET assemblies, they have to be placed in the root folder of the LabVIEW project in which you're attempting to use them. Therefore, if you try to write your virtual instrument outside of any saved projects and/or if the required DLLs are not placed in the correct location, LabVIEW will throw that error. This happens even if you specifically show it where the assemblies are located.
user  (posted 2021-06-14 17:38:10.74)
Dear Thorlabs, Hello, I would like to control NRT100/M stage and BSC202 by Python. So, could you please send me example codes? Thanks!!
cwright  (posted 2021-06-15 05:41:00.0)
Response from Charles at Thorlabs: Hello and thank you for your query. While we do not officially support python we do have an example we can provide as a courtesy. There are a few ways you can use Python with our controllers. You would be able to use Kinesis’ .NET API via the clr module (if you're using IronPython) or Kinesis’s C API via the ctypes module(if you're using CPython). The DLLs required are located in the installation directory. Alternatively, as our devices use an FTDI chip to communicate with a host PC over USB, you can use serial commands via the pySerial module. The requisite commands and serial parameters can be found in our communications protocol - https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdf
zhi zhang  (posted 2021-06-04 15:02:02.4)
The accelerated speed of the motor is very important for me, but I do not know how to control it with APT, is it possible to change the accelerated speed in Labview?
cwright  (posted 2021-06-07 06:58:01.0)
Response from Charles at Thorlabs: Thank you for your query. Using APT in LabVIEW, the user can control the acceleration through the motor method "SetVelParams". There are APT examples on the website which you can follow, particularly TL Motor SetGetVelParams.vi which demonstrates how to get and set the velocity and acceleration parameters.
Emgy Lee  (posted 2021-04-26 20:33:48.407)
I trying to control BSC201 by Labview,VISA, RSR232, setting communications parameters according to APT Communications Protocol. However, there is no any response after giving messages by "VISA Write". I am wondering if the message format is wrong(TX 10,02,01,01,11,01) or there is any step I missed. Any advise? Thanks. (P.S. I know how to use active X APT, but I still want to control BSC201 by VISA. )
cwright  (posted 2021-04-26 12:01:24.0)
Response from Charles at Thorlabs: Thank you for your query. The correct command would be (10, 02, 01, 01, 21, 01). For these controllers the host sends a message to the motherboard that the sub-modules are plugged into, with the destination field of each message indicating which slot the message must be routed to. Please see page 35 of the APT communications protocol for more information about this style of controller: https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdf
Scott Tower  (posted 2021-04-19 13:22:06.49)
I have BSC201 running an HDR50. I am using LabVIEW 2019. It builds and runs from the LabVIEW development environment, but I get a "This VI is not executable." when I try to run it as a LabVIEW executable. Any ideas? Thank you.
DJayasuriya  (posted 2021-04-20 10:46:50.0)
than you for your inquiry. When creating a LabVIEW executable to control a BSC201 only the Thorlabs.MotionControl.Benchtop.StepperMotorCLI.dll, Thorlabs.MotionControl.Benchtop.StepperMotorUI.dll and Thorlabs.MotionControl.Controls.dll will be copied to the exe's ...\data folder and will throw the 'This VI is not executable' error. All the dll's will need to be copied to the ...\data folder to run the executable successfully.
charles askins  (posted 2021-03-17 15:51:10.93)
We are running three NRT-150 stepper translation stages with a BSC203 controller. Motion control is open loop. I see that the BSC203 backpanel connections include "Differential Quadrature Encoder (QEP) Input". Does this mean I can supply my own quadrature encoder signal and have the BSC203 control the NRT-150 with my encoder? Assume my encoder has TTL quadrature levels, and higher data capacity than required. My encoded motion resolution will be around 0.15 micron.
cwright  (posted 2021-03-23 12:32:24.0)
Response from Charles at Thorlabs: Hello and thank you for your query. This would not be supported within our software but there is a serial command described in the communications protocol which could enable closed loop operation: https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdfYou would need to set the encoder constant according to the instructions laid out in the command protocol (p 144) and you would need to figure out your own values for the PID loop as we have not determined these for this stage.
Aidan Jones  (posted 2021-03-15 13:50:33.51)
I see that you put a keyed pin into your control I/O port. Did you send the appropriate cable to use the port, or do you offer it anywhere on Thorlabs? Also, I am wanting to use this with TTL pulses generated from my camera. Is there a way to connect the stepper motor in such a way to TTL pulses? This might be possible through a BNC to D-Sub adapter. Do you supply anything like that?
cwright  (posted 2021-03-17 05:53:39.0)
Response from Charles at Thorlabs: Thank you for your query. Unfortunately we do not supply this cable for the control I/O port. As this is often used by those integrating it into their own systems, we leave how this is handled to the individual user. I would suggest a standard 15 Pin dsub and clipping a pin. Pin 4 of the control I/O can be used to provide an input trigger pulse which can control the attached stepper motor. This pulse should not exceed 5V. This pulse can trigger a relative move, absolute move or home the stage, depending on the settings chosen for the device using our Kinesis software.
H. Meyer  (posted 2021-03-11 14:20:52.363)
Hi, i'm using a Thorlabs BSC203 Controller with a MLS203 Stage. Can I control this with Linux and Python? Is there any possibility? I want to control this with a Raspberry pi. Thanks a lot
DJayasuriya  (posted 2021-03-16 09:56:44.0)
Thank you for your inquiry. yes this is possible. These use a FTDI chip to communicate with a PC, so you would need to establish a virtual com port in Linux. The commands and serial parameters can be found in our communications protocol - https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdf
Idan Yokev  (posted 2020-12-07 03:39:51.783)
Hi, I'm using the .net dll's to control BSC203 that is connected to 3 DRV028s that drive NanoMax600 stage. At first the Motor object Move commands worked in device units, and didn't know the allowed limits (it didn't know it's driving a NonaMax stage). Then, at some point it did know, and had internal limits. I assume that the Kinesis software wrote information on the device. What is the method (via Kinesis) to ensure that this is always the case? Can it be done by code? Is there a method to query the device and understand whether it has to use 'device units' or can accept physical dimensions?
cwright  (posted 2020-12-08 06:36:50.0)
Response from Charles at Thorlabs: Hello and thank you for your query. The first time you open Kinesis it will write a device configuration to a file which is then by used by default. If you never open Kinesis it would assume it's a DRV208, then if you have opened Kinesis and set the stage association as MAX600 it would recognise it as such. If you want to change or query the motor configuration then you would need to use the MotorDeviceSettings Class. The technical support team will reach out to you to see if you need further support with this.
user  (posted 2020-10-26 01:13:14.68)
Hello. There is keyed pin on control I/O connector. What is this for? Do I have to remove it before to connect?
cwright  (posted 2020-10-28 09:34:53.0)
Response from Charles at Thorlabs: Thank you for your query. The keyed pin does not need to be removed. It is there to ensure that the motor drive cable cannot be plugged into the Control I/O connector by accident. If you are making a cable to connect to the I/O port then it would be sensible to use a D-Sub connector which allows you to install select pins.
Patrick Noyes  (posted 2020-10-06 20:56:54.457)
I have a BSC202 that I am running from Labview. I can successfully operating the controller when connected to the programming computer but I need to run the controller from a compiled VI on a different computer. I have placed copies of the Thorlabs DLLs all over the place but they will not load into a compiled VI. Please advise
DJayasuriya  (posted 2020-10-20 03:28:37.0)
Thank you for your inquiry. When you are running the VI separately LabView should generate a VI object file. If Labview does not recognise the VI, this should be recompiled. It might be necessary to force the VI to recompile, using + + Run Button, before it will run correctly. Hope this helps, please don't hesitate to get in touch with your local tech support team if any issues come up.
Gregory Whaley  (posted 2020-03-10 13:23:13.193)
I have a BSC203 stepper controller and a BPC303 Piezo controller and I would like to control them using python on linux. Do you have any support or know of any open source repositories in using python/linux for interfacing to these controllers?
cwright  (posted 2020-03-11 09:22:19.0)
Response from Charles at Thorlabs: Hello Gregory. The .NET DLL's we supply with our Kinesis software are unfortunately only compatible with Windows installations so the only option is using serial commands via the pySerial module. Our devices use an FTDI chip to communicate with a host PC over USB and you will just need to establish a virtual com port in Linux. The requisite commands and serial parameters can be found in our communications protocol - https://www.thorlabs.com/Software/Motion%20Control/APT_Communications_Protocol.pdf
Angel Perez  (posted 2019-11-25 03:34:35.517)
Hi. I have a BSC103 system for controlling three NRT100/m linear translation stages. I would like to control them through Python 3.7 language. Is it possible? Where can I find the necessary modules to be imported and some information about it? Thank you.
DJayasuriya  (posted 2019-12-03 06:27:00.0)
Response from Dinuka at Thorlabs: Thank you for your question. Yes it is possible to control using Python 3.7. You would be able to use Kinesis’ .NET API via the clr module (if you're using IronPython) or Kinesis’s C API via the ctypes module(if you're using CPython).The DLLs required are located in the installation directory. I will get in touch with you directly with some examples as well. Hope this helps.
Evert van de Waal  (posted 2019-06-06 04:49:57.733)
Recently the BSC201 we work with changed its behaviour when communicating with APT over USB: previously it kept on sending MGMSG_MOT_GET_STATUSUPDATE, even when I did not send MGMSG_MOT_ACK_DCSTATUSUPDATE. Now it stops after some 5 seconds, even when I do. Any movement is abruptly stopped. After a few seconds the device suddenly jerks a few degrees, then stops again. Reconnecting to the device does not solve anything: it no longer responds to any requests. This is a very vexing problem, as the setup has become unworkable. I have no idea what changed, perhaps some setting, or the firmware was updated by a college, I have no idea. Any idea how I can tackle this problem? Kinesis is able to control the device, but of course Kinesis is useless when you want to script movements and control the object being moved at the same time.
rmiron  (posted 2019-06-11 04:41:25.0)
Response from Radu at Thorlabs: Hello, Evert. I should say that BSC201 is not programmed to respond to MGMSG_MOT_ACK_DCSTATUSUPDATE. Instead, you should send an MGMSG_HW_START_UPDATEMSGS command in order to receive update messages every 100 msec. That will happen until you send an MGMSG_HW_STOP_UPDATEMSGS. Now, what is more interesting is that the behaviour you are observing describes perfectly the expected behaviour of a BBD20x controller. Such controllers respond to MGMSG_MOT_ACK_DCSTATUSUPDATE by sending update messages every 100 ms for 5 seconds. Provided that this information was not helpful, I suggest that you reach out to your local technical support team for further assistance.
jim.mcginnis  (posted 2018-09-14 11:53:43.637)
BSC203 configured with three SCC001 stepper controllers - after power cycle, connecting, configuring, and driving the steppers works properly. Shutting down the application driving the steppers via the controller (C#) - which disconnects the channels and the controller results in channel errors the next time the application is started UNLESS the BSC203 is power cycled. Polling the controller channels for status.status returns 0 instead of the nominal return witch appears to be uint 32 all bits set. Is it necessary to power cycle the BSC203 every time the application connects? What is the correct shutdown sequence for the stepper channels and controller? stepper reset during initialization of the stepper channels (prior to connect) does not ameliorate the issues and failures. What is the minimum startup and shutdown sequence for the SCC001 steppers and the BSC203 controller that allows restarting the application without power cycling the BSC203??? Thanks for your valuable time. Jim
bhallewell  (posted 2018-09-20 05:42:13.0)
Response from Ben at Thorlabs: Thank you for your question here. You are correct that this behaviour would typically be associated with how closing communication with the device is handled within your program. The correct shut down sequence should be as follows: In .NET (C#) channel.StopPolling(); device.Disconnect(true); In C API // stop polling SBC_StopPolling(testSerialNo, 1); // close device SBC_Close(testSerialNo);
user  (posted 2018-03-01 21:17:18.75)
when i use labview program ATP, i checked the 'persist setting to hardware' to save setting change; Backlash correction. However, if i quit and then re-run the program, it will return to its original state. How can i solve it?
bhallewell  (posted 2018-03-22 09:47:12.0)
Response from Ben at Thorlabs: The persisted settings option is designed to save persistable parameters such as Backlash, Velocity, Joystick settings etc. for use of the device free from use with a control PC. When you open a new instance of the APT User interface these persisted parameters will be overwritten. I would recommend using the SetBLashDist() method to assign a value within your program.
pihulj  (posted 2017-12-22 14:21:57.907)
when i use c++ to program, if (SBC_Open(testSerialNo) == 0) SBC_Open can't find ThorlabsCustomSettings.xml ThorlabsDeviceConfigurationOverride.xml how can i solve it
bhallewell  (posted 2018-01-03 05:50:25.0)
Response from Ben at Thorlabs: Thank you for your enquiry. I would firstly recommend checking that you have the very latest version of Kinesis installed & that you have permission to access the Settings folder C:\ProgramData\Thorlabs\MotionControl & sub-folders. I will contact you to troubleshoot this with you.
jeffery.t.murphy2  (posted 2017-11-15 14:14:47.53)
I have a BSC201 controller S/N: 40857583; I have connected to it a NanoRotator (NR360S); but the APT software does not recognize that I have a Nanorotator connected, therefore it is trying to drive it as a linear actuator (in mm, won't go negative) unlike our other BSC203 controller that works well with the rotators. How can you fix this? Thanks...
bwood  (posted 2017-11-17 04:21:35.0)
Response from Ben at Thorlabs: Thank you for your question. You can manually associate the stages using the APTConfig tool. You can find instructions on how to do this in section on 3.6 of the BSC203 manual.
bcinquin  (posted 2017-09-27 11:17:50.44)
I have a problem with my apt motion controller BSC201. The power led is fading after a few seconds...
AManickavasagam  (posted 2017-09-28 11:27:31.0)
Response from Arunthathi at Thorlabs: Thank you for your comment. I am sorry that you have difficulties here. I will contact you directly to troubleshoot this issue.
don.walker  (posted 2017-08-18 20:47:28.97)
I have the same exact problem as rubsanmi I can't for the life of me figure out how to get access to home method from the BSC203 and NR360S. Please send me an example vi and help
bhallewell  (posted 2017-08-21 10:30:47.0)
Response from Ben at Thorlabs: I'll contact you with some assistance.
viteo  (posted 2017-08-02 11:50:43.93)
Facing a lack of information about triggering configuration over C# Kinesis API. I want to receive an out pulse every 0.1mm on NRT100/M with BSC202 via C#. The only method I found is SetTriggerSwitches(), but how to configure the delta distance?
bwood  (posted 2017-08-04 06:19:23.0)
Response from Ben at Thorlabs: Thank you for your feedback. Unfortunately, there is no current way to configure the BSC to trigger when it moves past a position. The output can only be configured to trigger when a move is initiated. I will raise this requirement with our engineers.
shingoyasuhara136  (posted 2017-05-26 15:40:11.983)
Dear Sir/Madam, I'm having trouble (technical issues) in installing the software for Apt Stepper Motor Controller (Cat#BSC201)that we have recently purchased for controlling FW103. Basically, we are trying to install this euipment on our Windows XP (32-bit). I've tried everything, but still cannot install the driver. Would you pleaes adivse us how we can solve this issue? Thank you very much.
bwood  (posted 2017-05-31 04:23:08.0)
Response from Ben at Thorlabs: Thank you for your feedback. Unfortunately, the current versions of of our motion control software no longer support Windows XP. However, we can provide a download link for a legacy version of APT which will work with XP, and we will be in direct contact with you with this. As this is a legacy version, we cannot guarantee compatibility with newer controllers and stages.
rubsanmi  (posted 2017-05-25 09:58:35.597)
I am trying to control a NR360S with a BSC103 through LabVIEW using APT control. Nevertheless, I do not know how to specify from LabVIEW the rotation in degrees. APT uses the units in mm and although I change it through the settings windows to degrees, the result is the same. Therefore, I do not know how many mm corresponds exactly to 1 degree.
bwood  (posted 2017-05-26 06:40:07.0)
Response from Ben at Thorlabs: Thank you for your question. If you have a rotational stage connected, APT should automatically switch to use degrees, if you are using a command such as SetAbsMovePos. Thus I would double check you are entering the correct serial number, and associating the correct stage. If you still are having problems after trying this, feel free to contact me at techsupport.uk@thorlabs.com
christopher.jones  (posted 2017-05-16 18:58:45.65)
I am trying to control a BSC201/DRV014E setup using LabVIEW and the Kinesis/.NET approach, but the Kinesis-Labview.pdf guide seems to cover a much simpler drive. In any case, I can't for the life of me find any 'Move' or 'Home' commands (any motion methods at all) in the methods and properties available. Are we supposed to make do with your APT/ActiveX solution, which you mark as 'legacy'? Can you provide a simple connect-home-move-readposition-close example for my system and labview (or any other language)? Thanks in advance!
bhallewell  (posted 2017-05-30 10:30:15.0)
Response from Ben at Thorlabs: Combining the LabVIEW guide with our .NET API should enable you to access the full functionality of the stepper controller from the appropriate .dll. Working in LabVIEW with the legacy APT ActiveX software users can benefit from being able to access the full list of methods for a single device from a single ActiveX control. In Kinesis (built in .NET framework) you have access to more methods however you will need to select the method from within the specific object class as outlined in the .NET API help file. I will contact you directly & send you a simple example outlining this.
viteo  (posted 2017-03-29 07:44:53.21)
I'm trying to control two NRT100/M with BSC202 via C#. Everything work in Kinesis application, but when I execute c# example for BSC103 from "Thorlabs.MotionControl.DotNet_API.chm" motor makes one single step and console app report that it moved to position, or not homed by timeout. What am I missing? C# example for KCH301 with two KDC101s works like a charm.
bwood  (posted 2017-04-10 10:53:20.0)
Response from Ben at Thorlabs: Thank you for your feedback, and I am sorry to hear about your difficulties here. I will be in contact with you directly to diagnose this issue.
esbiele  (posted 2017-02-28 22:03:25.057)
Folks, I have an issue where I cannot drive my apt motors to a negative value using my LabView routines. Note I have drive to negative numbers using the APT users software. I noted that in the feedback below the Thorlabs guys suggest that you could mod the configuration file to allow for negative stage positions - can you pass on the information. Thank you, Ed
bhallewell  (posted 2017-03-06 09:57:17.0)
Response from Ben at Thorlabs: There is a work-around which can be achieved through our legacy APT control software. For stepper motors, you can access the MG17APTServer.ini file from within your C:/windows directory/. We advise saving a copy of this in case edits you make create any problems when running the software package. You can then find the Stage Type & edit the stage max & min position. eg. HS 17DRV014 50mm Default Settings: Min Pos=0.00, Max Pos=50.00 - can be changed to - Min Pos=-50.00, Max Pos=0. By saving & closing this file, correctly associating the stage in APTConfig & then running the device up in APTUser, you can then use the stepper actuated device in this negative position regime.
peace  (posted 2017-02-24 15:05:58.21)
Can you send me the SDK of BSC201?
jlow  (posted 2017-03-01 11:20:46.0)
Response from Ben at Thorlabs: You can download our new Kinesis software & our legacy APT software from the following link. https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control Software development guides for each package can be found here: Kinesis: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=10285 APT: https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=9019
LChen95  (posted 2017-02-24 12:02:51.183)
Hi, I have bought a BSC201 to control a very old stepper motor. I have all the specification of this stepper motor, and would like drive it directly from Matlab. Would you please let me know how to get more information with this regards? If I need a special set of functions or install an SDK for matlab? Thank you!
bhallewell  (posted 2017-02-27 07:00:26.0)
Response from Ben at Thorlabs: You can find our guide for using Matlab to control our stages through generating an ActiveX instance. This is done through use of functions available within our APT software package, which can be downloaded from the below link. A list of these functions can be found within the APTServer help file. Matlab Guide (see foot of page): https://www.thorlabs.com/tutorials/APTProgramming.cfm APT Software Download: https://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=Motion_Control
thomas.pujol  (posted 2016-12-14 11:47:49.263)
Hello, I would like to use the pin 2 (jog forward) of the BSC201 but I am not sure where I should connect the ground in the 15-pin plug (the trigger will be send by an arduino so wires have to be separated). The answer is probably in the sentence "Jog inputs must be short circuit to User 0V (pin 9) in order to function" but I don´t understand it and I need to be sure I will not to burn something. thank you
bwood  (posted 2016-12-16 11:13:22.0)
Response from Ben at Thorlabs: Thank you for your feedback. I think you are on the right lines here. A sample circuit diagram for jog inputs can be found in section A.1.5 on page 49 of the BSC series controller manual. I suggest reviewing that section, and Appendix A of the manual in general. If you still have questions after reading that section, I would suggest contacting your local technical support office directly.
dlescano  (posted 2016-11-09 06:39:52.363)
Hello, we have a BSC103 Controller. Could use APT Version 3.18.0 and Kinesis Version 1.8.0 for this controller ? Thanks !!!
bhallewell  (posted 2016-11-14 06:33:36.0)
Response from Ben at Thorlabs: Both of these software packages support this legacy controller.
omar.olarte  (posted 2015-12-16 11:17:52.58)
Driver: BSC103 Stages: Nanomax TS, 3 axis stepper motors Hi, after a series of weird errors (-hardware not recognized, windows OS blue screen) my 3 axis motor stage stop functioning. Before I managed to make it work restarting the computer and switching on/off the driver. I am getting this message from the APT labview library: Internal code 16240903 Hardware response code 32789 ((+48V Under Limit)) received from hardware unit SN 708344XX (in response to message ident 0). Thanks.
besembeson  (posted 2015-12-16 11:46:25.0)
Response from Bweh at Thorlabs USA: We will contact you directly to fix this.
balaji  (posted 2015-09-24 09:04:26.723)
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
besembeson  (posted 2015-10-08 01:16:46.0)
Response from Bweh at Thorlabs USA: 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 as a terminal emulator (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.
sentayehu.wondimu  (posted 2015-07-14 08:30:29.697)
I have a BSC203 on my setup. I want to control it directly from a matlab code. Would you please let me know how to get more information with this regards? If I need a special set of functions or install an SDK for matlab? Thank you
msoulby  (posted 2015-07-14 08:48:38.0)
Response from Mike at Thorlabs: It is possible to use our APT software within Matlab, I have contacted you directly with more information.
marc.yallop  (posted 2015-07-14 05:51:43.66)
Hello, I've read on the feedback below that you have a beta DLL available to access the controllers via C++. Would it be possible to get a copy of that software please? Thanks Marc
msoulby  (posted 2015-07-14 06:10:57.0)
Response from Mike at Thorlabs: I have contacted you directly to send you this .DLL pack
sepehr.ahmadi  (posted 2015-06-23 01:53:25.9)
Hi, I have bought a BSC203 apt stepper motor controller. I would like to program in python using a dll file. Could you please let me know where I can find more information about that? Thank you.
msoulby  (posted 2015-06-29 08:44:55.0)
Response from Mike at Thorlabs: We have an APT DLL pack that can be used for customer applications and I have contacted you directly to send you these DLL files.
fritsflorentinus  (posted 2015-04-03 14:27:21.88)
Hi, we have recently purchased a Thorlabs BSC203 and would like to interface it in a C++ environment. We want to use it for automated measurements and have no use for a GUI interaction with it directly. I have tried implementing this using the FTDI D2XX library in combination with the APT communications protocol but it does not work and I don't know what I am doing wrong. As I started looking for solutions I found that there are multiple (possibly conflicting) versions of the APT communications protocol, so my first question is: Which one is the correct one? I have also tried using the RS232 port and use the windows.h library instead of the FTDI D2XX library but this also does not work. The problems do not arise from exception errors. I simply see no flashing LEDs on the BSC203 when I think I send an IDENTIFY command, or I receive no data back when I think I send a HW_REQ_INFO. My second question is: Can you help us out with this problem? Is there maybe a C++ API available for the APT protocol?
msoulby  (posted 2015-04-08 08:30:10.0)
Response from Mike at Thorlabs: The latest low level communications protocol can be downloaded from our website, the current version is version 14 last updated on the 11th March 2015 and can be accessed from the following link http://www.thorlabs.com/software/apt/APT_Communications_Protocol_Rev_14.pdf we have also contacted you directly with some further detail on how to begin using these low level command for controlling our controllers. If using the low level protocols all serial communication has to be carried out through a virtual COM port through the USB connection, the RS232 connection on the rear panel is not used for this purpose. We also have available a beta version of an APT .dll that can also be used if you do not wish to use the standard ActiveX interface, we have also emailed you with details on how to access these files.
wjiang  (posted 2015-04-01 21:38:24.3)
I was trying to install the APT System Software on my computer. But I got a error message"1:", and the software won't install. Try it on a different machine. Got same error. I was trying to install 32 bit software on 32bit Windows 7. Any idea what might cause the problem? Thanks!
msoulby  (posted 2015-04-02 05:17:55.0)
Response from Mike at Thorlabs: The :-1 error is an installation error. the way to correct this is to first completely remove any previously installed APT versions on your machine, including any residual installation folders that may remain after the uninstall procedure. Please then go to the following link to download the most up to date software version and save it locally to your hard drive before installation, please select the correct version based on your operating system and intended application. http://www.thorlabs.de/software_pages/ViewSoftwarePage.cfm?Code=APT
shaun  (posted 2015-03-15 21:49:36.187)
Hi again, I just thought I'd post a quick comment on my question that I posted a couple of days ago. I have had success communicating with the TDC001 using the "Host-Controller Communications Protocol" via a serial interface. The secret was to have the USB cable from the TDC001 to my PC connected BEFORE I switched the TDC001 on. If I switch the TDC001 on first and then connect the USB cable then I cannot establish communications with the device. I have also had success communicating with the BSC201. I had previously been trying to connect to this device via the "INTERCONNECT" serial port on the back of the BSC201 (using a USB-to-serial converter). This method wasn't working, but I have successfully connected to this device using the USB connection on the back, and specifying "Load VCP" in Device Manager so that a virtual COM port is loaded for the device. Kind regards, Shaun.
msoulby  (posted 2015-03-31 08:02:28.0)
Response from Mike at Thorlabs: Thank you for using our web feedback, please accept our apologies for the delay in our response. It seems as though you have begun to successfully use our low level USB to serial communications protocol for our motor controllers. I have contacted you directly with some additional information about communicating with our controllers in the way.
shaun  (posted 2015-03-12 23:27:03.183)
Hi there, We are using both a BSC201 (with NRT150/M stage) and a TDC001 (with MTS50/M-Z8 stage). We have previously used the APT ActiveX component to talk to these devices, but have decided to start using the basic serial "Host-Controller Communications Protocol" instead, due to reliability issues. I am having some trouble establishing serial communications with either of these controllers using this protocol, so was after some assistance. Do you have some example code for using this protocol (preferably LabVIEW)? Does the message header require a terminating character at the end of the transmission (e.g. carriage return or similar)? I have been trying to send a basic MGMSG_HW_GET_INFO (i.e. sending 05 00 00 00 50 01) but am not getting back any response from either device. If you could point me in the right direction it would be most appreciated! Kind regards, Shaun.
wangyich  (posted 2014-12-27 04:55:02.957)
Hi....In addition to my last question, can you tell me if the controller can output a sinusoidal motion? Thanks!
msoulby  (posted 2015-01-14 04:16:20.0)
Response from Mike at Thorlabs: Due to hardware restrictions on the controllers themselves, it is not possible to change the velocity whilst in motion. It would only be possible to use a series of discrete moves each with a different velocity setting. The bWait timeout setting on the move command should also be set to FALSE if you wish to input a number of move commands, setting this to TRUE will mean the move will have to complete first before a new move can be entered.
wangyich  (posted 2014-12-27 02:03:30.183)
I am using the BSC203 controller with Labview. The motor moves to different positions in series. How can I get a continuous motion profile (the velocity does not drop to zero each time I set a new MoveAbsPos?) And How can I set the move velocity to negative direction without setting a negative relative move distance?
msoulby  (posted 2015-01-14 04:23:42.0)
Response from mike at Thorlabs: There is a command called MoveVelocity, which will start the stage moving in one direction or the other, there is no final position entered with this method the stage will move at the velocity and direction specified until told to stop using the StopImmediate or StopProfiled methods. I have contacted you directly with more details of these methods.
sergey.kruk2outlook.com  (posted 2014-12-05 22:21:27.47)
I cannot install drivers for the apt stepper motor controllers (Win 7, 64) Devise properties read: Windows cannot verify the digital signature for the drivers required for this device. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source. (Code 52)
msoulby  (posted 2014-12-10 02:50:51.0)
Response from Mike at Thorlabs: The APT drivers are digitally signed and have been for many years, we would recommend that you uninstall and reinstall the software ensuring that you have the most up to date version which can be downloaded from the following location http://www.thorlabs.us/software_pages/ViewSoftwarePage.cfm?Code=APT
zachary.flom  (posted 2014-08-20 11:09:30.897)
Is there way to set the motor dwell-time using the activeX control? I can't find a method in the documentation to set this.
msoulby  (posted 2014-08-22 05:29:44.0)
Response from Mike at Thorlabs: There is no specific dwell time or wait command on the move ActiveX controls. If you need the motor to wait at a position then you would simply add a time delay in Labview to your move sequence. I have contacted you directly with some more details.
lokirune  (posted 2014-04-30 23:14:31.5)
Hi. I am using BSC201, and want to use with matlab(32bit). When I trying to install setup file, then the error message that we don't have x86 processor coming out. We have program file(x86) folder and other 32 bit program(Matlab, 32bit on program file(x86)) is working well. What is the problem on this?
msoulby  (posted 2014-05-01 06:43:19.0)
Response from Mike at Thorlabs: I have contacted you directly to guide you towards the correct software version for your application.
lokirune  (posted 2014-04-30 14:53:37.283)
Hi. I want to use BSC201 with matlab, so I installed the software for active x. But I couldn't find the BSC201. Is there anything else I need to consider?
msoulby  (posted 2014-04-30 08:20:06.0)
Response from Mike at Thorlabs: Our BSC201 can be used with Matlab, first you will need to install the appropriate APT software version for your computer and Matlab version, i.e. if you are using 64bit Matlab then you will need to install the 64bit version of APT. This can be downloaded and installed from our website here http://www.thorlabs.de/software_pages/ViewSoftwarePage.cfm?Code=APT I have also contacted you directly with a short example and guide on how to get started using APT in Matlab.
guyonnealleman  (posted 2014-02-26 05:55:28.12)
I have a BSC201 and would like to connect it to a NR360S/M. I installed the software on my windows 8.1 computer, but the NR360S/M doesn't move when I change the number in APT user. In APT config I selected 1Ch Stepper drive (BSC101) as control unit because the BSC201 was not displayed. As stage I selected the HS NanoRotator according to the manual. Thank you!
msoulby  (posted 2014-02-26 07:20:00.0)
Response from Mike at Thorlabs: From the way you describe how you configure the stage I believe you may have the simulator mode ‘enabled’ you will need to disable this mode before you can operate your stage. In the APT config utility program please open the simulator tab and then uncheck the simulator mode checkbox. Once this is done please then open the Stage tab, you should now be able to select the correct serial number of your controller from the motor drop down list and assign the HS NanoRotator stage as you did previously. When you now open APT user the stage should operate correctly.
eli  (posted 2014-01-15 13:34:07.38)
Is there any support libraries for Matlab?
bhallewell  (posted 2014-01-15 12:21:06.0)
Response from Ben at Thorlabs: Thank you for your feedback. I will contact you directly with the current support resources we have available.
bhallewell  (posted 2014-01-16 04:37:12.0)
Response from Ben at Thorlabs: Hi Eli. Do you have an alternative email address I can forward this information to? Unfortunately I am unable to forward this information to the address provided with your feedback. Alternatively, you can message me directly @ Techsupport.uk@thorlabs.com
chris  (posted 2013-11-12 17:54:51.503)
I have BSC203 running on a new Dell computer (32bit) on Windows 7. I have had an issue with the BSC203 causing a Blue screen of death. I updated the firmware using the APT manager. During firmware update, my computer screen flashed and went into low resolution. After firmware update I continue to get the blue screen of death. Please let me know if there exists a known solution. I am happy to help trouble shoot this problem. Chris
msoulby  (posted 2013-11-14 06:16:44.0)
Response from Mike at Thorlabs: Our software and drivers are Microsoft signed and tested with most windows operating systems. We have never heard of our drivers or controllers creating a 'blue screen of death' during the firmware update. I would recommend a complete reinstall of the drivers and software or to try the controller on a second machine.
dongilkeum  (posted 2013-11-05 16:00:08.243)
I need accurate time control under 100 ms. But, by the limitation of Windows as non-real time OS, I couldn't achieve that. Can I use rs-232 ports directly instead of USB? If it is possible, I will use micro controller or DSP.
msoulby  (posted 2013-11-06 11:12:54.0)
Response from Mike at Thorlabs: Currently it is not possible to control the BSC20x controllers with RS232 connection. Communication is currently only possible through the USB port. USB commincation does suffer from latency plus the additional signal processing carried out by our controller means it may not be possible to achieve the speed of control you require.
mgiacomelli  (posted 2013-06-04 14:23:01.253)
Hi, Is there any update on getting 64 bit programming support for this product? I understand there was some talk of a subset of functionality being available from a 64 bit process, but haven't heard about it lately. Any sort of support would be a huge improvement; the ActiveX bits are not really so useful as simple motion control. We stopped running 32 bit Windows some years ago, and so I am debating sitting down and reverse engineering the controller USB protocol to enable using it with more modern software. Thanks
tcohen  (posted 2013-06-06 13:37:00.0)
Response from Tim at Thorlabs: This will be fully addressed in the new software. Currently it is still in development and is progressing to an executable for a larger testing phase shortly. We do have the communications protocol available for download at http://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=APT.
anthony.ayari  (posted 2013-05-30 04:35:42.24)
Dear Thorlabs Tech support, I bought a BSC203 controller for a DRV014 motor actuator. In my Labview program, I can move forward and backward but only for positive value of the motor position. I can’t move the motor for a negative value (using absolute of relative motion as shown in the provided example programs) of the position whereas it is possible to do it with the APTuser interface. In my application, I can’t do a homing to get the actual position of the motor. Is there either : 1)a way to modify the saved encoded position of the motor so that the program will believe that the value is positive and when this value returns to zero because for instance the power is switched off, I can put back a rough proper value without having to home the stage. or 2) an instruction in Labview that allows negative value of the motor like in the APTuser program. Thank you
jlow  (posted 2013-06-04 11:23:00.0)
Response from Jeremy at Thorlabs: You could edit the configuration file to allow negative values in the APT. I will get in contact with you directly to send you more instructions for doing this.
ruslan.burow  (posted 2013-05-23 07:33:24.03)
It is possible to change the move direction for example for the "MoveRelativeEx" -Method ? And How?
jlow  (posted 2013-05-23 11:57:00.0)
Response from Jeremy at Thorlabs: To make a move relative in the reverse or opposite direction, the distance value entered should be negative. The details for the method can be found in the APT Server Help file located under the Thorlabs APT folder in Start Menu. I will get in contact with you directly to send you more info.
tcohen  (posted 2013-02-26 14:42:00.0)
Response from Tim at Thorlabs: That is correct. The current APT software uses ActiveX components that are intrinsically 32bit. Our APTUser runs on WoW64 when using a 64bit Windows OS, but any client environments (such as LabVIEW) must be 32bit. We are addressing this in the next generation of software, which will be 64bit compatible natively.
jlow  (posted 2012-12-20 08:45:03.723)
Response from Jeremy at Thorlabs: The list and description of all the available ActiveX methods can be found at the following location Start Menu>>All Programs>>Thorlabs>>Help>>APT Server Help. If you are looking for information on a particular method please let us know and we can send you the relevant information. We do not get many requests for HP VEE so do not currently have any support documentation to supply you with. However if you can tell us what you are aiming to do with your controller/stage or what problems you may be then please let us know and we would be happy to work through this with you. You can contact us directly through techsupport@thorlabs.com if you have any questions.
ebramire  (posted 2012-11-30 12:50:55.357)
Im trying to develop some HP VEE code to operate a T-cube DC servo motor driver controller. However, I am unable to locate reference documentation for the methods available through the ActiveX routines. I noticed that in the "User Guide to LabVIEW & APT" document there is a mention of an "APT Programming Guide" in the "User Guide to LabVIEW & APT", but I cannot find this on my system or on the Thorlabs web site. Could you please point me to any available documentation for the methods included in the ActiveX library? Also if there is a guide similar to the "User Guide to Labview & APT" but for HP VEE, could you please let me know where I can find it? Thank You.
jlow  (posted 2012-10-11 16:55:00.0)
Response from Jeremy at Thorlabs: You can download the latest software for the APT at http://www.thorlabs.com/software_pages/ViewSoftwarePage.cfm?Code=APT. Once that is installed, you could open up the APT Firmware (under "Start" -> "All Programs" -> "Thorlabs" -> "APT") and click on Flash Firmware if you do not have the latest version.
dcfortin  (posted 2012-10-09 16:02:43.71)
Do you have a firmware upgrade to this controller. I think we are running v 1.03... Thanks, Dave
jlow  (posted 2012-07-31 14:20:00.0)
A response from Jeremy at Thorlabs: Can you make sure the USB cable is connected between the computer and the unit before it is powered on please? Also, can you check to make sure that "Enable Simulator Mode" is unchecked in "APTConfig" please?
pier-luc.fortin.2  (posted 2012-07-26 11:43:25.0)
Hi,I have a problem with the BSC 101 controller and I saw on this page that anyone already has had the same problem before. When I connect the USB cable between my computer and the BSC101 module, the computer doesn't recognize the peripheral. I tried to use another cable, to enable and disable the controller, to unistall and and reinstall the software (and unplugging the controller during the installation), but nothing works. Moreover, when I open "APT Config", the serial number of the device doesn't appear when I want to make stage association. I also want to specify that I use another FW103H with the BSC101 Controller on my other computer and I have no problem with it. But when I connect the new controller on this computer, the peripheral isn't recognize again. Do you have any solution to propose?
tcohen  (posted 2012-03-28 15:02:00.0)
Response from Tim at Thorlabs: Thank you for your feedback. This may be due to a corrupted installation of an APT or Labview driver. The first thing to do would be to remove APT and all associated drivers and reinstall APT which will reinstall the drivers. I will contact you directly for troubleshooting.
cfredricksen  (posted 2012-03-28 11:19:45.0)
We are using this controller with APT through Labview on a Windows XP machine. After running our Labview program several times, we eventually get the blue screen of death with an IRQL_NOT_LESS_OR_EQUAL error. Are you aware of this problem and do you know of a fix? From what I have seen on the internet it appears to be some kind of interrupt conflict. Thanks
bdada  (posted 2012-02-24 15:02:00.0)
Response from Buki at Thorlabs to m.musterd: Thank you for your feedback. Please refer to pages 40 to 47 of the manual linked below for more information on the Trigger Out function. http://www.thorlabs.com/Thorcat/13900/13956-D01.pdf We have contacted you to provide additional support.
m.musterd  (posted 2012-02-02 11:48:23.0)
Hi, I am using the BSC101 controller with the NR360S NanoRotator. I am recording the motion of a substrate on the NR360 with a camera and I would like to use the Trigger Out (pin 4) to flash a light at the moment the rotation starts so I have a t=0 for my camera recording. Is this possible? If so, how does this work?
bdada  (posted 2011-10-03 10:47:00.0)
Response from Buki at Thorlabs: Thank you for your feedback. It sounds like your stage needs to be repaired. We have contacted you to set up a return and repair for the stage.
pzagrajek(at)wat.edu.pl  (posted 2011-09-30 11:09:47.0)
Hi, I am using BSC103 controller and NRT150P1/M stages. In one of them I cannot move stage to home position properly. Even a stage is at the end (near a motor), when I press home/zero button on APTUser GUI, a position on display becomes more and more negative, motor is trying to work (I hear sound) and stage is not moveing.
jjurado  (posted 2011-08-18 18:31:00.0)
Response from Javier at Thorlabs to lili4research: Each channel of the BSC103 stepper motor controller contains an I/O connector which features digital and analog pins for interface with external hardware. Pin 4 of the I/O connector is used for triggering a move from an external TTL level signal. The triggering mode and move type can be set up in the Advanced tab of the Motor Settings window in the APT User utility, along the step distance and velocity profile. This information can be found in pages 42, 46 and 49 of the BSC103 manual: http://www.thorlabs.com/Thorcat/13900/13958-D01.pdf I will contact you directly for further support.
lili4research  (posted 2011-08-17 18:09:02.0)
I use NRT150 with BSC103. I want the stage to move a single step after receiving a trigger. Do you have documents on how to configure triggered motion control? Cant find information anywhere in manuals.
jjurado  (posted 2011-08-08 12:29:00.0)
Response from Javier at Thorlabs to jm.rodriguez.oyarzun: Thank you very much for contacting us. I will contact you directly to help you troubleshoot your application.
jm.rodriguez.oyarzun  (posted 2011-08-06 11:34:06.0)
Hi, we have a problem with our BSC101 controller. The USB connection it’s not detected by the computer. We follow the step by step installation guide on the manual, but when we connect the controller to the PC the hardware installation (drivers) does not work. Note that the computer does not detect any device connected to the USB port. We have tried with several different USB cables and computers but with the same results. The USB ports of the computers works fine with other devices.
jjurado  (posted 2011-08-05 09:58:00.0)
Response from Javier at Thorlabs to last poster: At the moment, we are not planning the release of an updated APT communications protocol document. However, we can gladly help you with additional information that might be missing from the documentation. Please contact us at techsupport@thorlabs.com so that we can assist you directly.
user  (posted 2011-08-03 20:41:22.0)
Hi, Is there going to be a more recent update on the communication protocol for APT controllers? It would be nice to include the following commands that are missing in the manual: messageID 0x0060 0x042E 0x0213
jjurado  (posted 2011-03-28 17:02:00.0)
Response from Javier at Thorlabs to bluepb: Thank you for contacting us with your request. A change in the default settings for the pitch of the lead screw could very well explain the fractional translation. You can double check the pitch setting in the APT User utility. I would also suggest reconfiguring the BSC102 controller with the DRV001 actuator in order to ensure that the correct association is used. Also, we would recommend running the actuator with our APT software prior to using the LabVIEW application; this could help determine where the discrepancy is coming from. I will contact you directly for further assistance.
bluepb  (posted 2011-03-23 21:02:28.0)
We have one problem on using bsc102, nanomax301, DRV001 with labview program. when I use apt user software, there is no problem. However, when I use the labview, the actual movement is not correct. we set 2mm to move with labview program, but it moves only 1mm. when we set 100um, it actually moves only 50um. Did I miss something to write a code with labview? or can you give me an advice? Also I wonder how to change or increase the velocity using the labview program. is it "setvelparams"?
bdada  (posted 2011-03-07 13:42:00.0)
Response from Buki: In order for the APT controller to run the NRT150 stage it must be associated and configured. The BSC102 can run many devices so you have to tell it to run the NRT150. This means the APT Config utility must be run first. 1. Make sure the current software is installed APT 2.11.0 2. Make sure the USB cable is connected before power is turned on. 3. Run the APT Config utility software 4. Make sure the simulation mode is off (unchecked) 5. Associate channel 1 or channel 2 (by serial number, user option) 6. Associate and add the NRT150. Then run the APT User utility. The NRT150 can now be controlled by the APT GUI panel. If a black screen is observed follow option 2 again. We have contacted you with this information and would be happy to discuss this further with you if you have any questions.
tie-jun.wang.1  (posted 2011-03-04 16:30:43.0)
We have one problem on using BSC102 to control the NRT150. When we run the APT user, the software can not find the delay stage. We even try the APT config, it still does not work. The problem happened several times in our lab. Can you provide some technical solutions for that? Thanks,
jjurado  (posted 2011-02-01 18:12:00.0)
Response from Javier at Thorlabs to tstier: Thank you very much for submitting your inquiry. The Motor Drive as well as the Motor I/O connectors on the back of the BSC103 are female. We will updated the information on the manual shortly.
tstier  (posted 2011-01-28 16:39:28.0)
Are the motor drive connectors on the back of the BSC103 male or female? We would like to begin building our cables while waiting for delivery.
tor  (posted 2011-01-05 18:46:14.0)
Response from Tor at Thorlabs to Petr: Thank you for your positive feedback and your interest in our BSC101. I will send a document containing communications protocol, which should get you started.
kubanek  (posted 2010-12-14 12:31:47.0)
We would like to control BSC101 from Linux, using custom C/C++ environment (RTS2 - we use this to control telescopes and labs, this particular application is for CCD testing lab). Will you be willing to provide us specification of the USB protocol? We will hardly use ActiveX, and even LabView is pain for us on Linux. We do regularly develop own drivers for devices, including USB devices, so we shall not have problems writing driver for BSC101. We enjoyed your Laser products, which have simple RS232 USB bridge and comes with protocol description, but we miss protocol description for BSC101. Thank you in advance. Petr Kubanek
tor  (posted 2010-11-23 22:04:29.0)
Response from Tor at Thorlabs to Rober: We do not have RS232 commands, as the BSC103 interfaces with ActiveX. The system can be controlled through LabView, Visual C++, and Visual Basic. Please see our video tutorials under the "APT Tutorials" tab on this page for further details. Please do not hesitate to contact us at techsupport@thorlabs.com if you need further assistance.
rll  (posted 2010-11-23 10:18:00.0)
Dear Sirs, We bought last year a BSC103 controler with RS232 option, but the manual does not content the rs232 direct commands. Please, could you send me the list of these commands inj order to can control manualy the system. thank you in advance, Rober
Thorlabs  (posted 2010-07-14 08:50:29.0)
Response from Javier at Thorlabs to tim.rausch: thank you for your feedback. There is actually no part 2 of the LabWindows/CVI help file. However, if you have particular questions about programming in this environment, we may be able to help. Also, we have an open forum were you may be able to find help regarding software-related questions. You can sign up at http://forums.thorlabs.com/index.php. I will follow up with you directly.
tim.rausch  (posted 2010-07-13 18:19:29.0)
Javier, where is part 2 of the CVI demo. I would like to be able to control the stages with my own code. The help file is NOT clear at all.
Javier  (posted 2010-06-10 10:06:03.0)
Response from Javier at Thorlabs to john.radle: you can download a tutorial for integration of our APT software with NI CVI from our ftp site. The address is ftp://63.161.211.72 Username: thortech Password: password. The name of the file is APT CVI Demo.zip. I will contact you directly in case you need further assistance.
Oli  (posted 2010-03-19 11:39:50.0)
A respone from Oli at Thorlabs to cvisone: Th jog inputs are indeed digital inputs as described in A.1.2. It should be possible to drive them in the same way (and with the same cautions) as the other digital inputs. We will change the manual to state that these pins be interpreted as a logic low (0V < Vin < 0.8V) will cause the motor to jog. The idle state is logic high (2.4V < Vin < 5.0V).
cvisone  (posted 2010-03-19 09:04:00.0)
Are the jogging lines in the control i/o connector digital inputs as described in A.1.2 of the manual of the BSC102? Instead of using a handset I would like to drive those lines with the output of an FPGA.
user  (posted 2010-03-05 09:14:39.0)
A response from Oli at Thorlabs to Arash.farhang: There are no sub vis as the active X objects talk directly to the APT server. However, what you are trying to do is entirley possible with the existing commands. I will contact you directly with support for this.
arash.farhang  (posted 2010-03-05 05:29:30.0)
I have a question about one of the activeX objects available in labview, particularly the MGMotor Control object. With this control, I can change the angle at which the rotational stage is currently at, however, I cannot figure out how to add additional custom commands of my own. For example one of things I would like to do is be able to have the motor take one step, stop for 10 seconds, take one step, stop for 10 seconds, take one step, stop for 10 seconds and so on, until N number of steps have been made. I set up a VI just like the examples on the web show (with a while loop as well) and then added a wait timer set to 10 seconds in the while loop, but this did not work of course because the motor control icon is outside the while loop. I then proceeded to put everything in the while loop, but this did not work either. It seems like I dont understand the structure of dataflow from this control. Is there anyway for me to observe the subvis that define this contol? I know that if I can view them, I will have a very good chance of creating my own custom vi that will perform the tasks I want it to perform. Thanks Arash Farhang
apalmentieri  (posted 2010-02-03 10:44:02.0)
A response from Adam at Thorlabs to cooljkpark: The motion you recieve in the backward direction is related to the backlash compenstation. It is possible to turn this off, but it is not recommended as this will reduce the accuracy of the stage. Unfortunately, we did not get your email address. If you would like more help regarding this inquiry, please email us at techsupport@thorlabs.com.
cooljkpark  (posted 2010-02-03 08:55:10.0)
I have question about control max324/m(step motor part) with bsc103. when I order move absolute position For forward direction motor stopping at ordered position as soon as it reach ordered position but For backward direction motor dose not stop ordered position as soon as it reach position. Little bit over moving and move agaion forward finally stopping at ordered position. I want to know why backward moving work like that and how can i do for backward moving same as forward moving.
klee  (posted 2009-11-20 16:05:21.0)
A response from Ken at thorlabs to enes_eken1986: The serial number you have entered is not the serial number of the 3 channels drivers but the controller box. Run the APT Config utility program. Here you will need to associate three stepper motors to the three driver boards in the controller box. The number you see in the association (motor) is the serial number to use. There will be three unique numbers..
enes_eken1986  (posted 2009-11-20 03:26:23.0)
hi I bought a bsc103 stepper motor driver and I want to use this product with visual basic. So I added activexs file to visual components. And then I want to use apt motor controller like mg17motor. after that I must enter HW serial number. My problem is this point. my divers serial number is 70811358 but apt motor controller properties dont accept this number but give default number 12345678 what must I do? thanks
klee  (posted 2009-10-08 16:12:41.0)
A response form Ken at Thorlabs to jarosik: After you have installed the software, go to Start Menu > All Programs > Thorlabs > APT > Help > APT Server Help. Then click on Prgramming Guide > Motor Control > Motor Control Methods.
jarosik  (posted 2009-10-08 15:48:19.0)
Im trying to develop some LabVIEW code to operate a BSC101 stepper motor controller. I have down loaded the support CD and found the "User Guide to LabVIEW & APT" document very useful. However, I am unable to locate reference documentation for the methods available through the ActiveX routines. There a mention of an "APT Programming Guide" in the "User Guide to LabVIEW & APT", but I cannot find this on my system or on the Thorlabs web site. Could you please point me to any available documentation for the methods included in the ActiveX library? Thank You. Norm Jarosik Princeton University jarosik@princeton.edu
jens  (posted 2009-06-30 13:41:54.0)
A reply from Jens at Thorlabs: the NRT100 should come with the connector cable PAA613 that allows you to connect the NRT100 to the BSC101 controller. I will send you an email to arrange shipment of such a cable.
parkh6  (posted 2009-06-30 13:27:54.0)
Dear Thorlabs, What if I would like to use a NRT100 with BSC101. The connector does not match. If you let me know the pin connection between NRT100 and BSC101, it will be great help. Thanks,
Tyler  (posted 2008-11-03 16:11:48.0)
A response from Tyler at Thorlabs to xiaomei.chen: A member of our technical support department will email you step by step instructions for dealing with this error. Basically, this is caused by execution setting in Labview. Under "VI Properties" choose the category "Execution" and then choose "User Interface". The instructions being sent to you have screen shots to help guide you. Thank you for choosing the BSC stepper motor controller and if you need any further assistance please dont hesitate to ask.
xiaomei.chen  (posted 2008-11-03 09:41:03.0)
We tried to use the basic example vi attached with software to control the motor, there is always the error 3006, we cant find the reason, the VIs are provided by your company. Could you please possiblly tell me what kind of error this is?
Back to Top

ベンチトップ型ステッピングモータ用コントローラ

  • ステッピングモータ用の1、2、または3チャンネル型コントローラ
  • 閉ループ位置決め用として差動エンコーダの信号をフィードバック(QEPの入力)
  • 制御用ソフトウェア一式とUSB接続のプラグアンドプレイによるPC操作
  • Active X®プログラミングインターフェイスを使用してカスタマイズが可能

The BSC200シリーズのベンチトップ型ステッピングモーターコントローラは、高出力2相バイポーラ型ステッピングモータ(エンコーダーフィードバックの有無に関りません)の駆動用に適しています。これらのコントローラは、DRVシリーズのアクチュエータ(DRV208DRV225DRV250*)、および当社の高出力ステッピングモータの付いたナノポジショニングアクチュエータやステージ(LNR502/MNRT150/Mなど)の駆動用として設計されています。なお、これらのコントローラは当社のZSTまたはZFSシリーズのステッピングモータには適しておりませんのでご注意ください。適合するモータについては「仕様」タブをご覧ください。

USB接続のプラグアンドプレイによって、簡単にPCによる操作が可能になります。多軸モーションコントロールを行いたい場合でも、標準的なUSBハブを介して複数のユニットを1台のPCに接続できます。コントローラにはユーザを広範にサポートするソフトウェア一式が付属します。これにはすぐに使える多くのユーティリティが含まれており、細かな事前設定などをしなくても直ちに操作を開始することができます。 ActiveX®プログラミングを使用すれば、高度なカスタム仕様のモーションコントロールやシークエンスが可能になり、その成果を当社のKinesis®またはAPT™のソフトウェアパッケージを使用してシステムに統合することができます。

*これらのステッピングモータ用コントローラは、当社の旧世代アクチュエータDRV001、DRV013、DRV014にも対応します。

+1 数量 資料 型番 - ユニバーサル規格 定価(税抜) 出荷予定日
BSC201 Support Documentation
BSC201Customer Inspired! 1軸ベンチトップ型ステッピングモーターコントローラ
¥224,573
Today
BSC202 Support Documentation
BSC202Customer Inspired! 2軸ベンチトップ型ステッピングモーターコントローラ
¥366,416
Today
BSC203 Support Documentation
BSC203Customer Inspired! 3軸ベンチトップ型ステッピングモーターコントローラ
¥466,153
Lead Time
Back to Top

2軸および3軸ジョイスティックコンソール

  • 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を介したジョイスティックの構成やセットアップについての詳細は、型番横の赤いアイコン(Docs Icon)をクリックしてマニュアルをご覧ください。

+1 数量 資料 型番 - ユニバーサル規格 定価(税抜) 出荷予定日
MJC2 Support Documentation
MJC22軸 USB HIDジョイスティック
¥76,857
Today
MJC3 Support Documentation
MJC33軸 USB HIDジョイスティック
¥81,748
3-5 weeks