3.3.1. Chương trình ptdh
Chương trình ptdh xây dựng trên cơ sở thuật toán được trình bày trong mục 2.2.2 của chương ii, và viết bằng matlab 7 dùng để phân tích động học đối với những cơ cấu có cấu trúc mạch kín.
Chương trình gồm hai file: ptdh.m và ptdh_eq.m. Trong file ptdh_eq.m cho ta biết số ẩn số của bài toán.
File ptdh.m thực hiện việc tính toán và vẽ đồ thị. Cụ thể: sau khi nhập
trận jacobi (được đặt tên là phi q) từ hai ma trận con (phi v) và (phi u), từ đó chương trình sẽ tự động giải lần lượt ba bài toán vị trí, vận tốc và gia tốc.
Kết quả chương trình đưa ra ở dạng đồ thị: đồ thị biểu thị vị trí của tất
cả các khâu trong cơ cấu, đồ thị biểu thị vận tốc góc và gia tốc góc của các
khâu.
Về quy trình giải những bài toán thuộc loại này là giống nhau. Các bài toán chỉ khác nhau ở phương trình liên kết, số bậc tự do, số tọa độ suy rộng. Để sử dụng chương trình cần vào trong hai file trên với một số thao tác nhỏ nhằm thay đổi các thông số đầu vào. Cụ thể:
Khai báo số khâu động (n = );
Khai báo số bậc tự do ( dof =;)
Khai báo phương trình liên kết của cơ hệ ( f =);
Khai báo điều kiện đầu cho bài toán;
Khai báo kích thước ma trận ẩn số cần tìm (x =).
Dưới đây đưa ra ví dụ minh họa (cơ cấu bốn bản lề trong máy cày), với các mã lệnh sau:
• File ptdh_eq.m
function eq = ptdh_eq(x) global fq psi2 psi3;
eq = subs(fq, {psi2, psi3}, {x(1), x(2)});
End
• File ptdh.m
Clear;
Syms l1l2l3xdyd;
Syms psi1psi2psi3dpsi1dpsi2dpsi3ddpsi1ddpsi2ddpsi3;
Global fq psi2 psi3; U = [psi2; psi3]; Du = [dpsi2; dpsi3]; Ddu = [ddpsi2; ddpsi3];
V = [psi1]; Dv = [dpsi1]; Ddv = [ddpsi1]; Q =[v; u]; Dq =[dv; du]; Ddq =[ddv; ddu]; N = 3; Dof = 1; M = n - dof; F = [l1*cos(q(1))+l2*cos(q(2))-l3*cos(q(3))-xd, l1*sin(q(1))+l2*sin(q(2))-l3*sin(q(3))- yd]; Phiv = []; Phiu = []; Phiq = []; Phiqq = []; For i=1:m temp = []; for j=1:dof
temp = [temp diff(f(i), q(j))]; end
phiv = [phiv; temp];
End
For i=1:m temp = []; for j=1:m
temp = [temp diff(f(i), q(j+dof))]; end
phiu = [phiu; temp];
End
Phiq = [phiv, phiu]; Tempphi = phiq * dq;
temp = []; for j=1:n
temp = [temp diff(tempphi(i), q(j))]; end
phiqq = [phiqq; temp];
End
Ft = subs(f, {l1, l2, l3, xd, yd},{200, 400, 300, 500, 0}); Phivt = subs(phiv, {l1, l2, l3, xd, yd},{200, 400, 300, 500, 0}); Phiut = subs(phiu, {l1, l2, l3, xd, yd},{200, 400, 300, 500, 0}); Phiqqt = subs(phiqq, {l1, l2, l3, xd, yd},{200, 400, 300, 500, 0}); T_start = 0; T_end = pi; Number_step = 40; Dt = (t_end-t_start)/number_step; Omega = 2.43; Psi10 = 0.52; T = []; Psi = []; D_psi = []; Dd_psi = []; X = [0; 0]; For i=0:number_step t = t_start + i*dt; t = [t t]; psi1i = psi10+omega*t; dpsi1i = omega; ddpsi1i = 0;
x = fsolve(@maycay_eq, x); psi = [psi [psi1i; x]];
vi = [psi1i]; ui = x; qi = [vi; ui]; dvi = [dpsi1i];
phivi = subs(phivt, {psi1, psi2, psi3}, {qi(1), qi(2), qi(3)}); phiui = subs(phiut, {psi1, psi2, psi3}, {qi(1), qi(2), qi(3)}); phiui = double(phiui);
phivi = double(phivi); dx = phiui\(-phivi*dvi); d_psi = [d_psi [dpsi1i; dx]];
dui = dx; dqi = [dvi; dui]; ddvi = [ddpsi1i];
phiqqi = subs(phiqqt, {psi1, psi2, psi3, dpsi1, dpsi2, dpsi3}, {qi(1), qi(2), qi(3), dqi(1), dqi(2), dqi(3)});
phiqqi = double(phiqqi);
ddx = phiui\(-phivi*ddvi-phiqqi*dqi); dd_psi = [dd_psi [ddpsi1i; ddx]]; End For i=1:n figure; plot(t, psi(i, :)); xlabel('t [sec]');
s = sprintf('psi_%d - [rad]', i); ylabel(s);
For i=1:n figure;
plot(t, d_psi(i, :)); xlabel('t [sec]');
s = sprintf('dpsi_%d - [1/sec]', i); ylabel(s); End For i=1:n figure; plot(t, dd_psi(i, :)); xlabel('t [sec]');
s = sprintf('ddpsi_%d - [1/sec^2]', i); ylabel(s);
End
3.3.2. Chương trình d_h
Chương trình d_h được viết bằng phần mềm maple 9, xây dựng để phân tích động học cho những cơ cấu có cấu trúc mạch hở. Cũng như chương
trình ptdh, quá trình xây dựng các ma trận hi, tính toán và vẽ đồ thị hoàn toàn
tự động. Với mỗi bài toán chỉ thay đổi các thông số đầu vào.cụ thể:
Khai báo đúng bảng tham số động denavit-hartenberg;
Khai báo các giá trị di, ai;
Khai báo các tham số điều khiển: theta1, si;
Kết quả tính toán là một đường cong quỹ đạo chuyển động của
khâu thao tác, và đồ thị vận tốc, gia tốc của khâu thao tác đó.
Như vậy phân tích động học cơ cấu bằng phương pháp này ta chỉ lưu ý
đến việc xây dựng đúng chính xác bảng tham số động học denavit-hartenberg.
Dưới đây trình bày cách sử dụng chương trình d_h, nhằm phân tích
động học cơ cấu ba khâu của máy liên hợp khai thác gỗ.
With(linalg): With(plots): With(plottools):
Warning, the protected names norm and trace have been redefined and unprotected
Warning, the name changecoords has been redefined
Warning, the name arrow has been redefined
> tx := proc(x)
return matrix(4, 4, [[1, 0, 0, x], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]): End:
Ty := proc(y)
return matrix(4, 4, [[1, 0, 0, 0], [0, 1, 0, y], [0, 0, 1, 0], [0, 0, 0, 1]]): End:
Tz := proc(z)
return matrix(4, 4, [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, z], [0, 0, 0, 1]]): End:
Txyz := proc(xyz)
return matrix(4, 4, [[1, 0, 0, x], [0, 1, 0, y], [0, 0, 1, z], [0, 0, 0, 1]]): End:
Rx := proc(psi)
return matrix(4, 4, [[1, 0, 0, 0], [0, cos(psi), -sin(psi), 0], [0, sin(psi), cos(psi), 0], [0, 0, 0, 1]]):
End:
Ry := proc(psi)
return matrix(4, 4, [[cos(psi), 0, sin(psi), 0], [0, 1, 0, 0], [-sin(psi), 0, cos(psi), 0], [0, 0, 0, 1]]):
End:
Rz := proc(psi)
return matrix(4, 4, [[cos(psi), -sin(psi), 0, 0], [sin(psi), cos(psi), 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]):
End:
Dh:=proc(theta, d, a, alpha)
return multiply(multiply(rz(theta), tz(d)), multiply(tx(a), rx(alpha))): End:
> h1:=dh(theta1, d1, 0, pi/2): H2:=dh(theta2, 0, a2, 0): H3:=dh(theta3, 0, a3, 0):
T:=multiply(h1, map(combine,multiply(h2, h3),trig)): Rp:=<t[1, 4], t[2, 4], t[3, 4]>:
> d1:=500: A2:=1000: A3:=1000:
E_subs:={theta2 = arccos((s2^2-(d1/3)^2-(a2/3)^2)*9/2/d1/a2), theta3 = arccos((- s2^2+(a2/2)^2-(a3/3)^2)*3/a2/a3)}:
Rp:=subs(e_subs, rp):
S_subs:={s1 = 300+10*sin(t), s2 = 400+10*cos(1.5*t), theta1 = pi/3*sin(2*t)}: Rp:=subs(s_subs, rp):
Vp := map(diff, rp, t): Ap := map(diff, vp, t):
Vep:=sqrt(vp[1]^2+vp[2]^2+vp[3]^2): Aep:=sqrt(ap[1]^2+ap[2]^2+ap[3]^2):
> spacecurve([rp[1], rp[2], rp[3], t = 0..2*pi, thickness=3, color=black]);
Animate(spacecurve, [[rp[1], rp[2], rp[3]], t = 0..a, thickness=2, color=black], a = 0..2*pi, frames=100);
Plot(aep, t=0..2*pi);
Kết luận
1. Vấn đề phân tích động học cơ cấu trong các liên hợp máy phục vụ cơ giới hóa sản xuất lâm nghiệp đang cấp bách từ trước đến nay trong ngành cơ điện chưa được quan tâm đầy đủ.
2. Để thuận lợi trong tính toán hệ thống máy dùng trong sản xuất lâm nghiệp cần đặc biệt quan tâm phân tích động học cơ cấu của từng loại liên hợp trên cơ sở đó cần chọn chế độ động học và kích thước cơ bản cho phù hợp với từng đặc điểm của quy trình công nghệ.
3. Sử dụng phương pháp tách tọa độ và phương pháp ma trận denavit-
hartenberg sẽ làm cho bài toán đơn giản và thuận lợi trong quá trình tính. 4. Kết quả tính toán động học: cơ cấu bốn khâu trong máy cày, cơ cấu sáu khâu trong máy sàng phân loại hạt, cơ cấu sáu khâu trong máy sàng dăm,
cơ cấu tay quay con trượt trong máy cưa sọc, là hợp lý trong quá trình sử
dụng.
5. Luận văn đã xây dựng được hai chương trình phân tích động học tương ứng với hai loại cơ cấu chính, đó là ptdh và d_h. Chương trình là công cụ hỗ trợ để giải quyết vấn đề của một bài toán phân tích động học cơ cấu của
các máy dùng trong lâm nghiệp.
Hướng phát triển của luận văn: cần tiếp tục nghiên cứu động học của các liên hợp máy làm việc trên đất dốc của ngành lâm nghiệp.
Tài liệu tham khảo
1. Nguyễn nhật chiêu (2005), nghiên cứu thiết kế chế tạo và thử nghiệm
thiết bị chuyên dùng lắp với nguồn động lực cỡ nhỏ để đào hố trồng cây, phát thực bì phục vụ trồng và chăm sóc rừng, đề tài cấp bộ, bộ nông nghiệp và phát triển nông thôn việt nam, hà nội.
2. Nguyễn nhật chiêu (2007), nghiên cứu lựa chọn công nghệ và hệ thống thiết bị cơ giới hóa khai thác gỗ rừng trồng trên độ dốc 10-20 độ, đề tài cấp nhà nước,
3. Đào văn hiệp (2004), kỹ thuật robot, nxb khkt, hà nội.
4. Trần công hoan, nguyễn kính thảo, nguyễn nhật chiêu, nguyễn thanh
quế, vũ nguyên huy (1992), công cụ và máy lâm nghiệp, đại học lâm
nghiệp, hà tây.
5. Nguyễn văn khang (2004), cơ sở cơ học kỹ thuật, tập 1,2, nxb đhqghn,
hà nội
6. Nguyễn văn khang (2007), động lực học hệ nhiều vật, nxb khkt,
Hà nội.
7. Lê phước ninh (2000), nguyên lý máy, nxb giao thông vận tải,
Hà nội.
8. Đinh văn phong (1999), phương pháp số trong cơ học, nxb khkt,
Hà nội.
9. Đỗ sanh (1996), cơ học, tập 1 phần tĩnh học và động học, nxb giáo dục,
hà nội
10. đinh gia tường, phan văn đồng, tạ khánh lâm (2001), nguyên lý máy,
tập 1, nxb giáo dục, hà nội
Tóm tắt
Luận văn đã tập trung tìm hiểu tình hình áp dụng máy lâm nghiệp vào trong sản xuất cả trên thế giới và ở việt nam. Điều đặc biệt luận văn đã tiến hành phân loại các loại máy lâm nghiệp theo loại của cơ cấu. Điều này có ý nghĩa hết sức quan trọng trong ngành cơ khí lâm nghiệp. Đồng thời luận văn
cũng đề cập rất chi tiết hai phương pháp rất hiệu quả để giải quyết bài toán phân tích động học đối với những loại cơ cấu có trong máy lâm nghiệp. Kết quả luận văn đạt được là đã phân tích động học với những cơ cấu chủ lực của
máy lâm nghiệp. Cuối cùng luận văn đã xây dựng được hai chương trình phân tích động học tương ứng với hai loại cơ cấu chính, đó là ptdh và d_h. Chương trình tuy đơn giản nhưng giải quyết trọn vấn đề của một bài toán phân tích động học.