Home

Peter Norberg Consulting, Inc

image

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

image

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