Jump to content
OMRON Forums

Calculating Torque Output of the Motor Based upon Commanded/Actual Current Readings


Sina.Sattari

Recommended Posts

For doing this we need to know what control type is PMAC performing on the amplifier.

 

1. Torque Control through Analog Signal

In this method, the DAC command being sent from PMAC. The DAC register is always scaled based upon a 16-bit DAC where the data is in upper 16 bits of the register and full scale represents ±10V output from the DAC output on the PMAC. This register can be located in the PMAC memory map titled “PID internal filter result” in the motor section.

Example: M179->X:$0000AE,8,16,S ; #1 PID internal filter result (16-bit DAC bits)

Full DAC output from PMAC represents full instantaneous current output on the amplifier.

Torque Output of the Motor = (DAC Register Value (16-bit Signed) / 2^15) * Amplifier Instantaneous Current Rating * Motor’s Torque Constant

 

2. UV-Commutation through Analog Signals (Sinusoidal Commutation)

In this method, the desired (commanded) quadrature current is available which is scaled based upon a 16-bit DAC where the data is in upper 16 bits of the register and full scale represents ±10V output from the DAC output on the PMAC. This register can be located in the PMAC memory map titled “Y:$000xB8/38 Motor commanded quadrature current (0 for microstep)”.

Full quadrature output from PMAC represents full instantaneous current output on the amplifier.

Torque Output of the Motor = (Motor commanded quadrature current (16-bit Signed) / 2^15) * Amplifier Instantaneous Current Rating * Motor’s Torque Constant

 

3. Direct PWM Control

In this method, the actual (measured) quadrature current is available which is scaled based upon a 16-bit DAC where the data is in upper 16 bits of the register is in full ADC scale on the amplifier. This register can be located in the PMAC memory map titled “Y:$000xB9/39 Motor actual quadrature current (0 for microstep)”.

Full quadrature output from PMAC represents current output equivalent to full ADC reading of the amplifier.

Torque Output of the Motor = (Motor actual quadrature current (16-bit Signed) / 2^15) * Amplifier Full ADC Current Rating * Motor’s Torque Constant

Link to comment
Share on other sites

  • 5 months later...
  • Replies 4
  • Created
  • Last Reply

Top Posters In This Topic

3. Direct PWM Control

In this method, the actual (measured) quadrature current is available which is scaled based upon a 16-bit DAC where the data is in upper 16 bits of the register is in full ADC scale on the amplifier. This register can be located in the PMAC memory map titled “Y:$000xB9/39 Motor actual quadrature current (0 for microstep)”.

Full quadrature output from PMAC represents current output equivalent to full ADC reading of the amplifier.

Torque Output of the Motor = (Motor actual quadrature current (16-bit Signed) / 2^15) * Amplifier Full ADC Current Rating * Motor’s Torque Constant

 

Hi Sina

 

I have some problem about the reading of the actual and commanded current at the motor.

 

My setup is: UMAC CPU + GeoMacroDrive 15R2.

 

At the moment, I am computing in a PLC program the actual RMS current inside my motor following the instruction on document "Calculating Equivalent Motor RMS Currents" that the guys at DeltaTau Switzerland give us. This is almost consistent on what you write before, except that I use both Y:$000xB9 and X:$000xB9 to compute the RMS current inside the motor (and the Y:$B9 is always near zero).

 

 

Now I want to read both the actual current and the commanded current at high frequency (using the gathering instructions), in order to compute the transfer function of my system and see how my filtering is behaving on the hardware.

 

So, the questions are:

1) the X:$000xB9 value is described in the Turbo SRM as "Motor commanded direct current", but actually I am using it as the ADC reading (so as "Actual" value, not "Commanded"). Is that a typo on the doc or simply a misundestaing on my side?

2) in case, where is the "Commanded" current to the motor (to compare wrt to the "Actual") ?

3) I want to use the gathering functionality to record the above specified variables. At the moment, I am reading the X:$B9, and this reading is consistent with what I was reading via the aforementioned PLC, except that there is a scaling factor that I cannot undertand (1/96/32 * 10). Am I losing some gathering conversion factor?

 

 

many many thanks

gigi

Link to comment
Share on other sites

The correct descriptions of the registers is as follows:

 

X:$000xB8/38 Motor commanded quadrature current

Y:$000xB8/38 Motor commanded direct current

X:$000xB9/39 Motor actual quadrature current

Y:$000xB9/39 Motor [actual] direct current (Corrected 04-24-2013)

 

The real data is in the most significant portion of the 24-bit registers. If you want to treat the data as a 16-bit value (the same scaling as the key I-variables), you will simply divide the (signed) 24-bit value by 256 (2^8).

 

Scale factors like 1/96/32 are appropriate for position registers, but not these current registers.

Link to comment
Share on other sites

The correct descriptions of the registers is as follows:

 

X:$000xB8/38 Motor commanded quadrature current

Y:$000xB8/38 Motor commanded direct current

X:$000xB9/39 Motor actual quadrature current

Y:$000xB9/39 Motor commanded direct current

 

I'm sorry... but I can't understand: this is again a typo or Y:$B8 and Y:$B9 are the same (commanded direct current) ?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...