1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo bài tập lớn hệ THỐNG điều KHIỂN máy CNC một hệ thống CNC gồm 2 trục x và y được điều khiển bởi 2 động cơ

51 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 1,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thực hiện nội suy đường thẳng và đường tròn 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.. Trình bày và nêu ví dụ minh họa thông số tùy chọn về nội suy thô

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN

CHUYÊN NGÀNH KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA

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 sinh viên thực hiện: Nhóm 7

Trang 2

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 3

Mục lục

Mục Lục

PHẦN I: ĐỀ BÀI 3

PHẦN II: BÀI LÀM 4

1 Thiết kế bộ điều khiển PID vị trí cho từng trục 4

2 Nội suy 11

2.1 Nội suy đường thẳng 11

2.1.1 Công thức tính toán nội suy đường thẳng 11

2.1.2 Nội suy thô ……… 12

2.1.3 Nội suy tinh……… ………13

2.1.2 Kết quả mô phỏng 16

2.2 Nội suy đường tròn 18

2.2.1 Xây dựng công thức nội suy đường tròn 19

2.2.2 Mô phỏng 20

3 Vẽ Chữ C 20

3.1 Tính toán lý thuyết 20

3.2 Mô phỏng 21

4 Thực hiện tăng tốc/ giảm tốc sau nội suy………

23 4.1 Tổng quan chung 24

4.2 Nội suy đoạn thẳng……….25

4.3 Nội suy đường tròn ……… 27

5 CODE MATLAB……… 33

Trang 4

PHẦN I: ĐỀ BÀI

Một hệ thống CNC gồm 2 trục X và Y được điều khiển bởi 2 động cơ có bộ

driver điều khiển tốc độ kèm theo Giả sử hàm truyền với đầu vào là điện áp điều

khiển, đầu ra là tốc độ của 2 hệ truyền động 2 trục X và Y là khâu quán tính bậc

1 Tự chọn thông số 02 hàm truyền trên và thiết kế bộ điều khiển vị trí cho từng

trục thỏa mãn các yêu cầu sau

- Thời gian xác lập nhỏ nhất

2 Thực hiện nội suy đường thẳng và đường tròn 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) Điểm đầu, điểm cuối, bán kính tùy chọn.

- Thực hiện cả nội suy thô và nội suy tinh

- Tự chọn vận tốc tối đa, gia tốc tối đa

- Chu kỳ nội suy thô là 5ms, nội suy tinh là 1ms

3 Thực hiện mô phỏng hệ thống di chuyển theo quỹ đạo hình chữ O hoặc C Nội suy

đường tròn tâm I(x0,y0) bán kính R tùy chọn chu kỳ nội suy 5ms, chu kì điều khiển 1ms Yêu

cầu gia tốc giảm tốc trước khi nội suy Xác định quỹ đạo chuyển động theo thời gian với

profile vận tốc hình thang, amax và vmax tự chọn.

Chia tiếp 5ms nội suy theo 2 phương pháp tuyến tính và trung bình.

3

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 5

Đề bài

4 Trình bày và nêu ví dụ minh họa (thông số tùy chọn) về nội suy thô đường thẳng

và đường tròn 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 sau nội

suy) Gợi ý: Từ quỹ đạo tính ra các bước di chuyển cho từng trục, sau đó dùng bộ lọc

số để thực hiện tăng tốc/giảm tốc.

5 Ghi chú: Mỗi nhóm sinh viên chuẩn bị một quyển báo cáo, có kèm mã

chương trình mô phỏng File code chương trình mô phỏng cũng phải nộp cho giáo viên.

Trang 6

PHẦN II: BÀI LÀM

1 Thiết kế bộ điều khiển PID vị trí cho từng trục

* Hai hàm truyền của đối tượng:

 Sai lệch tĩnh =0, độ quá điều chỉnh <5%

 dùng phương pháp tối ưu độ lớn để thiết kế bộ điều khiển.

Sơ đồ cho trục X, Y:

Hình 1: Sơ đồ điều khiển vị trí 2 trục X, Y

* Xác định thông số của bộ PID:

7

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 7

Nội suy đường thẳng

Sử dụng PID tuning trong matlab sau đó hiệu chỉnh để đạt được kết quả tốt hơn.

Trang 9

Nội suy đường thẳng

Trục Y

Hình 3: Đáp ứng trục Y

- Trục y: bộ điều khiển đã đạt yêu cầu bài toán với các chỉ tiêu:

+ Sai lệch tĩnh ≈ 0

Trang 10

+ thời gian xác lập ≈ 0.06s

+ Độ quá điều chỉnh ≈ 1.2%

2 Nội suy

2.1 Nội suy đường thẳng

2.1.1 Công thức tính toán nội suy đường thẳng

Hình 4: Nội suy đường thẳng

Giả sử điểm A(70;80), B(30;50)

Xây dựng Profile tốc độ cho chuyển động thẳng A(30;50) - B(70;80) Chiều dài: L=( xB−x A )2 +( y B − y A )2= √ (30−70)2 +(50−80)2=50 (mm)

Gia tốc tang tốc cho phép: A=20(mm/ s2)

Gia tốc giảm tốc cho phép: D=20(mm/ s2)

Chu kỳ nội suy:

Trang 11

Nội suy đường thẳng

a) Gia tốc,giảm tốc và nội suy thô Profile vận tốc hình thang

Thời gian tăng tốc Ta= F A =1 (s)

Thời gian giảm tốc Td= F D =1 ( s )

Trang 13

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 14

0

Giảm tốc

Trong đó: V i là vận tốc của khoảng thời gian thứ i và V o =V m=20 (mm/ s)

Li là độ dịch chuyển của lần lấy mẫu thứ i

2.1.3 Nội suy tinh

Chu kì nội suy 5ms, chu kì điều khiển 1ms N=5

Phương pháp:

+)Phương pháp tuyến tính +)Phương pháp trung bình

14

Trang 15

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 16

Hình 5: chu kì trích mẫu nội suy và chu kì điều khiển

Trang 17

Nội suy đường thẳng

Hình 7: Tính toán nội suy tuyến tính trục Y

2.1.2Kết quả mô phỏng

-Nội suy thô và tinh đoạn thẳng AB

Hình 8: Nội suy thô và tinh đoạn AB

Trang 19

Nội suy đường thẳng

Hình 11: Profile vận tốc

Trang 20

2.2 Nội suy đường tròn

2.2.1 Xây dựng công thức nội suy đường tròn

Hình 12: Lý thuyết tính độ dịch theo góc lệch alpha

Từ hình vẽ, ta xây dựng được công thức:

Cosθi+1 = Acosθi−Bsinθi

Sin θi+1 = Asinθi+ Bcosθi

Đặt A = cos( ), B = sin( )

Với θi+1 = i+

=>

Y(i+1) = Ri θi+1 = AX(i)−BY(i)

Y(i+1)= Ri sin θi+1 = AY(i) + BX(i)

Suy ra:

DX(i) = X(i+1)−X(i)=(A−1)X(i)−BY(i)

DY(i) = Y(i+1)−Y(i)=(A−1)Y(i) +BX(i)

Ta sẽ tìm góc lệch alpha nhờ vận tốc góc mỗi chu kì tính toán.

Lựa chọn đường tròn có tâm I (20, 20), bán kính R=20 Điểm bắt đầu nội suy là A(2,11), điểm kết thúc nội suy là B ( 8,11) Nội suy nửa đường tròn, nửa còn lại làm tương tự Chọn

Fmax = 20mm/s, gia tốc tăng giảm tốc là 20mm/s2, góc quay π , chu kì nội suy 5ms.

Áp dụng thuật toán Euler ta xác định được góc 4 / R 2 / 5

A ≈ 0.99 B ≈ 0.127

14

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 21

Nội suy đường tròn

Nội suy thô sai lệch đường tròn

Trang 22

Hình 14: sự khác nhau giữa nội suy thô và nội suy tinh

Hình 15: Đồ thị trục X

16

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 23

Nội suy đường tròn

Hình 16: Đồ thị trục Y

Hình 17: Đồ thị vận tốc

Trang 24

3 Vẽ Chữ C

3.1 Tính toán lý thuyết

Cách vẽ: vẽ 2 đường tron và 1 đường thẳng

- Nội suy đường tròn từ điểm A60;50) đến điểm B(20;50) tâm

O1(40,50) bán kính R=20.

- Nội suy đường thẳng từ điểm B(20;50) đến điểm C(20;20)

- Nội suy đường tròn từ điểm C(20;20) đến điểm D(60;20) tâm

Trang 25

Tăng giảm tóc sau nội suy

3.2 Mô phỏng

Hình 19: Nội suy tinh và thô chữ C

Trang 27

Tăng giảm tóc sau nội suy

Hình 23: Đồ thị vận tốc

Trang 28

4.Thực hiện tăng tốc/ giảm tốc sau nội suy

Trang 29

Tăng giảm tóc sau nội suy

Tính toán nội suy

Vì quá trình nội suy các trục diễn ra trước nên ta coi vận tốc ăn dao trên quỹ đạo là không đổi và bằng vận tốc max Fmax. Nên trong các chu kỳ nội suy, đoạn dịch chuyển AL là bằng nhau và bằng L[k] = Fmax*T=AL Với T là chu kì nội suy

Trang 30

Mỗi chu kì nội suy, dao sẽ đi được 1 khoảng ∆ L , tương ứng trên trục Ox

sẽ đi được 1 khoảng ∆ x = ∆ L cos θ và trên trục Oy đi được 1 khoảng ∆ y =

∆ L sin θ

Từ đó ta có các đoạn dịch chuyển ax, ay trong các chu kì nội suy.

Tăng tốc/ giảm tốc sau nội suy Ví dụ minh họa

Trang 31

Tăng giảm tóc sau nội suy

Trang 32

Về cơ bản, các tăng tốc/ giảm tốc sau nội suy đường tròn giống với nội suy đường thẳng Điểm khác là ∆ x , ∆ y thay đổi và ảnh hưởng bởi giá trị

xuất phát cũ.

x[k] = m L = ∆ L = √ DX (i)2+ DY (i)2 // bỏ

Vận tốc góc ω = F R = 20 20 (rad/s), ωmax = 1rad/s, aht max = dht max = 1 rad/s2

Vì quá trình nội suy các trục diễn ra trước nên ta coi vận tốc ăn dao trên quỹ đạo là không đổi và bằng vận tốc max Wmax. Nên trong các chu kỳ nội suy, góc dịch chuyển Aalpha là bằng nhau và bằng alpha[k] = Wmax*T, T là chu kì nội suy

Và theo công thức tính đoạn dịch chuyển từng chu kì nội suy

DX(i) = X(i+1)−X(i) = (A−1)X(i)−BY(i)

DY(i) = Y(i+1)−Y(i) = (A−1)Y(i) +BX(i)

Ta sẽ tìm ra Dx, Dy trong các chu kì nội suy.

24

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 33

Tăng giảm tóc sau nội suy

Sau đó ta thực hiện tăng tốc/ giảm tốc bằng công thức sai phân của bộ lọc số bên trên, ta thu được các giá trị Dx, DY thực tế để đưa vào bộ điều khiển vị trí.

Lựa chọn đường tròn có tâm I (20, 20), bán kính R=20mm Điểm bắt đầu nội suy là A(20, 00), điểm kết thúc nội suy cũng tại A Nội suy nửa đường tròn, nửa còn lại làm tương tự Chọn Fmax = 20mm/s, gia tốc tăng giảm tốc là 20mm/s2, góc quay 2 π , chu kì nội suy 5ms.

với dL(k) = 10 x 0.005 = 0.05 rad

DX(i) = X(i+1)−X(i) = (A−1)X(i)−BY(i)

DY(i) = Y(i+1)−Y(i) = (A−1)Y(i) +BX(i)

Kết quả của phép nội suy thô (phép tích chập sử dụng bộ lọc số) được thể hiện dưới đây:

Trang 35

Tăng giảm tóc sau nội suy

Hình 25: Đồ thị trục X

Trang 36

Hình 27: Đồ thị vận tốc đoạn thẳng

28

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 37

Tăng giảm tóc sau nội suy

Hình 28: Nội suy thô sau tăng giảm tốc đường tròn

Hình 29: Đầu ra trục X

Trang 39

Tăng giảm tóc sau nội suy

4 CODE MATLAB

Nội suy đường thẳng

%noi suy duong thang

%ma tran bo nho

%them gia tri 0 the hien toc do ban dau la 0

Trang 40

title('Do thi toc do')

%noi suy tinh su dung phuong phap tuyen tinh

title('Noi suy tinh duong thang AB')

% Import Data to Simulink

time = Tipo*(1:(fix(T/Tipo)+1)*5); % Chu ki trich mau 1ms

Nội suy đường tròn:

%noi suy duong tron

clear

32

TIEU LUAN MOI download : skknchat123@gmail.com

Trang 41

Tăng giảm tóc sau nội suy

%thong so duong tron

R=20;

vecOA = [xA-xO yA-yO];

vecOB = [xB-xO yB-yO];

L_OA = sqrt(vecOA(1)^2 + vecOA(2)^2);

L_OB = sqrt(vecOB(1)^2 + vecOB(2)^2);

angleAOB = acos(dot(vecOA, vecOB)/(L_OA*L_OB));

%L = R * angleAOB; %do dai cung tron

%ma tran bo nho

%them gia tri 0 the hien toc do ban dau la 0

Trang 42

title('do thi toc do')

%noi suy tinh su dung phuong phap tuyen tinh

title('Noi suy tho va noi suy tinh duong tron')

% Import Data to Simulink

time = Tipo*(1:(fix(T/Tipo)+2)*5); % Chu ki trich mau 1ms

Trang 43

Tăng giảm tóc sau nội suy

%cung CD

xO2 = xO1; yO2 = yO1-30;%tam cung tron

R2=R;

%tinh do dai quang duong

vecO1A = [xA-xO1 yA-yO1];

vecO1B = [xB-xO1 yB-yO1];

L_O1A = sqrt(vecO1A(1)^2 + vecO1A(2)^2);

L_O1B = sqrt(vecO1B(1)^2 + vecO1B(2)^2);

angleAO1B = acos(dot(vecO1A, vecO1B)/(L_O1A*L_O1B));

L_AB = R * angleAO1B; %do dai cung tron AB

vecO2C = [xC-xO2 yC-yO2];

vecO2D = [xD-xO2 yD-yO2];

L_O2C = sqrt(vecO2C(1)^2 + vecO2C(2)^2);

L_O2D = sqrt(vecO2D(1)^2 + vecO2D(2)^2);

angleCO2D = acos(dot(vecO2C, vecO2D)/(L_O2C*L_O2D));

L_CD = R * angleCO2D; %do dai cung tron CD

L_BC = sqrt((xB-xC)^2+(yB-yC)^2); %do dai doan BC

%noi suy tho cung AB

%ma tran bo nho

%them gia tri 0 the hien toc do ban dau la 0

Trang 45

Tăng giảm tóc sau nội suy

% noi suy tho cung CD

Tc = (L_CD - F^2/(2*D) - F^2/(2*A))/F;

T_CD = Td + Ta + Tc;

nA =

%ma tran bo nho

%them gia tri 0 the hien toc do ban dau la 0

%ma tran bo nho

%them gia tri 0 the hien toc do ban dau la 0

% ve noi suy tho chu C figure(2)

stairs(X_AB, Y_AB, 'linewidth', 1.5)

hold on

stairs(X_BC, Y_BC, 'linewidth', 1.5)

Trang 46

axis equal

xlabel('X')

ylabel('Y')

title('Noi suy tho chu C')

%noi suy tinh cung AB

Trang 47

Tăng giảm tóc sau nội suy

title('Noi suy tho va tinh chu C')

%ve van toc an dao

figure(3)

time_AB = Tipo*(1:(fix(T_AB/Tipo)+2));

time_BC = max(time_AB) + (Tipo*(1:(fix(T_BC/Tipo)+1)));

time_CD = max(time_BC) + (Tipo*(1:(fix(T_CD/Tipo)+2)));

plot(time_AB', angle_AB*R/Tipo, 'linewidth', 1.5) hold

title('do thi van toc')

% Import Data to Simulink T = T_AB + T_BC + T_CD;

X = [X_t_AB, X_t_BC, X_t_CD];

Y = [Y_t_AB, Y_t_BC, Y_t_CD];

time = Tipo*(1:(fix(T/Tipo)+5)*5); % Chu ki trich mau 1ms

in_x = [time', X'];

in_y = [time', Y'];

%ve tin hieu suat ra tu simulink

Trang 48

plot(time', Y', 'linewidth', 1.5)

Tăng/Giảm tốc sau nội suy đường thẳng

%tang giam toc sau noi suy doan thang

title('Noi suy tho doan thang AB')

% Import Data to Simulink

time = Tipo*(1:(ceil(T/Tipo)+n)); % Chu ki trich mau 1ms

Trang 49

Tăng giảm tóc sau nội suy

%do thi bieu thi toc do

Tăng/Giảm tốc sau nội suy đường tròn:

%tang giam toc sau noi suy duong tron

%thong so duong tron

%diem bat dau

xA = 20; yA = 00;

R=20;

vecOA = [xA-xO yA-yO];

vecOB = [xB-xO yB-yO];

L_OA = sqrt(vecOA(1)^2 + vecOA(2)^2);

L_OB = sqrt(vecOB(1)^2 + vecOB(2)^2);

angleAOB = acos(dot(vecOA, vecOB)/(L_OA*L_OB));

%L = R * angleAOB; %do dai cung tron

Trang 50

X(i) = xO + (X(i-1) - xO)*cos(S(i)) + (yO - Y(i-1))*sin(S(i));

Y(i) = yO - (yO - Y(i-1))*cos(S(i)) + (X(i-1) - xO)*sin(S(i));

title('Noi suy tho duong tron')

%Import Data to Simulink

time = Tipo*(1:(ceil(T/Tipo)+n+1)); % Chu ki trich mau 1ms

Trang 51

Tăng giảm tóc sau nội suy

Ngày đăng: 23/07/2022, 09:07

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w