Haydon IDEA Hardware Manual

Brushless drive
Table of Contents

Advertisement

Quick Links

TM
IDEA
PROGRAMMABLE
BRUSHLESS MOTOR DRIVE
MANUALS
CONTENTS:
HARDWARE MANUAL
SOFTWARE MANUAL
COMMUNICATIONS MANUAL

Advertisement

Table of Contents
loading

Summary of Contents for Haydon IDEA

  • Page 1 IDEA PROGRAMMABLE BRUSHLESS MOTOR DRIVE MANUALS CONTENTS: HARDWARE MANUAL SOFTWARE MANUAL COMMUNICATIONS MANUAL...
  • Page 2 Brushless IDEA™ Drive Hardware Manual PBL4850E www.haydonkerk.com All Rights Reserved 03-2015...
  • Page 3: Table Of Contents

    Table of Contents Revision History ......................... 3 Introduction ......................... 4 Specifications ........................5 Engineering Drawings ......................6 Connections......................... 7 Basic Wiring Diagram ......................8 Accessories ......................... 8 Encoder Inputs ........................9 Encoder Wiring ......................... 10 Hall Cell Inputs ......................... 11 Hall Cell Wiring ........................
  • Page 4: Revision History

    Revision History Date Description January 2015 Initial version...
  • Page 5: Introduction

    This manual is intended to provide basic hardware specifications for the Haydon Kerk Brushless IDEA drive. For detailed information on use and programming of the drive, please refer to the IDEA Drive User’s Manual. For detailed information on the command structure of the drive for coding purposes, please refer to the...
  • Page 6: Specifications

    IDEA™ Drive PBL4850E Specifications Attribute Value Drive Input Voltage Range 12 – 48 VDC Maximum Drive Current (per phase) 4.0 Arms (Up to 6.5 Apeak current boost capability during ramping) Motor Type 3 Phase Brushless Commutation Type Sinusoidal with Hall Cell...
  • Page 7: Engineering Drawings

    IDEA™ Drive PBL4850E Engineering Drawing Engineering Drawings...
  • Page 8: Connections

    Note: this cable is only required if the drive is interacting with an external device. • USB to Mini B USB cable ( available from Haydon Kerk p/n 56-1346 ) The following page contains the proper wiring diagram for the IDEA drive, power...
  • Page 9: Basic Wiring Diagram

    Basic Wiring Diagram Accessories Accessories Part No. USB Cable (A to mini B), 2 meters 56-1346 Power Cable, 1 meter 56-1348 I/O Cable, 1 meter 56-1352 Motor Connector Screw Terminal 56-1570 Hall Cell & Encoder Cable 56-1856...
  • Page 10: Encoder Inputs

    This means that if a rising edge is detected on phase A, and phase B is at a logical high, then the motor just rotated counter-clockwise. The IDEA drive watches for the rising and falling transitions on phase A and B, and increments or decrements the position counter accordingly. Using this method, a 1000 cycle per revolution optical rotary encoder would have 4000 counts per revolution.
  • Page 11: Encoder Wiring

    5 must be connected to the same ground as the encoder. This is internally connected to the IDEA drive’s ground connection. Pin 3 is for encoders with an index signal. This may be left unconnected, and is for future revisions which may make use of the index signal.
  • Page 12: Hall Cell Inputs

    Hall Cell Inputs The brushless IDEA drive uses sinusoidal commutation and utilizes the hall cells for phase initialization. The IDEA drive accepts hall cell spacing configurations of 60° and 120°. Please follow the wiring diagram which came with the drive and motor combination for proper commutation and ideal motor performance.
  • Page 13: Digital I/O Pin Descriptions

    Digital I/O Pin Descriptions Open Collector Output Pin Description Input Pin Description...
  • Page 14: Digital I/O Wiring

    Digital I/O Wiring The IDEA drive has four optically isolated inputs and four optically isolated, open-collector outputs. A power supply is necessary to activate the opto-isolators with a voltage range of 5-24VDC. As the outputs are open- collector, they will need a pull-up resistor tied to the + I/O supply if a high level voltage is required.
  • Page 15: Digital Output Wiring Examples

    Digital Output Wiring Examples Digital Input Wiring Examples...
  • Page 16 ™ Brushless IDEA Drive Software User Manual PBL4850E www.haydonkerk.com All Rights Reserved 03-2015...
  • Page 17 Table of Contents Revision History ......................4 Introduction ........................5 IDEA DRIVE and Software Basics ................6 Realtime Mode ......................6 Program Mode......................7 Startup..........................9 Installing the Application ..................9 Getting Started ......................10 Drive Startup ......................13 Features and Concepts ....................14 Unit conversion ......................
  • Page 18 Example Two ......................62 Example Three ......................64 Example Four ......................68 Example Five ......................71 Example Six ....................... 76 The IDEA Drive Menu Items..................80 File ..........................80 Edit ..........................80 Mode ..........................80 Drive Commands ...................... 81 Communications Mode................... 81 Programs on Drive ....................
  • Page 19: Revision History

    Added information about command strings September 2011 Updated for 2.0 firmware and software changes Added introduction and part number information December 2011 Clarified Goto if explanation Updated March 2013 Clarified part number entry January 2015 Revised manual for brushless IDEA drive...
  • Page 20: Introduction

    Introduction This manual is intended to provide information on using the Brushless IDEA drive from Haydon Kerk Motion Solutions. For information pertaining to a specific product, see the appropriate hardware manual, available at haydonkerk.com...
  • Page 21: Idea Drive And Software Basics

    IDEA Drive Software Basics The Haydon Kerk Motion Solutions brushless IDEA drive and associated software are a complete package for the easy control of brushless motors within linear and rotary systems. This solution provides advanced features for both immediate execution as well as user written programs in an extremely user friendly way.
  • Page 22: Program Mode

    This area can also be used to control the state of the outputs, as well as the inputs if in simulation mode. The IDEA software provides a powerful debugging feature, which allows the user to enter debug mode, which causes every command in the program to be displayed in the “Debug Output”...
  • Page 23 The “Run Control” area can be used to execute or stop any program on the drive. The “Program Edit” area contains buttons used to edit the program as well as gather information about individual commands. The download button is also in this area.
  • Page 24: Startup

    Click next. • “Confirm installation” will appear on screen. Click next. • “Installing IDEA Software” will appear on screen. This may take a few moments. • “Installation complete” will appear on screen. A black function window will also appear behind the “Installation complete”...
  • Page 25: Getting Started

    PC and the drive is connected and powered up. Please proceed as follows: • Start your PC. • Double-Click the IDEA Icon on your desktop. This brings you to the initial screen. Screen shot is below: • Select measurement units of inches or mm when working with a motor which is part of a linear system.
  • Page 26 • Enter the motor characteristics: 1. Motor operating voltage 2. Motor voltage constant in units of volts/radians/second 3. Motor resistance per phase in units ohms 4. Motor inductance per phase in units of millihenries 5. Motor magnetic pole counts: 4,6,8, & 10 pole motors are supported 6.
  • Page 27 Safety Margin Algorithm: The software uses the motors’ characteristics to set safe operating limits during operation. Current and speed limitations are implemented in order to operate the motor at its continuous operation range. These limitations can be viewed using the “Motor Characteristics” function in the file menu. Motor manufacturers may vary in the methods of testing for and providing motor specifications, therefore the software algorithm may under drive motor for some manufacturers.
  • Page 28: Drive Startup

    Drive Startup When the drive first starts up, either by turning the power on, or using the “Reset” command on a drive that was already powered, the following occurs: 1. Input simulation is turned off. 2. All outputs are set low. 3.
  • Page 29: Features And Concepts

    Features and Concepts Auto filling of Inputs The software continually saves user inputs and automatically populates fields whenever possible. This is used to aid the user and speed up the programming process. Initially, on the motor parameter entry screen, the software will save the motor configuration to the windows user settings.
  • Page 30: View Command String

    View Command String The IDEA drive can be used without the GUI, by sending serial commands to it directly from your own programs or devices. In order to help in the development of these applications, a feature has been created that will show you the string that will be sent for a given command.
  • Page 31 Motor Characteristics A motor performance curve can be viewed by selecting the “Motor Characteristics” function under the file menu. The graph is generated by the software using the motor specifications entered by the user at startup. A motor performance curve depicts the limitations of the motor by plotting the generated motor torque versus the speed and current ranges of the motor.
  • Page 32: Maximum Speed

    necessary to prevent damage to the motor. Users will be notified when exceeding limits by a warning message. Maximum Speed The maximum speed of the drive is limited to the pole count of the motor. 4-pole: 10,000 RPM 6-pole: 6,600 RPM 8-pole: 5,000 RPM 10-pole: 4, 000 RPM...
  • Page 33: Ramping

    Motion Profiles The Idea drive is capable of performing two types of motion profiles; trapezoidal or s-curve. The move profile can be toggled within the file menu under “Drive Settings”. Once selected, the profile is saved onto the drives’ non-volatile memory and used to perform all moves.
  • Page 34: Encoder

    “Extend”, “Retract”, “Move To”, or “Go At Speed” command. Encoder The IDEA drive performs sinusoidal commutation for smooth motor performance and relies on the encoder for position feedback. The drive performs X4 decoding and will therefore quadruple the resolution of the encoder’s cycle per revolution value.
  • Page 35 The user has the option to alter the commutation sequence if there was an error in wiring the motor to the drive. The standard, with a proper wiring connection, performs the following sequence A  B  C to commutate the motor. The user can swap phase A and B through the software by setting the sequence to B ...
  • Page 36 For more advanced users which are familiar with brushless motor controls, the advanced gain settings window will allow for finer control of the drive. This window will allow users to adjust the PID control loop of the brushless IDEA drive. Users can adjust the proportional, integral, and derivative gains of the velocity loop, as well as the proportional gain of the position loop and the feed forward of the current loop.
  • Page 37: Saving Programs To The Drive

    Removing Programs Programs can be removed from the IDEA drive in one of two ways. Either use the “Display Table of Contents” option under “Drive Commands”, then select the program to be removed in the list, then press “Remove”...
  • Page 38: Startup Program

    “No Startup Program” should be selected. Saving/Loading/Combining Programs The IDEA user interface allows for programs to be saved to your computer or other drives. To do this, once the program is complete, go to “Save” in the “File”...
  • Page 39: Over Current Protection

    The user interface uses this to prevent the user from entering values that would be damaging to the motor. Accel/Decel Current Boost The IDEA Drive provides the ability to boost the current for the acceleration ramp and deceleration ramp independently. This may be necessary when implementing sharp ramping rates.
  • Page 40: Inputs And Outputs

    Note: If a drive has been password protected and the password has been lost, there are two options. The first is to send the drive back to Haydon Kerk Motion Solutions, where the password can be recovered for a fee. The second option is to use the “Restore Factory Defaults”...
  • Page 41: Simulating Inputs

    Debugger The IDEA user interface has a debugger to help in troubleshooting programs. The debugger is available in the Realtime mode. Once in the Realtime mode, the program to be debugged is selected either by the “Program to Run” drop down or through the “Programs on Drive”...
  • Page 42: Subroutines

    When the “Run To Label” button is pressed, the drive begins to execute the program normally, until the label in the textbox to the right of the “Run To Label” button is reached. If this label does not exist in the program, execution will continue until the red “Stop”...
  • Page 43: Interrupts

    “Wait” command’s delay time. Interrupts The IDEA drive has three different types of interrupts, input triggered, position triggered and encoder triggered. All three operate in the same fashion, the difference being only how they are triggered.
  • Page 44 The priority of the interrupt determines the order in which any pending interrupts are serviced. If an interrupt is triggered while a lower priority interrupt is being serviced, the program immediately begins servicing the new interrupt. If an interrupt is triggered while an interrupt or equal or higher priority is being serviced, the new interrupt is put into a queue of pending interrupts and will be serviced when all higher priority interrupts have been serviced and any interrupts of the same priority which were triggered first have been serviced.
  • Page 45: Errors

    an interrupt on multiple positions, the position of the interrupt needs to be continually reset. Errors During operation, the user interface may report an error, below is an explanation of each of these errors. IO Error: An error occurred when attempting to update the IO: This error occurs when communications between the drive and user interface is interrupted.
  • Page 46 Bad Checksum, update aborted: This error is most likely caused by communications being interrupted during a firmware update. Hit “OK” and attempt to update the firmware again. If the problem persists, contact Haydon Kerk. Unknown Error: If you ever receive this error, make a note of what you were...
  • Page 47: Explanation Of Commands

    Explanation of Commands Extend/Index CW The extend command moves the motor a specified distance forwards from its current location. When using a rotary motor, this command rotates the motor clockwise, as viewed from the output shaft. Parameters Distance: This is the distance that the motor will extend or rotate to. Speed: This is the top speed at which the motor will extend or rotate at.
  • Page 48 Accel Current: During acceleration, the maximum peak current per phase that may be applied to the windings used to bring the motor up to the run speed from a standstill. Decel Current: During deceleration, the maximum peak current per phase that may be applied to the windings used to stop the motor from the run speed to a standstill.
  • Page 49: Retract

    Retract/Index CCW The retract command moves the motor a specified distance reverse from its current location. When using a rotary motor, this command rotates the motor counterclockwise, as viewed from the output shaft. Parameters Distance: This is the distance that the motor will retract or rotate to. Speed: This is the top speed at which the motor will extend or rotate at.
  • Page 50 Accel Current: During acceleration, the maximum peak current per phase that may be applied to the windings used to bring the motor up to the run speed from a standstill. Decel Current: During deceleration, the maximum peak current per phase that may be applied to the windings used to stop the motor from the run speed to a standstill.
  • Page 51: Move To

    Move To The move to command moves the motor to a specific location, based upon the encoder. Parameters Position: This is the position to which the motor will move to. Speed: This is the top speed at which the motor will extend or rotate at. Run Current: This is the maximum peak current per phase that may be applied to the windings while the motor moves at the top speed.
  • Page 52 Accel Current: During acceleration, the maximum peak current per phase that may be applied to the windings used to bring the motor up to the run speed from a standstill. Decel Current: During deceleration, the maximum peak current per phase that may be applied to the windings used to stop the motor from the run speed to a standstill.
  • Page 53: Go At Speed

    Go At Speed The Go At Speed command moves the motor in a specified direction at a specified speed. Parameters Direction: This is the direction in which the motor will move. Speed: This is the top speed at which the motor will extend or rotate at. Run Current: This is the maximum peak current per phase that may be applied to the windings while the motor moves at the top speed.
  • Page 54 Accel Current: During acceleration, the maximum peak current per phase that may be applied to the windings used to bring the motor up to the run speed from a standstill. Decel Current: During deceleration, the maximum peak current per phase that may be applied to the windings used to stop the motor from the run speed to a standstill.
  • Page 55: Stop

    Stop The Stop command brings the motor to a stop with an optional deceleration ramp. This does not halt program execution. Parameters Decel Rate: This is the rate at which the motor will be ramped down from the run speed to standstill. Decel Current: During deceleration, the maximum peak current per phase that may be applied to the windings used to stop the motor from the run speed to a standstill.
  • Page 56: E-Stop

    E-Stop The E-Stop command brings the motor to an immediate stop. This does not halt program execution. Parameters Decel Current: During deceleration, the maximum peak current per phase that may be applied to the windings used to stop the motor from the run speed to a standstill.
  • Page 57: Jump N Times

    Jump N Times The Jump N Times command goes to a specified label a specified number of times. Once the number of jumps has been completed, execution continues at the next line in the program, if any exist. Parameters Destination: This is the label of the command that should be jumped to. Number of Jumps: This is how many times the command should jump.
  • Page 58: Goto

    Goto The Goto command goes to a specified label. Parameters Destination: This is the label of the command to which the program will go. The following program extends .25”, waits for the move to stop, then repeats until the program is aborted. This command is used in examples 1, 5 and 6.
  • Page 59: Goto If

    Goto If The Goto If command goes to a specified label if the current states of the inputs match the specified conditions, and goes to the next line in the program otherwise. Parameters Destination: This is the label of the command that should be jumped to. Inputs/Outputs: Each I/O can be specified as High, Low, or not tested.
  • Page 60: Return

    Return The return command ends a subroutine and returns execution to the location from which the subroutine was called. For further explanation of subroutines, see Subroutines, page 26. Parameters This command has no parameters. The following program runs a subroutine starting at label extend, which extends the motor 0.25”, waits for the move to complete, then returns, then repeats.
  • Page 61: Return To

    Return To The return to command ends a subroutine, clears the stack, clears any pending interrupts, clears any “Jump N Times” commands, and goes to a specified label. For further explanation of subroutines, see Subroutines, page 26. Parameters Destination: The label of the command that should be executed next. The following program runs a subroutine starting at label extend, which extends the motor 0.25”, waits for the move to complete, then exits the subroutine, goes to the abort command, and aborts the program.
  • Page 62: Goto Sub

    Goto Sub The Goto Sub command goes to a subroutine starting with the specified label. For further explanation of subroutines, see Subroutines, page 26. Parameters Destination: This is the label of the command that is the start of the subroutine. The following program runs a subroutine starting at label extend, which extends the motor 0.25”, waits for the move to complete, then returns, then repeats.
  • Page 63: Wait

    Wait The wait command delays execution of the next command in the program for a specified time. Parameters Delay Time: The amount of time that the program should wait. The following program begins moving the actuator at 1” per second, waits 0.5 seconds, then stops the motor.
  • Page 64: Wait For Move

    Wait For Move The Wait For Move command delays execution of the next command in the program until a move has completed. This command is automatically added after every Extend, Retract, and Move To, but can be removed if necessary. Parameters This command has no parameters.
  • Page 65: Int On Pos

    Int on Pos The int on pos command sets an interrupt to be triggered when the motor reaches a specified position. For further explanation of interrupts, see Interrupts, page 27. Parameters Position: The position, based upon the position counter of the drive, at which the interrupt should be triggered.
  • Page 66: Int On Input

    The following program sets an interrupt at position 1”, and then begins extending. When the actuator reaches the 1” position, the interrupt is triggered and the program aborts. This command is used in example 6. Int on Input The Interrupt on Input command allows an interrupt to be triggered when any of the inputs are changed.
  • Page 67 Parameters Each input has the same parameters. Disabled/Enabled: Select “Enabled” if the input should cause an interrupt, select “Disabled” otherwise. Destination: This is the label for the subroutine associated with the interrupt. Trigger Type: If “Falling Edge” is selected, the interrupt will be triggered when the input goes from a logic high to a logic low.
  • Page 68: Encoder

    Encoder The Encoder command is used to verify the encoder resolution only. Please use the motor parameter entry to reset encoder counts per revolution. For more information on the encoder feature, see Encoder, page 21. Parameters Encoder Resolution: This is the resolution of the encoder to be used, in cycles per revolution, which is equivalent to optical lines when using an optical encoder.
  • Page 69: Set Outputs

    Set Outputs The Set Outputs command sets the logic state of the outputs. Parameters Outputs: Each output is individually set as either high, which will bring the outputs to the opto-supply voltage, low, which brings the output to the opto-ground voltage, or no change, which will leave the output in its current state.
  • Page 70: Set Position

    Set Position The Set Position command sets the position counter of the drive to the specified value. Parameters Position: The value to which the current position of the drive should be set. The following program retracts the motor 1”, sets the position to 0”, and then moves to the 0.5”...
  • Page 71: Reset

    Reset The Reset command restarts the drive, similar to turning the drive off and on. If used in a program, this command will not be executed less than 1/10 of a second after the drive has seen a reset, in order to prevent an uninterruptible cycle of resets.
  • Page 72: Comment

    The following program aborts the program This command is used in examples 3 and 6. Comment The comment command performs no action. This command is used to add extra information into a program for better documentation. Each comment line affords an additional 30 characters of comments.
  • Page 73: Programming Examples

    Programming Examples Because of the variety of motors that this product can be used with, examples for every product, or a general example for all products cannot be achieved. Speeds, distances and other parameters will need to be changed for your particular actuator.
  • Page 74 We now want to retract 0.2 inches. • Click the “Retract” button. • Input the distance as 0.2 inches • Input the speed as 1 inch per second • No Label is required. • You can add a comment in the comment line if you wish. •...
  • Page 75 • Click the “Retract” button. • Input the distance as 0.8 inches • No Label is required. • You can add a comment in the comment line if you wish. • Click the “Add At End” button. This places the command in program. We now want to wait one second.
  • Page 77: Example Two

    Example Two: This example will extend the motor within a linear application .5”, retract the motor .5”, then repeat those two moves 4 more times. Once the repetitions are complete, the motor will extend 1”. Let the linear speed for each move be 1 inch per second.
  • Page 78 • Enter the destination as “Start” • Enter the number of jumps as 4. • Click “Add At End”. This places this command into the program. We now want to extend 1”. • Click the “Extend” button. • Input the distance as 1”. •...
  • Page 79: Example Three

    Example Three: This example will extend the motor within a linear application .5”, turn all four outputs high, wait .5 seconds, turn all outputs low, retract the motor .5”, turn all four outputs high, wait .5 seconds, turn all outputs low, then end the program.
  • Page 80 • No Label is required. • You can add a comment in the comment line if you wish. • Click the “Add At End” button. This places the command in program. We now want to use a subroutine to toggle the outputs on and off. •...
  • Page 81 • Enter 0.5 seconds as the delay time • No Label is required. • You can add a comment in the comment line if you wish. • Click the “Add At End” button. This places the command in program. Now we need to set the outputs low. •...
  • Page 83: Example Four

    Example Four: This example is different in that the motor within a linear application does not need to start in the fully retracted position. We will perform a homing routine, to find the fully retracted position, and then move to 0.5” from that point, wait 1 second, and then return to the fully retracted position.
  • Page 84 • Click the “Move To” button. • Enter a position of 0.5”. • Enter a speed of 1” per second. • No Label is required. • You can add a comment in the comment line if you wish. • Click the “Add At End” button. This places the command in program. We now want to wait 1 second.
  • Page 86: Example Five

    Example Five: In this example, we will first find the fully retracted position of the motor within a linear application, then the motor will move to the 0” position if input 1 is high and input 2 is low, move to the 1” position if input 1 is low and input 2 is high, or stop if inputs 1 and 2 are both high, or both low.
  • Page 87 • Enter “Retract” as the destination. • Set Input 1 is “High” • Set Input 2 as “Low” • Set Inputs 3 and 4 as “Not Tested” • Enter “Test” as the label. • You can add a comment in the comment line if you wish. •...
  • Page 88 • No Label is required. • You can add a comment in the comment line if you wish. • Click the “Add At End” button. This places the command in program. We now need the commands that will be used to move the motor. We will start with the “Retract”...
  • Page 89 • Click “Add At End”. This places this command into the program. We now want to check if the input conditions have changed, so we go back to the Goto Ifs. We don’t want the move to finish before we check the inputs again, so we will remove the “Wait For Move”...
  • Page 91: Example Six

    Example Six: In this example, we will first find the fully retracted position of the motor within a linear application. The motor will continuously move in the extend direction, until getting 0.9” from the fully retracted position. When the 0.9” position is reached, the motor will retract back to the 0”...
  • Page 92 We are now at the fully retracted position; to keep track of this we will use the “Set Position” command. • Click the “Set Position” button. • Enter a position of 0”. • No Label is required. • You can add a comment in the comment line if you wish. •...
  • Page 93 • Enter “Extend” as the destination. • No Label is required. • You can add a comment in the comment line if you wish. • Click the “Add At End” button. This places the command in program. We now need the interrupt subroutines. We will start with the interrupt subroutine for the interrupt based on position.
  • Page 95: The Idea Drive Menu Items

    The IDEA Drive Menu Items: • File: This menu gives access to functions for manipulation of program files and the User interface itself. 1. New: Clears the current program so a new program can be written. 2. Open: Opens a previously saved program file.
  • Page 96: Drive Commands

    • Drive Commands: This menu allows access to various drive functions. 1. Display Table of Contents: Gives a listing of the programs on the drive and their page locations. Also provides a graphical representation of the used space in the drive. 2.
  • Page 97: Help

    • Help: Allows access to information about the user interface and drives. 1. About: Displays a brief description of Haydon Kerk and its products. 2. User’s Manual: Displays this manual. 3. Communications Manual: Opens the communications manual. 4. Hardware Manuals: Manuals for individual products.
  • Page 98: Glossary

    Glossary: Abort: Stops movement of the actuator with holding current and ends any running program. Accel Current: Allow the user to implement up to a 30% increase in peak current per phase during the beginning of the acceleration ramp. Accel Rate: The acceleration rate to be used with a move. Clear: Clear the entire program from the program screen Comment: Allows the user to insert comments within the program Copy: Allows the user to copy a given program line or lines and insert them...
  • Page 99 Goto: Branching statement for programming. Branches to a destination label. Goto if: Branching statement for programming. Branches to a destination label if the input conditions are met. Goto Sub: Branching statement for programming that navigates the program to a subroutine. Hold Current: The maximum, peak current limit applied to the phases of the motor which the drive may use to hold the load in position when the motor is at a standstill.
  • Page 100 Remove: This is used to remove one or more lines from a program. Highlight the lines to be removed. Then click the remove button. Reset: This command simulates turning the drive off and on again. Retract: Retracts the motor within a linear system reverse, or counter clockwise. The user inputs the distance and speed.
  • Page 101 View / Edit: After highlighting a specific line in a program, the “View / Edit” button can be pressed causing the details for that line to display. These details can then be modified and updated. Wait: Allows the programmer to put in a time specific time delay. Wait for move: Delays execution of the next line of the program until the motor has come to a stop.
  • Page 102 Brushless IDEA™ Drive Communication Manual PBL4850E www.haydonkerk.com All Rights Reserved 3-2015...
  • Page 103 Table of Contents Revision History ..........................4 Introduction ............................. 5 IDEA Drive Communications Basics ..................... 6 Commands ............................7 Abort ............................8 Check Password........................8 Comment ........................... 8 Configure Encoder ........................8 Configure Input Interrupts ....................... 9 E-Stop ............................9 Execute Program ........................
  • Page 104 Set Motor Parameters ......................22 Set Move Profile ........................22 Set Outputs ..........................22 Set Password .......................... 23 Set Position As ........................23 Set Startup Program ......................23 Software Reset ........................23 Stop ............................24 Wait For Move......................... 24 Wait Time..........................25...
  • Page 105: Revision History

    Revision History Date Description October 2010 Initial release January 2011 Added “Execute Program” command. May 2011 Corrected response from Program command September 2011 Added information about faults Added Read Moving command Updated configure encoder command Alphabetized commands December 2011 Corrected configure encoder example April 2013 Corrected program description Corrected table of contents...
  • Page 106: Introduction

    The communication structure was initially developed for the IDEA stepper motor drive. With the introduction of the brushless drive to the IDEA lineup, it was our intention to maintain the communication structure for the brushless version. In this manner, our users which are familiar with programming the stepper drives have a smooth transition into the brushless environment.
  • Page 107: Idea Drive Communications Basics

    IDEA Drive Communications Basics The IDEA drive line of products are commanded through the use of an Ascii based language developed by Haydon Kerk. Each command consists of a character identifying the command, followed by between 0 and 12 parameters separated by commas, and then followed by a carriage return.
  • Page 108: Commands

    Goto. Realtime/Program commands can be used anytime, and are generally motion related commands, such as Index. For further explanation of the commands, refer to the IDEA drive users’ manual. The following commands are used to configure the drive per the connected motor and will have an impact on drive performance.
  • Page 109: Abort

    Command Symbol Context Arguments Response Abort Realtime/Program none None This command causes the drive to immediately stop, and ends the execution of any Description programs. Valid Values Arguments Argument Description or Range none Example You want to stop all drive activity. Command "A"...
  • Page 110: Configure Input Interrupts

    Command Symbol Context Arguments Response Input1 config, input2 config, input3 config, input4 config, intput1 destination, input2 Configure destination, input3 destination, input4 Input destination, input1 priority, input2 priority, Interrupts Program input3 priority, input4 priority None Description This command is used to configure the interrupt settings for the inputs. Valid Values or Arguments Argument Description...
  • Page 111: Execute Program

    Command Symbol Context Arguments Response Execute Program Realtime Program name None This command begins the execution of a program without changing the state of the Description outputs or motor. Arguments Argument Description Valid Values or Range A string, exactly 10 Program Name The name of the program to run.
  • Page 112: Goto

    Command Symbol Context Arguments Response Goto Program Destination None Description This command causes the program to continue execution at the specified address. Arguments Argument Description Valid Values or Range 0 to 86012, multiples of four only. Must be the address of a valid Destination The address of the command that should be run command.
  • Page 113: Index

    Command Symbol Context Arguments Response Distance, Speed, Start Speed, End Speed, Accel, Decel, Run Current, Hold Current, Accel Current, Decel Current, Delay Time, Index RealTime/Program None This command moves the motor forward or backwards a defined number of counts, with Description the given parameters.
  • Page 114: Interrupt On Position

    Command Symbol Context Arguments Response Interrupt on Position Program Position, Destination, Priority None Description This command sets an interrupt to occur at a given position. Arguments Argument Description Valid Values or Range -18446744073709551616 Position The position where the interrupt should be triggered. to 18446744073709551615 0 to 86012, multiples of four The address of the subroutine to be run when the interrupt...
  • Page 115: Move To Position

    Command Symbol Context Arguments Response Position, Speed, Start Speed, End Speed, Accel, Decel, Run Current, Hold Current, Accel Current, Move To Decel Current, Delay Position RealTime/Program Time, 1 None Description This command moves the motor to a position, with the given parameters. Arguments Argument Description Valid Values or Range...
  • Page 116: Read Control Gain

    (Program Name, Start Location, None or “`P[Program Program Realtime Length) or none size][CR]`P#[CR]” Description This command starts and ends the process of writing a program. Valid Values or Arguments Argument Description Range Program The name for the program, if it is the same as a program already A string;...
  • Page 117: Read Encoder Settings

    Read Encoder "`b[NA],[NA],[Encoder CPR][cr] Settings Realtime None `b#[cr]" Description This command requests the encoder configuration of the drive. Arguments Argument Description Valid Values or Range None Example You want to check the encoder settings on the drive. Command "b" followed by a carriage return. Command Symbol Context...
  • Page 118: Read Feedback Configuration

    Command Symbol Context Arguments Response Read "`>[hall cell],[commutation],[encoder], Feedback [complement],[Rotor Position][cr] `>#[cr]" Configuration > Realtime None where [value] is a number. This command requests hall cell spacing, commutation direction, encoder direction, and Description complement setting of the drive. Arguments Argument Description Valid Values or Range None You want to check the hall cell spacing, commutation direction, encoder direction, and...
  • Page 119: Read Max Current

    Command Symbol Context Arguments Response Read Max "`j[value][cr]`j#[cr]" where Current Realtime None [value] is a number. Description This command requests the maximum current setting of the drive. Arguments Argument Description Valid Values or Range None Example You want to check the maximum current of the drive. Command "j"...
  • Page 120: Read Program Names

    Command Symbol Context Arguments Response "`N[program1 name],[start page],[end Read page][CR]`N[program2 name],[start page],[end Program page][CR]`N#[CR]" More programs would have Names Realtime none more entries. Description This command requests that all program names and addresses be sent. Arguments Argument Description Valid Values or Range none Example You want to know what programs are residing on the drive.
  • Page 121: Remove Program

    Command Symbol Context Arguments Response Remove Program Realtime Program name None Description This command removes a program. Arguments Argument Description Valid Values or Range A string, exactly 10 Program Name The name of the program to be deleted. characters long Example You want to remove a program named "program 1 "...
  • Page 122: Run Program

    Command Symbol Context Arguments Response Run Program Realtime Program name None This command begins the execution of a program, first returning to step 0 and setting Description all outputs low. Arguments Argument Description Valid Values or Range A string, exactly 10 Program Name The name of the program to run.
  • Page 123: Set Motor Parameters

    Command Symbol Context Arguments Response Set Motor Motors’ Resistance, Inductance, Parameters Realtime Pole Count, and voltage constant None Description This command configurs the drive per a specific motor Arguments Argument Description Valid Values or Range The resistance, per phase, of the motor (ohms Resistance multiplied by 1000) 200 to 100000...
  • Page 124: Set Password

    Command Symbol Context Arguments Response Set Password Realtime Password None Description This command sets a password, if none exists. Arguments Argument Description Valid Values or Range Password The desired password. A string, exactly 10 characters long Example You want to set the password as "password ". Command "ppassword "...
  • Page 125: Stop

    Command Symbol Context Arguments Response End Speed, Decel Rate, Run Current, Decel Current, Hold Stop RealTime/Program Current, Delay Time, 1 None Description This command stops the motor using an optional deceleration ramp. Arguments Argument Description Valid Values or Range End Speed Must be a value of zero Rate at which the speed should fall from the current speed to Decel Rate...
  • Page 126: Wait Time

    Command Symbol Context Arguments Response Wait Time Program Time None This command causes the program to delay execution of the next command for a Description specified time. Valid Values Arguments Argument Description or Range The amount of time, in milliseconds, that the command should be Time delayed.

Table of Contents