1 / 16

SPiiPlus Training Class

SPiiPlus Training Class. Stepper Control Modes. Stepper Motors. Stepper motors are electric motors that can provide many benefits to an application including: Open loop operation (no position sensor) Good holding torque Relatively inexpensive Can act as a cheap DC brushless motor

cachet
Download Presentation

SPiiPlus Training Class

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SPiiPlus Training Class Stepper Control Modes

  2. Stepper Motors Stepper motors are electric motors that can provide many benefits to an application including: • Open loop operation (no position sensor) • Good holding torque • Relatively inexpensive • Can act as a cheap DC brushless motor However, there are several disadvantages that should be considered including: • Resonances from stepping • Large torque ripple • Always draws current / power (when running in open loop)

  3. Stepper Motor: Operation

  4. Stepper Motor: Unipolar vs. Bipolar

  5. Stepper Motor: Microstepping Microstepping: • Energize both windings, but with currents 90° out of phase • Magnet will align according to the ratio of phase A to phase B currents

  6. Stepper Motor: Commutation Commutation: • Treats stepper has high pole count DC Brushless • Difference is that two phases are 180° out of phase

  7. UDM Wiring UDM Stepper Motor R S T

  8. UDM Limitations Because the UDM only uses a 6 transistor bridge (as opposed to an 8 transistor bridge), there are a few limitations that should be noted. • The maximum output voltage is 0.707 * bus voltage • The effective peak drive current† is 0.707 * peak drive current † All current limits (XCURI, XCURV and XRMS) are percentages of effective drive peak current

  9. Important ACSPL+ Variables When you setup a stepper motor using the Adjuster Wizard, the low level ACSPL+ variables are set automatically. The following is a list of the important variables: • MFLAGS().2 (#MICRO) • ON if running stepper motor in micro-step mode • MFLAGS().6 (#STEPENC) • ON if micro-step mode stepper motor has encoder feedback • MFLAGS().10 (#PHASE2) • ON if the controlled motor has 2 phases • SLCPRD() • In micro-step mode, it defines the number of micro-steps per rev • In closed-loop mode, it defines the number of encoder counts per rev • STEPF() • In micro-step mode, it defines the user units per micro-step • SLCNP() • Number of equivalent poles (full steps / 2)

  10. Operation Mode: Open Loop In open loop mode, the stepper motor is driven as a normal micro-stepping motor. • Standard ACSPL+ motion commands (PTP, JOG, etc) are used to command the motion profile • Standard motion parameters (VEL, ACC, etc) are used to control the motion profile. The winding current is controlled as follows: • At idle, XCURI defines the amount of current • In motion, XCURV defines the amount of current In open loop mode, it is possible to lose steps.

  11. Operation Mode: Open Loop Verification It is possible to improve the accuracy and repeatability of the stepper motor positioning by using an encoder for verification. Verification mode: • At idle, if steps are lost, a simple verification servo is used to correct the position • In motion, the motor runs as a normal open loop stepper An ACSPL+ program is necessary to implement the verification.

  12. Operation Mode: Open Loop Verification !!! Variable Declarations globalreal ST_PE ! position error globalreal ST_OUT ! output of servo loop globalreal ST_KP ! proportional gain globalreal S_LIM ! max correction rate globalint AXIS! axis number !!! Variable Initialization AXIS = 4 S_LIM = 900 ST_KP = 10 ST_OUT = 0 ST_PE = 0 !!! Disable to start DISABLE (AXIS) !!! Reset position error SETAPOS(AXIS) = FPOS(AXIS) SETPE(AXIS) = 0 !!! Toggle default connection bit MFLAGS(AXIS).17 = 1 MFLAGS(AXIS).17 = 0 ! Allow non-default connection !!! Setup connect function CONNECTRPOS(AXIS) = APOS(AXIS) + ST_OUT DEPENDS (AXIS),(AXIS) !!! Enable and run verification program ENABLE (AXIS) while 1; block ! Calculate position offset ST_PE = APOS(AXIS)-FPOS(AXIS) ! Check if commanded motion complete if ((APOS(AXIS)-DAPOS(AXIS)) = 0) ! Update correction output ST_OUT=ST_OUT+sat(ST_KP*ST_PE,-S_LIM,S_LIM)*CTIME/(1000/CTIME) end end; end STOP ! Reset correction output when disabled ON ^MST(AXIS).#ENABLED; ST_OUT=0;ret

  13. Operation Mode: Closed Loop It is possible to run a stepper motor like a high pole count DC brushless motor under closed loop control. Closed Loop Mode: • Requires motor commutation† • Requires normal closed loop tuning • When there is no position error, there is no motor current (i.e. no holding torque) Setup and tuning is done using the Adjuster Wizard † It is required to have adequate commutation resolution. At a minimum, there should be 100 encoder counts per motor pole (10,000 counts per rev for a 200 step motor)

  14. Stepper Control Mode Example: 1 Use the Adjuster Wizard to setup axis 4 in open loop mode. When the motor is enabled, try to move it by hand out of position.

  15. Stepper Control Mode Example: 2 Modify the setup of axis 4 so that it can use encoder feedback for verification. Use the ‘Programming XX – Stepper Motor Verification.prg’ program to setup the verification correction. When the motor is enabled, try to move it by hand out of position.

  16. Stepper Control Mode Example: 3 Use the Adjuster Wizard to setup axis 4 in closed loop mode. When the motor is enabled, try to move it by hand out of position.

More Related