Home
        Peter Norberg Consulting, Inc
         Contents
1.    1  Under Windows 2000 or XP  go to your    system properties    page  Do this by    a   b   c   d     Right click on your  System  icon  Select  Properties   Select  Hardware devices   it might just be called  Hardware      Select  Device Manager     2  Under Windows Vista  log in as an administrator  and then get to your  device  manager  page by     a   b     Go to your  Start  menu  and click on the  Computer  button    On the ribbon that appears at the top of the resulting window  click on   System Properties     On the task pane on the left of the new window  click on  Device Manager          The system will ask for your permission to continue  Press the  Continue  button     3  Look under  Ports  COM and LPT    and select the COM port that you just added  it will  normally be the highest numbered port on the system  such as    COM6      and edit its  properties  Note that the    TestSerialPorts    application  described in the prior section   will have identified this COM port for you as part of its report     4  Reset the default communication rate to     a   b   c   d     e     9600 Baud   No Parity    1 Stop Bit    8 Data Bits   No Handshake    5  Select the  Advanced Properties  page  and set the     a   b     em mo    2 a    Read and Write buffer sizes to 64  from their default of 4096    Latency Timer to 1 millisecond   Minimum Read Timeout to 0   Minimum Write Timeout to 0   Serial Enumerator to checked   Serial Printer to unchecked   Cancel If Power Off to un
2.   20  command  is selected when this  Auto Full Step  rate is reached  as that has  worked best with the motors that we have tested  However  the mode used may be  defined by you at the time of ordering the product to be any of the modes available from  the  o  command  Please see the  A  command for details about the    Auto Full Step     mode command     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Firmware Configuration At Time of Ordering Product Page 12    Default Full Power Level     S1K    jumper removed  or    FUL    jumper installed     Normally  we ship the product such that the default code will select full winding current  operation  see the    OH    command  when the board is reset or powered on and the S1K  jumper is removed  At the time of ordering the product  you may change this to operate  in   power mode   1H   in this case  Please note that firmware versions 2 12 and  earlier may incorrectly act as if S1K is installed even if it is removed  when  operating on an AR BSO710USB board when the board is not connected to a  powered USB connection  This means that the board may incorrectly configure  itself to operate in    power mode after a reset  if the USB system is not being  used     The BS0710 revision GR artwork replaces the S1K jumper with two jumpers  FUL and HLF   To operate the board in its full power configuration  place the jumper in the FUL position   To operate the board in its half power configuration  place the jumper in the
3.   logic  0  is presented when the input is  lt   2 5 volts  and a  1  is presented when the  signal is above 2 5 volts  In reality  we suggest using  lt  2 volts for a  0   and  gt  3 volts  for a  1   to avoid any  noise  issues  When the board is in the  1E  state  then it  switches to operating as Schmitt Triggered  for the     X and Y inputs   to avoid false   step actions     Note also that all of the TTL inputs are internally tied to  5 via a very weak resistor  of the  order of 10 20K   This permits you to use switch closure to board ground as your method  of generating a  0  to the board  with the  1  being generated by opening the circuit  Do  NOT rely on this resistance value as being valid for a current based driver  use a voltage   based input  or a switch closure to ground  for any of our TTL input signals     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     TTL Mode of operation Page 20    Input Limit Sensors  lines LY  to LX     Lines LY  through LX  are normally used by the software to request that the motors stop  moving when they reach a hardware defined positional limit  Enabled by default at power  on  the firmware also supports the    T    command  which may be optionally used to enable  or disable any combination of these switches     The connections are                          Signal Limit Sensed  LY   Y  LY   Y  LX   X  LX   X          The connections may be implemented as momentary switch closures to ground  on the  connector  a grou
4.   status and slew rates     NXT is used to select the    next    rate  stepping through a standard list of rates each time  the input is grounded  or is driven low as a TTL input   FIRMWARE VERSION  WARNING  This feature did not work in firmware versions 2 9 through 2 16     RDY is normally an informational output that describes the state of  one or more motors  are still stepping   High means READY IDLE  low means STEPPING     SI and SO are the  real  serial input and serial output  respectively   as seen by the SX 28  chip  If the application desires direct serial communications without RS232 levels  for  example  if the Parallax Inc    Basic Stamp    based products are being used to control the  board   simply remove the JS jumper  one of the three jumpers near the connector  containing the SI SO signals  and use these pins     Note that if this board is a  child  board in a SerRoute controlled tree of boards   then the JS jumper will normally be removed  unless special interfacing is done     The communication rate is fixed at 2400 or 9600 baud  no parity  8 data bits  1 stop bit   The communication rate is determined at the factory as an order option  by default  it is  configured for 9600 baud     RS232 Serial DB9 Female  socket   A BS0610                    Name Description   RSO Serial Output   To External Computer Serial  Input   RSI Serial Input   From External Computer Serial  Output   GND Signal Ground             This connector provides for all external serial co
5.  4 Volt  0 28 Amp  0 9 deg step    This is a Scotts Valley 5017 935 stepper motor  It may be wired as        Color    BS0610        lt no connection gt        Yellow       White       Blue       Red        lt no connection gt           DIU  R WIN  e          BS0610 BS0710 Motor Controllers    Peter Norberg Consulting  Inc     Page 82    Jameco 168831 12 Volt  1 25 Amp    This motor is a Superior Electric    SLO SYN    stepping motor  model number SM 200 0050   HL  We ordered it since it stated    1 amp     however  it turns out to be a 1 25 amp  product  and therefore will cause the BS0610 to overheat  and probably fail  after just a  short period of use  if the BS0610 is configured for the default operation of running two  motors at a time  We tested it with the wiring of        Color BS0610    no connection    White Brown  Brown  White Yellow  Yellow    no connection                        OY Ui1  S  C9 N2  e                In order to operate this motor with any of our BiStep units which do not directly handle its  current level  you must configure the BiStep to operate in  Single Motor Double Current   Mode  This feature is only available with GenStepper firmware versions 1 59 and later  To  do this  you jumper the board as described in the  Configuring Double Current  mode  section of this manual  and you connect the X and Y connectors in parallel to the motor   For example  the  WA1  connection from the Y connector and the  WA  1  from the X  connector must both be conn
6.  Consulting  Inc     Serial Operation Page 43         This would equate to the X motor being in microstep mode  while the Y motor  is running in full power  full step mode     If you were connected in dual power mode  then you could get a report such  as     Sy Hoyt    Y  9 6         Even though a mode will be reported for the Y motor controller  it is actually  ignored in terms of sending signals to the Y motor connector  only the X motor  controller affects the signals sent to the X and Y connectors when in dual  power mode      10  Report run rate    This reports the current requested run rate for the selected motor s   This is  the last value set by the  R  command     For example   B 10   Would report the current rate on both motors  You could receive          X  10 2000  Y  10 3200          11  Report stop rate    This reports the speed at which the motors may be considered to be stopped   for starting and stopping activities for the selected motor s      For example   B 11   Would report the current stop rate on both motors  You could receive   suites  Y  11 50   12  Report current software version and copyright  This reports the software version and copyright   For example   B 12   could report        genstepper src Sversion  1 48   Copyright 2002 by Peter Norberg Consulting  Inc  All Rights    Reserved       BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 44    other     Ignore  except as  complete value here     Any illegal co
7.  HLF position     The BS0710 revision HI artwork deletes the  FUL  jumper  but retains the HLF jumper  To  operate the board in its full power configuration  remove the jumper  To operate the  board in its half power configuration  place the jumper in the HLF position     Default Low Power Level     S1K    jumper installed or    HLF    jumper installed     As with the Full Power Level  we also provide a   power level  approximately  if the  S1K HLF jumper is installed when the board is reset  equivalent to the  1H  command    You may optionally order this to be the full power level     OH     if this is better for your  application     Note that for both the high and low power level defaults  the actual current level used can  be redefined at any time through use of the  h  command     The BS0710 revision GR artwork replaces the S1K jumper with two jumpers  FUL and HLF   To operate the board in its full power configuration  place the jumper in the FUL position   To operate the board in its half power configuration  place the jumper in the HLF position     The BS0710 revision HI artwork deletes the  FUL  jumper  but retains the HLF jumper  To  operate the board in its full power configuration  remove the jumper  To operate the  board in its half power configuration  place the jumper in the HLF position     Default Motor Idle Winding Current    Normally  at power on or reset  the motor windings are set to be off  no current supplied   whenever motion has completed  equivalent t
8.  Peter Norberg Consulting  Inc     Board Connections Page 63    The BS0610G and later boards have a 4 pin SIP header positioned beside the power  connector which controls how power is routed to the logic part of the board  The jumper  must be installed in one of the 3 positions shown  SS  DS  or 5VO           Option Allowed Use sep    Comments  Motor Power  Supply supply  Voltages  SS 6 5 15V NO Single power supply  connected to pins GND    and Vm of power connector  Note that  connecting power to the Vc will not work   it  is not connected when this jumper is in the SS  position    DS 4 5 34V YES Use two power supplies  one for the motor   connected to GND and Vm   the other for the  digital power  GND and Vc   The digital  power should be 6 5 to 15 volts  at least 300  ma  Note that lower voltages for the digital  power are preferred  since they will result in  less waste heat generated by the 2940 power  regulator    5VO 4 5 34V YES Use two power supplies  one for the motor   connected to GND and Vm   the other for the  direct digital power  GND and Vc   The digital  power must be exactly 5 volts  at least 300  ma  the on board regulator is bypassed    Note that if the voltage exceeds 6 volts   the board will be permanently damaged   If it ever drops to 4 2 volts or less  the  firmware will reset and lose all settings                             Note also that if the current requirements are over about 0 6 Amp winding or if  the motor supply voltage is above 15 volts  then
9.  TTL  busy  signal is available  which can be used to see if the motors are still  moving  This information is also available from the serial connection    Simple control of the motors may be done by switch closure  Each motor can be  told to slew left or right  or to stop by grounding the relevant input lines   Similarly  the rate of motion can be controlled via stepping through a standard set  of rates via grounding another input    Complete control of the motors  including total monitoring of current conditions  is  available through the 2400 to 9600 baud serial connection    An additional mode is available which allows an external computer to directly  generate step sequences on the motor control lines  Up to 62 500 steps per  second may be requested    Runs off of a single user provided 7 5 to 15 volt DC power supply  or two supplies   7 5 15V for the logic circuits and 7 5 34V for the motors     Any number of motors may be run off of one serial line  when used in conjunction  with one or more SerRoute controllers     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Firmware Configuration At Time of Ordering Product Page 11    Firmware Configuration At Time of Ordering Product    As of version 1 77  the GenStepper firmware has a set of initial settings that are selected at  power on or reset that may only be reconfigured at the time the product is ordered  With the  exception of the mode of stepping used when the    Auto full step    rate is reached  all
10.  The tool first initializes the stepper to operate at 16 microsteps full step     with the start stop rate being 80 uSteps second  and the ramp rate at     1000 uSteps sec sec      The target ramp rate is 1000 uSteps second      The auto power switch mode  the  A  command  is left at its default of 3072     which is equivalent to 192 full     steps second       Note that both motors are selected for the actions by default     It then enters the speed test loop       The code first waits for the stepper unit to report idle      and it is instructed to move to logical location 2000  in  1 16th steps       Note that this is full step location 62 5       This is then followed by a move to location 0  and then a new stepping mode    is selected  A 1 5th second pause is inserted to make it easy to identify    when the cycle is occurring  All three modes of stepping are cycled     1 Mode Use   y 0 Single Winding mode  1 2 power full steps      al Half step mode  alternate single double windings on      2 Full step mode  double windings on      3 Microstep mode  full microstep processing  DEFAULT MODE       SPECIAL TIMING NOTE  It can take the SimStep BiStep up to 100 uSeconds to respond to    a new serial  go  command  goto or slew   therefore  you must always wait     a small amount of time  at least a few milliseconds uSecs  before testing the    busy  line  since    you may get a  false idle  response          Additional note  The SimStep BiStep products operate at 9600 baud  Alt
11.  Unipolar motor for double current mode                                                             X  COMMON B   EN  WB2    WB1    WA2      amp    34  e E    Li as NEM Je    Motor    COMMON A S b ir  S Se P4  COMMON B e    __ WB2   WA  N    WB1 2d Ld  i WA2    d WA1  d COMMON A  COMMON B 1     WB2    x    a COMMON A and COMMON B are labeled  WAI 5 as  GND  on BiStep BS series boards   COMMON A 6 and as   Vm  on SimStep SS series of boards             You also will need to have jumper  R1K  installed  if it is available   If itis not available  you will need to connect a 1K resistor between  the RDY output signal and GND     Unipolar Motor Double Current Mode Connection  To the BiStep BS and SimStep SS series of boards     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Single motor  double current mode of operation Page 76    Wiring a Bipolar motor for double current mode                                     x  GND H    m  WB2 2   WBi  C   19  l Ut  WA2     P  WA1    WB f Y   lt  t Motor    GND us n  U  WB2 OWA  wet moore      WA2  d WA1  Y  GND SE  WB2 2  WB1 pa t  WA2 4  wat   amp   GND   lt     amp              You also will need to have jumper  R1K  installed  if it is available   If itis not available  you will need to connect a 1K resistor between  the RDY output signal and GND     Bipolar Motor Double Current Mode Connection  To the BiStep BS series of boards     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Motor Wiring Examples P
12.  a  lt crlf gt  is sent     If this is a report for both motors  the other report is sent     If Verbose Mode is on  then a  lt crlf gt  is sent    10  A     character is sent     If both motors are being reported  a line containing the X report is sent  followed by a line  containing the Y report     Finally  a     character is sent  which notifies the caller that the report is complete     Note that in the following examples  first line of  Received  is      This is because two  commands are actually being sent  i e    B   then      whatever        and each command    always generates a    Nor    response once it has been completed  Technically  fully     synchronized  serial communication consists of  1  send a command  and  2  save all    BS0610 BS0710 Motor Controllers    Peter Norberg Consulting  Inc     Serial Operation Page 40    characters until the         response is seen  The intervening characters are the results of the  command  although only report       and reset           generate any significant response     The special reports which are understood are as follows   0  Report all reportable items    The    report all reportable items    mode reports the data as a comma separated  list of values  for reports  1 through  11  Just after power on  for example   the request of  0   would generate the report     X 0 a b c d e f g h 1 j k l m  Where   e  Xis the motor  such as  X  or    Y     e Oisthe report number  0 is the    all    report  e ais the value for the
13.  application  The value  must range from 1 to 32  it is clipped to this range if exceeded     The suggested values would be the powers of 2  vis  1  2  4  8  16  32 and 64  giving you  true microstep step sizes of 1 64  1 32  1 16  1 8   4    and 1 respectively   All other  values  such as RATE or GOTO LOCATION  are then expressed in units of the microstep  size  therefore  location  3  would mean  3 64  in the finest resolution  microstep set to  1   and  3  in the largest resolution  microstep set to 64   Note that the ability to specify  64 started with version 1 75  all earlier versions had an upper limit of 32 64  of a step   1 2 step  as the largest step size     For example   4   resets the system to its power on default of 1 16 microstep resolution   The reset command also selects the following settings   e 3072A   Set the Automatic Full Step rate to be  gt  3072 microsteps second  e B   Select both motors for the following actions  e     Reset both motors to be at location 0  e OH   Set motors to full power mode  e 80K   Set the  Stop OK    rate to 80 microsteps second  e 30   Set the motor windings Order to  microstep     e 8000P   Set the rate of changing the motor speed to 8000  microsteps second second    e 800R   Set the target run rate for the faster motor to 800 microsteps second  e OT   Enable all limit switch detection  e 1V   Set   CR     LF   sent at start of new command  no transmission delay time    e OW   Full power to motor windings    BS0610 BS0710 Mo
14.  both motors  You could receive        aora  Y  3 25443          4  Report target position  This reports the target location for the selected motor s    For example   B 4   Would report the current target on both motors  You could receive        X  4 100  Y  4  35443          5  Report target speed    This reports the current target run rate which is desired for the selected  motor s   This value is usually either the current stop rate  we are attempting  to slow down to this speed  or the current requested run rate  as reported by   10  and as requested by the    R    command  depending on whether we are  speeding up or slowing down     For example   B 5   Would report the target rate on both motors  You could receive        X  5 800  X 4   59 290          6  Report windings state    This reports the current energized or de energized state for the windings for  the selected motor s   A reported value of 0 means  the windings are off   a  value of 1 means  the windings are energized in some fashion      For example   B 6     Would report the current state on both motors  You could receive     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 42     7  Report stop windings state    This reports whether the windings will be left energized when motion  completes for selected motor s   A reported value of 0 means    the windings  will be turned off     a reported value of 1 means    the windings will be left at  least partway on        For ex
15.  current location  report     1      e b is the value for the current speed  report   2    e cis the value for the current slope  report   3    e dis the value for the target position  report     4      e eis the value for the target speed  report   5    e fis the value for the windings state  report   6    e gis the value for the stop windings state  report   7    e his the value for the step action  motor state   report   8      e iis the value for the step style  both full step modes and half   report    9      e jis the run rate  report   10    e kis the stop rate  report   11    For example   B0     Would report all reportable values for both motors  You could receive      0 30 10 1000 30 10 0 0 0 1 100 10   0  300 10 1000  300 10 0 0 0 1 100 10      Hop       1  Report current location  This reports the current  instantaneous  location for the selected motor s    For example    B 1   Would report the current location on both motors  You could receive     ie  X  1 10  Y  1 25443     2  Report current speed  This reports the current  instantaneous  speed for the selected motor s    For example     B 2     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 41    Would report the current speed on both motors  You could receive        X  2 800  Y  2 2502          3  Report current slope    This reports the current  instantaneous  rate of changing the speed for the  selected motor s      For example   B 3   Would report the current rate on
16.  fan based cooling of the board is  usually required  The driver components can get quite hot  and external cooling  will increase their lifetime considerably     Fan based cooling should be done such that the bottom and top of the board in the area of  the SN754410 components are exposed to about 8 10 CFM of air flow  A single side   positioned fan  which directs air over both sides of the board  top and bottom  is usually  the easiest way to achieve this type of flow  however  a top positioned fan which blows  directly down on the SN754410 components at the 8 10 CFM level will also be fine  Do  not use a fan which blows air away from the board  this is completely ineffective in  terms of cooling the system     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Calculating Current And Voltage Power Supply Requirements Page 64    Calculating Current And Voltage Power Supply Requirements    This section note describes how to calculate the power requirements for your motors  and for  the system as a whole     1  Determine the individual motor winding current requirements     The first issue is to determine the individual winding current requirements for your stepper  motor  Since our system does not monitor current at all  it only estimates current  using  a PWM like technique   the current ratings as seen by our board may not match those  specified by a manufacturer who is assuming that current monitoring based control is  being performed     From the point of v
17.  for up to 62 500 microsteps per second of operation  The boards have a theoretical  microstep resolution of 1 64 of a full step  and use a constant torque algorithm when  operating in microstep mode  Please note that  although 1 64    resolution is theoretically  available  most real use should be restricted to 1 16  or 1 8 step due to limitations of the  non current feedback PWM stepping methodology used by the code     The boards themselves have the additional feature of containing provision for in circuit  reprogramming of the Ubicom  Scenix  SX28 chip that is being used as the controller  The  Parallax  Inc   SX Key  may be used to perform in circuit reprogramming and debugging of  software  Note that such action would void the warranty of the product  This  capability is provided as a convenience for those who would like to run different devices  such  as three or four phase bipolar steppers  or use different procedures than those for which the  product was intended       Note  SX Key is a copyrighted product by Parallax  Inc  Please go to their web site at  www parallaxinc com for more information about this device     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc        Introduction and Product Summary Page 9    Notes on the AR BS0710USB revision HI ESD Isolated Ground Artwork    The AR BS0710USB artwork revisions HI and later have additional circuitry not present in any  of our earlier models  This circuitry provides for some ESD protection to most of
18.  has started  while receipt of the final     states that the  command has completed processing     The firmware actually recognizes and responds each new command about 1  of the way  through the stop bit of the received character  This means that the command starts being  processed about    bit interval before completion of the character bit stream  In most  designs  this will not be a problem  however  since all commands issue an         upon  completion  and they can also  by default  issue a   CR     LF   pair before starting  it is  quite possible to start receiving data pertaining to the command before the command has  been fully sent  In microprocessor  non buffering designs  such as with the Parallax   Inc   Basic Stamp    series of boards   this can be a significant issue  All firmware  versions 1 54 and above handle this via a configurable option in the    V    command  If  enabled  the code will  send  a byte of no data upon receipt of a new command character   This really means that the first data bit of a response to a command will not occur until at  least 9 bit intervals after completion of transmission of the stop bit of that command   about 900 uSeconds at 9600 baud   for the Basic Stamp  this is quite sufficient for it to  switch from send mode to receive mode  Firmware versions 1 60 and later also add 2  additional    stop    bits to each transmitted character  when this feature is enabled  This is  to allow non buffering microprocessors some additional time
19.  level  LX   All Reserved   do not  other use  bits                   Note that bits 4 7  limit switch sense level  are ignored on versions of the firmware before  1 80  For version 1 80 and later  those bits are used to define the input level for the  indicated limit input lines which are used to stop motor motion  A 0 means  use a logic  low to stop   while a 1 means  use a logic high to stop   By default  the system uses a  logic low to stop  so that the inputs  which are internally pulled high  will not cause a  motor to stop if they are not connected     For example   4t   would block detection of the  X   limit  and allow all of the other limits to work as normal   240t    would invert the sense of all of the limit input sensors  so that a low means  operate  and  a high means  limit reached      BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 35    V  Verbose mode command synchronization    The  V erbose command is used to control whether the board transmits a    CR     LF     sequence before it processes a command  and whether a spacing delay is needed before  any command response  By default  after power on and after any reset action   the  board is configured to echo a carriage return  line feed sequence to the host as  soon as it recognizes that an incoming character is not part of a numeric value   This allows host code to fully recognize that a command is being processed  receipt of the   lt LF gt  tells it that the command
20.  loc   16000 64   250   gosub WaitReady   Wait until ready  Serout PortStepperSerTo  PortStepperBaud     16000s      De back to 0  idMicroStep    idMicroStep   1   amp  3   Cycle step type  gosub WaitReady   Wait until ready  pause 200   wait 0 2 seconds before we cycle  goto loop   Cycle forever  WaitReady     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Basic Stamp    Sample Code Page 55      DEBUG  Waiting      serout PortStepperSerTo  PortStepperBaud    00I      wait for ready  the leading 0 s flush BiStep s output queue    SerIn PortStepperSerFrom PortStepperBaud   WAIT          And wait for done  y SerIn PortStepperSerFrom PortStepperBaud   STR szSerString 1     DEBUG  Saw     STR szSerString       HEX szSerString 0        CR   return    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     SerTest exe   Command line control of stepper motors Page 56    SerTest exe     Command line control of stepper motors    The SerTest exe application  provided as part of the sample software  is a simple tool which  allows command line based control of the StepperBoard product line  the SimStep and BiStep  boards   It allows a batch based script to control stepper motors  with no further need for  any programming knowledge  All sources are provided  to allow rewriting as needed     SerTest allows you to send command strings and see their responses  by issuing commands  from the command prompt window  It is called as    SerTest Textl Text2    Textn    
21.  of these  features may be reset through use of the appropriate serial command  Note that firmware  version 1 75 uses the    normal    values shown on this page for these features     Default Microstep Size    Normally  the firmware defaults to a microstep size of 1 16  of a full step  the equivalent  of the  4I  command  at power on or reset  When you order this firmware from us  you  have the option of setting this to any of the valid values  1 64  1 32  1 16  1 8       or  full step      Default Stop Rate    Normally  the firmware defaults to a stop rate of 80 microsteps per second at power on or  reset  equivalent to the    80k    serial command   This can be ordered as any valid stop  rate for the system     Default Ramp Rate    Normally  the firmware defaults to a ramp rate of 8000 microsteps second second   equivalent to the    8000p    command   This can be ordered as any valid ramp rate for  the system     Default Auto Full Step Rate    Normally  the firmware defaults to a rate of 3072 microsteps second as being the rate at  which it selects the  Auto Full Step  mode  equivalent to the  3072A  command   This  can be ordered as any rate which is valid for the system     Default Auto Full Step Mode    Our testing of the product shows that once you exceed a given rate  as defined by the   Auto Full Step Rate  command setting   you can obtain more torque from the motors by  switching to simple full step operation  By default  the  double winding  mode  equivalent  to the
22.  program is well documented in the manual StepperBoardClass pdf  Please refer to that  manual for more information about the product        BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Board Connections Page 58    Board Connections    An example of the current BS0610G is shown below    2  doz    i  SIC    C  TER  38Q  LES  EM  Y 3   2    m  ANI  FS  V   N   31  M  M  Y  7  x       4       A BSO710 TTT AR BS0710G TTT    Board Size    The boards  oriented as shown on this page  are 3 0 inches high by 2 25 inches wide     Mounting Requirements    The boards may be mounted using four  4 or  5 machine screws  The holes are 0 125 inches  in diameter  and are positioned exactly 0 125 inches in from each corner  They allow up to a  number 5 screw  which thus allows use of the standard  4 mounting spacers  Vertically  their  centers are 2 75 inches apart  and horizontally they are 2 00 inches apart  Thus  when the  board is positioned as shown above  their positions are      0 125  0 125    2 125  0 125     0 125  2 875    2 125  2 875     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Board Connections Page 59    Connector Signal Pinouts  There are eight connectors on each board   Going from top left down  we have   e SX Key debugger connector  4 pin SIP header   e SX 28 Direct Access signals   e TIL Limit Input and RESET  GND  RST  LY  to LX    e TTL Motor Direction Slew Control  Y  to X      e Board status and TTL Serial  NX  RDY  SI  serial 
23.  target current location   x  then act as goto      For example      S    will cause the current motor to start slewing in the forward direction  while   250s    will invoke the    relative seek    calculation mode of the firmware     When doing a relative seek  i e       250s      the address calculations are normally based on  the current TARGET location  not the current instantaneous location  The actual rules are  as follows     1  If the given motor is currently executing a GoTo or relative Seek command  then the  new location is calculated as a delta from the old target  For example     Current State   Our current location is 1000  Our current target is 2000  We are doing a GoTo action  Request    500s  Calculation   Since we are doing a normal GoTo   the new target location will be  2000 500   or 1500  Result     Motor stops  then goes forward to location 1500    2  Otherwise  the current location is treated as the value to calculate from for the  relative motion  For example     Current State    Our current location is 1000   We are executing a   s  command  slew positive   Request     500s  Calculation    Since we are executing a Slew    the new target location will be  1000 500   or 500  Result     Motor stops  then goes backward to location 500    This was set up this way as being a reasonable compromise on the intent of the meaning  of  relative   If you want to force the motion to be strictly relative to the current location   you issue the  z   stop  command fir
24.  the TTL input  signals  except for the RST  reset  input line   as well as for isolation of the USB signals from  the rest of the board  to avoid potential ground loops     Made in the USA    HO    OG       The ESD protection consists of special protection diodes connected between most of the TTL  input signals and the board ground  This means that the protection only works if the board  ground  the GND signals on the PWR connector  is connected to a power supply that can  absorb the ESD event  If the board is not connected to a power supply  or if the supply does  not redirect the GND to real earth ground  then the board ESD protection may not be  adequate     The signals that are ESD protected are   LIM  LY   LY   LX   LX   SLEW  Y   Y   X   X   IO  NXT  RDY  SI  SO  USB  All signals    The USB signals are also now digitally isolated from the rest of the board  This means that  there is no longer a potential for a ground loop to occur between the power supplies that you  use to power the motors and the computer   they are fully isolated from each other     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Introduction and Product Summary Page 10    Short Feature Summary    One or two stepper motors may be independently controlled at one time   Each motor may be either Unipolar or Bipolar     Each motor may draw up to 1 0 amps winding  Note that an external cooling fan  must be used when your motor draw exceeds 0 4 amps     If only a single motor is connecte
25.  to bottom      X or Y    WB2          Typical Bipolar Motor Connection  To the BiStepA05 Board       COMMON B  WB2       Typical Unipolar Motor Connection  To the BiStepAD5 or SimStepA04                                  Pin Name Description   1 GND Ground   2 WB2 Winding B  pin 2  3 WB1 Winding B  pin 1  4 WA2 Winding A  pin 2  5 WA1 Winding A  pin 1  6 GND Ground          This pinout was selected to allow simple reversing of the connector  i e   take it out and  turn it around  to reverse the direction of the motor if a non polarized connector is used     BS0610 BS0710 Motor Controllers    Peter Norberg Consulting  Inc     Wiring Your Motor Page 70    Stepping sequence  testing your connection    The current is run through these connectors to generate a clockwise sequence as follows        Ste   WB2   WB1   WA2   WA1                                              NOU AW IN  S O 7S  M  m  a OJlOO Oo o  OOj  m  m  O  O      PM OlOoO oon      O O O  O            a           Note also that it is explicitly legal when using the GenStepper firmware to operate your  motor in  double current    power mode   In  double current    mode  you wire your  motor to both the X and Y motor connectors  and you jumper the board as described in  the  Configuring Double Current  mode section of this manual  In all other respects  you  follow the rest of the instructions in this manual     The actual wiring configuration to connect to a given stepper motor depends on the motor  type  For most unip
26.  to do real time input  processing of the data     The verbose command is bit encoded as follows        Bit SumValue   Use When Set   0  1 Send  lt CR gt  lt LF gt  at start of processing a new command   1  2 Delay about 1 character time before transmission of first  character of any command response  On firmware versions  1 60 and later  add 2 more stop bits to each transmitted  character  to allow more processing time in the receiving  microprocessor                          If you set verbose mode to 0  then the  lt CR gt  lt LF gt  sequence is not sent  Reports still will  have their embedded  lt CR gt  lt LF gt  between lines of responses  however  the initial   lt CR gt  lt LF gt  which states that the command has started processing will not occur     For example   Ov    would block transmission of the  lt CR gt  lt LF gt  command synch  and could respond before  completion of the last bit of the command  while    3v    would enable transmission of the   CR     LF   sequence  preceeded by a 1 character delay   The complete table of options is                 Value Delay First   CR     LF    0 No No  1 No Yes  2 Yes No  3 Yes Yes                   BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 36    W  Set windings power levels on off mode for selected motor    The  W indings command controls whether the currently selected motor s  has its  windings left enabled or disabled once any GoTo or Slew action has completed  and it  contr
27.  you may use a single  7 5 volt power supply   this may slightly over voltage the motor   or you may use a split supply  In this case   use a 7 5 12 volt supply for the power to the digital electronics  pins 1 and 4 on the power  connector   and a 6 to 7 volt power supply for the motor  pins 2 and 3 on the power  connector   The TI driver chips being used drop 1 1 to 2 volts  depending on the chip and  the temperature   accordingly  cooling the board becomes quite important  in order to  have stable drive voltages for the motor     Jameco 155432 12 Volt  0 4 Amp winding  2000 g cm  1 8 deg step    This motor provides for 2000 g cm of holding torque  and has a manufacturing number of  GBM 42BYG228  Its wiring order is        Color BS0610  White  Brown  Yellow  Red  Blue  Black                               OY  Ui jo   hN2         Jameco 162026 12 Volt  0 6 Amp winding  6000 g cm  1 8 deg step    This motor provides for 6000 g cm    of holding torque  and has a manufacturing number  of GBM 57BYGO84  Its wiring order is        Color BS0610  Black  Orange  Green  Yellow  Blue  White                               Dola joo  hN2  e       BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Motor Wiring Examples    Page 79    Jameco 169201 24 Volt  0 3 Amp winding  1 8 deg step    This excellent motor has a manufacturing part number of STP 57D317  It uses 6 wires     with the wiring being                             Color BS0610  Black  Common lead for 1  PEACH and VIOLE
28. 7    for at least 5 microseconds  before a new request is guaranteed to be recognized  on that line     e A motion may be requested at the same time on both the X and Y motors  illegal  combinations  such as Y  and Y  both requesting a step at the same time  are  ignored     e Note that there is no upper limit on how wide this pulse may be  it just has to be  no narrower than 8 microseconds in each direction     Serial operations which do not request a change in the state of the motor may be processed  while running in the TTL mode of control without loss of pulses or steps  however  doing  commands which change state may cause lost TTL pulses on inputs and skewing of the PWM  signal on outputs     The following commands will cause up to 16 microseconds of missed TTL control edges during  their processing  hence one or two pulses can theoretically be missed   Due to the fact that  they are only of use when not in remote TTL control mode  they should not be used in that  mode     e  G   GoTo    e    I      wait for motor Idle  during remote TTL control mode  this command never  completes     e  M    Mark location   e  P   sloPe rate   e  R   target Rate   e  S   start Slew   e  Z   stop   e  W    winding mode when stopped  windings are normally ON in TTL mode     The following commands will also cause up to 16 microseconds of missed TTL control edges   and should therefore be used with care  However  they do affect the behavior of the system  when in remote TTL control mode  a
29. For example  when operating in the 1 8 step size  the  following rules are applied for the various modes     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 31    e 0  Single winding full step mode  Exactly one winding will be on at a time  and  will be on at the selected current for the motor  The    real    physical motor  position  in full step units  therefore only updates once every 8 microsteps  thus  the    full step    location will be the  microstep location  8  dropping the fractional  part     e 1  Half step mode  Alternates between having one and two windings on at a time   thus causing the torque to vary at the half step locations  The    real    physical  locations will be at half step values  and hence the motor will    move    once every  3 microsteps  The    full step    location will be the  microstep location  8  with  fractions of 0 to 3 8 mapping into fractional location 0  and 4 8 though 7 8  mapping into fractional location 0 5     e 2  Double winding full step mode  Both windings are    on     at the selected motor  current  at a time  As with mode O  the  real  physical motor position will actually  only update once every 8 microsteps  The  full step  location will be the   microstep location  8  with the fractional part forced to 0 5     e 3  Microstep mode  The current through the windings are precision controlled  so  that the microposition can be obtained  The physical motor position expressed in  full step 
30. Mounting Requirements 2 6 oie tton me bdsm murs unen EA E teas etam iade 58  connector Signal  PIBOUts coron Etre ror eta E ee Rx aix ook Mele xx exea ev OKA e se Axa e DRM ORE 59  SX Key debugger connector sisirain enta anae ena setate a a ana kae dn he nana 59  TrELimitInput and Reset    ieri esent aes delet orante re rana e sk nda nai pee rans 60   TTL Motor Direction Slew Control                ssssssssseee eene 60   Board status and TTL Serial  z    rp a e ta RR re an RR dernier nes 61   RS232 Serial DB9 Female  socket   A BS0610                   sseseeeeee 61   USB B Serial  A BSO07 T0   ciechie oak Verc avit ved bec e d tede 61   Power Connector  labeled here top to bottom  And Motor Voltages             62   Calculating Current And Voltage Power Supply Requirements                 sesseeee 64  1  Determine the individual motor winding current requirements                           64   2  Determine current requirement for actually operating the motor s                    64   3  Determine the voltage for your motor power supply                    eee 65   4  Determine the logic supply requirements                 sess 65   5  Determine the power supplies you will be using                 seem 66   Board  J  mpets cr cokes tpe eor Pere eor Geis o EPER cee pntat E PUER ER REREKARI NAR INIMA 67  Jumper JS   Enables RS232 or USB based serial communications                          67  Half Power Jumper S1K or  HLF  Enables Half Power Mode                  sse 67  Full Po
31. Peter Norberg Consulting  Inc     Professional Solutions to Professional Problems  P O  Box 10987 Ferguson  MO 63135 0987  314  521 8808       Information and Instruction Manual for  BS0610  revisions G through M  and BSO710  Stepper Motor Controllers    By  Peter Norberg Consulting  Inc   Matches GenStepper Firmware Revision 2 18    Copyrights 2002 2008 by Peter Norberg Consulting  Inc  All Rights Reserved   Authored in the United States of America  Manual published October 31  2008 7 29 AM    Table Of Contents Page 2    Table Of Contents    Table Of Contents    es ger HERR HERR RADAR e eo eek Ete e made MORE seen tS 2  Disclaimer and Revision History             sssssssssssssssenenenenemememene nen eene meses seni 6  Product Safety Warnings    si dressur sina niesen a ie a HERR RRRRRRI EI PR RR RR n aaar E EEA GR NGA Y G GG daga 7  LIFE SUPPORT POLICY  iiid rte etie dee tte A ETEA cates oa rere be RX lm M E ETE nearest 7  Introduction and Product Summary             ssssssssssseseseeenenenemememesesesenie eene nemen 8  Notes on the AR BSO710USB revision HI ESD Isolated Ground Artwork                  9   Short Feature S  mmlary 2  ee kx ee a pnr hn Fed Rex petes pbi rua tent belansedamsatee bende    10   Firmware Configuration At Time of Ordering Product            cccceeeeee sees ee ee ee eee eeeeeeeeeeeeeeea tees 11   Default Microstep SiZe    ier reete nea cantata Rak aa wnvd vat es LNE EAA teenie ees 11   Default  Stop  Rates iiaa a eA DEEN crx ikea irte saxa rre Repas 
32. Ra ka aR ERE aeg 24  A   Select the Auto Full Power Step Rate       s ssssssssrssrrsrrssrurrrsrrnrrnrnrernnnn 24  B  Select Hoth Motor errara Ee UE a xa ERR ER RU ETE iR ERR 24  E   Enable or Disable Remote Direct Pulse Control                   s sse 25  G   Go to position x on the current motor s      s sssssssssssesrssrrsrrsrrnrrrsrerrrerns 27  H   Operate motors at V2 POWE ninipis nnui Henne menn 28  I  Wait for motor Idle  eic te mtn race i debate dete Re Rar rr E Raus 29  K  Setthe  Stop OK  rate    scent n a na RR era ERI tease cade  29  L   Latch Report  Report current latches  reset latches to O                       29  M   Mark location  or go to marked location        s ssssresssssrssrerrrsrrsrrererereens 30  O   step mOde   How to update the motor windings                     sseseesess 30  P   sloPe  number of steps second that rate may change                          31  R   Set run Rate target speed for selected motor s                       sssusususs 32  S     start SIew      esee cic pess khe ERR ERR N P na E EEE a IR YR GGG SIRI YI 3G GG G3 a diia 33  T   limiT switch control  firmware versions 1 65 and above                       34  V   Verbose mode command synchronization                 sese 35  W   Set windings power levels on off mode for selected motor                   36  XS Select motoE X i das antai esset EAEE EEEN rea x re rela ana ua E ER Ras 36  Y  Select Motor Y    cuc nee cere eh erra x Ern eee gti adie RE DITE aR A 36  Z     Stop current M
33. SERIN  B6  connected to P2  e SEROUT  B7  connected to P1    Some of the code provided operates at 2400 baud  Note that  in reality  all of the code can  run correctly at 9600 baud on most stamps  operation at 2400 baud is shown here just to  demonstrate the technique      Gendemo bs2  is a 9600 baud demo  which uses the READY line for synchronization  It runs  using a microstep size of 4 64  1 16  of a full step  and constantly spins both motors between  logical position 2000 and 0  On each  spin cycle   the stepping mode gets changed  each of  the legal stepping modes  full step 2 winding  full step 1 winding     2 step  and microstep  are  exercised in sequence  and a 1 5 of a second pause is inserted between each cycle for ease of  visual synchronization      Gendemoser bs2  is a 9600 baud demo  which ignores the  READY  line and uses the SERIAL  input line for all of its synchronization  Aside from operating strictly using the serial  communications interface  it operates identically to  Gendemo bs2       Genseekser bs2  is a somewhat more comprehensive example  in terms of showing the  capabilities of the StepperBoard system  As with    Gendemoser bs2     this operates at 9600  baud  It operates at the full level of microstep possible  1 64 of a full step   and runs each  motor at a different speed  X is set to a maximum rate of 4000 microsteps second  which is  4000 64 or 62 5 full steps second   with a matching ramp rate of 4000  microsteps second second  Y is set to 
34. T   Peach 2  Violet 3  Yellow 4  Red 5  White  Common lead for 6  Yellow and White              Jameco 173180 12 Volt  0 060 Amp winding  0 09 deg step geared    This tiny motor has a manufacturing part number of 30BYJO2AH  BF33     Thanks to its    gearing  it claims to have both a holding and detent torque of 400 g cm  It uses 5 wires     already in a connector which directly works with our product     However  two of the wires    must be switched  i e   the order of the wires is incorrect for our use   the pink and yellow  wires need to be reversed in the connector  The correct order therefore becomes        Color    BS0610       Red       Orange       Pink       Yellow       Blue              lt no connection gt     DIU  KR WI N  e          Jameco 174553 12 Volt  0 6 Amp winding  7 5 deg step  This motor has a manufacturing part number of NMB PM55L 048 NBC7  Its wiring is        Color    BS0610       Black  common for Brown  and Red     1       Brown       Red       Green       Yellow       Orange  common for  Yellow and Green        OY  Ur   S  C9   N             BS0610 BS0710 Motor Controllers    Peter Norberg Consulting  Inc     Motor Wiring Examples Page 80    Bipolar Motors    This section shows some bipolar motors which were used  They only work on the BiStep  products  In each case  the wiring is     X or Y    WB2       Typical Bipolar Motor Connection  To the BiStepA05 Board    Jameco 117954 5 Volt  0 8 Amp  7 5 deg step    This unit is an Airpax LB82773 M1 2 phas
35. TE THAT ANY LOCATION ABOVE 7 MAY  CHANGE BETWEEN CODE VERSIONS   5  Port A register   this contains the limit switches   6  Port B register   this contains the TTL inputs   7  Port C register   this controls the motor windings   61  Raw rotor position  Y motor  in 1 64  microstep units    125  Raw rotor position  X motor  in 1 64  microstep units    252  Automatic full step rate value 256   253  Rotor step size  in 1 64   microstep units  see       command     0  Report all of the following special reports except for version copyright     1 to  12     Do selected one of the following reports    1  Report current location    2  Report current speed    3  Report current slope    4  report target position    5  Report target speed    6  Report windings state    7  report stop windings state    8  Report step action  i e   motor state     9  Report step style    10  Report run rate    11  Report stop rate    12  Report current software version and copyright  other  Treat as 0  report all except version copyright     All of the reports follow a common format  of     1     OTOT dnd  SD SU ae Xx IS    If Verbose Mode is on  then a   carriage return     line feed       crlf     pair is sent     The letter corresponding to the motor being reported on is sent  i e    X    or  Y         A comma is sent     The report number is sent  such as  4  for target position      Another comma is sent     The requested value is reported     If this is a report for both the X and the Y motors  then
36. Where  Text1      Text2         are the actual strings to send to the controller  as described in the   Serial Commands  section of this manual   The code supports extended control of its  behavior  by parsing the first character of each space separated parameter on the command  line   if it starts with      then the rest of that parameter is interpreted as a command to  SerTest  instead of being sent to the controller  The commands recognized by SerTest are     e  b     Set Baud rate to       defaults to  b9600  For example    b9600 sets 9600 baud    b2400 sets 2400 baud  No other values are useful   e  i     Set Idle wait time to      milliseconds  defaults to  i60000    The    Idle wait time    is the maximum amount of time  in milliseconds  which the  software waits before it decides that a command has timed out  and thus that it is  time to send the next command  This is used to maintain correct synchronization of  the code with the controller  For example      i60000   Set 1 minute before timeout   i10000   set 10 seconds before timeout  e  pCOMn set the serial communications port to port n  defaults to  pCOM1    This allows control of which serial port is used for the following commands  The code  does not actually attempt open any serial port until the first real data is ready to be  sent to the controller  thus no attempt will be made to access COMI if the command  line looks like     SerTest  pCOM2 4 x1000g    Note that if multiple  p commands are on the line  the m
37. a maximum rate of 8000 microsteps second  which is  125 full steps second   with a ramp rate of 7000 microsteps second second  It also sets the   automatic full power  step rate to be 6000 microsteps second  Given that only Y will exceed  this rate  the Y motor will switch from what ever mode it is using to full power mode during  any seek which goes far enough for it to exceed the 6000 microsteps second rate  Having  gone through this setup  the loop operates similarly to that in  Gendemoser bs2   except that  the locations cycled are 16 000 and 0  If you use this demo with two identical motors  you  should be able to  hear  the difference in the stepping modes  and you should also hear the Y  motor  become noisy  partway through the microstep phase of the entire sequence  when it  switches between microstep mode and full power full step mode      The complete sources to these examples are installed by default into the    C  StepperBoard     directory  when you install the code provided with the product     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Basic Stamp    Sample Code Page 49    Listing for GENDEMO BS2     9600 Baud  READY line based    KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KK KK KKK KK KK KKK KKK KKK KKK KK KKK KKK KKK KKK KKK KKK       modname  gendemo bs2       nokeywords      Demonstrates some of the serial commands using goto and TTL Busy line to the    SimStep and BiStep     set of controllers from Peter Norberg Consulting  Inc      
38. age 77    Motor Wiring Examples    The systems have been tested with an interesting mix of stepper motors  both unipolar and  bipolar  All were purchased from Jameco  www jameco com   The following sections  summarize some of the motors tested     The wiring diagrams shown are labeled for the BiStepAO5 and SimStepA04  The BSO0610 is  identical        Unipolar Motors    This section shows some unipolar motors which were used  Most will work on any of the  boards currently available from our company  In each case  the wiring is     COMMON B  WB2       WAI  COMMOR A          Typical Unipolar Motor Connection  To the BiStepAD5 or SimStepA04    Jameco 105873 12 Volt  0 150 Amp winding  3 6 deg step    This Howard Industries stepping motor has a manufacturing part number of 1 19 4202  It  is wired as        Color BS0610  Black  Brown  Red  Green  White    no connection                                 OY U1  S  C9  N2           BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Motor Wiring Examples Page 78    Jameco 151861 5 Volt  0 55 Amp winding  7 5 deg step    This Airpax motor has a manufacturing part number of C42M048A04  As with the other  Airpax motor  it does not microstep at all  Mode    30    can smooth its actions  but it does  not  stop  at any other points than 2 step locations  It is wired as        Color BS0610  Green  Black  Brown  Yellow  Orange  Red                               OY  U1       C    N2         When using a 5 volt motor  such as this  
39. ample   B 1     Would report the requested state on both motors  You could receive   151    1 0       Xp  Y        8  Report current step action  i e   motor state     This reports the current  instantaneous  state for the selected motor s   The  step action may be one of the following values       Idle  all motion complete     Ramping up to the target speed  in a  GoTo     Running at the target speed  in a  GoTo      Slowing down  from a  GoTo      Slewing    s       Quick stop in progress   z    Reversing direction     Stopping in preparation for a new GoTo     Single shot  current action finished  you probably will never see  this  it is only selected for about 8 uSeconds       or saw a limit switch closure     e o o o o o o o o    For example   B 8     Would report the current location on both motors  You could receive     This would mean that motor X is idle  while motor Y is currently doing some  form of slew operation      9  Report step style  i e   micro step  half  full     This reports the current method of stepping for the selected motor s   The  legal step styles reported are those of the  O   step mode  command  vis     e 0  Full step  single windings   e 1  Half step  alternating single double windings   e 2  Full step  double windings   e 3  Microstep   e  4 added to above  Single Motor Dual Power mode is enabled   For example    B 9     Would report the current stepping method on both motors  You could receive     BS0610 BS0710 Motor Controllers Peter Norberg
40. ample  metal  your hand  a  carpet  when you do this  since you could damage the board  or your  computer   if any of the signals on the board get shorted  Note that you do  NOT need to have the board connected to any external product  such as an actual  motor driver  to install the drivers  just the board and a USB A B cable are needed  in  addition to your computer with its USB 1 1 or 2 0 connection     2  Ifstep 1 does not cause Windows to bring of their  Found New Hardware  wizard  or  to otherwise recognize the board  then correctly power the board  see our manual  section  Power Connector  on page 62 which identifies the power connector and  describes the voltages which may be used      3  This should cause Windows to bring up their  Found New Hardware  wizard  which will  guide you through the installation process     Place our installation CD into your CD drive   If our setup application starts up  cancel out of it    Tell the wizard to  search for a suitable driver   and then tell it to  specify a location      p C s    It will then ask for where to search  tell it to look in the  FtdiStepperBoard  directory  on our support CD     8  Then tell it to install the driver  If you are installing from the    FtdiStepperBoard     version of the drivers  Windows will complain that the drivers are not  Windows  Certified     You may ignore the error  all that is different between the  ftdi  certified  installation and the    FtdiStepperBoard    non certified installation is t
41. ance between leads 1 and 2 to fill in cell  1 2   there  is no reason to separately measure leads 2 and 1  If you have fewer leads than those  shown in the table  ignore the rows and columns with the nonexistent leads     For a 4 wire bipolar motor  the low resistance pairs are the opposite ends of matching  windings  high resistance pairs are different windings  For example  if cell  1 2  shows 10  ohms  while  1 3  shows greater than 1000 ohms  then wires 1 and 2 can be called  winding A  while wires 3 and 4 can be called winding B     For a 5 wire unipolar motor  you will observe 2 reading values in the resulting table  with  the higher reading being about double that of the lower reading  The single line which has  the lower reading on all of its entries in the table is the common lead  the other wires are  the winding leads  unfortunately  this test cannot show which is winding A and which is  winding B through resistances alone      BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Wiring Your Motor Page 72    For a 6 wire unipolar motor  you will observe 3 reading values in the resulting table     e If you see a single reading near 0  then the two leads associated with that reading  are the common leads  and the remaining 4 wires are the windings WA1  WA2   WB1 and WB2  this test cannot determine which is winding A or B through  resistances alone   As a check  you can observe that all readings between the  other wires and either of the 2 common wires ha
42. are not installed  when using the GenStepper firmware     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Board Jumpers    Power Selection Jumper   SS DS 5VO    This jumper is used to select how the board is to be powered     Page 68    It may be factory hard wired     for volume orders   or it will be available as a jumper selection as needed  The options are        ss    Single Supply operation  You must provide 6 5 to 15 volts at  the Vm Gnd input  Do not wire to Vc        DS    Dual Supply  regulator enabled operation  You provide 4 5 to  34 volts at Vm Gnd for the motor power  and 6 5 to 15 volts  at the Vc Gnd inputs        5VO          Dual Supply  regulator disabled operation  You provide 4 5  to 34 volts at Vm Gnd for the motor power  and 5 0 volts at  the Vc Gnd inputs  Note that if your 5 Volts ever drops to  4 2 volts or less  the board will act as if a RESET has  occurred  Similarly  if your supply goes to 6 volts or  above  you will damage the components           BS0610 BS0710 Motor Controllers    Peter Norberg Consulting  Inc     Wiring Your Motor    Wiring Your Motor    Page 69    There are two identical connectors used to operate the X and Y motors  The connectors  are labeled with respect to which motor they operate   This designation affects only which  commands are to be used to control the motors  no other functionality is changed   They  are wired as follows for the BS0610 and the BS0710 series of controllers  pins counting    from top
43. ate  using the same power supply to the 2940 will cause  the 2940 to get extremely hot  over 100 deg  C   Although it technically can withstand  temperatures up to 150 deg  C  we do not recommend or warrant it  It is much better in  this case to split the supplies  Use pins 3  GND  and 4   Vc  to provide 6 5 to 15 volts at  300 mA to the 2940  the lower voltage you use  the better it is from a heat point of view    Use pins 1  GND  and 2   Vm  to provide the motor power in this case  and SELECT THE  CORRECT POWER SUPPLY JUMPER OPTION DEPENDING ON YOUR BOARD  VERSION  OTHERWISE YOU WILL EITHER BE SHORTING THE POWER SUPPLIES  TOGETHER OR SUPPLYING THE WRONG VOLTAGES TO THE LOGIC CIRCUITS  The  BS0610G and later boards have a 3 position jumper which gives you three options on  powering the system  This jumper is described on the next page of this manual     5 volt motors may be operated  although the exact voltage being provided to the motor  may be somewhat uncertain  If you use a single power supply  the supply must be 7 5  volts  so that 5 volts will be provided to the logic circuits   In this case  the motor will be  supplied with 5 5 6 4 volts  depending on temperature and particular parts  If you split  the supplies  then the motor supply  pins 2 3  can be    tweaked    to determine the best  voltage for your motor   it will be in the range of 6 1 to 7 volts  assuming that you do not  want to exceed the 5 volt specification for the motor     BS0610 BS0710 Motor Controllers
44. be present as actual 0 1    shorting plugs  which control various board features   As shown on the Board Connections page  there are up to 5 primary jumpers available on the  board  which control specific operation of the product  Note that board artwork BS0710G has  redefined the single  S1K  jumper to be the two complementary jumpers    FUL    and    HLF      exactly one of these jumpers must be installed for correct operation      Jumper JS     Enables RS232 or USB based serial communications    The JS jumper is located above and to the left of the DB9 USB serial connector  as the top   most jumper in a set of 3 jumpers  If installed  then RS232 USB communications via the DB9  or USB communications via the USB connector  or their optional MTA 100 replacements  are  enabled  You must NOT use the SI and SO connections when JS is installed  since you will end  up with 2 devices driving the same signal  SI   which can eventually destroy one or both  devices     If this jumper is removed  then only TTL Serial communication will work  via the SI and SO  connections     Half Power Jumper S1K or  HLF  Enables Half Power Mode    The S1K HLF jumper is located just below the JS jumper  If it is installed  then the board will  power on  and reset  to the    power mode of operation  If it is not installed  then the board  will power on to full power operation     This jumper is called    HLF    on later artworks  If it is called    HLF     and if there is also a    FUL     position ava
45. body   Such damage is not covered under either the satisfaction guarantee or the product warranty   Please be certain to safely  discharge  yourself before handling any of the boards or  components     If you attempt to use the product to drive motors that are higher current or voltage than the  rated capacity of the given board  then product failure will result  It is quite possible for  motors to spin out of control under some combinations of voltage or current overload   Additionally  many motors can become extremely hot during standard usage   some motors  are specified to run at 90 to 100 degrees C as their steady state temperature     LIFE SUPPORT POLICY    Due to the components used in the products  such as National Semiconductor Corporation   and others   Peter Norberg Consulting  Inc  s products are not authorized for use in life  support devices or systems  or in devices which can cause any form of personal injury if a  failure occurred     Note that National Semiconductor states  Life support devices or systems are devices which   a  are intended for surgical implant within the body  or  b  support or sustain life  and in  whose failure to perform when properly used in accordance with instructions or use provided  in the labeling  can be reasonably expected to result in a significant injury to the user   Fora  more detailed set of such policies  please contact National Semiconductor Corporation     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     I
46. checked   Event On Surprise Removal to unchecked   Set RTS On Close to unchecked     that is to say  only the Serial Enumerator is checked in the set of check boxes on the display     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     TTL Mode of operation Page 19    TTL Mode of operation    The TTL input control method provides for nine input signals and one output signal  TTL based  control operates at the same time as serial control  therefore  any of the actions listed below  may be requested at any time that the board is not in its special    direct computer control     mode of operation     All external connections are done via labeled terminal block connections on the left and right  hand sides of the boards  and one RS232 serial port on the    bottom    of the board  All of the  input and control signals are on the left side  while all of the motor and power connections are  on the right side     TTL Input Voltage Levels  Schmitt Triggered or CMOS    The input voltage levels which are sensed by the TTL input signals to the boards depend  on the mode of operation of the board     All TTL input signals are treated as CMOS levels  unless the board is operating in the    1E     state     Remote Direct Pulse Control      This means that a logic    O    is generated at any  time that the input voltage is  lt   12 of the board power  and a logic    1    is generated when  the input voltage is above   of the board power  Therefore  since our power is 5 volts  a
47. cond   Any time the current rate is less than or equal to 100  the motor will have the ability to  stop instantly     To set the rate such that the motors always immediately start and stop at the desired rate  CR     setting  issue the command     62500K  This sets the  Stop oK  rate to the maximum possible step rate  and thus will prevent all  ramping behaviors of the code   L     Latch Report  Report current latches  reset latches to 0    The    L   atch report allows capture of key short term states  which may affect external  program logic  It reports the  latched  values of system events  using a binary encoded  method  Once it has reported a given  event   it resets the latch for that event to 0  so  that a new  L  command will only report new events since the last  L      BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 30    The latched events reported are as follows                                   Bit Value Description   0  1 Y  limit reached during a Y  step action   1  2 Y  limit reached during a Y  step action   2  4 X  limit reached during a X  step action   3  8 X  limit reached during a X  step action   4  16 System power on or reset       has  occurred       For example  after initial power on   L  Would report    L 16         If you were then to do an X seek in the     direction  and you hit an X limit  then the next   L  command could report     L 4  M     Mark location  or go to marked location     Based on the curre
48. ctly  support the NXT based  change rate  action  this feature was re enabled in firmware  version 2 17     The RDY output signal is used to indicate that motor motion is still being requested on at  least one of the motors  When HIGH  then all motion is stopped  When LOW  at least  one motor is still moving  This signal is LOW when the system is running under  remote  pulse control  operation     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 22    Serial Operation    The RS 232  for the BS0610 product  or USB  for the BSO710 product  serial control of the  system allows for full access to all internal features of the system  It operates at 2400 to  9600 baud  no parity  and 1 stop bit  Any command may be directed to the X  Y or both  motors  thus  each motor is fully independently controlled  Note that you should wait about 1   4  second after power on or reset to send new commands to the controller  the system does  some initialization processing which can cause it to miss serial characters during this  wake  up  period     Actual control of the stepper motors is performed independently for each motor  A  goto   mode is supported  as is a simple  go in a given direction   The code does support ramping of  the stepping rate  however  it does NOT directly support changing the ramp rate  step rate  or   goto  target while a  goto  is under way  The behavior is either that the motor will first stop  and then perform the new request  or 
49. d to the board  then you can configure the board  to operate in DOUBLE POWER mode  This allows the board to operate a single  motor at twice the rated current for the board  For example  the BS0610 1 amp  product can operate a single 2 amp motor  when this feature is enabled  assuming  that the board is adequately cooled      Limit switches may optionally be used to automatically request motion stop of  either motor in either direction    Rates of 1 to 62 500 microsteps per second are supported    Step rates are changed by linearly ramping the rates  The rate of change is  independently programmed for each motor  and can be from 1 to 62 500  microsteps per second per second    All motor coordinates and rates are always expressed in programmable microunits  of up to 1 64  step  Changing stepping modes between half  full and micro steps  does not change any other value other than which winding pairs may be driven at  the same time  and how the PWM internal software is operated    Motor coordinates are maintained as 32 bit signed values  and thus have a range  of  2 147 483 647 through  2 147 483 647    Both GoTo and Slew actions are fully supported    Four modes of stepping the motor are supported    Half steps  alternates 1 winding and two windings enabled at a time     Full power full steps  2 windings enabled at a time    Half power full steps  1 winding enabled at a time    Microstep  programmable to as small as 1 64  steps  using a near constant   torque PWM algorithm    A
50. dings are then updated according to the stepping mode  For example  if the  stepping mode  the  o  command  for a given motor is one of the full step modes instead  of the microstep mode  and the microstep resolution is set to  1   then the motor will  actually experience motion at 1 64   of the specified rate     For example   X250RY1000R    Sets the X motor target stepping rate to 250 microsteps per second  and the Y motor  target rate to 1000 microsteps per second     The power on reset default Rate is 800 microsteps second     If you are currently executing a targeted GoTo or Slew command which has a specific  target location  i e    2000g  or     300s      the new rate will not take effect until the motion  has completed  If you are executing a generic    Slew in a given direction  command      s     or   s    the new rate will take effect immediately  and the motor will change its rate to  match the request using the current  P   ramp rate  value     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 33    S     start Slew     The  S lew command is used to cause the currently selected motor to go in the selected  direction  If the current value is only         or      i e   just has a sign associated with it    then the motor will slew in the indicated direction on the selected motor s   Otherwise   the motor s  will go VALUE steps in the direction indicated by the sign of VALUE  after first  stopping the motor  more accurately  will
51. dubi raa RR Ra Ras 11   Default Ramp  R  te imisi errem teen exa Sa E ERR ERIXRRARRERIERIRI VERRE X KY EREXE LERRA Mira 11   Default A  to FullsStep Rate      rerba ek nbn ee se ra Ea ese eia er UR Exe x ERE DRE 11   Default Auto F  ll Step Mode       see eret tenent KE NAA ne ERR Ra Y RR Re da Ya Opa a rans 11   Default Full Power Level   S1K  jumper removed  or    FUL    jumper installed              12   Default Low Power Level   S1K  jumper installed or    HLF    jumper installed              12   Default Motor Idle Winding Current                  sss Henne 12   Default Limit Switch Stop Mode           cccecee cece eee e eee eee ennemi nennen nens 12   Default  E  mod   staFltup   ire ere rere a teme Re tee Eoi xae se ERR YN RU dat ee Dea ET   12   Default Double Current Operation  R1K jumper operation                    seseseeese 13   Configuring Serial Baud Rate             eese nennen inna rana sura ran p usas aka ka a ae anna 13   Disable Slew Inputs ieena eerte rete dhe seta enne tear e eni aa rb ga Resa Rusa kac nix ge rid 13   Hardware Configuratio Nassera a a penka ux cue xe e aen y eua eR xapx e pex ee E Re Ee evaded 14   Configuring Half Power Mode  equivalent to the    H    command                      ssssss 14   Configuring Double Current Mode                ssssssssssssese meme eme eene nene ens 14   Cooling Requirements      5  i eer rone eed gags RRRYAER HARE IR RE MAYA RSS KIESA PIEKA E SAG CHENS M   14   Power On  and reset  Defaults              esce 
52. e bipolar stepping motor  This motor does NOT  microstep at all  It may only be used in full and half step modes  i e  use the  configuration commands  0o    10  and    20      Mode  o3  may smooth its steps slightly   but it will not really stop at any other than 1   2 step locations     When using a 5 volt motor  such as this   you may use a single  7 5 volt power supply   this may slightly over voltage the motor   or you may use a split supply  In this case   use a 7 5 12 volt supply for the power to the digital electronics  pins 1 and 4 on the power  connector   and a 6 to 7 volt power supply for the motor  pins 2 and 3 on the power  connector   The TI driver chips being used drop 1 1 to 2 volts  depending on the chip and  the temperature   accordingly  cooling the board becomes quite important  in order to  have stable drive voltages for the motor     The wiring of this unit is therefore        Color BS0610    no connection    Yellow  Black  Red  Gray    no connection                                 olaj S   jC9 hN2  e       BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Motor Wiring Examples    Page 81    Jameco 155459 12 Volt  0 4 Amp  2100 g cm  1 8 deg step  This unit is a GBM 42BYG023 stepping motor  which provides for 2100 g cm of holding    torque  It may be wired as        Color    BS0610        lt no connection gt        Brown       Orange       Yellow       Red        lt no connection gt           OY U1  S  C9  N2   S          Jameco 163395 8
53. e control is enabled  and are  restored to the status defined by the W command when remote pulse control is disabled     NOTE THAT   e THIS COMMAND IS FOR BOTH MOTORS  e IT IMMEDIATELY DISABLES ANY PENDING MOTIONS    e IF ANY MOTION IS UNDER WAY  THAT FACT IS FORGOTTEN  THIS  CAUSES AN INSTANT STOP OF BOTH MOTORS  NO  GRADUAL STOP   VIA  THE AUTOMATIC RAMP MECHANISM  IS PERFORMED  MOTORS OR GEAR    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 26    TRAINS MAY THUS BE DAMAGED IF THIS IS DONE IMPROPERLY ON SOME  SYSTEMS     e TTL INPUTS FOR LIMIT SWITCHES ARE ALSO IGNORED DURING THIS  MODE OF OPERATION  UNLESS THE    HARD STOP    OPTION IS ORDERED     e TTL INPUTS ARE TREATED AS  SCHMITT TRIGGERED  DURING THIS  MODE   lt  0 4 Volts is    0      gt  4 6 volts is  1      When enabled  then all other motor motion commands  such as G and S  have no effect   although changing the step mode  marking locations  and setting rates will affect the  stored values for use when remote direct control is disabled   Instead  the TTL input lines  are monitored frequently enough to sense 8 microsecond width pulses  looking for low   going edges  leading edges  in the requests  The leading edges are then used to step the  appropriate motor as needed  The stepping actions performed are always in units of the  current microstep size  and are masked based on the current winding control rules  see  the     command for how to control the microstep size  and t
54. e limits  depending on whether the  firmware was ordered with the  hard stop  option     Bit 3 is reserved for future expansion  and should be left as 0 at present     Bits 4 7 are used to control the interpretation of the signal levels  When set to O  the  default   then the signals are interpreted as described below  When set to 1  then the  given signal is inverted  i e    0  is mapped into  1   and  1  is mapped into    O      The net  effect of this is to change the edge which triggers the motion from the low going edge to  the high going edge  and to flip  when in mode 2  the interpretation of the direction of  travel     The bits are encoded as follows        Bit Value Description   0 1  0 to  2   Pulse mode to use  0 means disable    1 means each line is own step in its own direction   2 means step and direction mode                                     2  4 TTL control of motor current  3   reserved   leave 0   4  16 Invert Y    5  32 Invert Y    6  64 Invert X    7  128 Invert X        For example  to operate in the Step Direction mode of operation  with high going pulses  requesting the steps on both the X and Y motors  you would use a value of 24324128   since the Y  and X  input signals are used as the step requests  and need to be inverted  so that the high going edge triggers   Therefore  the command given would be  162e      On both enable and disable  all pending motor actions are immediately stopped  The  windings on both motors are forced on when remote puls
55. e sum of the current requirements of the motor s  and the logic circuits     Dual Supply    You may separate the motor supply from the logic supply  If you do so  we suggest using  the lowest voltage in the range of 6 5 to 15 volts on the logic supply which you have  available  to reduce generation of waste heat on the board     The motor supply should be above 4 5 volts in all cases  due to some signal requirements  on the board   and otherwise is as calculated under sections 1 through 3  above  If the  supply is to drive 2 motors  please remember to double the current needs     Note that when operated in dual supply mode  you may either operate your logic  Vc   voltage through our on board voltage regulator  or you may provide exactly 5 volts of  regulated DC to our board  Use of our on board regulator is strongly encouraged     The jumper options are  DS  for dual supply  using our on board regulator  or  5VO  for  dual supply  bypassing our regulator     DS  You provide 6 5 to 15 volts DC to the  Vc input  5VO  You provide 5 0 volts regulated DC to the  Vc input    Note that in the 5VO position  you will damage the board if your supply ever reaches  or exceeds 6 volts  and the board will undergo a reset if the voltage ever drops  even as  a spike  to 4 2 volts     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Board Jumpers Page 67    Board Jumpers    The BS0610G and later boards have a series of jumpers  which may be hard wired at the  factory  or may 
56. ected to the yellow wire of the motor     If you fail to wire the unit correctly  you will be shorting power to ground  and  are likely to burn up the board  This is not a warranted failure     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     
57. en low             This portion  the next 5 pins  of the J1 connector is used to warn the SX 28 that a limit is  being reached in the given direction  The signals are designed to be shorted to GND to  denote that a limit is present  they are also compatible with normal TTL outputs from any  TTL compatible device  LY  through LX  are internally pulled up to  5 with 10K resistors   within the SX 28 itself      TTL Motor Direction Slew Control                            Name Description  GND Signal ground  Y  Slew Y Negative  Y  Slew Y Positive  X  Slew X Negative  X  Slew X Positive          This connector gives access to the TTL motor direction control signals for the system     Y  through X  are inputs  used to control manual slew requests  They each cause the  indicated motor to turn at its current rate in the indicated direction  as long as the    indicated signal is grounded     For example  connecting pin Y  to GND  or providing a low    TTL input signal  will cause the Y motor to go in the    negative    direction     BS0610 BS0710 Motor Controllers    Peter Norberg Consulting  Inc     Board Connections Page 61    Board status and TTL Serial                               Name Description   GND Ground reference for all signals   NXT Go to    next    step rate   RDY Ready busy output   SI INPUT  Raw SX 28 Serial Input  TTL level    SO OUTPUT  Raw SX 28 Serial Output  TTL  Level        This connector gives access to the serial control signals for the SX 28  as well as board
58. en needed to get up to the  62 500 rate to begin with       Therefore  it is strongly recommended that  if limit switch operation is to be used  these  extremes be avoided  By default  the standard rate of change is initialized to 8000  microsteps second second  with the stop rate being set to 80 microsteps second     Also note that use of the         emergency reset command  or the  1E  followed by  OE   sequence will cause an immediate stop of the motor  regardless of any other actions or  settings in the system  Please be aware that  in some designs  damage to gear  systems can result when such a sudden stop occurs  Use this feature with care     Note that as of version 2 0  it is possible to order the firmware configured for  instant  stop  on the limit switches  As with the         command  if the firmware is configured with  this mode of operation  please be aware that  in some designs  damage to gear  systems can result when such a sudden stop occurs  Use this feature with care     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     TTL Mode of operation Page 21    Motor Slew Control  Y  to RDY    Lines Y  through RDY are used to control stepping of the motors  and the rate of steps   The inputs are designed to operate via a microswitch closure to ground     The connections are                                   Signal Action   Requested   Y   Y   Y   Y   X   X   X   X   NXT Change Rate   RDY Motors Ready       When operated normally  the indicated motor i
59. ene enne aa nang enhn nuhi nn na eia 15   USB Driver Installation Under Windows for the A BS0710 unit                 ssseeesene 16   Base Driver Installation Under Windows                sssssnm eene 16   Initial testing of the board after driver installation   TestSerialPorts                       17   Adjusting Default COM port properties for best operation         ssssssssrsssrsrrssrerererrers 18   TTE  Mode of operation    eere eie aaa na ena ech pite epa uie a EYE REN IR SRRERERERER EXE RERRASR ERISN NIRE RIEN RIA 19   TTL Input Voltage Levels  Schmitt Triggered or CMOS                 sssseeee 19   Input Limit Sensors  lines LY  to LX  oo    cece cece eee eee eee eee eee emen 20   Motor Slew Control  Y  to RDY preisi roptar ss ERR ARRA ERES RREREFE Rex cee  21   Sena Ope  ratioM ecc 22   Serial Commands iess oro ra aa revue EAE ste  temas aeeai 23   Serial Command Quick Summary                 sse 23   General Commands    ir edge e Re Riese re ARR ERR eteene ce 23    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Table Of Contents Page 3    Motor Control Configuration           cccceceeeeeeeeeee eee ee eeee nenne 23  MOLOPS ClO CUO Nik sets css cede ede EM 23  Motor Motion Configuration            c cceeeeeeeeeee senses eeeeeeeeeeeeeaeaeaeaees 23  Motor Motion Control    eese cde dees deno nana pns rasa a ER nga RED RR canes 23  0 9         Generate a new VALUE as the parameter for all  FOLLOWING commands    rera Ltd ha etnia esi ani a sure Rana RU m
60. er operates  In this case  the  hardware strap is ignored  and double current mode is permanently enabled     Configuring Serial Baud Rate    As of version 2 0  by default  all serial communications with the GenStepper firmware  operate at 9600 baud  8 data bits  1 stop bit  no parity  If you need to communicate at  2400 or 4800 baud  you must order the board from the factory configured with the  differing baud rate  Note that earlier versions allowed you to program the baud rate via a  jumper option  in version 2 0 that jumper was reassigned     As of version 2 10  you may special a special option of  DUALBAUD    This option redefines  the 1K resistor to ground on SO to mean  operate at   of the standard baud rate    instead of    operate at   power      This allows you to operate the board at either its baud  rate as specified as part of your order  by default this would be 9600   or at   of that  baud rate     Disable Slew Inputs    As of version 2 5 of the firmware  you may order using the  NOSLEW  option  This will  disable use of the SLEW inputs as controls of motor slewing  thus providing you with 4  generic TTL inputs     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Hardware Configuration Page 14    Hardware Configuration    The GenStepper firmware has two major features that can be configured as startup options   This means that any combination of these features may be automatically controlled whenever  the firmware receives a power on  hardware 
61. exactly equivalent to   X3s  X100rY300RBO0g    Would cause the step rate to be set to 100 for motor X  300 for motor Y  and  then cause both motors to go to location 0     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Additional notes on Direct TTL Step Control Page 46    Additional notes on Direct TTL Step Control    The  1E  command  see the  E  command under    Serial Control    for complete documentation   allows a remote controller  another microprocessor  another computer  etc   to directly  request microsteps going in either direction on either  or both  stepper motor s   The step  size used is the current microstep size and is masked based on the current winding control  rules  see the         command for how to control the microstep size  and the    O    command for  control of winding microstepping   The sampling rate is such that at most 62 500  microsteps second may be requested on each motor     NOTE THAT   e THIS COMMAND IS FOR BOTH MOTORS  e IT IMMEDIATELY DISABLES ANY PENDING MOTIONS    e IF ANY MOTION IS UNDER WAY  THAT FACT IS FORGOTTEN  THIS  CAUSES AN INSTANT STOP OF BOTH MOTORS  NO    GRADUAL STOP     VIA  THE AUTOMATIC RAMP MECHANISM  IS PERFORMED  MOTORS OR GEAR  TRAINS MAY THUS BE DAMAGED IF THIS IS DONE IMPROPERLY ON SOME  SYSTEMS     e TTL INPUTS FOR LIMIT SWITCHES ARE NORMALLY IGNORED DURING  THIS MODE OF OPERATION  UNLESS SPECIAL FIRMWARE OPTIONS ARE  ORDERED OR SPECIAL CURRENT CONTROL REQUESTS ARE MADE     The TTL input lines w
62. hat the installation  script sets the communication defaults to our recommended values  below  and  adjusts the list of recognized devices to include our products     9  The installation may then go through the same process in order to install the virtual  COM drivers  if you have never installed an FTDI USB based product before   Use the    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     USB Driver Installation Under Windows for the A BSO710 unit Page 17    same subdirectory and process to install those drivers as were used under step 7   above     10  Once that process completes  the code will automatically add a new  COM  serial port  which is  attached  to the board when it is plugged into the any USB port on your  computer  The system will automatically add a new COM port each time you attach a  new board to any USB port on your computer or hub  It may also create a new COM  port if you receive a repaired board back from us  if we have had to replace the USB  driver chip      Initial testing of the board after driver installation     TestSerialPorts    The easiest way to test the board  and to identify which COM port is being used for board  communications  is to run our  TestSerialPorts  application  found under  StepperBoard  on  your  Start  menu   This application will scan all of the potential COM ports on your system   from COM1 through COM255   and will identify every port that has a connected StepperBoard  product powered and attached     The te
63. he  O  command for control  of winding microstepping      This mode monitors the TTL inputs very closely  It looks for leading  low going  edges on  each of the 4 TTL input lines  low means TRUE  high means FALSE  for compatibility with  the normal switch mode of input   and issues a single microstep  in the current microstep  precision   The rate of monitoring is such that  if pulses are 8 microseconds wide for each  of the high and low states  they will be correctly sensed  Pulse widths less than 8  microseconds will usually be incorrectly processed  The effective maximum stepping rate  is therefore 16 microseconds per microstep  both motors may be stepped at the same  time   thus providing for a maximum step rate of 62 500 microsteps per second per  motor  Since the maximum microstep rate is   full step per microstep  the maximum  rate possible with this form of control is 31 250 full steps per second     If mode 1 is used  then each input line     x         x       y       y      is independently monitored for  pulse edges  and is used to request a single step in the indicated direction     If mode 2 is used  then each input line pair is used to control step and direction     x     and     y     are used to determine the direction the indicated motor will spin on an associated step  request  low means spin minus  high means spin plus   The    x     and    y     inputs are  monitored for the related step requests  a low going edge on the indicated line generates  a step re
64. her external logic  you need to add in the current which  is needed to operate the fan and the external logic  Do not exceed 500 mA  Note also  that if you draw more than 100mA from the board s 5 volt supply  you must fan   cool the board     The logic supply   Vc  must always be in the range of 6 5 to 15 volts  If less than 6 5  volts is used  the regulator will not operate reliably  causing the board to reset itself   losing motor control and position information   If greater than 15 volts is used  you are  likely to    blow out    the logic voltage regulator  damaging the board     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Calculating Current And Voltage Power Supply Requirements Page 66    5  Determine the power supplies you will be using    Your choices are dependent on the desired voltage to the motors  and on the board which  you have purchased from us  In all cases  we strongly recommend that linear supplies be  used  switching supplies are not very good when used with inductance based loads     The logic supply must be in the voltage range of 6 5 through 15 volts  If your motor  voltage requirements are outside of this range  then you will have to use a split supply  as  described below   or exactly 5 0 volts  if the  5VO  jumper is installed      Single Supply     If your motor power supply voltage is from 6 5 to 15 volts  then you may choose to use a  single supply to operate the system  The current capabilities of the supply must exceed  th
65. hich are normally used to request a    slew    of a motor in a given direction   when low  get redefined to request a    step    of a motor in a given direction when going low   The wiring thus is                             Signal Action  Requested  Y   Y microstep  Y   Y microstep  X   X microstep  X   X microstep       The code samples the above lines at a rate such that the minimum time low and minimum  time high for each pulse is 8 microseconds  each   shorter pulses may be missed     A standard sequence to use pulse based control of the system would thus be   1  Make certain that the TTL inputs  Y  through X   are all high     2  Set up the base microstep size as needed  for example  to step at the  maximum precision  issue a  1   to reset the controller to 1 64 step      Wait about 1 2 second for the reset to complete     4  Issue the correct winding control command  if needed  by default  the system  operates in mode  30   which is the microstep mode      Issue the  1E  command  to enable TTL based remote control     6  From now on  until the  OE   or reset  is issued  a  leading edge to zero   state change on any of the 4 TTL input lines will request a step in the  direction of that line     e For example  bringing  Y   low  for at least 5 microseconds  will request a  positive  micro  step on the Y motor  The Y  line must then be brought back high     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Additional notes on Direct TTL Step Control Page 4
66. hough     the Basic Stamp series can send this rate reliably  many of them cannot receive    at this rate without data loss  therefore  no attempt is made in this     sample to receive serial data from the controller     U E eE E E E KK KKK KK KK KKK KK KKK KKK T E KKK KKK T AA a       SSTAMP BS2       SimStep or BiStep connected as follows   y Serial Input P1 to SimStep B7 Serial output   i Serial Output p2 to SimStep B6 Serial Input   y busy p3 to SimStep B5 Status Output      HIGH   idle  LOW   motion in progress    1 AND busy NOT connected to 1K resistor to ground  force 9600 baud     PortStepperSerFrom con 1   Serial from stepper port  PortStepperSerTo con 2   Serial to stepper port  PortStepperBusy con 3   Busy line  PortStepperBaud con 84   Baud rate to generate 9600 baud      Must have no pull down resistor on busy line   PortStepperBusyTest var in3   Same as PortStepperBusy  used for input test  idMicroStep var byte   Gets microstep mode  cycles 0 to 3      Code restarts here if RESET button pressed  input PortStepperBusy   BUSY from stepper  pause 250   Wait for stepper power on cycle    serout PortStepperSerTo  PortStepperBaud    4       Reset the stepper  set 4 64 full step step size    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Basic Stamp    Sample Code Page 50    pause 1000     Wait for stepper to send its wake up copyright text  serout PortStepperSerTo  PortStepperBaud    80K       Set Stop OK to  can start stop at 80 microsteps sec   se
67. iew of determining the current requirements for your motor  our  system is best modeled using the standard resistor only based formula  ignoring  inductance  of     V IR  or  rearranging terms in order to find I   I V R    That is to say  the current  I  as seen by our board equals the voltage  V  from your  power supply divided by the resistance  R  of your motor windings  This value can be  much greater than that claimed by a given motor manufacturer  since most of them  assume that you are using a current controlled system to run their motors     For example  if you have a 3 ohm resistance in your windings  then the motor will  draw   6 3 or 2 amps if 6 volts is driven out of it  and it will draw 12 3 or 4 amps  per winding   if  12 volts is generated     2  Determine current requirement for actually operating the motor s     Once you have determined the motor current  then you will need to determine how you  intend to run it via our product offerings  We have four modes of operation  which provide  for three levels of power per motor  These modes are controlled by the  o  command   which specifies the technique used to drive the windings                       Update Order Absolute Recommended  Current Current  Multiplier Multiplier   0  single winding full step  1 0 1 4   1  half step  alternate 1  2 2 0 2 5   windings    2  full step  2 windings at a 2 0 2 5   time    3  microstep  1 7 2 3                Note that the  Recommended Current Multiplier  column in the above 
68. ilable then exactly one of the two possible jumpers  HLF  and  FUL  must be  installed in order to have correct firmware operation     Full Power Jumper  FUL     Enables Full Power Mode    The    FUL    jumper is only available on later artworks  such as the BSO710 artwork revision GR    If the jumper is not available on your board  then you configure full power mode by removing  the  S1K  jumper  above     If this jumper is available  then full power mode is enabled by installing this jumper  Do NOT  have both    HLF    and    FUL    installed at the same time  as that is not a supported configuration     Double Current Jumper R1K     Enables Double Current Mode    The R1K jumper is located just below the S1K jumper  If it is installed  then the board will  operate in its special DOUBLE CURRENT mode of operation  Please read the manual sections  describing this feature before enabling it     PotStepper Jumper s    PS 1 NORM PS 2  or PS and PSD    The PS1 NORM PS2 PS PSD jumpers are normally strictly configured at the factory as a hard   wired feature set of the board     If your firmware supports the  PotStepper  semantics  PotStepper or RelayStepper firmware    then this section will be jumpered as is appropriate for support of the firmware which is  installed on your system     On the A BS0610G artwork  operation using the GenStepper firmware requires this jumper to  be in the    NORM    position     On the A BS0610M or A BS0710  or later  artworks  the PS and PSD jumpers 
69. ing  1 8 deg step                           79   Jameco 173180 12 Volt  0 060 Amp winding  0 09 deg step geared            79   Jameco 174553 12 Volt  0 6 Amp winding  7 5 deg step                       s   79   sister                                          X 80  Jameco 117954 5 Volt  0 8 Amp  7 5 deG Ste   p        cceceeeeeeeeeeeeeeeeeeeeeeeeeees 80    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Table Of Contents Page 5  Jameco 155459 12 Volt  0 4 Amp  2100 g cm  1 8 deg step                      81  Jameco 163395 8 4 Volt  0 28 Amp  0 9 deg step                   sees 81  Jameco 168831 12 Volt  1 25 Amp             sssssssssseee eene 82    BS0610 BS0710 Motor Controllers    Peter Norberg Consulting  Inc     Disclaimer and Revision History Page 6    Disclaimer and Revision History    All of our products are constantly undergoing upgrades and enhancements  Therefore  while  this manual is accurate to the best of our knowledge as of its date of publication  it cannot be  construed as a commitment that future releases will operate identically to this described   Errors may appear in the documentation  we will correct any mistakes as soon as they are  discovered  and will post the corrections on the web site in a timely manner  Please refer to  the specific manual for the version of the hardware and firmware that you have for the most  accurate information for your product     This manual describes artwork BS0610G through BS0610M  and the BSO710 revision
70. input   SO  serial output     Only use the TTL serial if the JS jumper  located near the bottom left portion  of the board  is removed     Then  on the bottom we have     e On the A BS0610 series  there is a DB9 female connector on the bottom of each  board for RS232  There is also an option to replace the DB9 connector with a 3  pin SIP header     e On the A BSO710 series  there is a USB female connector on the bottom of the  board     Finally  going from top right down  we have   e X Motor connector  upper right   e Y Motor connector  center     e Power connector  lower right  provides separate motor and logic power     SX Key debugger connector                               Pin Name Description   1 GND Vss  gnd  for SX Key  2  5V  5 for SX Key   3 OSC2 Oscillator Input 2   4 OSCI1 Oscillator Input 1       This connector allows use of the Parallax  Inc     SX Key debugger programmer product  to    reprogram the SX 28 in place  If the SX Key is used as a debugging device  then  the resonator  XTL  MUST BE REMOVED  or damage to the SX Key may occur     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Board Connections Page 60    TTL Limit Input and Reset                            Name Description  GND Ground reference for inputs   short input to GND to denote  limit   RST Reset the microcontroller  when low   LY  Y Minimum limit reached  when low   LY  Y Maximum limit reached  when low   LX  X Minimum limit reached  when low   LX  X Maximum limit reached  wh
71. ives enough time for the stamp to reset for serial input          Since this is a relative seek on both motors  you can test the limit switches  easily      just ground one of the limit inputs  A0 A3  at a time  and observe which motor stops  going     which direction       Ground Direction    T Line Blocked    AO  Y  Al  Y  s A2  X    A3  X    1 ck ck ck KKK KKK KKK KKK KKK KKK KKK KKK KKK KK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK Sk ko k kk kc kokockok    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Basic Stamp    Sample Code Page 54       SSTAMP BS2       SimStep or BiStep connected as follows   J Serial Input P1 to SimStep B7 Serial output   y Serial Output p2 to SimStep B6 Serial Input     busy p3 to SimStep B5 Status Output      HIGH   idle  LOW   motion in progress    t AND busy connected to 1K resistor to ground  force 2400 baud     PortStepperSerFrom con 1   Serial from stepper port   PortStepperSerTo con 2   Serial to stepper port   PortStepperBusy con 3   Busy line   PortStepperBaud con 84   Baud rate to generate 9600 baud   PortStepperBusyTest var in3   Same as PortStepperBusy  used for input test  idMicroStep var byte   Gets microstep mode  cycles 0 to 3    szSerString var byte  2    Only used if you enable debug mode  see comments       Code restarts here if RESET button pressed    input PortStepperBusy   BUSY from stepper  pause 250     Wait for stepper power on cycle  serout PortStepperSerTo  PortStepperBaud    1        Reset the step
72. l blow out  our board and you may blow out your power supply  If you are operating a  unipolar motor and you short a common lead to a winding pin  WA or WB   then  you will blow out our drivers  Similarly  any winding which is shorted to any  other winding may burn out our board  If you are setting up to use double   power mode  connecting one motor to both the X and Y motor connectors in  order to drive a larger motor   failure to follow the instructions in the     Configuring Double Current Mode    section of this manual will also cause the  board to fail  None of these issues are warranted failures  repairs for such are  not covered     After winding lines have been determined  identifying a running sequence can be done by  testing the lines using following sequence  connecting to the X motor with clip leads   Turn off power to the board in between each test  so that power is not on while you  change the wiring     For wires A  B  C  and D  where A  B  C  and D are initially connected to the WA1  WA2   WB1  and WB2 lines  try these orders                          WA1 WA2 WB1 WB2  1  A B C D  2  A B D C  3  A D B C  4  A D C B  5  A C D B  6  A C B D                         BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Wiring Your Motor Page 74    For each pattern  request a motor motion in each direction using the applicable technique   e GenStepper Firmware  using a terminal emulator     o  Issue the command  x1000gi0gi   which should cause the motor t
73. long it has to then let the motor run at the target stepping rate    e Determine how long it will need to ramp the motor to stop it  which is the same  time as that for starting the motor  above      e Actually perform the action    The code ALWAYS starts from a stop  due to issues of timing  Therefore  if a  Goto  is  performed while the motor is running  the system will first stop the motor  as in the    Z     command   and then restart it based on its then current location     For example   X1000gy 25687g  Would   1  Select the X motor for actions  2  Start a GOTO on motor X to location 1000  3  Select motor Y for actions  4  Start a GOTO on motor Y to location  25687    Note that the two goto operations continue asynchronously until completed  unless a new  command  such as a stop for that motor  or a change in direction request  is received   The current location for a given motor may always be requested  through the   1  report   For example     x 1   Could report  X  1 350         while the motor was still on its way to the requested location     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 28    H     Operate motors at  2power       H    mode may be used to run a motor at a higher than rated voltage  in order to improve  its torque  When  H  is set to    1     then the PWM  Pulse Width Modified  count used to drive  each winding is divided by two  thus cutting the effective current to the motor in half     The two settings fo
74. microsteps second second     3  This phase would last for approximately 500 250 or about 2 seconds  and would  cover about 500 microsteps of distance     4  It would then stay at the 500 microstep per second target rate until it was about  500 microsteps from its target location  i e   at location 1500  which would take  another 2 seconds of time      5  It would then slow down  again at a rate of 250 microsteps per second  until it  reached the stop oK rate  As with the acceleration phase  this would take about 2  seconds     6  The total distance traveled would be exactly 2000 microsteps  and the time would  be 24 242 6 seconds  actually  very slightly less      BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 32    R     Set run Rate target speed for selected motor s     This defines the run rate to be used for the currently selected motor  It may be specified  to be between 1 and 62 500 microsteps per second  If a value of 0 is specified  the code  forces a value of 400  If a value outside of the limits is specified  then it is accepted  but  the code will not operate reliably  As with the ramP rate  do not specify values outside of  the 1 62 500 legal domain     This defines the equivalent number of microsteps second which are to be used to run the  currently selected motor under the GoTo or Slew command  The internal motor position is  updated at this rate  using a sampling interval of 62 500 update tests per second  The  motor win
75. mmand is simply ignored  other than sending a response of      However  if  a numeric input was under way  that value will be treated as complete  For example     123 456G    would actually request a    GoTo location 456   Since the     command is illegal  it is  ignored  however  it terminates interpretation of the number which had been started as  123     Note that  upon completion of ANY command  including the    ignored    commands   the  board sends the   carriage return     line feed   pair  followed by the     character     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 45    More Examples  For example   Y 1000 R    Would set the Y rate to 1000 steps second  The spaces are optional  and  would not prevent the code from working  however  an extra     lt cr gt  lt lf gt       sequence would be sent by the board for each space seen     B50R   Would set both the Y and X rates to 50 steps per second  300YG   Would go to Y location 300    800G  Would go to location 800 on the most recent motor  in this example  Y    Y S  Would start slewing in the minus direction on Y motor   Y SX3S  Would start slewing positive on Y motor  and would go   3 steps on the X  motor   X1SSS  Would step forward 3 steps on the Y motor  since the calculation is based on  the CURRENT TARGET location at the time of the command if the motor is  currently executing a GOTO or relative step slew  and is otherwise based on  the current MOTOR location  This is thus 
76. mmunications  using the RS232 C  standard  It is directly compatible with a normal male female DB9 connection to a  computer     The SIP header option replaces the DB9 connector with a fully labeled MTA 100 connector  for access to the same signals  as well as to the board s  5 power     USB B Serial  A BS0710     On the A BS0710  there is a standard USB B female connector for use with a standard  USB A B cable to the computer     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Board Connections Page 62    Power Connector  labeled here top to bottom  And Motor Voltages                            Name Description   GND Ground for Vm    Vm 4 5 34 volts  for the X and Y motors   GND Ground for Vc   TVC Normally configured as  6 5 15 volts for the  logic circuits  This may also be configured as   5 0 volts  bypassing the onboard regulator       The power connector has two sets of power and ground pins  This is mainly to make it  possible to deliver power to high voltage motors  i e   any motor which needs more than  15 volts  while still powering the logic circuit off of its required 7 5 to 15 volts     There are several ways of powering the system  which are dependent upon the current  and voltage requirements of the system and on the board version  One or two power  supplies may be used  depending upon the voltage needed by the motors and upon  whether extra cooling can be applied to the 2940 voltage regulator  If the motors require  more than 15 volts to oper
77. nd hence may be of use     e  H    Half power  e  O   step mOde  e        set location  e          Reset the controller  abort all actions  restart system     All of the other commands may be used with no negative effects on timing in the system     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Basic Stamp    Sample Code Page 48    Basic Stamp  Sample Code    The StepperBoard series of boards may all be used with the Parallax  Inc    Basic Stamp      series of boards  The connection to the StepperBoard product is usually via three of the pins  on the J1 connector  READY  B5   SERIN  B6   and SEROUT  B7    with the MAX232 IC  removed from its socket  The remaining input pins on the J1 set of connectors may be wired  or not  as needed by the application  Most of the time  they will be left unconnected  to     float         Communications between the two boards may be performed either at 9600 baud  the default    or 2400 baud  via a configuration option   Normally  operating at the 9600 baud rate is  recommended  use the 2400 baud rate only if you cannot make your code work at 9600 baud   You must use the    V   erbose command to configure the controller to pause one character time  before sending responses to the Basic Stamp  to avoid data synchronization issues     The sample code provided by Peter Norberg Consulting  Inc  assumes that the following  connections have been made between the StepperBoard and the Basic Stamp     e READY  B5  connected to P3  e 
78. nd pin is available near the LY  pin  They are fully TTL compatible   therefore driving them from some detection circuit  such as an LED sensor  will work  The  lines are  pulled up  to  5V with a very weak  10 20K  resistor  internal to the SX 28  microcontroller     The stop requested by a limit switch normally is  soft   that is to say  the motor will start  ramping down to a stop once the limit is reached   it will not stop instantly at the limit  point  unless a special firmware option is ordered   Note that if a very slow ramp rate is  selected  such as changing the speed at only 1 microstep per second per second   it can  take a very large number of steps to stop in extreme circumstances  It is quite important  to know the distance  in microsteps  between limit switch actuation and the hard  mechanical limit of each motorized axis  and to select the rate of stepping     R      rate of  changing rates  the slope   P    and the stop rate     K     appropriately     As the most extreme example possible     e if for some insane reason the motor is currently running at its maximum rate of  62 500 microsteps per second     e and the allowed rate of change of speed is 1 microstep per second per second   e and the stop rate was set to 1 microstep per second     e then the total time to stop would be 62 500 seconds  a little over 17 3 hours     groan    with a distance of   v 2  or    62 500  2  or 1 953 125 000  microsteps     e Note that this same amount of time would have be
79. ng  Inc     Hardware Configuration Page 15    Power On  and reset  Defaults    In addition to the above hardware straps  the board acts at power on  or reset  as if the  following serial commands have been given     3072A   Set the Automatic Full Step rate to be  gt  3072 microsteps second  B   Select both motors for the following actions   O    Reset both motors to be at location 0   OH   Set motors to full power mode   80K   Set the  Stop OK  rate to 80 microsteps second   30   Set the motor windings Order to  microstep     8000P   Set the rate of changing the motor speed to 8000  microsteps second second    800R   Set the target run rate for the faster motor to 800 microsteps second  OT   Enable all limit switch detection  1V   Set   CR     LF   sent at start of new command  no transmission delay time    OW   Full power to motor windings    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     USB Driver Installation Under Windows for the A BSO710 unit Page 16    USB Driver Installation Under Windows for the A BS0710 unit    The A BS0710 boards use a USB driver chip for communications with your hosting computer   FTDI  http   www ftdichip com  provides drivers for operation under Windows   Linux  and  Mac OS  Our installation disk includes modified copies of their Windows   drivers  our newest  boards use a unique ID code which prevents them from being recognized by the default FTDI  drivers  All Linux and Mac OS customers must download their drivers directly f
80. nt parameter value  x   the M command will either cause the selected  stepper s  to record its  their current position as the  marked  point  or will cause the  location to be treated as a  goto  command     x 0   Mark current location for a later  go to mark  request    x 1   Go to last  marked  location    O   step mOde     How to update the motor windings    The windings of the motors can be updated in one of three ways  depending on this step  mode setting  By default  the code uses  micro step  mode set for 8 steps per complete  full step  and performs a near constant torque calculation for positions between full step  locations  The other modes include two full step modes and an alternating mode  For the  full step modes  one enables only 1 winding at a time  low power   while the other enables  2 windings at a time  full power   The remaining mode alternates between 1 and 2  windings enabled     The values which control this feature are   e 0  Full Step  Single winding mode  1 2 power full steps   e 1  Half step mode  alternate single double windings on   non constant torque   e 2  Full step  double winding mode  full power full steps     e 3  Microstep  as fine as 1 8 step  constant torque mode   This is the  power on reset default stepping mode     For example   00   sets the above   power full step mode  while  3o   sets the default microstep mode     The  o  command does NOT affect the current step rates or locations  it only affects how  the windings are updated  
81. ntroduction and Product Summary Page 8    Introduction and Product Summary    Please review the separate    First Use    manual before operating your stepper controller for  the first time  That manual guides you through a series of tests that will allow you to get your  product operating in the shortest amount of time     The BS0610 and BSO710 microstepping motor controllers from Peter Norberg Consulting   Inc   has the following general performance specifications                                         Unipolar Motor Yes  Bipolar Motor Yes  Maximum Motor supply voltage  Vx and 34V  Vy    Maximum Logic supply voltage  Vc  15V  Quiescent current  all windings off  250 mA  Maximum winding current  per motor 1 0A  winding  requires external fan to   operate    Board size 2 25    x 3 0     Dual power supply capable Yes       Each board can be controlled simultaneously via its TTL input lines and its 2400 to 9600 baud  serial interface  If the TTL inputs are used alone  then simple pan  tilt  and rate of motion are  provided via 5 input switch closures to ground  additional lines are used as limit of motion  inputs  When operated via the serial interface  full access to the controller s extreme range of  stepping rates  1 to 62 500 microsteps per second   slope rates  1 to 62 500 microsteps per  second per second   and various motor motion rules are provided  Additionally  a special  mode may be enabled which allows an external controller to provide its own step pulses   allowing
82. o spin to  logical location 1000  then back to 0  Wait for the         response after each  sub command  the  h    x    g   and  i  commands  before typing the next  command  in order to let the firmware finish processing the request     e NCStepper Firmware  using a terminal emulator     o Issue the command  1000xg0xgi   which should cause the motor to spin to  logical location 1000  then back to 0  Wait for the     response after each  sub command  the  h    x      g     and  i  commands  before typing the next  command  in order to let the firmware finish processing the request     Only when the motor is wired correctly will you get smooth motion first in one direction  and then the other     Once a possible pattern has been determined  you may find that the direction of rotation is  reversed from that desired  To reverse the rotation direction  you can either turn the  connector around  this may be the easiest method  if a SIP style connector is used   or  you can swap both the WA  swap pin 2 with pin 3  and WB pins  swap pin 4 with pin 5    For example  to reverse    ABCD  rewire as  BAD C     For the purposes of testing  the default power on rate of 100    steps second should work  with most motors  Otherwise  use the serial connection to define the precise rate needed     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Single motor  double current mode of operation Page 75    Single motor  double current mode of operation    When operating a single mo
83. o the    OW    command   At the time of  ordering the product from us  you may specify the default idle winding mode to be any of  our valid values  see the  W  command for details      Default Limit Switch Stop Mode    Normally  the firmware defaults to treating a limit switch input as    soft     that is to say  the  firmware issues a    z    command when a limit is reached  This can be ordered as a    hard     stop   the board will INSTANTLY stop the motor when a limit is reached  Note that  damage to gear trains is possible if this option is ordered     Default    E    mode startup    Normally  the firmware defaults starting up with the  e  command  direct pulse step   control  disabled  When you order your board  you may request any of the legal  e  modes  to be enabled upon startup     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Firmware Configuration At Time of Ordering Product Page 13    Default Double Current Operation  R1K jumper operation     Normally  the GenStepper firmware is configured to operate two motors independently of  each other  The    Double Current    mode of operation allows one motor to be run at up to  twice the rated current of the board  assuming that everything is connected correctly  see  the later manual section on double current operation   By default  the    Double Current     mode is enabled by installing the R1K jumper  however  at the time of ordering  you may  request that this mode be the only way that the controll
84. olar motors  each winding has three leads  The center tap  shown in  the above schematics as  COMMON A  or    COMMON B     is connected to the GND signal in  the BiStep series controllers  or to  Vm on the SimStep SS0705 series of controllers  The  other two leads are connected to pins WA 1 and WA 2 or WB 1 and WB 2  as shown in the  above schematics  For bipolar motors  the windings match the labels   that is to say  pins  2 3 are for winding B  and 4 5 are for winding A  Note that the unipolar motors will also  match the labels  but it may be more difficult to identify the windings     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Wiring Your Motor Page 71    Determining Lead Winding Wire Pairs    If there is no manufacturer   s wiring diagram available  unipolar and bipolar motor windings  can both often be identified with an ohm meter by performing tests of their resistances  between the motor leads     For any motor  number the leads  from 1 to 4 for a bipolar motor  from 1 to 5 or 6 fora  unipolar motor   Then measure the resistances and record the values in the empty cells in  a table like the following                                                     For example  the cell at location  1 2  would be filled in with the resistance between leads  1 and 2  The    entries show values which do not need to be separately measured  since  they are already measured in another row column pair  or are a self reading   For  example  having measured the resist
85. ols power levels to use during normal stepping  It is acted on immediately   that is  to say  if the current motor s  is  are  stopped  then the windings are immediately  engaged or disengaged as requested     The values to use for control are     Ow   Full power during steps  completely off when stepping completed   default setting     iw   Full power at all times  both during steps and when idle   2w   Full power during steps  50  power when idle    This mode is used to reduce power consumption for the system  When windings are  disengaged  they draw very little power  however  their full rated power is drawn when  they are engaged  If windings are off  then the stepper motor will  relax   and will move  on its own to a  preferred location   controlled by its fixed magnets  thus inducing up to    step s worth of positional error   If they are on  the motor is actively held at its requested  location  and the motor itself heats up   If mode 2 is used  the 50  power setting   then  the windings are pulsed at about   of the normal rate  thus the power requirements are  1   2 of the normal amount for the given location  after a goto or slew has completed     X   Select motor X  This command selects X motor as the target for the following commands   For example     X100r    Would cause the step rate to be set to 100 for motor X     Y   Select motor Y  This command selects Y motor as the target for the following commands   For example   Y100r  Would cause the step rate to be set 
86. ost recent one seen is the one  used at any given time  It is legal to have one command line actually operate multiple  controllers     All other text is passed  unchanged  to the controller  SerTest is aware of the general  command structure for the StepperBoard product line  thus  it will correctly wait for  synchronization each time a complete command is sent  All data received by SerTest is  echoed back to the command prompt  thus allowing the operator to see the response to any  command  or set of commands      For example   Sertest 4 x1000gy 2000gi  Would   1  Operate at 9600 baud on COM1 using a 1 minute time out  2  reset the board to operate with a microstep size of 4 64  3  tell the X motor to go to location 1000   4  tell the y motor to go to location  2000     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Page 57    5  and wait up to 60 seconds for the motions to complete    Similarly   SerTest  pCOM2  b2400  i10000 y 5000s  Would   1  Operate using port COM2 at 2400 baud  with a timeout of 10 seconds  2  Tell the Y motor to seek forward 5000 steps    StepperBoard dll     An ActiveX controller for StepperBoard products    The StepperBoard dll object is a fairly comprehensive sample Visual Basic COM ActiveX  application which allows any COM aware system  such as VBScript based scripts  to easily  control the StepperBoard products  As with the SerTest application  all sources are provided   so that the user may change the system as needed     The
87. otor ilie Rr IIR RID pM a N a Usb R UAE 36      RESET   all values cleared  all motors set to  free   redefine  microstep  Duplicates Power On Conditions                   sese 37      Define current position for the current motor to be  x   stop the  MOTOL eer MC 38  f   REPORt Status  iude ette ert eue ne ed heed Tem E RUM RIRRI A ERR RM Ne stated wane 39  other   Ignore  except as  complete value here                  ssssssseeesesese 44  More  Examples  epe etra e ERE irr IEIEI MERKUR NA RENE  PRA rue 45  Additional notes on Direct TTL Step Control           ccececee cece cence eee eee eee eee eee neta ee ea ea ea eene 46  Basic Stamp  Sample Code        ccccccecccceeeeceneeeeaeeeceeeeesseeeeeaeeeeseeeeeseeeeseaseeseaeetsansesaeeeeee 48  Listing for GENDEMO BS2   9600 Baud  READY line based                       sees 49  Listing for GENDEMOSER BS2   9600 baud  serial based        sssssrssisrrrrererrrerrrrrrene 51  Listing for GENSEEKSER BS2   9600 Baud  serial based  complex actions               53  SerTest exe   Command line control of Stepper motors       s ssssssssssrssrssrrsrrnsrurrrsrrnrrnrnnernnnn 56  StepperBoard dll   An ActiveX controller for StepperBoard products                   sssesessess 57  Board Connections  ues peces te pex deed A EE ERE I E Ad Kia ER DQUETRRAIKERARR REA 58  Board  Sizer a eiie derdadd adele deam LR EINER clase eh Per Ru ede cb cEr Lu Ue 58    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Table Of Contents Page 4    
88. per  set 1 64 full step step size  pause 1000     Wait for stepper to send its wake up copyright text  serout PortStepperSerTo  PortStepperBaud    2V       Set short responses  but add delay before response  serout PortStepperSerTo PortStepperBaud    320K       Set Stop OK to  can start stop at 320 microsteps sec   serout PortStepperSerTo  PortStepperBaud    6000A       Set auto switch to full power mode to 6000 microsteps sec      only Y will do it  serout PortStepperSerTo  PortStepperBaud    X       For demo purposes  Select just X for a moment  serout PortStepperSerTo PortStepperBaud    4000p      For demo purposes  set X slow ramp of 4000 microsteps sec  serout PortStepperSerTo PortStepperBaud    4000R      For demo purposes  set X target rate of 4000 microsteps sec  serout PortStepperSerTo  PortStepperBaud    Y      For demo purposes  Select just Y for a moment  serout PortStepperSerTo  PortStepperBaud    7000p     For demo purposes  set Y faster ramp of 7000 microsteps sec  serout PortStepperSerTo PortStepperBaud    8000R      For demo purposes  set Y target rate of 8000 microsteps sec  serout PortStepperSerTo PortStepperBaud    B       For demo purposes  Select both X and Y for remaining actions  idMicroStep   0     Start at microstep 0                                                    loop   serout PortStepperSerTo  PortStepperBaud   dec idMicroStep  o      Set microstep mode  Serout PortStepperSerTo  PortStepperBaud     16000s      Go forward 16000  real  full step 
89. quest on the associated motor  The restriction of timing is that each direction line   x   or  y    must be stable at least 20 ns before the low going edge of the associated step  line  x     or    y       and must remain stable for at least 8 microseconds     If the extra feature of  Limit switch control of the motor current  is requested  for example  through the mode of    6E      then the limit switches are interpreted as follows              Limit Description  Switch  LY  High means enable the Y motor  low means disable the Y motor   that is to say  if LY  is low  the Y motor is off   LY  If the Y motor is enabled  LY  is high   then LY  controls the    motor current used  High means use full current  low means  use 2 current           LX  High means enable the X motor  low means disable the X motor   that is to say  if LX  is low  the X motor is off   LX  If the X motor is enabled  LX  is high   then LX  controls the    motor current used  High means use full current  low means  use V2 current                 BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 27    G     Go to position x on the current motor s     This is used to cause the currently selected motor s  to travel to the indicated location   from the current Value   The software will     e Calculate the direction and distance of travel    e Determine how long it has to    ramp    the motor to go from its current start rate to  the standard target rate    e Determine how 
90. r this are   OH   Run in normal FULL POWER mode  this is the power on reset default   1H   Run in   power mode    Note that if the    2W    mode is selected  for leaving windings on at   power when motion  ceases   then the windings are actually left at   power during idle  Please review the  separate document  HalfPowerNotes pdf  for a complete description of correct  use of this capability     The BS0610 and BSO710 series of boards have a jumper labeled as  S1K  which may be  used to automatically select 2 power mode at power on  If it is installed  then the board  will configure itself for   power operation  if it is not installed  the board will normally  configure itself for full power operation     Note  however  that on USB Powered boards  such as the AR BSO710USB   firmware  versions prior to 2 13 may incorrectly run in   power mode regardless of whether the S1K  jumper is installed  The failure only occurs if you power the board on when it is NOT  connected to your computer via the USB system  if you are using USB  you will normally  get correct operation of the system     If you are not using USB  and you are experiencing the above problem  then you have 3  options     1  If you are using TTL Serial to    talk    to the board  simply issue the    OH    command at  any time that the board is powered on or reset  This will force the board to  operate in its full power mode  with no other changes to your code     2  If you are operating the board without any form of se
91. ramp rate at     1000 uSteps sec sec      The target ramp rate is 1000 uSteps second      The auto power switch mode  the  A  command  is left at its default of 3072     which is equivalent to 192 full     steps second       Note that both motors are selected for the actions by default     It then enters the speed test loop       The code first waits for the stepper unit to report idle      and it is instructed to move to logical location 2000  in  1 16th steps       Note that this is full step location 62 5       This is then followed by a move to location 0  and then a new stepping mode    is selected  A 1 5th second pause is inserted to make it easy to identify    when the cycle is occurring  All three modes of stepping are cycled     1 Mode Use   y 0 Single Winding mode  1 2 power full steps      al Half step mode  alternate single double windings on      2 Full step mode  double windings on      3 Microstep mode  full microstep processing  DEFAULT MODE       SPECIAL TIMING NOTE  It can take the SimStep BiStep up to 100 uSeconds to respond to    a new serial  go  command  goto or slew   therefore  you must always wait     a small amount of time  at least a few milliseconds uSecs  before testing the  busy     line  since    you may get a  false idle  response          Additional note  The SimStep BiStep products normally operate at 9600 baud      Although the Basic Stamp series can send this rate reliably  many of them     cannot receive at this rate without data loss  the
92. refore  a special patch has     been made available to the GenStepper versions 1 75 and later  to allow for   slowing down  of the response to a command  By issuing the  2V  command  the     code will wait one complete character time  about 1 millisecond  before sending a    response  this gives enough time for the stamp to reset for serial input     Ck ck kk Sk ck kk Ck kk kk kk kk Sk ck kk kk ck kk ck ck ck Sk Sk ck kk ck ck ck ck ck ck ck ck ck ck ck ck kk ck ck kk ck ckock kk ko ko ck ko Sk ko k ko ko ko ko ko ko          SSTAMP BS2       SimStep or BiStep connected as follows     Serial Input P1 to SimStep B7 Serial output     Serial Output p2 to SimStep B6 Serial Input   t busy p3 to SimStep B5 Status Output   t  HIGH   idle  LOW   motion in progress      AND busy connected to 1K resistor to ground  force 2400 baud     PortStepperSerFrom con 1   Serial from stepper port   PortStepperSerTo con 2   Serial to stepper port   PortStepperBusy con 3   Busy line   PortStepperBaud con 84   Baud rate to generate 9600 baud  PortStepperBusyTest var in3   Same as PortStepperBusy  used for input test  idMicroStep var byte   Gets microstep mode  cycles 0 to 3    szSerString var byte  2    Only used if you enable debug mode  see comments       Code restarts here if RESET button pressed    input PortStepperBusy   BUSY from stepper    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Basic Stamp    Sample Code Page 52    pause 250    Wait for stepper power on cycle  serou
93. reset  or software reset action  The features are  selected by adding jumpers to the board     Configuring Half Power Mode  equivalent to the    H    command     Half Power mode allows you to operate motors at higher voltages  while still operating at  their nominal current  This can allow you to either operate motors whose nominal voltage  is otherwise too low for our products  or to force motors to be able to operate at higher  speeds  Determining the correct voltage to use is a non trivial task  please see  the separate manual    Half Power Notes    for full details about this option before  attempting to use it     This mode may be configured by installing the S1K jumper which is located near the DB9   or USB  connector on earlier boards  or by installing the HLF jumper on later artworks   The hardware selection may be changed at any time through issuing the  1h  or  Oh   commands  as described elsewhere in this manual  However  by operating through use of  this hardware strap  you are much less likely to ever  blow out  a board by failing to issue  the  1h  command after a power on or reset condition     Please refer to the manual section  Board status and TTL Serial  for information on where  to find the SO signal     This hardware strap is available on firmware versions 1 71 and later  As of firmware  version 2 10  this strap may be optionally redefined to mean  operate at   of the  standard baud rate   if requested at the time of the order     The BS0710 revision GR a
94. rial  but you need it to power  up in full power mode  and it is not   then you can install a 1K resistor between  the SO connector signal and the  5 pin on the programming header near the limit  switch connector  Assuming that you also remove the S1K jumper  this will fully  bypass the issue  and will permit the board to start up in full power mode     3  You may contact us for an update to version 2 13 or later of the firmware on your  board  which requires you to return the board to us   This will also bypass the  issue     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 29    I   Wait for motor    Idle       This allows your code to  wait  for the currently selected motor s  to  both  be idle  The  code simply waits for either the selected motors to have completed their motion  see the  X  Y  and B commands  or for the next serial character to be received  and then it  transmits the     prompt  ready for next command   Note that  if the wait is stopped by  receipt of a new character  then the new character IS processed as part of a new  command   it is NOT discarded     For example  to go to a given X location  and then wait for the motor to actually get there   you could simply issue the command sequence     Send Receive   X     2000G    note that the     is received as soon as the motion starts    I    note that this     is not received until the motion completes     If you send a character before receipt of the final          abo
95. rom the  http   www ftdichip com site  as we have no support capability for those platforms  They will  also have to special order the boards from us such that we configure them to respond to the  standard FTDI drivers  Look for the drivers and documentation that relate to their FT232RL  device           A short summary of the installation of the drivers under Windows follows  For installation  under Linux or on the Mac  please refer to the FTDI documentation available from their web  site     Base Driver Installation Under Windows    Installation of the drivers under Windows is fairly straightforward  If you are installing under  Windows Vista     you should read our more complete installation instructions as found in our   FirstUse  document  The key additions to the following list when installing under Vista are  that you must be logged in as an administrator  and Vista will give you several extra  verification prompts in order to confirm that you really want to do this  say    Yes         A short summary of the procedure under XP follows  along with a description of the  adjustments that should be made to the COM emulator port settings after installation has been  completed     1  Thanks to the  magic  of  Plug N Play   connect the board to your computer  use a  normal USB A B cable of the appropriate length  connecting the    A    side to your  computer USB slot  and the  B  side to our board   Make certain that the board is  NOT on any sort of conductive surface  for ex
96. rout PortStepperSerTo  PortStepperBaud    1000p       For demo purposes  set a slow ramp of 1000 microsteps sec  serout PortStepperSerTo  PortStepperBaud    1000R       For demo purposes  set a target rate of 1000 microsteps sec  idMicroStep   0     Start at microstep 0    loop   serout PortStepperSerTo PortStepperBaud   dec idMicroStep  o      Set microstep mode  serout PortStepperSerTo PortStepperBaud    2000g      Go to location 2000  gosub WaitReady    Wait until ready  serout PortStepperSerTo  PortStepperBaud    0g      Go back to 0  idMicroStep    idMicroStep   1   amp  3    Cycle step type  gosub WaitReady   Wait until ready  pause 200   wait 0 2 seconds before we cycle  goto loop   Cycle forever  WaitReady   pause 100   Wait 0 1 seconds for prior character to be processed  if PortStepperBusyTest   0 then WaitReady  Wait till not busy  return    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Basic Stamp    Sample Code Page 51    Listing for GENDEMOSER BS2     9600 baud  serial based    KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK KKK Sk Sk ko ko ko ko kx     modname  gendemoser bs2      nokeywords     Demonstrates some of the serial commands using goto and serial response to         the SimStep and BiStep     set of controllers from Peter Norberg Consulting  Inc    Lu     The tool first initializes the stepper to operate at 16 microsteps full step     with the start stop rate being 80 uSteps second  and the 
97. rtwork replaces the S1K jumper with two jumpers  FUL and HLF   To operate the board in its full power configuration  place the jumper in the FUL position   To operate the board in its half power configuration  place the jumper in the HLF position     The BS0710 revision HI artwork deletes the  FUL  jumper  but retains the HLF jumper  To  operate the board in its full power configuration  remove the jumper  To operate the  board in its half power configuration  place the jumper in the HLF position     Configuring Double Current Mode     Double Current  mode allows the controller to operate a single winding motor at up to  double the rated level of the board  see the manual section  Single motor  double current  mode of operation  for more information about this capability      You configure the board to operate this way by installing the jumper in location  R1K    located near the DB9 or USB connector      Please refer to the manual section  Board status and TTL Serial  for information on where  to find the required signals     Cooling Requirements    If you are operating motors that require more than 600 mA of current per winding  or if  your motor voltage exceeds 15 volts  then you must provide for fan based cooling of the  board  We suggest at least 8 10 CFM  directed either across the top of the board  or  downward towards the board  so that both the 2940 and the driver chips are in the direct  path of the airflow      BS0610 BS0710 Motor Controllers Peter Norberg Consulti
98. s    slewed    in the requested direction at the  current rate  as long as the indicated signal is at ground level  Illegal combinations  such  as Y  and Y  both being low at the same time  are treated as    stop     to avoid confusion   As with all other operations of the system  each motor is accelerated to the current rate  using the ramp rate defined within the code  which defaults to 4000  microsteps second second      The    Change Rate    action simply selects the    next    rate from its standard internal table of  rates  and sets that rate as the requested rate for both motors  The standard rates  currently provided after power on reset are     e 16 microsteps  1 full step  second   e 40 microsteps  2 5 full steps  second   e 80 microsteps  5 full steps  second   e 160 microsteps  10 full steps  second   e 400 microsteps  25 full steps  second   e 800 microsteps  50 full steps  second  this is the power on default   e 1600 microsteps  100 full steps  second   e 4000 microsteps  250 full steps  second   e 8000 microsteps  500 full steps  second    Be forewarned that there is no way for the software to tell that a motor cannot operate at  a given rate  On power on  the default microstep is 1 16  of a full step  therefore  the  default rates range from 1 to 500 full steps second  Changing the microstep size does  change the above real  full step  rates   see the       command for more details     FIRMWARE VERSION WARNING  Firmware versions 2 9 through 2 16 did not corre
99. s A  through C  The firmware release described is GenStepper version 2 18  The manual version  shown on the front page normally has the same value as the associated GenStepper version   If no manual has yet been published which matches a given firmware level  then the update is    purely one of internal details  no new features will have been added     As a short firmware revision history key points  we have                                                                 Version Date Description   2 1 February 20  2005   Added order only options for whether limit switch  inputs are  instant  or act like  z     Removed  hardware jumper option for enabling  e    mode at  reset  this is now an order option  Removed  2400 baud operation  changed  RDY  jumper to  enable double current mode    March 31  2005 Corrected documentation error related to double  current mode  some examples still incorrectly  referred to the old limit switch technique    2 2 April 19  2005 Added order only option for starting controller up  in    Double Current Mode    without the 1K  configuration resistor   2 3 May 14  2005 Internal change for ease of assembly  no feature  changes   2 5 March 15  2006 Added BS0710  USB  notes  as well as new  layout under artwork version M for BS0610   2 9 July 14  2006 Added option for TTL control of motor current  during step and direction mode of operation   2 10 July 25  2006 Added order only option for power on S1K  selection of baud rate  as  Dual Baud Rate   feat
100. st  Once that has been issued  the motor is placed in    a special state  stopping  no target   which permits relative slew to be from the current  location     For example  to go  500 steps from the current location  regardless of whether the current  action is a slew or a targeted goto  issue the command     z 500s    BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 34    T  limiT switch control  firmware versions 1 65 and above     The limi   T    switch command is used to control interpretation of the board limit switch  input  By default  after power on and after any reset action   the board is  configured to respond to each of the four limit switches  that is to say  all of the  limit switches are enabled  Control of this feature allows the board to more easily  control rotary tables  which may only have an    index    switch instead of a    left and right  limit    switch    Please note that this capability was introduced in firmware version 1 65  It is not available  in earlier releases of the firmware     The command takes a bit encoded parameter  which lists which switches are to be blocked  from action  Note that in version 1 80  the feature of control of the sense levels  for the limit switches was added  The values are                                   Bit Numeric Sum Action  Value  0  1 Block Y   l  2 Block Y   2  4 Block X   3  8 Block X   4  16 Sense level  LY   5  32 Sense level  LY   6  64 Sense level  LX   3  128 Sense
101. st assumes that the board is correctly configured to  talk  to the com port  in the case of  the A BS0610 or A BS0710 board using its on board serial driver  the  JS  jumper must be  installed for the TestSerialPorts application to be able to locate the board     When TestSerialPorts starts  simply press the  Scan Serial Ports  button  you may safely  ignore the other buttons   The application will then perform its scan  and will identify every  COM port on your system  It will also identify the baud rate for each connected board     If TestSerialPorts does not locate your board  please contact us for additional tests to perform   Remember that the board must be connected to your computer and powered on  and the FTDI  USB drivers must be correctly installed  for our USB based boards  for TestSerialPorts to be  able to locate the board      Please note that the TestSerialPorts application will locate our board even if you have not  adjusted the default USB COM port properties  as described in the next section     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Page 18    Adjusting Default COM port properties for best operation    Once the system has created the COM port for the board  you may need to change the system  defaults to match the requirements of our motor controllers  If you installed from the     FtdiStepperBoard    subdirectory  then these changes will normally have been done for you   Otherwise  you will need to perform the following procedure  
102. t PortStepperSerTo  PortStepperBaud    4       Reset the stepper  set 4 64 full step step size  pause 1000    Wait for stepper to send its wake up copyright text  serout PortStepperSerTo  PortStepperBaud    2V      Set short responses  but add delay before response  serout PortStepperSerTo  PortStepperBaud    80K      Set Stop OK to  can start stop at 80 microsteps sec   serout PortStepperSerTo  PortStepperBaud    1000p      For demo purposes  set a slow ramp of 1000 microsteps sec  serout PortStepperSerTo  PortStepperBaud    1000R      For demo purposes  set a target rate of 1000 microsteps sec  idMicroStep   0    Start at microstep 0       loop    serout PortStepperSerTo  PortStepperBaud   dec idMicroStep  o       Set microstep mode  serout PortStepperSerTo  PortStepperBaud    2000g       Go to location 2000  gosub WaitReady   Wait until ready  serout PortStepperSerTo  PortStepperBaud    0g     Go back to 0  idMicroStep    idMicroStep   1   amp  3   Cycle step type  gosub WaitReady   Wait until ready  pause 200   wait 0 2 seconds before we cycle  goto loop   Cycle forever    WaitReady   l DEBUG  Waiting      serout PortStepperSerTo  PortStepperBaud    00I       wait for ready  the leading 0 s flush BiStep s output queue    SerIn PortStepperSerFrom PortStepperBaud   WAIT          And wait for done  i SerIn PortStepperSerFrom  PortStepperBaud   STR szSerString 1     DEBUG  Saw     STR szSerString       HEX szSerString 0        CR   return    BS0610 BS0710 Motor Controllers Pe
103. t of a new command character  This really means that the first  data bit of a response to a command will not occur until at least 7 8 bit intervals after  completion of transmission of the stop bit of that command  about 750 uSeconds at 9600  baud   for the Basic Stamp    this is quite sufficient for it to switch from send mode to receive  mode     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 23    Serial Commands    The serial commands for the system are described in the following sections  The code is case   insensitive  i e    S  means the same thing as    S      Please be aware that any time any  new input character is received  any pending output  such as the standard      response to a prior command  or the more complex output from a report  is    cancelled  This avoids loss of commands as they are being sent to the control board     Serial Command Quick Summary    Most of the commands may be preceeded with a number  to set the value for the  command  If no value is given  then the last value seen is used     General Commands    0 9         Generate a new VALUE as the parameter for all FOLLOWING commands   L   Latch Report  Report current latches  reset latches to 0   V   Verbose mode command synchronization       RESET   all values cleared  all motors set to  free   redefine microstep  Duplicates  Power On Conditions        Report status                      Motor Control Configuration    A   Select the Auto Full Power Step Ra
104. table includes a   fudge factor   we always recommend using a power supply which is somewhat larger  than the absolute minimum required  in order to avoid overloading issues     Obviously  if you are going to run multiple motors off of one supply  you will need to add  together all of the currents needed in order to determine how large of a supply to use     For example  if you are going to microstep  mode 3  a motor whose winding current has  been calculated to be 0 4 amps  then your power supply needs to be able to supply 2 x  0 4  or 0 8 amps to drive that particular motor     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Calculating Current And Voltage Power Supply Requirements Page 65    3  Determine the voltage for your motor power supply    From the    V IR    formula  step 1  above   you can also derive the voltageyou   re your  system     That is to say  the voltage  V  used to drive the motors should be that calculated from  multiplying the desired single winding current  I  by the resistance  R  of your motor  windings     For example  if you have a 12 ohm resistance in your windings  and you need to operate it  at 0 5 amps of current  then the motor voltage will be 0 5   12  or 6 volts     4  Determine the logic supply requirements    The logic supply normally requires 300 mA for the BS0610 and BSO710 products  If you  choose to operate a fan off of the on board 5 volts in order to cool the system  or if you  are going to tap the 5 volts for ot
105. te   E   Enable or Disable Remote Direct Pulse Control   H   Operate motors at 1   2 power   O   step mOde   How to update the motor windings   T   limiT switch control  firmware versions 1 65 and above   W   Set windings power levels on off mode for selected motor                      Motor Selection    B   Select both motors  X   Select motor X  Y   Select motor Y             Motor Motion Configuration    K  Set the  Stop oK  rate  P   sloPe  number of steps second that rate may change   R   Set run Rate target speed for selected motor s              Motor Motion Control    G   Go to position x on the current motor s    I   Wait for motor    Idle      M   Mark location  or go to marked location   S   start Slew   Z   Stop current motor       Define current position for the current motor to be  x   stop the motor                   BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 24    0 9         Generate a new VALUE as the parameter for all FOLLOWING  commands  Possible combinations         alone   Set     seen  set no value yet  used on SLEW        alone   Clear     seen  set no value yet  used on SLEW    n  Value is treated as  n  n  Value is treated as  n   n  Value is treated as  n   Examples     M     s   Start slew in     direction on the current motor     10s   Slew back 10 steps on the current motor    A   Select the Auto Full Power Step Rate    This sets the approximate rate  expressed in the current microstep resolution  see 
106. ter Norberg Consulting  Inc     Basic Stamp    Sample Code Page 53    Listing for GENSEEKSER BS2     9600 Baud  serial based  complex actions    CKCkckckckckckckckckckckckckckckckckckckckckockckckckckckckockckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckckck ck ckckck ckck ck ck KKK       modname  genseekser bs2       nokeywords      Demonstrates some of the serial commands using seek and serial response    to the SimStep and BiStep     set of controllers from Peter Norberg Consulting  Inc       The tool first initializes the stepper to operate as follows    i 64 microsteps full step    t start stop rate being 320 uSteps second     ramp rate at 4000 uSteps sec sec for the X motor  7000 uSteps second for the    Y motor    T Auto power switch mode  the  A  command  is reset to 6000 uSteps second   i Target ramp rate is 4000 uSteps second for X  8000 uSteps second for Y      This combination means that the X motor will peak at 1 2 the speed of the Y motor     and that the Y motor will switch to full step full power mode during the midpoint    of the seek      During the microstep pass test  when idMicroStep   3   you will notice that the     Y motor     will start quietly  and then suddenly become noisy for a short period  and then     it will quiet     down again  This is occurring when the stepping mode switches from micro to     full when     the motor speed is faster than about 6000 uSteps per second       Note that both motors are selected for the seek ac
107. th motors are selected for actions     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 25    E     Enable or Disable Remote Direct Pulse Control    This is used to control whether the TTL input lines are used as direct  edge triggered step  requests for their associated motor and direction of travel  The current VALUE is used as  the parameter  The options are bit encoded into the value  the low 2 bits of value define  the main Pulse Control mode  the next 2 bits are extended feature selection  while the  next higher 4 bits control the interpretation of the input signal level  The defined values  for the low 2 bits  0 1  are     Oe   Disable remote pulse control  the power on reset default   Note that the  entire value must be 0 for remote pulse control to be disabled   if you define  any of bits 2 7 to be non 0  then the code will act as if step mode  1  was  selected     1e   Enable remote pulse control  with each line being its own step direction    2e   Enable  Step Direction  mode of direct pulse control  the     inputs are treated as  direction  the         inputs are treated as step requests     As of firmware version 2 9  Bit 2 is used to define whether the limit switch inputs are used  to control the current to the motors  If bit 2 is set   4   then this extended TTL control of  the motor current is enabled as described later in this section  If bit 2 is clear   0   then  the limit switches are either ignored or are used as tru
108. that the new parameter value will be used on the next  action  If button control is performed while a goto is underway  the goto gets changed to a  direction slew  and the state of actions is reset     Serial input either defines a new current value  or executes a command  The current value  remains unchanged between commands  therefore  the same value may be sent to multiple  commands  by merely specifying the value  then the list of commands  For example     1000G  would mean  go to location 1000   0G     would mean  go to location 0  and while that operation was pending  do a diagnostic summary  of all current parameters      The firmware actually recognizes and responds each new command about   of the way  through the stop bit of the received character  This means that the command starts being  processed about 34 bit intervals before completion of the character bit stream  In most  designs  this will not be a problem  however  since all commands issue an         upon  completion  and they can also  by default  issue a  lt CR gt  lt LF gt  pair before starting  it is quite  possible to start receiving data pertaining to the command before the command has been fully  sent  In microprocessor  non buffering designs  such as with the Parallax  Inc   Basic Stamp  tm series of boards   this can be a significant issue  All firmware versions 1 54 and above  handle this via a configurable option in the    V    command  If enabled  the code will  send  a  byte of no data upon receip
109. the      command  at which the system automatically switches to full power to both windings  with  strict full step mode  This is used once the power loss induced by running at high speed  becomes significant  As of firmware version 1 70  this mode will also disable   current  mode   1H   once this rate has been reached     Note that the code only stores the high byte of this value  i e   the value divided by 256    and requires that the actual rate divided by 256 be above the value just set  This means  that  A  rates of 0 255 all map into 0  and they set all rates 256 and above to be auto full  step mode  The code defaults at power on reset to A 3072   3072a    When the  rate is  greater  than 3072  then the motor will run in the full power  full step mode   Observe that  A  values of 3072 through 3327 all generate the same test value  When  operating at the default microstep resolution of 1 16   step size  then the 3072 rate maps  into 192 full steps second  When operating at a microstep resolution of 1 64   step size   then the same 3072 rate maps into 48 full steps second     For example   3072A    would set automatic full power mode to start when the microstep speed exceeds 3072  microsteps second     Set this to 62500 to disable this feature     B     Select both motors  This command selects both the X and Y motors as targets for the following commands   For example   BO   Would generate a report about all reportable parameters for both motors     At power on reset  bo
110. tions     It then enters the speed test loop       The code first waits for the stepper unit to report idle      and it is instructed to move  16000  in  1 64th steps       Note that this is full step delta 125       This is then followed by a move to location  16000  and then a new stepping mode    is selected  A 1 5th second pause is inserted to make it easy to identify     when the cycle is occurring  All three modes of stepping are cycled       Mode Use   g 0 Single Winding mode  1 2 power full steps    A 1 Half step mode  alternate single double windings on      2 Full step mode  double windings on    y 3 Microstep mode  full microstep processing  DEFAULT MODE       SPECIAL TIMING NOTE  It can take the SimStep BiStep up to 100 uSeconds to respond to    a new serial  go  command  goto or slew   therefore  you must always wait     a small amount of time  at least a few milliseconds uSecs  before testing the    busy  line  since  you may get a  false idle  response          Additional note  The SimStep BiStep products normally operate at 9600 baud      Although the Basic Stamp series can send this rate reliably  many of them     cannot receive at this rate without data loss  therefore  a special patch has     been made available to the GenStepper versions 1 75 and later  to allow for        slowing down    of the response to a command  By issuing the    2V    command  the     code will wait one complete character time  about 1 millisecond  before sending a  response  this g
111. to 100 for motor Y     Note that if the controller is operating in  single motor dual power  mode  then any  commands sent to the Y motor controller are effectively ignored  Only the X motor  controller sends signals to the X and Y connectors when that mode is enabled    Z  Stop current motor      Z  causes the current motor s  to be ramped to a complete stop  according to its current  ramp rate and stepping rate   Stopped  is defined as  having a step rate which is  lt   the  stop oK rate   See the  K  command for defining the  stop oK rate      For example   Xz    Would slow down  then stop motor X     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 37         RESET   all values cleared  all motors set to  free   redefine microstep   Duplicates Power On Conditions     This command acts like a power on reset  It IMMEDIATELY stops both motors  and  clears all values back to their power on defaults  No ramping of any form is done   the  stop is immediate  and the motors are left in their  windings disabled  state  This can be  used as an emergency stop  although all location information will be lost     The value passed is used as the new microstep size  in fixed 1 64   of a full step units  At  raw power on  the board acts like a  4   has been requested  that is to say  it sets  the microstep size to 4x1 64  which is 1 16  of a full step  By issuing the         command   you can redefine the microstep size to a value convenient for your
112. tor  it is possible to configure the board to operate that motor  at up to 2 times the normal rated current for the board  For example  a single 2 amp  motor can be operated by our BS0610 board  which normally has a top current of 1  amp winding motor  if the board is configured as described in this section     You need to configure the board to send the same signal to the Y motor as is sent to the X  motor  with the internal Y operations ignored   You then wire your motor to BOTH the X  and Y connectors  in exact parallel  so that  for example  WA1 from both the X and Y  connectors is connected to your Winding A  pin 1 of your motor   then the board can  provide double its normal per winding capacity     On firmware versions 2 0 and above you configure the board to operate this way by  connecting a 1K resistor  1 4 or 1 8 watt  between the RDY TTL output signal and GND   on some artworks this may be done through use of the   R1K  jumper   Prior firmware  versions use a different technique for this configuration  please refer to the correct manual  for your firmware for details     You then wire your motor to BOTH the X and Y connectors  as described above   double  the current will be available  Please note that if you do not correctly do the above  wiring  then you will not get the benefit of the double power mode  and the  board is quite likely to fail     The following two schematics show the wiring for double current mode on both unipolar  and bipolar motors     Wiring a
113. tor Controllers Peter Norberg Consulting  Inc     Serial Operation Page 38        Define current position for the current motor to be  x   stop the motor    This copies the current VALUE as the current position for the selected motors  and then  stops said motor s   For example     X2000 Y4000     Would define the current location of the X motor to be 2000  and the current location of  the Y motor to be 4000  Note that no actual motor motion is involved   the code simply  defines the current location to be that found in the VALUE register  and issues an  automatic stop     Z     request  Note that the motor is stopped AFTER the assignment is  complete  so the actual  current position  of the motor will be different from this value   depending on how long it takes for the motor to stop     X2000 g    Would define the current location of the X motor to be 2000  and then would actually go to  that 2000 location  This combination could be used when the motor is actually slewing or  executing a    goto     to force the    current    location to be set and selected     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Serial Operation          Report status    Page 39    The  Report Status    command       can be used to extract detailed information about the  status of either motor  or about internal states of the software     For a status report  the value is interpreted as from one of three groups     1 255  Report memory location 1 255    Useful    locations  NO
114. units is the  microstep location 8      P     sloPe  number of steps second that rate may change     This command defines the maximum rate at which the selected motor s speed is increased  and decreased  By providing a  slope   the system allows items which are connected to  the motor to not be    jerked    suddenly  either on stopping or starting  In some  circumstances  the top speed at which the motor will run will be increased by this  capability  in all cases  stress will be lower on gear systems and motor assemblies     The slope can be specified to be from 1 through 62 500 microsteps per second per second   If a value of O is specified  the code forces it to have a value of 8000  If a value above  62 500  or less than O  is specified  the code will accept it  but will ramp unreliably  i e    do not do it       This value defaults at power on or reset to 8000 microsteps per second per  second  Please note that changing this during a  goto  action will cause the stop at the  end of the goto to potentially be too sudden or too slow   it is better to first stop any   goto  in progress  and then change this slope rate     For example  if we currently have motor X selected  and it is at location 0  then the  sequence     250p500r2000g  would cause the following actual ramp behaviors to occur   1  The motor would start at its  stop oK  rate  such as 80 microsteps second    2  It would accelerate to its target rate of 500 microsteps per second  at an  acceleration rate of 250 
115. ure  which replaces option of selection of  motor current feature at power on if requested    2 12 July 30  2006 Cleanup of step and direction power options   2 13 October 23  2006 Adjusted code for more robust detection of S1K  jumper on USB products   December 14  Corrected error in manual which incorrectly   2006 associated the  R1K  jumper with baud rate  selection   2 15 2 16 February 1  2007 Noted firmware version support at 2 15 2 16   March 19  2007 Vista notes  Changed installation path to be   StepperBoard  in the    Program Files    directory   adjusted USB notes    April 30  2007 Added notes on the BSO710 Revision GR artwork   July 11  2008 Added notes on the BS0710 revision HI artwork   2 17 July 17  2008 Corrected firmware error introduced in version  2 9  the  NXT  ttl input was not being correctly  monitored  so the manual mode of TTL based  rate switching did not work   2 18 October 31  2008 Improved serial resynchronization after bad serial  data reception       BS0610 BS0710 Motor Controllers    Peter Norberg Consulting  Inc        Product Safety Warnings Page 7    The microstep functionality is generated by a PWM  Pulse Width Modified  like algorithm  and  is non feedback based  Although the software has a demonstrated maximum resolution of  1 64  of a full step  in practice most inexpensive stepping motors will not reliably produce  unique positions to this level of precision  Mainly  the microstep feature gives you a very  smooth monotonic motor action  
116. ve   then system will discard  transmitting the     response if it has not yet started the transmission  It will then  process the new character  The best technique to avoid synchronization worries is to send  two zero characters     00      wait for the second one to be completely sent  and then clear  your input buffers  No further characters will be sent from the controller until it sees the  next command after this  flushing  action  i e   any pending data transmissions will be  aborted      Please note that if your firmware version is before 1 63  then you should have one   spacing  character  such as motor selection   B    X    Y   or a space  before the    I     if the  immediately prior character was a  S  or  G   slew or goto   In those versions  it can take  up to 1 microstep time for the motor to report that it is    busy     Versions 1 63 and higher  mark the motors as busy as soon as the  S    or  G  are seen     K    Set the  Stop oK  rate    This defines the rate at which the motors are considered to be  stopped  for the purposes  of stopping or reversing directions  It defaults to the default of    80    if a value of O is  given     By default  this is preset to  80  upon startup of the system  This means that   whenever a stop is requested  the motor will be treated as  stopped  when its stepping  rate is  lt   80 microsteps  5 full steps  per second     For example   100k    sets the stop rates for the currently selected motor s  to be 100 microsteps per se
117. ve value 1  that of all of the  readings between the non common wires     e Otherwise  you will see readings which are near infinity  which identify leads from  different windings   are at some value  such as 10   or are at double that value   such as 20   The pairs which show the  double value  are the opposite ends of a  given winding  i e   WA1 and WA2  or WB1 and WB2   The remaining wires are  the  common  leads for their given windings     A 6 wire 4 phase unipolar motor will have two  common  wires  You will normally connect  one of the wires to pin 1  and the other to pin 6  However  you can often operate a 6 wire  unipolar motor as if it were a 4 wire bipolar motor  when using the BiStep series of  controllers  by insulating the common leads and leaving them disconnected  When it  works  this usually provides more torque for the motor  but it requires double the voltage   at the same level of current  from the power supply  You cannot operate with this pair of  wires disconnected if they are connected together inside the stepper motor    if the  resistance between the common leads is very low  less than 10 ohms   such a connection  exists and you must therefore operate using the regular unipolar wiring scheme     BS0610 BS0710 Motor Controllers Peter Norberg Consulting  Inc     Wiring Your Motor Page 73    Sequence Testing    Always double check all of your power and motor connections before you apply  power to the system  If you have reversed any power leads  you wil
118. wer Jumper  FUL   Enables Full Power MOde             eeeeeeeeeeeeeeeeeeeeeeeaeaenees 67   Double Current Jumper R1K   Enables Double Current Mode                      eessseees 67  PotStepper Jumper s    PS 1 NORM PS 2  or PS and PSD                 ceeeeenne 67   Power Selection Jumper   SS DS 5VO           cisesesseseesene nennen nennen nennen nen 68   Wiring  Your  Moto 3 ei D eth cin inr per MI E O E I e RIP IKE aea 69  Stepping sequence  testing your connection             sessssseee menn 70  Determining Lead Winding Wire Pairs                esee 71   Sequence  T  stirgzs 2e ctu IR eR EM Fue eR I utu DeiKR N Er uni ER TE 73   Single motor  double current mode of operation          ssssssssssrssrrsrrssrurrrsrrnrrurrnurnnrnnrnnernnnn 75  Wiring a Unipolar motor for double current mode      s ssssssssssrsrrssrsrrrsrrerrnrrrsrerrrerns 75   Wiring a Bipolar motor for double current mode            eceeee eee eee eee eee e eee eeeeeeees 76   Motor Wiring Examples   ceo to tee eere E Roa a xe urea oxexs a genu cea Eua vatur ve ue os xe ved eee 77  Unipolar MOtOES  eser eer Externe reete ipsam he tere xe daN ema TR E aA 77  Jameco 105873 12 Volt  0 150 Amp winding  3 6 deg step                        77   Jameco 151861 5 Volt  0 55 Amp winding  7 5 deg step                       s    78   Jameco 155432 12 Volt  0 4 Amp winding  2000 g cm  1 8 deg step          78   Jameco 162026 12 Volt  0 6 Amp winding  6000 g cm  1 8 deg step          78   Jameco 169201 24 Volt  0 3 Amp wind
119. with the capability of requesting step rates as slow as 1 64   of a full step per second  We strongly suggest use of the default 1 16  of a full step microstep  size  this seems to give the best performance on most motors that we tested  Most non   microstep enabled stepper motors will experience  uneven  step sizes when microstepped  between their normal full step locations  however  the steps are monotonic in the correct  direction  and are usually consistently located for a given position value     Product Safety Warnings    The BS0610 and BS0710 series of motor controllers have components that can get hot enough  to burn skin if touched  depending on the voltages and currents used in a given application   Care must always be taken when handling the product to avoid touching these components     e The 2940 5 volt regulator  located directly beside the DB9 serial connector   flanked by tall electrolytic capacitors     e The two SN754410 power drivers  both located near the center of the board   e The PCB board under the SN754410 power drivers and under the 2940 regulator    Always allow adequate time for the board to  cool down  after use  and fully disconnect it from  any power supply before handling it     The board itself must not be placed near any flammable item  as it can generate heat     Note also that the product is not protected against static electricity  Its components can be  damaged simply by touching the board when you have a  static charge  built up on your 
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
SCE 太阳能 说明书.cdr  PS-144T 取扱説明書  UEi INF200 User's Manual  HQ W7-50597/ N  Tecumseh AJA9484EXTXC Drawing Data  User Guide - American Digital  Farm Pro Pig User Manual  KLENK`S INSTRUCTION COPY MAY07  取扱説明書 調の名称 ・ 電池の綱法 の テールキャップを開け    Copyright © All rights reserved. 
   Failed to retrieve file