Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Asynchronous Motor Control

roiberts

Newbie level 5
Joined
Nov 11, 2019
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
91
Dear Forum
we have a asincronous motor connect to a SWPWM ,and with a encoder that read the angle.

The motor is in a closed loop, controlling the speed; the loop is the tipical composition i find
in lecterature named I.F.O.C..Schematic is in the figure I upload.


All math and block are realized via a DSP.

Before close the loop, i did test in open loop..

I used only 3 block,from the inverse park to motor. The input are Vd,Vq and Angle
(al set in my software..no from encoder or loop).

With this 3 input variable, I forced in my algoritm:

-Vq=0.1
-Vd=0
-Angle teta= N poits fix in time

-Result_1:-

I noted that if I set a Angle to a certain value, the rotor goes in a position,and
stay there. Increasing the angle, rotor move in this new angle.

If I put angle in a timer, rotor turn.


-Result_2:-

Increasing Vq dont change the rotor position.


What i dont understand is why rotor stay fix, if angle is fix . Equation says that Vq
create a tourque ,so, motor must rotate alwais.

So question are:

-Why rotor dont continue to move when i set a fix angle?

-If motor stay fix in such angle, and changing Vq dont change the rotor, how
Vq can change speed or position in closed loop ?

Thanks for your time and reply in this long question.

Roberto
 

Attachments

  • Closed Loop Control.png
    Closed Loop Control.png
    97.8 KB · Views: 11

FvM

Super Moderator
Staff member
Joined
Jan 22, 2008
Messages
48,294
Helped
14,229
Reputation
28,719
Reaction score
12,923
Trophy points
1,393
Location
Bochum, Germany
Activity points
279,648
To make the motor rotate, angle theta has to be continuously varied. In closed loop, this is achieved by taking the actual motor position as input to park transformation. In open loop, you need an external source for theta.
 

roiberts

Newbie level 5
Joined
Nov 11, 2019
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
91
Thanks for reply
I again dont understand.

If I use only the blocks from PART to motor + encoder in park ,i have 2 input variable: Vd and Vq.
In my test, if I change Vq, the theta change only some degree, then it stop.
Changing Vq, dont influence theta.

It is correct ,or my design have a problem ?

Park is a transformation that dont have time inside, this means, cant produce a movement. It correct ?

If yes, how closing the loop can modify theta ?

Thanks

Roberto
 

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
19,456
Helped
4,300
Reputation
8,605
Reaction score
4,260
Trophy points
1,393
Activity points
129,023
Hi,

I hope I understood correctly...
In open loop:
* change theta
* motor moves a bit
* because open loop: the cange of sensor does not cause a change of theta.
* no change of theta ....no move of motor
* motor stands still

In closed loop:
* change theta
* motor moves a bit
* sensor moves a bit
* creating new (changed theta)
* creating a new motor move
* creating new sensor move
* again change in theta
* again motor move
* again sensor move
....and so on

Klaus
 

roiberts

Newbie level 5
Joined
Nov 11, 2019
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
91
Thanks Klaus for reply

Please refer to the attach image. We call this configuration -Open Loop-

We set in owr software:
Vd=0
Vq=0.1 (for example )

The rotor just move a bit (encoder also so theta also), and stop it.
If i change Vq (example 0.15 or 0.2 ), the rotor dont change position.. Only current increase a lot
If I change Vd (eample Vq=0.1 and Vd=0.1) again no changes.

The only way, in this configuration, to move the rotor, is give to PARK a theta via software, and change
this theta.

So,question is:

-is correct that Vq Dont move the motor in open loop ?

Thanks
Hope is clear
 

Attachments

  • Open Loop FOC.png
    Open Loop FOC.png
    61.1 KB · Views: 2

KlausST

Super Moderator
Staff member
Joined
Apr 17, 2014
Messages
19,456
Helped
4,300
Reputation
8,605
Reaction score
4,260
Trophy points
1,393
Activity points
129,023
Hi,

Honestly I don´t understand the boxes....

but for sure:
For an async motor to move you need a moving magnetic field (or more correctly say the phase angle of the magnetic field).
If the theta (I guess it´s the value that controls the phase angle) stands still then the motor won´t move. This is independent of winding current.

You could help yourself by posting (a link to) the document of the shown control scheme...with description.

Klaus
 

roiberts

Newbie level 5
Joined
Nov 11, 2019
Messages
8
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
91
Thanks very much for your reply.

Seems that datasheet information about encoder dont correspond to what we measured.

Again Thanks

Roberto
 

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top