Jump to content
OMRON Forums

Linear motor system setup issues


sp_alex

Recommended Posts

Hi,

I am trying to do a “user friendly” system setup and have the following configuration, with already a few questions ;):

*************************************

PWM freq: 12kHz (24khz Phase update freq.)

Encoder/Amplifier interface board: ACC24E2

 

I/ Amplifier information:

Delta Tau Direct PWM Amplifier GPL052

 

II/Motor information

1. Motor Manufacturer

Name: Anorad

Part Number: LEM-S-3-S

2. Motor Specifications

Motor Type: brushless

Nominal RPM: 0 // left to zero as I have a linear motor, but should I set it to a particular value, and if yes, in which unit?

Maximum RPM: 0 // same as the above line

Linear Motor: True

3. Motor electrical specifications

Inductance (mH): 2.7 (phase to phase inductance)

Resistance (ohm): 5.3 (phase to phase resistance)

Number of poles: 30

Delta Winding: False

 

4. Motor built-in feedback // we have a trapezoidal hall sensor (UVW) and a linear incremental encoder (A,A/,B,B/,C,C/), so we are confused about which one we should put here. We chose the linear encoder for the tests.

 

Absolute: False

Feedback type: Quadrature

Resolution: 15,000,000.00 (for linear motors, enter encoder counts per electrical cycle of motor. Electrical cycle length is 30mm and encoder resolution is 2nm => 1mm <=> 500000 counts so 30*500000 = 15 000 000).

Hall Sensor Available: true

5. Motor Power rating specifications

Continuous current (amps): 5.2

Current Unit: Amp_Peak

Instantaneous current (amps): 14.3

Current Unit: Amp_Peak

Time allowed (second): 1

Maximum Voltage (VDC): 325

 

III/Feedback type

1. Feedback type

Primary feedback: Quadrature

Commutation Feedback: Quadrature (I tried to change it to Hall because we have a hall sensor connected to the UVW pins of our ACC24E2, but whatever value I give, when I click on the "Accept" button the change is not taken into account and the Comm. value sets back to Quadrature).

Dual Feedback: False

2. Electrical Cycle Information

Linear Motor:

Pole Pair Pitch: 30mm (Enter the pole pair pitch; also known as electrical cycle length of the motor).

Feedback Counts Per Unit: 500000 (500000*2nm = 1mm) // I am hesitating to multiply 5000000 by 256 here as we have a PMAC2 style, any thoughts?

Unit: mm

3. Power-on Phase Reference

Phasing Method: Four Guess Method

 

*************************************************

 

When it comes to do the automated tests, I have the following response (I reach an error message at the Open loop test):

 

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Current sensor direction detection test started.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Storing the values for Motor[1].ServoCtrl and Motor[1].PhaseCtrl for later recall.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : A maximum excitation magnitude of 2118 (bits) was selected based upon Motor[1].PwmSf setting.

[…]

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Calculating Maximum ADC allowed based upon I2TSet and Checking for ADC Latch possibility.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Maximum ADC allowed current = 4812 bits

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Increasing the output to the selected excitation magnitude.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : The excitation magnitude will be limited to 232 (bits) to prevent an I2T fault.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Sampling the current sensor readings with excitation values commanded.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Disabling the amplifier.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Writing zeros to the command values.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Restoring the values for Motor[1].ServoCtrl and Motor[1].PhaseCtrl.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : At 0 bits Command: ADC A= 62 ADC B=-6

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : At 232 bits Coommand: ADC A= 5196 ADC B=-5151

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : ADC A On - ADC A Off = 5134

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : ADC B On - ADC B Off = -5145

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Detected ADC deviation: 0.002143

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Current sensor direction detection test is done.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Voltage six step test for motor 1 started.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Storing the values for Motor[1].ServoCtrl and Motor[1].PhaseCtrl

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : No excitation magnitude was entered. Setup will choose appropriate value for this test.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : An excitation magnitude of 2118 (bits) was selected based upon Motor[1].PwmSf setting.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Writing zeros to command output channels.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Enabling the amplifier.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Checking for amplifier fault.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Checking for over-travel limits.Progress: 36%

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Detecting maximum jitter on phase position encoder while stationary.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Maximum Dither detected on phase position: 200192 (PhaseEnc LSB)

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Calculating Maximum ADC allowed based upon I2TSet and Checking for ADC Latch possibility.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Maximum ADC reading (Allowed Current) = 4812 bits

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Pulling the motor to commutation angle 0.000000 degrees.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Determining maximum PWM command which keeps current below allowed current

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : The PWM command will be limited to 203 (bits) to prevent an over current fault on the amplifier.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : A PWM command of 203 bits generates 4879 bits ADC reading

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Output Off: ADCA: 39 ADCB: 0

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Output On : ADCA: 2942 ADCB: -67

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Checking the commanded and measured currents corelation.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Cycling the outputs through 6 voltage step test and monitoring the current readings.

8/1/2012 :8:27 PM - 192.168.0.200, Module - Set Motor : Checking ADC and phase position readings at commutation angle 0 degrees.

[…]

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Checking ADC and phase position readings at commutation angle 360 degrees.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Moving the motor back to its starting point.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Commutation angle: 360 degrees.

[…]

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Commutation angle: 0 degrees.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Disabling the amplifier.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Writing zeros to command output channels.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Restore the values for ServoCtrl and PhaseCtrl.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Examining the collected data.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : The following list the measured phase position feedback measurements per step.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Step counter | Step Size

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 1 | -581074432

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 2 | -614178304

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 3 | -598717696

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 4 | -591671296

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 5 | -623843840

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 6 | -594001664

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : The data is shifted by 8 bits. (Lower 8 bits are reading 0)

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Electrical cycle length based upon median step size : 716809216 PhaseEnc LSB

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Electrical cycle length based upon sum of the steps : 691480064 PhaseEnc LSB

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Setup program setected 2.85714E+06 * 256 (PhaseEnc LSB) per commutation cycle with accuracy of 1.46194E+07 (PhaseEnc LSB).

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Voltage six step test completed.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Current loop tuning started.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Checking for minimum requirements before performing the test.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Storing the values for parameters which will be modified through out the test.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : (i.e. Motor[1].IdCmd, Motor[1].PhasePosSf, Motor[1].IiGain, Motor[1].IpbGain, Motor[1].IpfGain, Motor[0].pLimits)

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : A rough phasing magnitude of 1412 (bits) was selected based upon Motor[1].PwmSf setting.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : The continuous current will be used as excitation magnitude (based upon Motor[1].I2tSet).

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Selected excitation Magnitude : 6417 (bits)

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Setup software uses 800 Hz as desired bandwidth.

[…]

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Commanded PWM magnitude: 1412 bits

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Maximum ADC reading allowed (Allowed current) = 3208 bits

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : The phasing PWM command magnitude will be limited to 168 (bits) to prevent an over current fault of the amplifier.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Waiting for motor to settle in 0 Phase Angle.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Performing current loop tuning iterations with a current step size of 6417 bits.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Natural Freq(Hz) Rise Time(msec) Peak Time(msec) Overshoot(%) IiGain IpbGain Action

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 274.972874 0.958333 2.166667 15.217426 0.030000 0.010000 Increase IiGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 350.488926 0.666667 1.666667 23.451261 0.045000 0.010000 Increase IiGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 423.441485 0.500000 1.291667 33.779340 0.067500 0.010000 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 427.265152 0.500000 1.333333 32.607549 0.067500 0.015000 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 430.366146 0.500000 1.291667 31.708922 0.067500 0.022500 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 435.991640 0.500000 1.291667 30.182776 0.067500 0.033750 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 443.427895 0.500000 1.291667 28.342566 0.067500 0.050625 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 427.715711 0.541667 1.375000 24.174167 0.067500 0.075938 Increase IiGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 556.869597 0.375000 1.083333 35.707998 0.101250 0.075938 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 575.276059 0.375000 1.041667 31.402917 0.101250 0.113906 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 555.153450 0.416667 1.083333 24.310919 0.101250 0.170859 Increase IiGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 725.827456 0.291667 0.875000 33.792676 0.151875 0.170859 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 778.130448 0.291667 0.875000 26.029860 0.151875 0.256289 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 762.500044 0.333333 0.875000 17.367698 0.151875 0.384434 Increase IiGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 1076.310761 0.208333 0.708333 27.194545 0.227813 0.384434 Increase IiGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 1076.461748 0.208333 0.708333 27.180652 0.227813 0.384434 Decrease IiGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 817.802264 0.291667 0.791667 21.793426 0.182250 0.384434 Decrease IiGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 787.718058 0.333333 0.916667 15.420736 0.145800 0.384434 Decrease IiGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 774.272978 0.333333 0.958333 16.427336 0.145800 0.384434 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 782.877389 0.416667 1.000000 6.112124 0.145800 0.576650 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 881.841324 0.541667 1.416667 0.052309 0.145800 0.864976 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 840.754186 0.458333 1.041667 2.061469 0.145800 0.691980 Increase IpbGain

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Exporting graph data.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Current loop step test results:

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Rise time: 0.458333 (msec)

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Overshoot: 2.06147%

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Damping ratio: 0.777321

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Natural frequency: 840.754 Hz

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Settling time: 0.746868 (msec)

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Current loop tuning test finished.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Arguments Entered:

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Motor Number: 1

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Current Step Magnitude: 0.000000

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Commutation Size: 0.000000

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Current six step test for motor 1 started.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Storing the value for Motor[1].PhasePosSf

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Storing the values for Motor[1].IaBias and Motor[1].IbBias

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : No excitation magnitude was entered. Setup will choose appropriate value for this test.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : An excitation magnitude of 5454 (bits) was selected based upon I2T settings.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Moving the motor to zero phase angle

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Pulling the motor to -5 degrees commutation angle.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Detecting maximum dither on phase position encoder while stationary.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Maximum dither detected on phase position: 445440 (PhaseEnc LSB)

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Commutating the motor though one full electrical cycle.

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Waiting for phase position to settle less than maximum dither reading at commutation angle 0 degrees.

[…]

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Waiting for phase position to settle less than maximum dither reading at commutation angle 360 degrees.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Moving the motor back to its starting point.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Commutation angle: 360 degrees.

[…]

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Commutation angle: 0 degrees.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Killing the amplifier.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Examining the collected data.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Step Step Size

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : 1 607904000 (243BE100)

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : 2 617487872 (24CE1E00)

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : 3 621638144 (250D7200)

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : 4 612696576 (24850200)

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : 5 611508736 (2472E200)

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : 6 625711360 (254B9900)

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : The data is shifted by 8 bits. (Lower 8 bits are reading 0)

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Counts per electrical cycle based on median step size : -604413952 (PhaseEnc LSB).

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Counts per electrical cycle based on sum of the steps : -598020608 (PhaseEnc LSB).

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Setup program setected 2.34057E+06 * 256 (PhaseEnc LSB) per commutation cycle with accuracy of 5.22767E+06 (PhaseEnc LSB).

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Current six step test completed.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Arguments Entered:

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Motor Number: 1

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Maximum open loop command percentage: 0.000000

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Open loop command duration (msec): 0.000000

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Number of iterations: 0

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Moving the motor to commutation angle zero.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : A phasing current of 5454 (bits) was selected based upon I2T setting.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Phasing Completed.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Setting Motor[1].PhasePosSf back to 0.000003

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Setting Motor[1].IdCmd back to 0.000000

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Open loop test with 2.000000% command output

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Measured velocities :

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Positive velocity: -20974.000000

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Negative velocity: -22581.000000

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Test result was inconclusive!

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Setup couldn't identify the response from the position and velocity feedback devices properly

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Please check the following

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : 1. Position/Velocity feedback is properly connected and you can see the feedback on hardware channel.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : 2. The test magnitude is sufficent to generate enough motion.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : 3. The test is exceeding the limits of the feedback device.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : 4. The value of Motor[1].PhasePosSf=3.41797e-06 is not correct. Repeat the current six step test or assign proper value.

 

Questions regarding the above results:

 

When doing the six step voltage test I have:

 

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Step counter | Step Size

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 1 | -581074432

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 2 | -614178304

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 3 | -598717696

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 4 | -591671296

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 5 | -623843840

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : 6 | -594001664

Which seems ok because I am doing steps of 30mm/6 = 5mm, 5mm represents 2500000 m.u.(2nm resolution, PosSf = 1) which roughly corresponds to 623843840/256 = 2436890.What I do not get is why the step length is taken as the electrical length (which is expected to be equal to 6 times the step length 15E6 *256 counts):

 

8/1/2012 :8:28 PM - 192.168.0.200, Module - Set Motor : Setup program setected 2.85714E+06 * 256 (PhaseEnc LSB) per commutation cycle with accuracy of 1.46194E+07 (PhaseEnc LSB).

 

2.85714E+06 * 256 represents just the length of a step, not the whole commutation cycle, which is expected to be 6 * 2.85714E+06 * 256 which is roughly equal to 15E06 * 256 (where I can retrieve my 30mm cycle length).

I have the same remarks with the six step current test. Are there any parameters I might have missed to rectify this?

Then my other concern is at the open loop test:

I suppose that the values are set to zero before the test (please let me know if that is not the case):

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Maximum open loop command percentage: 0.000000

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Open loop command duration (msec): 0.000000

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Number of iterations: 0

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Moving the motor to commutation angle zero.

 

Then the test begins:

 

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : A phasing current of 5454 (bits) was selected based upon I2T setting.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Phasing Completed.

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Setting Motor[1].PhasePosSf back to 0.000003

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Setting Motor[1].IdCmd back to 0.000000

 

Motor[1].IdCmd back to 0.000000 <= should this value be different from zero?

 

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Open loop test with 2.000000% command output

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Measured velocities :

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Positive velocity: -20974.000000

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Negative velocity: -22581.000000

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Test result was inconclusive!

8/1/2012 :8:29 PM - 192.168.0.200, Module - Set Motor : Setup couldn't identify the response from the position and velocity feedback devices properly

 

Also, I have had this kind of debug messages:

 

8/2/2012 :9:18 AM - 192.168.0.200, Module - Set Motor : Measured velocities :

8/2/2012 :9:18 AM - 192.168.0.200, Module - Set Motor : Positive velocity: -8112.500000

8/2/2012 :9:18 AM - 192.168.0.200, Module - Set Motor : Negative velocity: 23138.000000

8/2/2012 :9:18 AM - 192.168.0.200, Module - Set Motor : Feedback direction didn't match the commanded output direction!

8/2/2012 :9:18 AM - 192.168.0.200, Module - Set Motor : Changing the direction of commutation to match phase encoder input.

8/2/2012 :9:18 AM - 192.168.0.200, Module - Set Motor : Please change the direction of feedback and start the test over again.

 

I have made several test like these, and changed the encoder settings from CW to CCW but no improvement has been seen.

It seems like some problems might come from the encoders, they have a resolution of 2nm and seems to be limited to a maximum speed of 27mm/s.

 

During the tests, the motor is moved pretty dynamically and the encoder signals it’s in overspeed situation and probably loses counts. Is there a way to reduce the speed of the tests? I set Motor[1].MaxSpeed to 12000 cts/msec (less than 27mm/s) but this has not changed anything.

 

If the speed of the motor during each test cannot be changed, is their a way to do all this tests manually? By manually, I do not mean the manual mode, but to type some commands to make the motor do specific moves for the setup.

 

Thanks in advance for your help!

 

Alex

Link to comment
Share on other sites

  • Replies 3
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Alex,

 

I have two suggestions for you:

 

1. Increase your encoder sample rate so you don't miss any quadrature counts. (Set Acc24E2[4].ClockCtrl=2256)

2. Perform your tests in manual mode instead of the automatic mode and in "current six step test", input the value for counts per electrical cycle (1 quadrature count would result in 256 LSB since the data is in upper 24-bits of a 32-bit word). If your commutation cycle is 30mm at 2nm increments, then set a value of 256*30/0.000002 = 3840000000 in the proper entry under "current six step test" in manual mode.

 

 

Regards.

Link to comment
Share on other sites

Hi Sina,

 

Thanks for your reply.

 

This morning (I'm in Germany), I have already set the ACC24E2 as follows:

 

Acc24E2[4].PwmPeriod = 2456;

Acc24E2[4].PhaseClockDiv = 0;

Acc24E2[4].ServoClockDiv = 10;

Sys.ServoPeriod = 0.458333333333333;

Sys.PhaseOverServoPeriod=0.0909090909090909;

Sys.CPUTimerIntr = 0;

Gate1[4].HardwareClockCtrl = 2256; // it was 2258 initially, so 10MHz sampling freq. Now it's 40MHz.

 

...and it seems to have improved things a bit.

 

I have also set the "Feedback Count per Unit length" to 500000*256 instead of 500000. So that when I do the Voltage and Current six step test, the suggested commutation cycle value is 3840000000.

 

I have progressed on setting up the X axis and have past the open loop test by changing the feedback direction from CW to CCW without redoing all the previous tests (the first time I changed the encoder direction I restarted an automated test and this changed the sign of Motor[1].PhaseOffset = -683 and the one of Motor[1].PwmSf = 2824, so I received the same error feedback direction again).

 

Four guess method didn't work in phasing so I used the Stepper motor phase search method which was successful with Motor[1].PhaseFindingDac= 523.560000 and Motor[1].PhaseFindingTime=2181.909091

 

So now I am stuck on the tuning of the servo loop on the X axis in manual mode. I have the following parameters:

 

-- Magnitude (%): 7.35391052434009 (suggested by the IDE)

--Duration (msec): 100 (suggested by the IDE)

--Minimum move size (counts): 64000000 (suggested by the IDE) (which represents 250000 * 256, so I suppose this means 0.5mm)

--Velocity Mode: 0 (I do not really know what to put there, so I left it to 0)

 

The debug messages I had with these values where:

 

8/2/2012 :6:35 PM - 192.168.0.200, Module - Set Motor : Establishing commutation phase reference....................

8/2/2012 :6:35 PM - 192.168.0.200, Module - Set Motor : Minimum move condition was not satisfied.

8/2/2012 :6:35 PM - 192.168.0.200, Module - Set Motor : Make sure the value in Motor[1].FatalFeLimit is not too conservative.

8/2/2012 :6:35 PM - 192.168.0.200, Module - Set Motor : The value for Motor[1].FatalFeLimit can be set under Safety step.

 

I tried with larger Fatal error limits and even disabled them: no chance, the motor does not move and I still have the same error.

 

Have you met this situation before?

 

Thanks for your help

 

Alex

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...