0% found this document useful (0 votes)
28 views

CNC Machine (Case Study)

This document describes the components and modeling of a computer numerically controlled (CNC) machine tool system. It provides block diagrams and equations of motion for the various subsystems including the motor, gearbox, lead screw, and machine table. Parameters are also provided and time and frequency response simulations are shown and analyzed.

Uploaded by

Mohamed Hamdy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

CNC Machine (Case Study)

This document describes the components and modeling of a computer numerically controlled (CNC) machine tool system. It provides block diagrams and equations of motion for the various subsystems including the motor, gearbox, lead screw, and machine table. Parameters are also provided and time and frequency response simulations are shown and analyzed.

Uploaded by

Mohamed Hamdy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Automatic Control

Systems

Case Study

CNC Machine-Tool
Positional Control

Prepared by
Dr. Samy Aly Hassan
2017/2018
1
The physical configuration and block diagram representation of a CNC
machine-tool is shown in Figures 1 and 2. The fundamental control
problem here is that, by design, the lead-screw (by the use of re-
circulating ball-bearings).

Fig. 1 Computer numerically controlled machine tool.

The block diagram for the CNC machine tool control system is shown in Figure 2.

Fig. 2 Block diagram of CNC machine–tool control system.

Most machine-tool manufacturers employ velocity feedback to obtain


the necessary damping. Since overshoot in a cutting operation usually
cannot be tolerated, the damping coefficient for the system must be
unity, or greater.

2
For this study, the machine-tool configuration will be essentially the
same as shown in Figure 1, with the exception that:
(i) A gearbox will be placed between the servo-motor and the lead-
screw to provide additional torque.
(ii) The machine table movement will be measured by a linear
displacement transducer attached to the table. This has the advantage of
bringing the table ‘within the control-loop’ and hence providing more
accurate control.

Components of the closed-loop system:


1. Controller

2. Power amplifier

3. Armature controlled DC servo-motor


This arrangement is shown in schematic form in figure (3).

3
Now air gap flux Ø is proportional to if, or

where Kfd is the field coil constant.


Also, torque developed Tm is proportional to the product of the air gap
flux and the armature current:

where Kam is the armature coil constant.

Since if is constant:

where the overall armature constant Ka is:

4
When the armature rotates, it behaves like a generator, producing a back
emf eb(t) proportional to the shaft angular velocity:

where Kb is the back emf constant.


The potential difference across the armature winding is therefore:

Taking Laplace transforms of the above equation with zero initial


conditions:

Figure 4 combines equations (I), (II) and (III) in block diagram form.

Fig. 4 Block diagram representation of armature


controlled DC servo–motor.

5
4. Gearbox, lead-screw and machine-table
With reference to the following figure (free-body diagram of a
gearbox), the motor-shaft will have zero viscous friction C m, hence the
governing equation, using Laplace notation, becomes:

Free-body diagram of a gearbox

(1)
The output shaft in this case is the lead screw, which is assumed to have
zero moment of inertia Io and viscous friction Co. The free-body
diagrams of the machine-table and lead-screw are shown in the
following figure.

6
Free-body diagrams of the machine-table and lead-screw
For lead-screw

(2)
or

(3)
Now the pitch p of the lead-screw is

(4)
Substituting equations (3) and (4) gives:

(5)
The equation of motion for the machine-table is:

7
(6)
Equating equations (5) and (6) gives:

(7)
Taking Laplace transforms:

(8)
Equating (1) and (8) gives:

(9)
Now:

Hence,

(10)
and,

(11)
Equation (11) can be substituted into (9):

(12)
8
or ,

(13)
giving the transfer function for the gearbox, lead-screw and machine-
table as:

(14)
where the term n2Im/P may be considered to be equivalent mass of Im
referred to the machine-table.
5. Tachogenerator

or, from equation (4.105)

6. Position transducer

Block-diagram of the closed-loop system:


The system element dynamic equations can now be combined in the
block diagram shown in the following figure.

9
Block diagram of CNC machine–tool control system.

Signal flow graph of CNC machine–tool control system.

Overall Transfer Function:


𝑋𝑜 (𝑠) 𝑃1 Δ1
=
𝑋𝑑 (𝑠) Δ
𝐾1 𝐾2 𝐾𝑎 𝑃𝑛
𝑃1 =
𝐿𝑎 (𝑃2 𝑚 + 𝑛2 𝐼𝑚 )𝑠 3 + 𝑅𝑎 (𝑃2 𝑚 + 𝑛2 𝐼𝑚 )𝑠 2
Δ1 = 1
Δ = 1 − (L1 + L2 + L3 )
𝐾𝑏 𝐾𝑎 𝑃𝑛
L1 = −
𝐿𝑎 (𝑃2 𝑚 + 𝑛2 𝐼𝑚 )𝑠 2 + 𝑅𝑎 (𝑃2 𝑚 + 𝑛2 𝐼𝑚 )𝑠

10
𝐾2 𝐾𝑎 𝐻2 𝑛
L2 = −
𝐿𝑎 (𝑃2 𝑚 + 𝑛2 𝐼𝑚 )𝑠 2 + 𝑅𝑎 (𝑃2 𝑚 + 𝑛2 𝐼𝑚 )𝑠
𝐾1 𝐾2 𝐾𝑎 𝐻1 𝑃𝑛
L3 = −
𝐿𝑎 (𝑃2 𝑚 + 𝑛2 𝐼𝑚 )𝑠 3 + 𝑅𝑎 (𝑃2 𝑚 + 𝑛2 𝐼𝑚 )𝑠 2
Then, the overall transfer function of CNC machine tool is:
𝑋𝑜 (𝑠) 𝐾1 𝐾2 𝐾𝑎 𝑃𝑛
=
𝑋𝑚 (𝑠) 𝐿𝑎 (𝑃 𝑚+𝑛 𝐼𝑚 )𝑠 +𝑅𝑎 (𝑃 𝑚+𝑛 𝐼𝑚 )𝑠 2+(𝐾𝑎 𝐾𝑏𝑃𝑛+𝐾2 𝐾𝑎𝐻2 𝑛)𝑠+𝐾1 𝐾2 𝐾𝑎 𝐻1 𝑃𝑛
2 2 3 2 2

System Parameters:
Parameter Symbol Unit Value
Resistance of the armature coil Ra Ω 0.3
Inductance of the armature coil La 𝐻 0.01
Back emf constant of the motor shaft Kb 𝑉𝑠/𝑟𝑎𝑑 0.3
Inertia of the motor shaft Im 𝐾𝑔𝑚2 0.00005
Mass of the machine table m 𝐾𝑔 50
Pitch of the lead-screw P 𝑚 0.01
Speed ratio of the gear box N 10
Controller constant K1 𝑉/𝑉 3
Amplifier constant K2 𝑉/𝑉 4
Torque constant Ka 𝑁𝑚/𝐴 0.3
Constant of displacement transducer H1 𝑉/𝑚 1
Constant of velocity transducer H2 𝑉𝑠/𝑟𝑎𝑑 0.5

Solution
F = 𝐾1 𝐾2 𝐾𝑎 𝑃𝑛
A = 𝐿𝑎 (𝑃2 𝑚 + 𝑛2 𝐼𝑚 )
B = 𝑅𝑎 (𝑃2 𝑚 + 𝑛2 𝐼𝑚 )
C = 𝐾𝑎 𝐾𝑏 𝑃𝑛 + 𝐾2 𝐾𝑎 𝐻2 𝑛
D = 𝐾1 𝐾2 𝐾𝑎 𝐻1 𝑃𝑛

11
MATLAB Programs

1. Time Domain Solutions


ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.01; im=0.00005;
kb=0.3; k1=3; k2=4; h1=1; h2=0.5;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
step(num,den);
grid

Step Response
1

0.9

0.8

0.7

0.6
Amplitude

0.5

0.4

0.3

0.2

0.1

0
0 50 100 150
Time (seconds)

12
ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.01; im=0.00005;
kb=0.3; k1=3; k2=4; h1=1; h2=0.005;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
step(num,den);
grid

Step Response
1

0.9

0.8

0.7

0.6
Amplitude

0.5

0.4

0.3

0.2

0.1

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Time (seconds)

13
ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.01; im=0.00005;
kb=0.3; k1=3; k2=4; h1=100; h2=0.5;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
step(num,den);
grid

Step Response
0.01

0.009

0.008

0.007

0.006
Amplitude

0.005

0.004

0.003

0.002

0.001

0
0 0.5 1 1.5
Time (seconds)

14
Neglecting the motor inductance: La=0
ra=0.3; la=0.0; ka=0.3; m=50; n=10 ; p=0.005; im=0.000001;
kb=0.3; k1=3; k2=4; h1=1; h2=0.001;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
step(num,den);
grid

Step Response
1

0.9

0.8

0.7

0.6
Amplitude

0.5

0.4

0.3

0.2

0.1

0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35
Time (seconds)

15
2. Frequency Domain Solutions

2.1 Nyquist Plots


Stable System: K1 = 3

ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.005;


im=0.000001; kb=0.3; k1=3; k2=4; h1=1; h2=0.001;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
nyquist(num,den);
grid

16
Nyquist Diagram
1
2 dB 0 dB -2 dB -4 dB
4 dB
0.8
-6 dB
0.6 6 dB

0.4 10 dB -10 dB

0.2
Imaginary Axis

20 dB -20 dB

-0.2

-0.4

-0.6

-0.8

-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Real Axis

Critically Stable System: K1 = 4.15

ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.005;


im=0.000001; kb=0.3; k1=4.15; k2=4; h1=1; h2=0.001;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
nyquist(num,den);
grid

17
Nyquist Diagram
1.5
2 dB 0 dB -2 dB

4 dB -4 dB
1

6 dB -6 dB

0.5
10 dB -10 dB
Imaginary Axis

20 dB -20 dB
0

-0.5

-1

-1.5
-1.5 -1 -0.5 0 0.5 1 1.5
Real Axis

Unstable System: K1 = 5

ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.005;


im=0.000001; kb=0.3; k1=5; k2=4; h1=1; h2=0.001;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];

18
nyquist(num,den);
grid

Nyquist Diagram
2
2 dB 0 dB -2 dB

1.5

4 dB -4 dB
1
6 dB -6 dB
0.5 10 dB -10 dB
Imaginary Axis

20 dB -20 dB
0

-0.5

-1

-1.5

-2
-2 -1.5 -1 -0.5 0 0.5 1
Real Axis

2.2 Bode Plots


Stable System: K1 = 3

ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.005;


im=0.000001; kb=0.3; k1=3; k2=4; h1=1; h2=0.001;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
19
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
bode(num,den);
grid

Bode Diagram
0

-20
Magnitude (dB)

-40

-60

-80

-100
0
Phase (deg)

-90

-180

-270
-1 0 1 2 3
10 10 10 10 10
Frequency (rad/s)

Critically Stable System: K1 = 4.15

ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.005;


im=0.000001; kb=0.3; k1=4.15; k2=4; h1=1; h2=0.001;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);

20
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
bode(num,den);
grid

Bode Diagram
20

0
Magnitude (dB)

-20

-40

-60

-80

-100
0
Phase (deg)

-90

-180

-270
0 1 2 3
10 10 10 10
Frequency (rad/s)

Unstable System: K1 = 5

ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.005;


im=0.000001; kb=0.3; k1=5; k2=4; h1=1; h2=0.001;
F=k1*k2*ka*p*n;

21
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
bode(num,den);
grid

Bode Diagram
20

0
Magnitude (dB)

-20

-40

-60

-80

-100
0
Phase (deg)

-90

-180

-270
0 1 2 3
10 10 10 10
Frequency (rad/s)

22
2.3 Nichole's Plots
Stable System: K1 = 3
ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.005;
im=0.000001; kb=0.3; k1=3; k2=4; h1=1; h2=0.001;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
nichols(num,den);
grid

Nichols Chart
40
0 dB
0.25 dB
0.5 dB
20 1 dB -1 dB
3 dB
6 dB -3 dB
0 -6 dB
-12 dB
Open-Loop Gain (dB)

-20 -20 dB

-40 -40 dB

-60 -60 dB

-80 -80 dB

-100 -100 dB

-120 dB
-120
-360 -315 -270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)

23
Critically Stable System: K1 = 4.15

ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.005;


im=0.000001; kb=0.3; k1=4.15; k2=4; h1=1; h2=0.001;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
nichols(num,den);
grid

Nichols Chart
40
0 dB
0.25 dB
0.5 dB
20 1 dB -1 dB
3 dB
6 dB -3 dB
0 -6 dB
-12 dB
Open-Loop Gain (dB)

-20 -20 dB

-40 -40 dB

-60 -60 dB

-80 -80 dB

-100 -100 dB

-120 dB
-120
-360 -315 -270 -225 -180 -135 -90 -45 0 45 90 135 180
Open-Loop Phase (deg)

24
Unstable System: K1 = 5

ra=0.3; la=0.01; ka=0.3; m=50; n=10; p=0.005;


im=0.000001; kb=0.3; k1=5; k2=4; h1=1; h2=0.001;
F=k1*k2*ka*p*n;
A=la*(p*p*m+n*n*im);
B=ra*(p*p*m+n*n*im);
C=ka*kb*p*n+k2*ka*h2*n;
D=k1*k2*ka*h1*p*n;
num=[0 0 0 F];
den=[A B C D];
nichols(num,den);
grid

Nichols Chart
40
0 dB
0.25 dB
0.5 dB
20 1 dB -1 dB
3 dB
6 dB -3 dB
0 -6 dB
-12 dB
Open-Loop Gain (dB)

-20 -20 dB

-40 -40 dB

-60 -60 dB

-80 -80 dB

-100 -100 dB

-120 dB
-120
-360 -315 -270 -225 -180 -135 -90 -45 0 45 90 135 180
Open-Loop Phase (deg)

25

You might also like