ĐIỀU KHIỂN BÀN MÁY Y:

Một phần của tài liệu TỔNG QUAN VỀ MÁY CÔNG CỤ ĐIỀU KHIỂN BẰNG CHƯƠNG TRÌNH SỐ (MÁY CNC) (Trang 31 - 53)

CHƯƠNG III : ĐIỀU KHIỂN BÀN MÁY CNC BẰNG BỘ ĐIỀU KHIỂN PID

2. ĐIỀU KHIỂN BÀN MÁY Y:

2.1 Tìm hàm truyền của bàn Y:

Thông số ban đầu:

- Khối lượng phôi: m = 720kg - Hệ số ma sát: μ=0,05

- Bước vít me: l = 10 mm

- Chiều dài vít me: L = 1200 mm

Tính toán tương tự ta có bảng kết quả độ cứng của bàn máy Y:

kc kb kg ks kch kn 294,5.104 222.106 3.109 27,6.107 2.105 87,3.107 Hệ số độ cứng: 1 K=k1c+k1b+kg1+ks+k1ch+k1n Từ đó ta tính được K= 1,87.105 (N/m) Hệ số giảm chấn: B=2ξKM=2.0,35.√1,82.105.860 = 8,76.103 Ta được hàm truyền: G(s)=((ss)) = K21Π M s2+(B+μMg)s+K = 860s2+9181,4298s+1,87.105

2.2 Kiểm tra tính ổn định của hàm truyền G(s):

a/ Kiểm tra sự ổn định của hệ hở:

B(s)

A(s) = 860s2+9181,4298s+1,87.105

Nếu tất cả các nghiệm của biểu thức A(s) đều nằm phía bên trái trục ảo hay khi đó A(s) được gọi là đa thức Hurwitz, ta dung lệnh roots A(s) được bộ nghiệm sau đây:

X1=¿ -5,6868 + 13,6052i

» nyquist(num,den)

Ta được đồ thị như hình bên dưới:

HÌNH 3.14 ĐỒ THỊ NYQUIST CỦA HỆ

Dựa vào đồ thị Hình 3.3 bên dưới qua đồ thị ta nhận thấy rằng: Điểm (-1+j0) được đánh dấu (+) trên hình vẽ không bị bao bởi đường đồ thị Nyquist nên hệ kín ổn định

Đồ thị Bode. Dùng lệnh margin để kiểm tra tính ổn định. Từ dấu nhắc của cửa sổ Matlab ta nhập:

» num = 298;

» den = [860 9181.4 187000]; » margin(num,den)

HÌNH 3.15 ĐỒ THỊ BODE CỦA HỆ

Từ đồ thị Hình 3.15 nhận xét đường pha ở trên đường −180o nên hệ kín ổn định c/ Kiểm tra đáp ứng của hệ với một số tín hiệu thông thường:

HÌNH 3.16 ĐÁP ỨNG BƯỚC NHẢY CỦA HỆ

Nhận xét : Với độ nhảy vọt (overshoot) lên đến αmax = 27,2% Tmax =0,223s . điều này là không thể chấp nhận được với hệ thống khi mà yêu cầu đặt ra độ quá độ điều chỉnh nằm trong khoảng 2% . Hơn nữa, ở đây chúng ta cho hệ kích thích bằng tín hiệu 1(t) nhưng hệ không bán lấy đầu vào.

Đáp ứng xung Dirac (Hàm trọng lượng):

2.3 Thiết kế bộ điều khiển PID:

HÌNH 3.18 BỘ ĐIỀU KHIỂN PID CHO BÀN Y

Việc sử dụng công cụ mô phỏng Matlab đã tích hợp sẵn công cụ thiết kế bộ điều khiển PID. Kết quả của việc thiết kế bội PID tự động dung Matlab & Simulink như sau với thông số ban đầu: kp=1, ki=1,kD=0

Chọn bộ số PID tối ưu:

kp=¿ 1212.1723

ki=¿ 9244.1703

HÌNH 3.19 ĐÁP ỨNG XUNG BƯỚC NHẢY BÀN MÁY Y KHI CÓ BỘ ĐIỀU KHIỂN PID

CHƯƠNG IV: MÔ PHỎNG HOẠT ĐỘNG CỦA HỆ THỐNG KHI GIA CÔNG THEO QUỸ ĐẠO CHO TRƯỚC

1. TÌM HIỂU KHỐI CÔNG CỤ SIMMECHANICS TRONG MATLAB

Simmechanics là một công cụ của Matlab cho phép người dùng mô hình hóa được các chi tiết cơ khí, từ đó xây dựng được các bộ phận máy, các máy cơ khí. Sau đây sẽ trình bày một số thư viện trong Simmechanics được dùng trong đồ án này.

Biểu diễn một vật thể cứng mà thuộc tính của nó là tùy ý bạn. Sự miêu tả bao gồm các thông số:

- Khối lượng của vật thể và tensor quán tính - Tọa độ trọng tâm của vật thể (CG)

- Một số hệ tọa độ body tùy ý (CSs) Trong SimMechanics, bạn nhập vào thuộc tính của Body theo 2 lớp, thuộc tính hình học và thuộc tính khối lượng:

Mục đích: biểu diễn một khớp không bậc tự do. Hai Body đã được nối với các phía khác nhau, mà không thể chuyển động tương đối. Thông số quan trọng của khớp này là trục động và hệ tọa độ xác định trục đó.

Thư viện Sensor và Actuators

Mục đích: tác dụng một lực /moment vào một Body. Khối Body Actuator kích hoạt một khối Body với tín hiệu lực suy rộng, thể hiện lực và moment tác động lên một Body. Lực suy rộng là một hàm theo thời gian đã xác định bởi một tín hiệu vào Simulink. Tín hiệu này có thể là tín hiệu Simulink nào đó, bao gồm cả tín hiệu phả hồi từ khối Sensor. Cổng vào (Input) là để đƣa tín hiệu vào Simulink. Cổng ra (Output) là cổng nói để bạn nối tới khối Body mà bạn muốn kích hoạt.

Khớp giữa hai Body thể hiện số bậc tự do giữa chúng. Khối Joint Actuator kích hoạt một khối Joint kết nối giữa hai Body với một trong các tín hiệu sau: Một lực suy rộng

+ Lực cho chuyển động tịnh tiến dọc theo khớp lăng trụ nguyên thủy.

+ Momen cho chuyển động quay quanh một khớp nguyên thủy quay. Một chuyển động

+ Chuyển động tịnh tiến cho khớp nguyên thủy lăng trụ, dưới dạng vị trí, vận tốc và gia tốc.

+ Chuyển động quay cho khớp nguyên thủy quay, dưới dạng góc quay, vận tốc góc và gia tốc góc.

Khối To Workspace đưa ra một tín hiệu và ghi dữ liệu tín hiệu ra vào không gian làm việc của MatLab. Trong quá trình mô phỏng, khối này ghi dữ liệu vào một vùng nhớ đệm bên trong. Khi quá trình mô phỏng hoàn thành hoặc dừng lại thì dữ liệu đƣợc ghi vào không gian làm việc. biểu tượng của khối thể hiện tên mảng mà dữ liệu được ghi vào.

Để xác định tên của biến không gian làm việc mà khối To Workspace ghi dữ liệu dùng thông số “Variable name”. Để xác định dạng dữ liệu của biến, sử dụng thông số “Save format ”.

Khối Derivative xấp xỉ đạo hàm của tín hiệu đầu vào u với các mô phỏng theo thời gian t. Chúng ta sẽ có xấp xỉ của bằng cách tính toán sự chênh lệch số

Khối đồ thj scope : hiển thị tín hiệu của quá trình mô phỏng dưới dạng đồ thị.

Khối hệ trục XY graph : dùng biểu diễn 2 tín hiệu vào trên trục XY.

Khối hiển thị Display : hiển thị các thông số của quá trình mô phỏng.

Khối tín hiệu điều khiển Ramp, Step : dùng tạo tín hiệu bậc thang hay tín hiệu dốc tuyến dùng kích thích các mô hình simulink.

Sau khi xây dựng mô hình 3D trong Solidworks, ta được mô hình hệ bàn máy trong môi trường Matlab & Simulink như sau:

2. GIA CÔNG ĐƯỜNG THẲNG:

Sơ đồ thuật toán:

BẮT ĐẦU Nhập

Đưa ra hàm:

Bộ PID Bộ PID

Bộ điều khiển PID vị trí X với tham số Kp=1223,7034;

Ki=10704,3613;Kd=34,65

Bộ điều khiển PID vị trí Y với tham số Kp=1213,1723;

Ki=9244,1703;Kd=39,3706 Điều khiển bàn X Điều khiển bàn Y

Ta viết chương trình như sau ở matlab function

function d = GiaCongDuongThang (t)

%Neu gc = 1 thi ban may chay co tai, gc = 0 thi chay khong tai

gc = 1;

%Cac diem quy dao

A = [A(1) A(2)]; B = [B(1) B(2)];

%với A(1) A(2) B(1) B(2)là tọa độ của A và B xA = A(1); yA = A(2);

xB = B(1); yB = B(2);

%Gia toc

a0 = 4.9 * (xB / sqrt(xB^2 + yB^2)); a3 = - 4.9 * (xB / sqrt(xB^2 + yB^2));

%Thoi gian di chuyen

if (gc == 1) %Chay co tai t0 = 0; t1 = (1/6) / a0; t2 = (xB - xA) / (t1 * a0); t3 = (xB - xA) / (t1 * a0) + t1; end

%Giai doan tang toc

if (t >= t0) && (t < t1)

x = xA + (a0 / 2)*(t - t0)^2;

y = (yB - yA) / (xB - xA)* x + (yA * xB - yB * xA) / (xB - xA);

vx = a0 *(t - t0);

vy = (yB - yA) / (xB - xA)* vx;

end

%Giai doan chay deu

if (t >= t1) && (t < t2)

x = xA + (a0 / 2)*(t1 - t0)^2 + a0*(t1 - t0)*(t - t1); y = (yB - yA) / (xB - xA)* x + (yA * xB - yB * xA) / (xB - xA);

vx = a0 *(t1 - t0);

end

Ví dụ: Cho đầu dao chạy từ điểm A(0,0) đến B(1,2)

Sơ đồ mô phỏng trên Matlab:

HÌNH 4.2 MÔ HÌNH MÔ PHỎNG TRÊN MATLAB Nhập code vào với A = [0 0], B = [1 2]

HÌNH 4.3 QUỸ ĐẠO MONG MUỐN

Sơ đồ thuật toán:

Bộ điều khiển PID vị trí X với tham số Kp=1223,7034;

Ki=10704,3613;Kd=34,65

Bộ điều khiển PID vị trí Y với tham số Kp=1213,1723;

Ki=9244,1703;Kd=39,3706 Điều khiển bàn X Điều khiển bàn Y

Kết thúc Nhập

Đưa ra hàm:

Bộ PID Bộ PID

Ta viết chương trình như sau ở matlab function

function d = GiaCongDuongTron (t)

%Neu gc = 1 thi ban may chay co tai, gc = 0 thi chay khong tai

gc = 1;

A = [A(1) A(2]; %Diem 1

B = [B(1) B(2]; %Diem 2

%với A(1) A(2) B(1) B(2)là tọa độ của A và B Q1 = 0; %Goc xuat phat

Q2 = 2*pi; %Goc ket thuc

xA = A(1); yA = A(2); xB = B(1); yB = B(2);

%Toa do tam

xI = (xA + xB)/2; yI = (yA + yB)/2;

%Ban kinh duong tron

R = sqrt((xA - xI)^2 + (yA - yI)^2);

%Gia toc a0 = 4.9; %a3 = - 4.9 * (xB / sqrt(xB^2 + yB^2)); if (gc == 1) VanTocGoc = (1/6) / R; GiaTocGoc = a0 / R; t0 = 0; t1 = VanTocGoc / GiaTocGoc; t2 = (Q2 - Q1) / (t1 * GiaTocGoc); t3 = (Q2 - Q1) / (t1 * GiaTocGoc) + t1; end if (gc == 0) VanTocGoc = (5/12) / R; GiaTocGoc = a0 / R; t0 = 0; t1 = VanTocGoc / GiaTocGoc; t2 = (Q2 - Q1) / (t1 * GiaTocGoc); t3 = (Q2 - Q1) / (t1 * GiaTocGoc) + t1; end

%Giai doan tang toc

x = xI + R * cos(pi-Q); y = yI + R * sin(pi-Q);

vx = -R * sin(Q) * GiaTocGoc*(t1 - t0); vy = R * cos(Q) * GiaTocGoc*(t1 - t0);

end

%Giai doan giam toc

if (t >= t2) && (t <= t3) Q = Q1 + (GiaTocGoc / 2)*(t1 - t0)^2 + GiaTocGoc*(t1 - t0)*(t2 - t1) +GiaTocGoc*(t1 - t0)*(t - t2) + (- GiaTocGoc / 2)*(t - t2)^2; x = xI + R * cos(pi-Q); y = yI + R * sin(pi-Q); vx = -R * sin(Q) * (GiaTocGoc*(t1 - t0) + 2 * (- GiaTocGoc / 2)*(t - t2));

vy = R * cos(Q) * (GiaTocGoc*(t1 - t0) + 2 * (-GiaTocGoc / 2)*(t - t2));

end

d = [x; vx; y; vy; t3];

Ví dụ: Cho đầu dao chạy từ điểm A(0,0) đến điểm C(1,0) đường kính AC Sơ đồ mô hình trên Matlab:

Nhập code vào với A = [0 0], B = [1 0]

Ta thu được đồ thị mô phỏng quỹ đạo bàn máy X,Y

HÌNH 4.6 QUỸ ĐẠO MONG MUỐN

4. KẾT LUẬN ĐIỀU KHIỂN:

Từ các hình ảnh trên ta thấy quỹ đạo thực và quỹ đạo mong muốn giống nhau. Vậy, hệ thống điều khiển ổn định, chính xác.

KẾT LUẬN

Sau khi hoàn thành đồ án này, em đã có bước đầu những hiểu biết cơ bản về máy CNC, cấu tạo cũng như nguyên lý làm việc. Trong quá trình làm đồ án đã giúp em biết cách vận dụng những kiến thức từ những môn học khác nhau, và từ đó bắt tay vào giải bài toán kỹ thuật.

Qua đồ án này, em đã nắm được cái nhìn tổng thể về việc điều khiển các hệ cơ điện tử nói chung trong đó có máy CNC là một sản phẩm điển hình nhất. Biết vận dụng bộ điều khiển PID để điều khiển hệ thống.

Với yêu cầu của đề tài, em đã hoàn thành được các nội dung đặt ra. Do lần đầu tiếp cận với khía cạnh mới cũng như khó khăn gặp phải trong quá trình làm đồ án nên không thể tránh khỏi những thiếu sót. Từ đó em rút ra được rất nhiều kinh nghiệm thực tế và giúp ích cho công việc sau này. Bên cạnh đó, ngày nay người ta đã ứng dụng bộ điều khiển phi tuyến vào việc điều khiển bàn máy và kết quả cho thấy chất lượng tốt hơn bộ điều khiển PID. Tuy nhiên do kiến thức cũng như thời gian không cho phép nên em xin phép để việc điều khiển phi tuyến về sau.

Nhờ sự hướng dẫn của TS. Trương Đức Phức và các thầy cô trong bộ môn, em đã cơ bản hoàn thành việc tìm hiểu và thiết kế bộ điều khiển truyền động cho máy phay CNC và có thêm nhiều bài học quý giá để tính toán, thiết kế và chế tạo được các loại thiết bị máy móc tương tự trong tương lai. Em mong rằng sẽ nhận được những lời nhận xét, đánh giá từ thầy cô để bản báo cáo của em trở nên hoàn thiện hơn nữa. Em xin chân thành cảm ơn!

TÀI LIỆU THAM KHẢO

[1]. Tài liệu bảng Coupling 2.

2. PMI balscrews catalog, Precision motion industries, INC.

3. Nguyễn Doãn Phước, Lý thuyết điều khiển tuyến tính, NXB khoa học kỹ thuật, 2009.

4. Trịnh Chất, Lê Văn Uyển, Tính toán thiết kế hệ thống dẫn động cơ khí tập 1, 2, NXB giáo dục Việt Nam.

5. Nguyễn Văn Khang, Chu Anh Mỹ, Cơ sở Robot công nghiệp, NXB giáo dục Việt Nam, 2011.

6. Somath Chattopadhyay, Study of accuracy of CNC machine tools.

7. Nguyễn Phùng Quang, Matlab & Simulink dành cho kỹ sư điều khiển tự động, NXB khoa học kỹ thuật, 2003.

Một phần của tài liệu TỔNG QUAN VỀ MÁY CÔNG CỤ ĐIỀU KHIỂN BẰNG CHƯƠNG TRÌNH SỐ (MÁY CNC) (Trang 31 - 53)

Tải bản đầy đủ (PDF)

(53 trang)