Professional Documents
Culture Documents
Điều khiển bàn máy CNC - Nguyễn Đức Hùng
Điều khiển bàn máy CNC - Nguyễn Đức Hùng
Đề tài: ĐIỀU KHIỂN BÀN MÁY CNC BẰNG BỘ ĐIỀU KHIỂN PID
- Tính toán các thông số của đường cong thời gian thực.
- Chuyển các phương trình riêng của hệ sang phương trình vi phân để tính toán bằng
số sẽ tìm ra các giá trị chạy dao thông qua tổng các vi phân. Phương pháp này gọi
là phương pháp tích phân số DDA ( Digital Diferential Analyse).
1.1.1. Phương pháp nội suy đường thẳng :
+ Khái niệm : Đầu khoan được di chuyển từ điểm đầu tới điểm cuối hành trình
theo chuỗi đoạn thẳng.
+ Thực hiện : Nội suy đường thẳng theo 2 hay 3 trục rất thông dụng
+ Các thông số yêu cầu :
Tọa độ điểm đầu , tọa độ điểm cuối.
Tốc đọ dich chuyển trên mỗi trục.
+ Khả năng : Về lý thuyết, nội suy đường thảng có thể lập quỹ đạo cong bất kỳ ,
nhưng lượng dữ liệu cần xử lí rất lớn. Sử dụng nội suy cung tròn , parabol, đường
xoắn làm giảm đến lượng dữ liệu cần lập trình.
điểm khởi xuất đến điểm kết thúc theo một đường thẳng với một tốc độ
chạy dao u xác định .( hình vẽ )
Chia thời gian T thành các khoảng đủ nhỏ , phép tích phân cho phép
thay bởi phép cộng số:
Với n =1,2,3.....,n
Với mỗi bước cộng, giá trị về vị trí lại tăng thêm một bước bằng hằng số . Để đảm
bảo độ chính xác của biên dạng nội suy , các bước cộng phải nhỏ hơn suất đơn vị của
chuyển động dao. Thông thường = 0,001 mm.
Theo đó:
Với
T là thời gian chạy :
Lấy tích phân theo thời gain , Ta có tốc độ thành phần trên từng trục riêng lẻ:
Với độ chính xác đủ dùng, phép tích phân trên có thể thay thế bởi phép cộng các gia số
đường dịch chuyển . Do Đó :
CHƯƠNG II: BỘ ĐIỀU KHIỂN ĐỘNG CƠ BÀN MÁY X,Y THEO PID
2.1. Bàn X
2.1.1. Xây dựng mô hình hàm truyền của hệ thống
Trong đó :
M : Khối lượng phôi và bàn máy X
K : Hệ số độ cứng
B : Hệ số giảm chấn
Với :
+ : Góc quay của động cơ cần để có thể tạo ra một dịch chuyển x(t)
+ l : Bước vít me , l= 6 mm
Lực ma sát :
Trong đó :f là hệ số ma sát
Hệ số cứng
Trong đó:
: Độ cứng của ổ bi
K = 1984811 (N/m)
Hệ số giảm chấn
B= = = 21151
2.1.1.3. Tìm hàm truyền đạt G(s) bàn X
=
2.1.2. Kiểm tra tính ổn định của hàm truyền G(s)
2.1.2.1. Kiểm ta sự ổn định của hệ hở
Nếu tất cả các nghiệm cảu biểu thức A(s) nằm bên trái cảu trục ảo hay kho đó A(s) được
gọi là đa thức Hurwitz. Thực vậy, ta dung lện root (A(s)) được bộ nghiệm sau đây : - -
23.2348 +61.4406i và -23.2348 -61.4406i
Vậy hệ hở ổn định
2.1.2.2. Kiểm tra tính ổn định của hệ kín
Dùng tiêu chuẩn Nyquist
2.1.2.3. Kiểm tra đáp ứng của hệ với một số tín hiệu thông thường
Đáp ứng bước nhảy.
z
Hình 2.5 Đáp ứng xung bước nhảy của hệ
Nhận xét : Vối độ nhảy vọt (overshoot) lên đến = 29,8% =0.188 s. đ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)
Hình 2.7 Điều khiển phản hồi vòng kín với bộ điều khiển PID
2.1.4.2. Vai trò của các khâu tỉ lệ, tích phân, vi phân
Khâu tỉ lệ:
Giá trị càng lớn thì tốc độ đáp ứng càng nhanh, do đó sai số càng lớn, bù khâu tỉ lệ càng
lớn. Nếu độ lớn của khâu tỉ lệ quá cao, hệ thống sẽ không ổn định. Ngược lại, độ lớn nhỏ
là do đáp ứng đầu ra nhỏ trong khi sai số đầu vào lớn, và làm cho bộ điều khiển kém
nhạy, hoặc đáp ứng chậm. Nếu độ lớn của khâu tỉ lệ quá thấp, tác động điều khiển có thể
sẽ quá bé khi đáp ứng với các nhiễu của hệ thống.
Hình vẽ 2.8 Vai trò của khâu tỉ lệ trong bộ điều khiển PID
Khâu tích phân
Phân phối của khâu tích phân (đôi khi là reset) tỉ lệ thuận với cả biên độ sai số lẫn quãng
thời gian xảy ra sai số. Tổng sai số tức thời theo thời gian (tích phân sai số ) cho ta tích
lũy bù đã được hiệu chỉnh trước đó. Tích lũy sai số sau đó được nhân với độ lợi tích phân
và cộng với tín hiệu đầu ra của bộ điều khiển. Biên độ phân phối của khâu tích phân trên
tất cả các động điều chỉnh được xác định bởi độ lợi tích phân .
Giá trị càng lớn kéo theo sai số ổn định bị khử càng nhanh. Đổi lại là độ vọt lố càng lớn:
bất kỳ sai số âm nào được tích phân trong suốt đáp ứng quá độ phải được triệt tiêu tích
phân bằng sai số dương khi tiến tới trạng thái ổn định.
Hình 2.10 Vai trò của khâu vi phân trong bộ điều khiển PID
Khâu vi phân làm chậm tốc độ thay đổi của đầu ra bộ điều khiển và đặc tính này đang
chú ý nhất để đạt tới điểm đặt của bộ điều khiển. Từ đó, điều khiển vi phân được sử dụng
để làm giảm biên độ vọt lố được tạo bởi thành phần tích phân và tăng cường độ ổn định
của bộ điều khiển hỗn hợp. Tuy nhiên, phép vi phân của một tín hiệu sẽ khuếch đại nhiễu
và do đó khâu này sẽ nhạy hơn đối với nhiễu trong sai số, và có thể khiến quá trình trở
nên không ổn định nếu nhiễu và độ lợi vi phân đủ lớn.
2.1.4.3. Thiết kệ PID controller theo phương pháp thực nghiệm ( phương pháp
Ziegler- Nichols thứ nhất)
Phương pháp Ziegler- Nichols thứ nhất sử dụng mô hình xấp xỉ quán tinhsbaacj nhất có
trễ đối tượng điều khiển.
Phương pháp thực nghiệm có nhiệm vụ xác định các tham số , , cho tất bộ điều
khiển PID trên cơ sở xấp xỉ hàm truyền đạt G(s) về dạng (1), để hệ kín nhanh chóng trở
về chế đọ xác lập và độ điều chỉnh không vượt quá một giới hạn cho phép, khoảng
40% so với = .
Ba tham số L ( hằng số thời gian trễ), k(hệ số khuếch đại) và T (hằng số thời gian quán
tính ) của mô hình xấp xỉ (1) có thể xác định gần đúng từ hàm quá độ h(t).
L(t) là khoảng thời gian đầu ra h(t) chưa có phản ứng ngay với kích thích 1(t) tại đàu
vào.
Hình 2.13a Đáp ứng xung bước nhảy của bàn X khi có bộ điều khiển PID
Hình 2.13b Đáp ứng xung bước nhảy của bàn X khi có bộ điều khiển PID
2.2. Bàn Y
2.2.1. Tìm hàm truyền của bàn Y
Thông số đầu vào : Khối lượng phôi, bàn máy X và bàn Y : m = 600 kg, hệ số ma sát f =
0,02 ,bước vít me l= 6 mm, chiều dài vít me L = 933 mm.
Tính toán tương tự ta nhận được bảng độ cứng của các thành phần cần thiết như sau :
K = 1984839 (N/m)
B= = = 24156
2.2.2. Hàm truyền đạt G(s)
=
2.2.3. Kiểm tra tính ổn định của hàm truyền G(s)
2.2.3.1. Kiểm tra sự ổn định của hệ hở
Nếu tất cả các nghiệm cảu biểu thức A(s) nằm bên trái cảu trục ảo hay kho đó A(s) được
gọi là đa thức Hurwitz . Thực vậy , ta dung lện root (A(s)) được bộ nghiệm sau đây : -
20.2275 +53.8416i và -20.2275 -53.8416i
Vậy hệ hở ổn định
2.2.3.2. Kiểm tra sự ổn định của hệ kín
Dùng tiêu chuẩn Nyquist
Qua đồ thị ta nhận xét 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.
Dùng đồ thị Bode.
Dùng lệnh isct(sys) để kiểm tra tính ổn định . Ta nhận được giá trị “1” chứng tỏ hệ ổn
định.
vào của hệ một tín hiệu có dạng bước nhảy đơn vị , còn gọi là hàm 1(t) hay còn gọi
là tín hiệu bbacj thang.
Nhận xét : với độ vọt lố ( overshoot) lên đến = 29,8% , . Điều này
không 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
tầm khoảng 2%. Và tín hiệu ra chưa bám lấy tín hiệu đặt vào.
Đáp ứng xung Dirac ( hàm trọng lượng)
Hàm trọng lượng g(t) là đáp ứng của hệ thống khi hệ đang ở trạng thái 0 và được đáp ứng
xung kích thích ở đầu vào cảu hệ tín hiệu có dạng xung Dirac
Hình 2.18a Đáp ứng xung bước nhảy của bàn Y khi có bộ điều khiển PID
Hình 2.18b Đáp ứng xung bước nhảy khi của bàn Y khi có bộ điều khiển PID
Biểu diễn một vật thể cứng mà thuộc tính của nó là tùy ý mình. Sự miêu tả bao gồm
các thông số:
Thuộc tính hình học được xác định bởi hệ tọa độ body của vật
Biểu diễn một khớp lăng trụ với một bậc tự do chuyển động tịnh tiến.
Khối Primastic biểu diễn một bậc tự do tịnh tiến đơn dọc trục được xavs định giữa hai
body.
Mục đích : biểu diễn một khớp không bậc tự do. Hai body dã được nối với các phía khác
nhau, mà không thể chuyển động tương đối.
Thông qua 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 dộ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 có thể là tín hiệu vào Simulink. Cổn 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 chuyển dộng tịnh tiến dọc theo khớp lăng trụ nguyên thủy.
Moment cho chuyển dộng quay quanh một khớp nguyên thủy quay.
Một chuyển động:
Chuyển động tịnh tieeisn theo khớp nguyên thủy lăng trụ, dưới dạng vị trí,
vận tốc và gia tốc.
Chyể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à gio 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 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ữ kiệu được ghi
vào.
Để xác định tên củ của biến không gian làm vieecjmaf khối To Workspace ggi dữ liệu
dung thông số “ Variable name ” . Để xác định dạng dữ liệu của biến, ta 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ố của . Trong đó,
là thay đổi tín hiệu của đàu vào, là thay đổi trong thời gian kể từ mô phỏng trước
bước thời gian.
Sauk hi xây dựng mô hình 3D trong solidworks, xuất sang file.xml tâ dược mô hình bàn
máy gồm các khối sau:
Hình 3.1 Mô hình bàn máy xuất sang môi trường Matlab & Simulink
Các tín hiệu phản hồi về bộ điều khiển sẽ được dung để tính toán các sai lệch và dideuf
chỉnh các tín hiệu để các sai lệch đó thỏa mãn các điều kiện về độ quá độ điều chỉnh,
Thòi gian quá độ…..
Khối tín hiệu đặt:
Khối PID
Từ mô hình hệ điều khiển phản hồi vòng kín, ta thiết lập lưu đồ thuật toán:
3.3. Mô phỏng bàn máy chạy theo quỹ đạo mong muốn
3.3.1 Gia công thẳng
Bàn Y :
Ta viết phương trình đương tròn duwois dangh tham số như sau:
Cũng để thỏa mãn điều kiện về quỹ đạo và vận tốc quỹ đạo đặt cũng phải là bậc 3:
đặt
Suy ra :
Ví dụ:Cho đầu vào chạy từ điểm A(0,0) đến điểm C(1,0)
Khối mô hình
Bàn Y
Để mô phỏng quỹ đạo vuông ta sử dụng code dưới đây để mô phỏng trong matlab:
Function p= Fnc(u)
% chay cho hinh vuong
% u = [ v0,x1,y1,x2,y2,t ]
% p = [x,vx,y,vy ]
V0 = u(1) ;
X1 = u(2) ;
Y1 = u(3) ;
X2 = u(4) ;
Y2 = u(5) ;
X3 = u(6) ;
Y3 = u(7) ;
X4 = u(8) ;
Y4 = u(8) ;
T = u(10) ;
L1 = sqrt ((x1-x2)^2 + (y1-y2)^2) ;
L2 = sqrt ((x2-x3)^2 + (y2-y3)^2) ;
L2 = sqrt ((x3-x4)^2 + (y3-y4)^2) ;
L2 = sqrt ((x4-x5)^2 + (y4-y5)^2) ;
L = L1 + L2 + L3 + L4 ;
T = L/v0 ;
X = 0 ; y = 0 ; vx= 0 ;vy = 0 ;
If (t <= T/4 )
V = v0 ;
Vx = v0 ;
X = x1+v0*t ;
Y = y1 ;
end
If ((T/4 <= t) && (t<= T/2)
Vx = 0 ;
Vy = -v0 ;
Y = y2-v0* (t-T/4) ;
End
If (( T/2 <=t) && (t <=3*T/4))
Vx = -v0 ;
Vy = 0 ;
X = x3-V0*(t-T/2) ;
Y = y3 ;
End
If (( 3*t/4 <= t) && (t<= T))
Vx = 0 ;
Vy = v0 ;
X = x4 ;
Y = y4 + v0*(t-3*T/4) ;
End
If ( t >= T)
Vx = 0 ;
Vy = 0 ;
X = x1 ;
Y = Y1 ;
End
P = [x, vx, y, vy ] ;
Với các thông số ban đầu là : Gia công bốn điểm A,B,C,D là bốn đỉnh của hình vuông có
các tọa dộ lần lượt như sau :
Vận tốc đặt v= 1,5 (m/s)
X1 = 0; y1= 0 ; (m)
X2 = 0,25; y2 = 0; (m)
X3 = 0.25; y3 = 0,25 ; (m)
X4 = 0; y4 = 0,25; (m)
Sau khi tính toán và vẽ code , ta sẽ đi thiết lập sơ đồ khối điều khiển bàn máy như sau
Bàn Y