Tải bản đầy đủ (.docx) (56 trang)

Bài tập lớn môn hệ thống điều khiển máy CNC (hust) có file mô phỏng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.57 MB, 56 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN
----------

BÁO CÁO BÀI TẬP LỚN

HỆ THỐNG ĐIỀU KHIỂN MÁY CNC

Giảng viên hướng dẫn: TS. Dương Minh Đức

Nhóm 18
Trương Hữu Đơ

20181392

Trần Văn Long

20181629

Nguyễn Đắc Quang

20174132

Hà Nội, tháng 7 năm 2022


Hệ thống điều khiển máy CNC

MỤC LỤC

2




Hệ thống điều khiển máy CNC
DANH MỤC HÌNH VẼ
Hình 1.1 Mơ hình điều khiển vị trí..................................................................................7
Hình 1.2 Mơ hình bộ điểu khiển 8
Hình 1.3 Mơ hình điều khiển vị trí 2 trục X,Y................................................................8
Hình 1.4 Đáp ứng lượng đặt vị trí của trục X.................................................................9
Hình 1.5 Đáp ứng lượng đặt vị trí của trục Y................................................................10
Hình 1.6 U điều khiển của trục X..................................................................................10
Hình 1.7 U điều khiển của trục Y..................................................................................11

3


Hệ thống điều khiển máy CNC
ĐỀ BÀI
Cho máy CNC có 2 trục động cơ X,Y như sau: 
Vx

K1

Vy

K2

- Trục X : U = T s +1
x
1
- Trục Y : U = T s+ 1

y
2
- K 1, K 2; T 1, T 2 ≤ 0.1 ( Tự chọn)
I.

Thiết kế bộ điều khiển vị trí cho hai trục X, Y
Yêu cầu: 
-

Độ quá điều chỉnh nhỏ hơn 5%,
Sai lệch tĩnh nhỏ hơn 0.1%,
|U đk ∨¿ ≤10V
Thời gian xác lập nhỏ nhất. 
Đầu vào dạng Step

II. Nội suy đường thẳng và đường tròn
Yêu cầu:
-

T nộisuy =5 ms

-

Tăng tốc giảm tốc trước nội suy( ADCBI)
Dạng quỹ đạo hình thang( Normal Block)

T đk =1 ms

III. Vẽ quỹ đạo hình chữ O 


4


Hệ thống điều khiển máy CNC
BÀI LÀM
I.

Thiết kế bộ điều khiển vị trí cho hai trục X, Y

Hàm truyền của mạch vòng vận tốc tương ứng với mỗi trục chuyển động Ox, Oy
như sau :
Vx

K1

Vy

K2

- Trục X : U = T s +1
x
1
- Trục Y : U = T s+ 1
y
2
Ta chọn bộ số như sau:

K 1=8

; K 2=8;


T 1=0.02 ; T 2=0.02

Ta có cấu trúc mạch vịng điều khiển vị trí như sau:

Hình 1.1 Cấu trúc điều điển vị trí

Đối tượng điều khiển vị trí ta thấy gồm khâu tích phân - qn tính bậc nhất

Trong q trình thiết kế bộ điều khiển vị trí em đã khơng sử dụng khâu tích
phân I mà chỉ dùng thành phần P và D. Do đối tượng đã có khâu tích phân đã
làm cho sai lệch tính về 0 nên nếu đưa thêm khâu tích phân là khơng cần thiết.
U max

10
đk
= =10
Xác định hệ số Kp như sau: Kp= e
1
max

Tiếp theo ta chỉnh định hệ số Td thỏa mãn nhưng yêu cầu ở trên

Hình 1.2 Cấu trúc bộ điều khiển

5


Hệ thống điều khiển máy CNC


Hình 1.3 Mơ hình điều khiển vị trí 2 trục X,Y

Sau khi kết hợp kết quả ở trên và quá trình chỉnh định bằng ta, chúng em
chọn ra hai bộ PD tương ứng để điều khiển vị trí cho hai động cơ trên trục X,Y.
Đặc điểm/Trục

Trục X

Trục Y

KP

10

10

TD

0.091895

0.091895

Thời gian quá độ (s)

0.094208

0.094208

Độ quá điều chỉnh (%)


5.00

5.00

Sai lệch tĩnh (%)

0.00

0.00

|U đk ∨¿≤10V

10V

10V

So sánh với điều kiện đề bài

Thỏa mãn

Thỏa mãn

Kết quả mô phỏng

6


Hệ thống điều khiển máy CNC

Hình 1.4 Đáp ứng lượng đặt vị trí của trục X


Hình 1.5 Đáp ứng lượng đặt vị trí của trục Y

7


Hệ thống điều khiển máy CNC

Hình 1.6 U điều khiển của trục X

Hình 1.7 U điều khiển của trục Y

8


Hệ thống điều khiển máy CNC
II. Nội suy đường thẳng và đường tròn
1.Nội suy đường thẳng
Cần di chuyển từ điểm A đến điểm B theo quỹ đạo là đường thẳng.
 Yêu cầu: Thực hiện nội suy với kiểu tăng tốc/ giảm tốc dạng hình thang
(tăng tốc/ giảm tốc trước nội suy)
Thơng số cần sử dụng trong q trình nội suy:
-

Tọa độ điểm bắt đầu: A (200, 200)
Tọa độ điểm kết thúc: B (500, 600)
Tốc độ ăn dao: F = 100 (mm/s)
Gia tốc tăng tốc cho phép: A = 50 (mm/s)
Gia tốc giảm tốc cho phép: B = 50 (mm/s)
Chu kỳ nội suy: Tns = 5 (m/s)


-

Chu kỳ điều khiển: Tdk = 1 (m/s)

1.1 Các bước tiến hành
 Tính tốn thơng số cần thiết
-

Chiều dài đoạn thẳng: L= √(500−200)2+(600−200)2 =500(mm)
cos φ ,sin φ (φ là góc lệch giữa đoạn thẳng AB và trục Ox)
 cos φ =

500−200
= 0.6
500

 sin φ =

600−200
= 0.8
500

 Tính tốn q trình tăng tốc, giảm tốc và vận tốc khơng đổi
Với thơng số như trên ta có sẽ kiểm tra dạng quỹ đạo là Normal Block hay Short
Block :

2

2


F
F
+
−L=−300<0 .Suy ra quỹ đạo dạng Normal Block. Ta có bảng :
2 A 2D

Tăng tốc
Tính tốn thời
gian tăng tốc T A,
giảm tốc T D , vận
tốc không đổi T C

T A=

F
=2(s)
A

Giảm tốc
T D=

F
=2(s)
D

Vận tốc không đổi

T C=


L−

F2 F2

2A 2D
=3 (s)
F

9


Hệ thống điều khiển máy CNC
Số lần nội suy

NA =

TA
=¿ 400
T ns

ND =

TD
=¿ 400
T ns

NC =

Tc
=¿ 400

T ns

Theo thông số thì ta có đồ thị vận tốc:
Velocity Interpolation

100

Acc
Cons
Dec

90
80

Velocity (mm/s)

70
60
50
40
30
20
10
0

0

1

2


3

4

5

6

7

Time (s)

Code Matlab:
%% Thoi gian tang toc, giam toc
Tns=5e-3;

% Chu ki noi suy

Tdk=1e-3;

% Chu ki dieu khien

kT=5;

% Ti so Tns/Tdk

F=100;

% Toc do an dao


A=50;

% Gia toc tang toc

D=50;

% Gia toc giam toc

% Toa do diem A(start) va B(end)
xa=200;ya=200;
xb=500;yb=600;
Lx=xb-xa;
Ly=yb-ya;

10


Hệ thống điều khiển máy CNC
L=sqrt(Lx^2+Ly^2);
cosphi=(xb-xa)/L;
sinphi=(yb-ya)/L;
% Kiem tra dang quy dao la Normal block hay Short block
if F^2/(2*A)+F^2/(2*D) < L
% Normal block
Ta=F/A; % Thoi gian tang toc
Td=F/D; % Thoi gian giam toc
Tc=(L-F^2/(2*A)-F^2/(2*D))/F;

% Thoi gian chuyen dong


deu
else
% Short block
F=sqrt(L/(1/(2*A)+1/(2*D)));
Ta=F/A; % Thoi gian tang toc
Td=F/D; % Thoi gian giam toc
Tc=0;

% Thoi gian chuyen dong deu

end
Tsum=Ta+Tc+Td% Tong thoi gian chuyen dong
Na=int32(Ta/Tns);
toc

% So lan noi suy trong giai doan tang

Nd=int32(Td/Tns);
dong deu

% So lan noi suy trong giai doan chuyen

Nc=int32(Tc/Tns);
toc

% So lan noi suy trong giai doan giam

Nsum=Na+Nc+Nd;


% Tong so lan noi suy

time_ns=linspace(0,Tsum,Nsum);
time_dk=linspace(0,Tsum,kT*Nsum);

 Nội suy thơ:
- Sử dụng phương pháp trích mẫu dữ liệu.

11


Hệ thống điều khiển máy CNC

-

Quá trình tăng tốc: Chuyển động nhanh dần đều, vận tốc tăng từ 0 đến F, gia tốc
A.
 Vận tốc sau mỗi chu kỳ nội suy là: V ( i+1 )=V (i ) + A . T ns
 Quãng đường đi được sau mỗi chu kỳ nội suy là: ∆ La =V (i). T ns
 Độ dịch chuyển trên trục X: ∆ X (i)=∆ La .cos (φ)
 Độ dịch chuyển trên trục Y: ∆ Y (i)=∆ La . sin(φ)
 Từ đó ta có tọa độ của dao qua mỗi chu kỳ nội suy là :
X ( i+1)= X (i)+ ∆ X (i)
Y (i+1)=Y (i)+ ∆ Y (i)

-

Q trình tốc độ khơng đổi: Chuyển động đều với vận tốc F, vận tốc sau mỗi chu
kỳ không đổi. Tương tự như trên ta xác định được :
∆ Lc =F .T ns

X ( i +1 )=X (i)+∆ Lc . cos(φ)

Y (i +1)=Y (i)+ ∆ Lc . sin(φ)

-

Quá trình giảm tốc: Chuyển động chậm dần đều, vận tốc sẽ giảm từ F về 0 với gia
tốc D. Tương tự, ta xác định được :
V (i+1)=V (i )−D .T ns

12


Hệ thống điều khiển máy CNC
∆ Ld =V (i ). T ns
X ( i +1 )=X (i)+∆ Ld . cos (φ)

Y (i +1)=Y (i)+ ∆ Ld . sin(φ)

Code Matlab:
%% Noi suy tho
Va=linspace(0,F,Na);
Vc=ones(1,Nc)*F;

% Toc do quang duong tang toc
% Toc do quang duong toc do khong doi

Vd=linspace(F,0,Nd);

% Toc do quang duong giam toc


V=[Va Vc Vd];

% Toc do tren toan quy dao

VX=V*cosphi;

% Toc do ung voi truc X

VY=V*sinphi;

% Toc do ung voi truc Y

dL=V*Tns;

% Quang duong di duoc sau moi Tns

dX=dL*cosphi;

% Quang duong di duoc theo truc X

dY=dL*sinphi;

% Quang duong di duoc theo truc Y

X_tho = xa; Y_tho = ya;
for j=2:length(dL)
X_tho(end+1)=X_tho(end)+dX(j);
Y_tho(end+1) =Y_tho(end)+dY(j);
end


X_tho_A = X_tho(1:Na);
X_tho_C = X_tho(Na+1:Na+Nc);
X_tho_D = X_tho(Na+Nc+1:end);
Y_tho_A = Y_tho(1:Na);
Y_tho_C = Y_tho(Na+1:Na+Nc);
Y_tho_D = Y_tho(Na+Nc+1:end);
plot(X_tho_A,Y_tho_A
,'r',X_tho_C,Y_tho_C,'y',X_tho_D,Y_tho_D,'b','LineWidth',
1)
xlabel('Truc X(mm)')
ylabel('Truc Y(mm)')
title('Quy dao sau khi noi suy tho')
legend({'Acc','Cons','Dec'});

13


Hệ thống điều khiển máy CNC
grid on

Kết quả mô phỏng:



Nội suy tinh:
-

Sau q trình nội suy thơ, ta thu được các giá trị sai lệch giữa thời điểm i
và i+1 theo 2 trục là 2 ma trận dX và dY


-

Gọi tổng số điểm nội suy là: N S =N A + N C + N D

-

Do chu kì điều khiển T đ k nhỏ hơn chu kì nội suy T ns 5 lần nên sau khi nội
suy tinh, kích thước của 2 ma trận mới d X new , d Y new sẽ tăng gấp 5 lần so
với 2 ma trận cũ dX, dY

-

Ở đây ta sẽ sử dụng phương pháp tuyến tính:
d X new ( j )=

dX ( j )
,i ≤ j5

14


Hệ thống điều khiển máy CNC

-

Sau khi nội suy tinh, vị trí 2 trục X, Y sẽ được tính lại theo công thức sau
X ( i+1 )=X ( i ) +d X new ( i )
Y ( i+1 )=Y ( i ) + d Y new ( i )


Code Matlab:
%% Noi suy tinh
dX_new=[]; dY_new=[];
% Cap nhat gia tri noi suy tinh dX_new, dY_new
for i=1:length(dL)
aX=ones(1,kT)*dX(i)/kT;
aY=ones(1,kT)*dY(i)/kT;
dX_new=[dX_new aX];
dY_new=[dY_new aY];
end
% Tinh ra gia tri noi suy tinh X, Y
X=xa;Y=ya;
for i=2:length(dX_new)
X(end+1)=X(end)+dX_new(i);
Y(end+1)=Y(end)+dY_new(i);
end
% Cap nhat so buoc noi suy tinh
Na_new=Na*kT;
Nc_new=Nc*kT;
Nd_new=Nd*kT;
Xa=X(1:Na_new);
Xc=X(Na_new+1:Na_new+Nc_new);

15


Hệ thống điều khiển máy CNC
Xd=X(Na_new+Nc_new+1:end);
Ya=Y(1:Na_new);

Yc=Y(Na_new+1:Na_new+Nc_new);
Yd=Y(Na_new+Nc_new+1:end);
figure
plot(Xa,Ya,'r',Xc,Yc,'y',Xd,Yd,'b','LineWidth',1)
xlabel('X axis (mm)')
ylabel('Y axis (mm)')
legend({'Acc','Cons','Dec'});
title('Quy dao Noi suy tinh')
grid on

Kết quả mô phỏng:

 Vẽ đồ thị:
₋ Đồ thị vị trí:

16


Hệ thống điều khiển máy CNC
Vi tri truc X

X (mm)

500

400

300

200


0

1

2

3

4

5

6

7

5

6

7

5

6

7

5


6

7

Time (s)
Vi tri truc Y

600

Y (mm)

500
400
300
200

0

1

2

3

4

Time (s)

₋ Đồ thị vận tốc:

Van toc truc X

vX (mm/s)

60

40

20

0

0

1

2

4

Time (s)
Van toc truc Y

80

vY (mm/s)

3

60

40
20
0

0

1

2

3

4

Time (s)

 Sơ đồ mô phỏng trên Simulink:
17


Hệ thống điều khiển máy CNC

 Kết quả mô phỏng trên Simulink:

 So sánh:

18


Hệ thống điều khiển máy CNC


19


Hệ thống điều khiển máy CNC
So sanh ket qua ly thuyet va thuc te

600

Points
Acc

550

Cons
Dec

Controller

Vi tri truc Y

500
450
400
350
300
250
200
200


250

300

350

400

450

500

Vi tri truc X
So sanh ket qua ly thuyet va thuc te
418.2789985

Points
Acc

Cons
Dec

Controller

418.278998

Vi tri truc Y

418.2789975
418.278997

418.2789965
418.278996
418.2789955
418.278995

363.7092476

363.709248

Vi tri truc X

20



×