3.4 Connecting To The Supply ................3.5 Fuses .....................14 3.5.1 Rear Panel Connections BBD301 ..............15 3.5.2 Rear Panel Connections BBD302 and BBD303..…………………………………16 3.6 Front Panel Controls and Indicators ............. 17 3.7 Connecting The Hardware and Powering Up ........18 3.8 Verifying Software Operation ..............19...
Page 3
Appendix B Using the RS232 or Virtual Comm Port ......... 70 Appendix C Preventive Maintenance ............73 Appendix D Specifications and Associated Parts ........74 Appendix E Motor Control Method Summary..........75 Appendix F Regulatory ................79 Appendix G Thorlabs Worldwide Contacts ..........81 Page 3...
Chapter 1 For Your Safety 1.1 Safety Information For the continuing safety of the operators of this equipment, and the protection of the equipment itself, the operator should take note of the Warnings, Cautions and Notes throughout this handbook and, where visible, on the product itself. The following safety symbols may be used throughout the handbook and on the equipment itself.
DC motors at 2.5 Amps continuous current (4 Amps peak), and up to 5.2 Amps maximum in total. It offers Thorlabs standard control and programming interface, allowing easy integration into the customer’s own automated motion control applications. These units are capable of being reprogrammed in-field, allowing the option of upgrading the units with future firmware releases as soon as new programming interfaces (such as microscopy standard command sets) are added.
BBD30x Series Brushless DC Servo Controllers 2.2 APT PC Software Overview 2.2.1 Introduction As a member of the APT range of controllers, the BBD30x DC motor controllers share many of the associated software benefits. This includes USB connectivity (allowing multiple units to be used together on a single PC), fully featured Graphical User Interface (GUI) panels, and extensive software function libraries for custom application development.
Chapter 2 2.2.2 APTUser Utility The APTUser application allows the user to interact with a number of APT hardware control units connected to the host PC. This program displays multiple graphical instrument panels to allow multiple APT units to be controlled from the same screen. All basic operating parameters can be altered and, similarly, all operations (such as motor moves) can be initiated.
BBD30x Series Brushless DC Servo Controllers 2.2.3 APT Config Utility There are many system parameters and configuration settings associated with the operation of the APT Server. Most can be directly accessed using the various graphical panels, however there are several system wide settings that can be made 'off-line' before running the APT software.
Page 10
Chapter 2 an ActiveX Control is a language independent software component. Consequently ActiveX Controls can be incorporated into a wide range of software development environments for use by client application developers. Development environments supported include Visual Basic, LabVIEW, Visual C++, C++ Builder, HPVEE, MATLAB, VB.NET, C#.NET and, via VBA, Microsoft Office applications such as Excel and Word.
APT controllers. 2.2.5 Software Upgrades Thorlabs operate a policy of continuous product development and may issue software upgrades as necessary. Detailed instructions on installing upgrades are included on the APT Software CD ROM.
DO NOT CONNECT THE STAGE TO YOUR PC YET 1) Go to Services/Downloads at www.thorlabs.com and download the APT software. 2) Run the .exe file and follow the on-screen instructions. HA0409T Rev B Aug 2021...
Chapter 3 3.2 Mechanical Installation 3.2.1 Siting The unit is designed to be mounted free standing on a shelf, benchtop or similar surface. Caution When siting the unit, it should be positioned so as not to impede the operation of the rear panel power supply switch. Ensure that proper airflow is maintained to the rear of the unit.
The unit must be connected only to an earthed fused supply of 110 to 230 V. Use only power supply cables supplied by Thorlabs, other cables may not be rated to the same current. The unit is shipped with appropriate power cables for use in the UK, Europe and the USA.
Chapter 3 3.5.1 Rear Panel Connections BBD301 Fig. 3.1 BBD301 rear panel connections MOTOR DRIVE - Provides all phase current drive connections to the DC motor actuators, via a female 8-pin DIN connector - see Section A.1. FEEDBACK - 15-pin female D Connector. Provides connection for the position encoder feedback signals - see Section A.2.
Chapter 3 3.6 Front Panel Controls and Indicators Fig. 3.3a BBD301 Front panel controls and indicators Fig. 3.3b BBD303 Front Panel Controls and Indicators Power - Rocker switch to turn power ON and OFF. Jog Knob - Used to initiate moves in normal operation. In set-up mode the knob is used to make changes to parameter settings.
BBD30x Series Brushless DC Servo Controllers 3.7 Connecting The Hardware and Powering Up Follow the set procedure for powering up, as described below. Specifically, a stage must only be connected to and disconnected from a controller that is powered down. 1) Install the APT Software - see Section 3.1.
Chapter 3 3.8 Verifying Software Operation 3.8.1 Initial Setup The APT Software should be installed (Section 3.1.) and the power up procedure performed (Section 3.7.) before software operation can be verified. 1) Run the APTUser utility and check that the Graphical User Interface (GUI) panels appear and are active (one panel for each channel of operation).
BBD30x Series Brushless DC Servo Controllers Chapter 4 Operation from the Front Panel 4.1 Introduction The BBD30x can be used to drive attached stages directly via the front panel controls and display screen, without the specific need of a computer connection and its peripheral software;...
Chapter 4 4.2 Front Panel Menu Index The front panel main page, active on startup, allows intuitive access to an array of sub- pages that provide information on the system status and parameters, the possibility to set and change parameters, and the ability to control the attached stages. Fig. 4.1 below provides an index of these pages (and where they can be accessed).
An example is shown in Fig. 4.2b for a Thorlabs DDS220 linear stage. Where more stages are attached (for example when using a BBD302 or BBD303), information is also displayed in the Ch 2 and Ch 3 spaces.
Chapter 4 Note During the homing process when the stage is in motion, a red "STOP" sign is illuminated on the display (Fig. 4.3a) and pressing the corresponding panel button will immediately stop the stage's motion; for example, this might be needed in case motors/axes, each axis must be selected and stopped separately.
BBD30x Series Brushless DC Servo Controllers Note: The controller will prevent the inputting of parameters that are outside the permitted range of the device in question. If required, these parameters can be viewed via the PC GUI described in Chapter 5. 4.5 Moving the Stage Manually moving motorized stages using the BBD30x is simple, and can be done via two methods:...
Chapter 4 Fig. 4.5 Stage position Set-points and Changing them via Teach 4.7 The Knob Control: Setting Functionality As noted in Section 4.5. the knob can control the motor stage position in either continuous-motion or jog mode; speed is set in the Set Stage parameters page (Fig. 4.4a).
BBD30x Series Brushless DC Servo Controllers 4.9 Comments on Rotary Stages For rotary sages, most of the functionality of the front panel resembles that of linear stages, except: º replaces mm º/s replaces mm/s º/s replaces mm/s The final difference is that, if the knob control is used to move the stage, there is no upper/lower hardware limit to motion;...
PC based APT software. It assumes that the unit is electrically connected as shown in Section 3.5.1. that the APT Software is already installed - see Section 3.1. and that the stage being driven is the Thorlabs MLS203 microscopy scanning stage.
Hardware configurations and parameter settings can be saved to a file, which simplifies system set up whenever APT User is run up. Fig. 5.1 Typical APT User Screen 1) Run the APT User program - Start/All Programs/Thorlabs/APT User/APT User. HA0409T Rev B Aug 2021 Page 28...
Chapter 5 5.3 Homing Motors The need for homing comes from the fact that on power up the motor (stage) is at a random position, so the value of the position counter is meaningless. Homing involves moving the motor to a known reference marker and resetting the position counter to the associated absolute value.
BBD30x Series Brushless DC Servo Controllers 5.4 Moving to an Absolute Position Absolute moves are measured in real world units (e.g. millimetres), relative to the Home position. 1) Click the position display. Fig. 5.3 Absolute Position Popup Window 2) Enter 3.0 into the pop up window 3) Click ‘OK’.
Chapter 5 5.6 Changing Motor Parameters Note Moves are performed using a Trapezoidal or S-Curve velocity profile (see Section 6.3.4.). The velocity settings relate to the maximum velocity at which a move is performed, and the acceleration at which the motor speeds up from zero to maximum velocity.
BBD30x Series Brushless DC Servo Controllers 5.7 Jogging During PC operation, the motor actuators are jogged using the GUI panel arrow keys. There are two jogging modes available, ‘Single Step’ and ‘Continuous’. In ‘Single Step’ mode, the motor moves by the step size specified in the Step Distance parameter each time the key is pressed.
Chapter 5 5.8 Graphical Control of Motor Positions (Point and Move) The GUI panel display can be changed to a graphical display, showing the position of the motor channel(s). Moves to absolute positions can then be initiated by positioning the mouse within the display and clicking. To change the panel view to graphical view, right click in the screen and select ‘Graphical View’.
Page 36
BBD30x Series Brushless DC Servo Controllers Move Mode When ‘Move’ is selected, the motors move to an absolute position which corresponds to the position of the cursor within the screen. To specify a move: 1) Position the mouse within the window. For reference, the absolute motor position values associated with the mouse position is displayed in the 'Cursor Position field.
Chapter 5 5.9 Setting Move Sequences This section explains how to set move sequences, allowing several positions to be visited without user intervention. For details on moving to absolute positions initiated by a mouse click – see Section 5.12. 1) From the Motor GUI Panel, select 'Move Sequencer' tab to display the Move Sequencer window.
Page 38
BBD30x Series Brushless DC Servo Controllers 3) Select 'New' to display the 'Move Editor' panel. Fig. 5.9 Move Editor Window Move data is entered/displayed as follows: Dist/Pos: - the distance to move from the current position (if 'Relative' is selected) or the position to move to (if 'Absolute' is selected) (values entered in mm).
Page 39
Chapter 5 4) Enter the required move data into the Move Editor and click OK. The move data is displayed in the main window as shown below. Fig. 5.10 Main Window with Move Data 5) Repeat step 4 as necessary to build a sequence of moves. Move data can be copied, deleted, cut/pasted and edited by right clicking the data line(s) and selecting the appropriate option in the pop-up menu (shown below).
BBD30x Series Brushless DC Servo Controllers 5.10 Using A Joystick Console The MJC001 joystick console has been designed for microscope users, to provide intuitive, tactile, manual positioning of the stage. The console features a two-axis joystick for XY control. Up to 3 joysticks can be connected to each other, interfacing neatly into a multi-channel control application.
Currently, the BNCs are configured for Trigger Input only, with only a single Trigger per motor (meaning that for BBD301, only one of the two BNCs present is functional). Full functionality will be available at a later date with firmware/software updates.
Page 42
BBD30x Series Brushless DC Servo Controllers 2) Click the 'Simulator Configuration' tab. Fig. 5.13 APT Configuration Utility - Simulator Configuration Tab 3) Enter a name (e.g. ‘LAB1’) in the Configuration Names field. 4) In the 'Simulator' field, check the ‘Enable Simulator Mode’ box. The name of the most recently used configuration file is displayed in the 'Current Configuration' window.
Page 43
Chapter 5 Note Each physical APT hardware base unit is factory programmed with a unique 8 digit serial number. In order to simulate a set of ‘real’ hardware the Config utility allows an 8 digit serial number to be associated with each simulated unit.
Page 44
BBD30x Series Brushless DC Servo Controllers clicking the 'Remove' button or by right clicking it and selecting the 'Remove' option from the pop up window). 9) Enter a name into the 'Configuration Names' field. 10) Click 'Save'. 11) Click 'Set As Current' to use the configuration. HA0409T Rev B Aug 2021 Page 42...
BBD30x Series Brushless DC Servo Controllers Chapter 6 Software Reference 6.1 Introduction This chapter gives an explanation of the parameters and settings accessed from the APT software running on a PC. For information on the methods and properties which can be called via a programming interface, see Appendix E . 6.2 GUI Panel The following screen shot shows the graphical user interface (GUI) displayed when accessing the DC controller using the APTUser utility.
Page 46
Calib File - the calibration file associated with the specified channel. Note Calibration files are not applicable for the Thorlabs Brushless DC motor stages such as the MLS203. Min/Max V - the minimum velocity at which a move is initiated, and the maximum velocity at which the move is performed.
BBD30x Series Brushless DC Servo Controllers Settings button - Displays the 'Settings' panel, which allows the motor drive’s operating parameters to be entered - see Section 6.3. Ident - when this button is pressed, the LED (on the front panel of the unit) associated with the selected channel will flash for a short period.
Page 48
Chapter 6 Accn/Dec - the rate at which the velocity climbs from zero to maximum, and slows from maximum to zero (in mm/sec Note Under certain velocity parameter and move distance conditions, the maximum velocity may never be reached (i.e. the move comprises an acceleration and deceleration phase only).
Page 49
BBD30x Series Brushless DC Servo Controllers motor actuator will accelerate and move at the jog velocity while the button is held down. Single Step mode velocity jog step size jog velocity distance button button button pressed pressed pressed Continuous mode velocity button released jog velocity...
Page 50
Chapter 6 Stopping - the way in which the jog motion stops when the demand is removed. Immediate - the motor stops quickly, in a non-profiled manner Profiled - the motor stops in a profiled manner using the jog Velocity Profile parameters set above.
They need to be set accordingly such that a particular stage is driven properly by the system. For Thorlabs stages, the APT server will automatically apply suitable defaults for the parameters on this tab during boot up of the software.
Page 52
Chapter 6 Note The Min Pos and Max Pos parameters can be used to restrict the working range of the stage to a particular area of interest. Pitch - the pitch of the motor lead screw (i.e. the distance (in mm or degrees) travelled per revolution of the leadscrew).
Page 53
BBD30x Series Brushless DC Servo Controllers Hardware Limit Switches The operation of the limit switches is inherent in the design of the associated stage or actuator. The following parameters notify the system to the action of the switches when contact is made. Select Rev Switch or Fwd Switch as required, then select the relevant operation.
Chapter 6 6.3.3 Advanced - Control Loop SettingsTab Fig. 6.5 Advanced Control Loop Settings Position Loop Control Settings The motion processors within the BBD series controllers use a position control loop to determine the motor command output. The purpose of the position loop is to match the actual motor position and the demanded position.
Page 55
BBD30x Series Brushless DC Servo Controllers position during motion. i.e. sticksion, vibration…etc .If the proportional term is too high this can lead to overshoot and general instability. If this is too low it can result in a sloppy response. It accepts values in the range 0 to 32767. Integral term - Increasing the integral (Int) term minimises following error and final position error.
Page 56
Chapter 6 Position PID Settings Summary Stage overshoots the intended position - reduce Int and increase Deriv and Prop terms. Stage doesn't attain final position - increase the Int and Prop terms. Motion is unstable - reduce Prop and Int, increase Deriv. Stage sounds noisy - reduce Deriv.
Page 57
BBD30x Series Brushless DC Servo Controllers Current Loop (Settled) Control Settings The following parameters are designed to assist in maintaining stable operation and reducing noise at the demanded position. They allow the system to be tuned such that errors caused by external vibration and manual handling (e.g. loading of samples) are minimized, and are applicable only when the stage is settled, i.e.
Chapter 6 6.3.4 Advanced - Misc. Tab Fig. 6.6 Advanced Miscellaneous Settings Motor Output Settings Caution The default values programmed into the APT software will give acceptable performance in most cases. The following parameters are set according to the stage or actuator type associated with the driver and have already been optimized.
Page 59
BBD30x Series Brushless DC Servo Controllers 30000 (91.6%), then signals greater than 30000 will be output as 30000 and values less than -30000 will be output as -30000. Motor Bias – When an axis is subject to a constant external force in one direction (such as a vertical axis pulled downwards by gravity) the servo filter can compensate by adding a constant DC bias to the output.
Page 60
Chapter 6 Indicator status bit (bit 13) is set to 0 in the Status Register. When the position error returns to within the window boundary, the status bit is set to 1. Position Profiling To prevent the motor from stalling, it must be ramped up gradually to its maximum velocity.
Page 61
Joystick If the optional Thorlabs joystick console is being used (MJC001) the following parameters are used to set the velocity and acceleration limits and the direction sense of any moves initiated from the joystick.- see Section 4.10. for more details on joystick use.
Page 62
Chapter 6 direction for a particular application and is useful when matching joystick direction sense to actual stage direction sense. Note Joystick controlled moves always use a trapezoidal velocity profile. Persist Settings to Hardware - Many of the parameters that can be set for the BBD30x series drivers can be stored (persisted) within the unit itself, such that when the unit is next powered up these settings are applied automatically.
Page 63
BBD30x Series Brushless DC Servo Controllers Even when input triggering is disabled, the state of the Trigger In input can be read at any time by using the LLGetStatusBits software method to read the status register bit 1. This allows application software to use the Trigger In input as a general-purpose digital input - see the APTServer helpfile for details on using the LLGetStatusBits method and the status register.
Chapter 6 Trigger Out options are set as follows: Disabled – triggering operation is disabled In Motion (Trig HI) – The output trigger goes high (5V) when the stage is in motion. In Motion (Trig Lo) – The output trigger goes low (0V) when the stage is in motion. Move Complete (Trig HI) Move Complete (Trig HI) - The output trigger goes high (5V) when the current move is completed.
Page 65
BBD30x Series Brushless DC Servo Controllers If adjustment of the parameter values previously described has resulted in unstable or unsatisfactory system response, the ‘Defaults’ tab can be used to reset all parameter values to the factory default settings. To restore the default values: 1) Select the ‘Defaults’...
Appendix A Rear Panel Connector Pinout Details A.1 Rear Panel MOTOR DRIVE Connectors The ‘MOTOR DRIVE’ connector is a female, round 8-pin DIN type and provides drive connection to the motors. The pin functions are detailed in Fig. A.1. Description Description Motor Phase B Stage ID...
The easy access BNC terminals currently allow for motor trigger inputs (one per motor; for BBD301, the second BNC present is not currently used). The pin functions are detailed in the table associated with Fig. A.3 – see next page.
Page 68
Appendix A Notes: Pins 1 & 2 are used for RS232 communications. This allows control of the device using the low level communications protocol, or other software environments such as micromanager. Pins 22-29 are single ended inputs and outputs - see Section A.3.3. and Section A.3.4.
Page 69
BBD30x Series Brushless DC Servo Controllers A.3.2 Differential Outputs All differential outputs (QA, QB and IX/Ref) are driven by an AM26C31 line driver, with a 130 Ω resistor between the output of the line driver and the connector pin. When the stage is being controlled by a joystick, in the absence of a PC, these outputs could be connected to an oscilloscope or custom circuit to facilitate monitoring of the position output.
Page 70
Appendix A A.3.4 Digital Inputs The digital inputs used in the controller are of the standard CMOS logic gate type with TTL compatible input levels and a built-in pull-up resistor (10 kΩ to +5 V). They can be connected directly to mechanical switches, open-collector type outputs or most type of logic outputs.
Page 71
Ground Fig. A.7 HANDSET Connector Pin Identification Note Pins 2, 3 and 6 are common (connected) ground connections. Pin 4 is for use only with Thorlabs joystick MJC001. It should not be used to power any other device. Page 69...
BBD30x Series Brushless DC Servo Controllers Appendix B Using the RS232 or Virtual Comm Port When using the low level communications protocol messages to develop client applications outside of the APT software, communication with the device is facilitated by using the RS232 comms pins on the rear panel AUX I/O connector – see Section A.3.
Page 74
Appendix B 3) The ‘USB Device Properties’ window is displayed. 4) Select the ‘Advanced’ tab, and check the ‘Load VCP’ box. 5) Click OK, then power cycle the device being configured. HA0409T Rev B Aug 2021 Page 71...
Page 75
BBD30x Series Brushless DC Servo Controllers 6) In the device manager, click ‘Ports (COM & LPT)’, and note the ‘APT USB Device Serial Port’ COM port number (e.g. COM3). This COM port can then be used by the client application to communicate with the device using the low level protocol messages.
The equipment contains no user serviceable parts. There is a risk of severe electrical shock if the equipment is operated with the covers removed. Only personnel authorized by Thorlabs Ltd and trained in the maintenance of this equipment should remove its covers or attempt any repairs or adjustments.
250 VA Frequency 47 to 63 Hz General BBD301: 199.8 x 229.1 x 108.8 mm (7.87" x 9.02" x 4.28") Housing Dimensions BBD302: 250.0 x 279.1 x 108.8 mm (9.84" x 10.99" x 4.28") (W x D x H) BBD303: 350.0 x 279.1 x 108.8 mm (13.78" x 10.99" x 4.28") BBD301: 1.20 kg (2.65 lbs)
Appendix E Motor Control Method Summary The 'Motor' ActiveX Control provides the functionality required for a client application to control one or more of the APT series of motor controller units. To specify the particular controller being addressed, every unit is factory programmed with a unique 8-digit serial number.
Page 79
BBD30x Series Brushless DC Servo Controllers GetHWCommsOK Gets the hardware communications OK flag. GetJogMode Gets the jogging button operating modes. GetJogMode_Mode Get the jogging button operating mode (returned by value). GetJogMode_StopMode Gets the jogging button stopping mode (returned by value). GetJogStepSize Gets the jogging step size.
Page 80
Appendix E GetVelParams_MaxVel Gets the move maximum velocity (returned by value). Identify Identifies the controller by flashing unit LEDs. LLGetDigIPs Gets digital input states encoded in 32 bit integer. LLGetStatusBits Gets the controller status bits encoded in 32 bit integer. LLSetGetDigOPs Sets or Gets the user digital output bits encoded in 32 bit integer.
Page 81
BBD30x Series Brushless DC Servo Controllers StopCtrl Stops the ActiveX Control (stops communication with controller) StopImmediate Stops a motor move immediately. StopProfiled Stops a motor move in a profiled (decelleration) manner. GetDCCurrentLoopParams Gets the Current servo loop PID parameter settings applied when the unit is moving GetDCPositionLoopParams Gets the Position servo loop PID parameter settings...
Appendix F Regulatory F.1 Declarations Of Conformity F.1.1 For Customers in Europe; CE certificate Page 79...
Page 83
BBD30x Series Brushless DC Servo Controllers F.1.2 For Customers In The USA This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15 of the FCC rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment.
Waste treatment is your own responsibility. "End of life" units must be returned to Thorlabs or handed to a company specializing in waste recovery. Do not dispose of the unit in a litter bin or at a public waste disposal site.
Need help?
Do you have a question about the BBD301 and is the answer not in the manual?
Questions and answers