Clarke-Park transform for an induction motor current

In summary: I think the magnetic encoder is better than the optical encoder because it can sense the flux even when power is just turned on.
  • #1
awaiting
24
0
Hi everyone,

I am facing some problems in performing clarke-park transform for an induction motor(4 pole stator, squirrel cage IM).
The motor is run with three sine wave inputs, 120 degrees phase shifted with each other.
I am measuring the rotor position from the encoder and using twice of this value as theta for the park transform(position in radians). But since the rotor speed is slightly less than the synchronous speed, the transform is displaying a sinusoidal waveform. The frequency of Id-q sine wave increases with increase in the input frequency. For 10Hz input sine wave I am getting 0.01Hz sine Id-Iq values.
I also tried by integrating the speed(rad/s) to get theta, but the result was the same.

Instead of using the rotor position value, if I use a constant of 2*pi*f*t for theta, I get a proper constant dq values. But when I would be performing control, I won't have the frequency data available with me and it would be difficult to get a constant dq values.
I had used the same formulas for the PM synchronous motors and it gave constant Id, Iq values.

Could you please suggest any way of solving this problem.
Thanks
 

Attachments

  • clarke.JPG
    clarke.JPG
    3.3 KB · Views: 644
  • park.JPG
    park.JPG
    5.8 KB · Views: 631
Engineering news on Phys.org
  • #2
awaiting said:
I am measuring the rotor position from the encoder and using twice of this value as theta for the park transform(position in radians). But since the rotor speed is slightly less than the synchronous speed, the transform is displaying a sinusoidal waveform

You cannot measure the mechanical position (θ) in an asynchronous motor (induction motor) using clark-park, because the poles positions in the rotor will "slide", ( otherwise no currents will be induced in the squirrel cage ). The encoder will measure the mechanical position correctly. You can measure the mechanical position in a synchronus motor as the positions of the poles are mechanically fixed here.

Say you by a dc voltage-supply connects the phases of the induction motor, so that Ia and Ib = 1A, and that Ic = -2A: Nothing will happen when switching on the supply, because you will just induce a temporary opposite magnetic field in the rotor as to the stator-field. The motor will not turn/bounce. Now you turn off the supply and rotate the rotor by hand 90 electrical degrees. Turn on the supply again: Nothing will happen because you just induce the same magnetic field in the rotor again. The magnetic field cannot sense, that the rotor has been rotated mechanically 90 electrical degrees.

If you carry out the same with a synchronous motor, it will bounce ( at least one of the times).

So with an asynchronous motor and clark-park you can make a speed control with some accuracy.
 
Last edited:
  • #3
Hesch has a point, rotor position is not the same as rotor field position because of slip.

is this paper any help ?

http://www.ti.com/lit/an/bpra048/bpra048.pdf

this one has a paragraph about induction motor and references to estimate θ for it.
http://ww1.microchip.com/downloads/en/DeviceDoc/AC into DC motor.pdf

However, an ACIM is an asynchronous machine that requires slip to operate.

One method that can be used to calculate θ is to use equations that model the rotor currents. The rotor-current model calculates the required slip frequency from the measured stator currents. The rotor current model also requires knowledge of the rotor resistance and inductance. These values form a time constant that adjusts the motor slip to the correct value during transient current events. After a slip frequency has been calculated, a value of θ can be calculated using the rotor velocity, which will align the reference plane ahead of the rotor to provide the slip. So, the rotating reference plane is aligned with the applied stator current vector, which spins faster than the rotor.

one would need to know something about the motor's rotor characteristics. Probably he could estimate them from torque vs slip curve and get close enough for successful closed loop control?

old jim

ps another paper , too intimidating for me.
http://www.motor-design.com/cmsAdmin/uploads/induction_motor_modelling.pdf

system ignoring buttons again please forgive if multiple posts appear
 
  • #4
I don't know if use of clark-park is a must, but very cheap magnetic encoders are available:

Rotary_Encoder_IC_PR.gif

A magnet, mounted at the shaft of the motor, rotates close to some chip that can sense the flux and can generate pulses and position. The advantage by this system is that the chip knows the position, even when power has just been turned on. A "normal encoder" (and its counter) must at first be "reset" at θ=0 before the counter-value represents a valid position.

I think? that the resolution of this magnetic encoder is about 1024 counts per rev. That is much better than what can be achieved by clark-park.

http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCQQFjAB&url=http://ams.com/eng/content/download/1285/7214/AS5040_Datasheet_v2_01.pdf&ei=TFNCVY27KqvmyQPA-ICgDw&usg=AFQjCNEZv66SZXA_jDwQRnXIZVzhpcdzsg&bvm=bv.92189499,d.bGQ
 
Last edited:
  • #5
Thanks for the replies!

Could you please suggest the steps to find the rotor characteristics from the torque slip curve.
I havnt gone through the papers you have suggested but will read them in a day or two
 
  • #6
awaiting said:
Could you please suggest the steps
well, maybe an approach.
Here's a nuts & bolts explanation of how rotor resistance affects that curve
http://people.ucalgary.ca/~aknigh/electrical_machines/induction/design/rotor_influence.html
low_high_r2.gif

low r gives left curve, B motors for general use
high r gives right curve, D motors for constant torque loads like cranes or elevators.

here's two papers that describe making measurements on a real motor..
Diclaimer - I've never done it,

http://www.ece.vt.edu/ece3354/labs/induction.pdf
http://ece.mst.edu/media/academic/ece/documents/classexp/ee208labs/09_-_Induction_Motor_Parameter_Measurement.pdf
 
Last edited by a moderator:
  • #7
awaiting said:
Could you please suggest the steps to find the rotor characteristics from the torque slip curve.

I assume that you will use this characteristic as a table in a digital controller (computer):

Load the motor with a constant torque and let the computer slowly accelerate from stagnation to full speed. In the computer some registers will hold internal values as

(torque input) → (table) → (motor characteristics) → (torque output).

(This is external values).

Let the computer fill the table with values, so that a slow acceleration is achieved at a constant torque input . Then "lock" the table, which are now linearising the motor characteristic as a function of speed/slip, that is measured by your encoder. ( Automatic adjustment/tuning done in 10 minutes ).
 
Last edited:
  • #8
Ahhh youth ! The tools you guys have are amazing !
 
  • #9
Hesch, could you explain the process in a bit detail, as to what are the interval values.

I only have feedback from a current sensor and incremental encoder to the PC.
I am presently operating in open loop by giving three sine waves(120 degrees phase shifted) with a fixed input frequency.

Hesch said:
(torque input) → (table) → (motor characteristics) → (torque output).
Do you mean to say, I should apply a PI controller to both Id and Iq and move the currents to a reference value, while storing the actual current and speed.
 
  • #10
awaiting said:
could you explain the process in a bit detail, as to what are the interval values.

You have to write a program for a processor in a dedicated PCB, or you can write it for a PC with som dedicated boards. If you do the programming structured with some functions, routines, procedures, whatever they are called, you can reuse them in your final application. For example you can make a procedure:

Procedure inverter( currentamplitude: integer, frequency: integer ); ( Pascal-like )

Before you can call this procedure you must let the processor calculate the amplitude and frequency used, to achieve some torque in the motor at a given speed. The torque-characteritic in the motor is unlinear and unknown, so you have to measure it.

Your motor has two polepairs, so at 60Hz it can run 900 RPM (synchronous speed). I will suggest that you set frequency = 60Hz in the procedure while measuring.

Then you have a torqueinput register, and you set it to a value (1000?) as you want to measure with a torque that can just match the physical torque by which the motor is loaded.

Also you have a speedregister, and while measuring you let the processor step this register from 0 to say 885 RPM in 59 steps ( incrementing the speedregister by 15 RPM per step).

The linearizing table that you want the processor to fill during measurement, you just initiate with zeros.

So now you are ready for measurement, and you press the button "start".

The processor will set the speedregister=15. As the motor is not turning (table contains a zero) the processor will increase the table value until the motor reaches 15 RPM, which can be measured by your encoder. Maybe (or rather for sure) the motorspeed will overshoot, and the processor will decrease the table value some. ( Maybe you should implement some primitive PD-controller here to stabilize the motorspeed at 15 RPM ). When the motorspeed is stable at 15 RPM, the processor must copy the found tablevalue at 15RPM to the tablevalue at 30RPM (not starting in the next steptuning with a: Where am I?). Then the processor steps up the speedregister to 30RPM, finds the table value here, and so on until the table at 885RPM has been found.

During the measurements the value of a torqueoutput is calculated as: torqueoutput = torqueinput * tablevalue. This torqueoutput is transferred to currentamplitude in the inverter procedure. So if the motor during measurement is running too slow, the physical motorcurrent will be increased.

I think that the measurements can be done within 59 steps * 10s = 10 min.

Having filled the speed/current table, you can easy convert it to a slip/current table, that can be used in your final application: A PID-controller calculates the needed torque. Make a procedure that finds the lowest current that can be found as a slip/current-combination, that matches the needed torque in the table. Transfer the combination to the inverter procedure (inverterfrequency = slipfrequency+synchronous frequency). The motor will run, cold as ice.

The motors torque-characteristic will be symmetric around the point (no slip, no torque) so when you want to break the motor, your slip/current-table can be used to do this as well.

Advice: When making the controlprogram, use (scaled) integer variables ( not real ). This avoids slow calculations and rounding errors.
 
Last edited:

Related to Clarke-Park transform for an induction motor current

1. What is the Clarke-Park transform for an induction motor current?

The Clarke-Park transform is a mathematical technique used to convert the three-phase current of an induction motor into a two-phase current. It is commonly used in motor control systems to simplify the analysis and control of induction motors.

2. How does the Clarke-Park transform work?

The Clarke-Park transform involves two steps: the Clarke transform, which converts the three-phase current into a two-phase current in a stationary reference frame, and the Park transform, which rotates the two-phase current into a rotating reference frame aligned with the rotor of the motor. The resulting two-phase current can then be used to control the motor.

3. What are the advantages of using the Clarke-Park transform?

The Clarke-Park transform allows for easier analysis and control of induction motors, as it reduces the complexity of the three-phase current to a simpler two-phase system. It also allows for more efficient control of the motor, as the two-phase current can be used to control the motor's torque and speed more accurately.

4. How is the Clarke-Park transform different from other methods of motor control?

The Clarke-Park transform is specifically designed for induction motors, whereas other methods of motor control may be more suitable for different types of motors. Additionally, the Clarke-Park transform simplifies the analysis and control of induction motors, making it a popular choice for motor control systems.

5. Are there any limitations to using the Clarke-Park transform?

While the Clarke-Park transform is useful for controlling induction motors, it does have some limitations. It assumes that the motor is balanced and that the stator and rotor are aligned, which may not always be the case in real-world applications. Additionally, the transform may not accurately model the effects of faults or asymmetries in the motor.

Similar threads

  • Electrical Engineering
Replies
9
Views
906
  • Electrical Engineering
Replies
2
Views
2K
Replies
4
Views
1K
Replies
2
Views
807
  • Electrical Engineering
Replies
2
Views
3K
Replies
1
Views
1K
  • Electrical Engineering
Replies
5
Views
2K
  • Electrical Engineering
Replies
1
Views
699
  • Electrical Engineering
Replies
15
Views
6K
  • Electrical Engineering
Replies
6
Views
1K
Back
Top