Bộ hậu xử lý cho máy CNC 5 trục
Postprocessor là một mô-đun của phần mềm
CAM vạn năng, giữ vai trò giao diện giữa CAM và
CNC. CAM là phần mềm máy tính chuyên dụng
có nhiệm vụ cung cấp chương trình điều khiển cho
các thiết bị sản xuất là các máy CNC. Yêu cầu cơ
bản đối với một chương trình NC là nó phải tương
thích với máy mà nó phục vụ. Sự tương thích ở đây
bao gồm cả về ngôn ngữ lẫn cấu trúc, tính năng của
máy. Nói chung, các thông tin chứa trong chương
trình NC gồm 2 loại: Loại thứ nhất chỉ liên quan
đến các yếu tố nội tại của quá trình gia công, gồm
quỹ đạo chuyển động tương đối của lưỡi cắt sao với
phôi, các thông số công nghệ như: dụng cụ, lượng
tiến dao, tốc độ trục chính,. đảm bảo chất lượng
và tính kinh tế của quá trình. Loại thứ 2 liên quan
đến đặc tính kỹ thuật của máy công cụ, như kiểu bộ
điều khiển (mỗi bộ điều khiển chỉ có thể hiểu và xử
lý được chương trình có cấu trúc và cú pháp nhất
định), cấu trúc cơ khí của máy công cụ (số lượng
và loại trục điều khiển, giới hạn các thông số công
nghệ,.). Bất kỳ phần mềm CAM nào cũng phải
thỏa mãn yêu cầu trên, có 2 giải pháp kỹ thuật cho
vấn đề này:
Một là tạo ra phần mềm CAM duy nhất,
chuyên dụng để trực tiếp xuất chương trình gia công
cho mỗi máy CNC cụ thể. Giải pháp này kém hiệu
quả vì mỗi nhóm máy đòi hỏi một phần mềm CAM
cho riêng mình.
Hai là tách phần mềm CAM thành 2 mô-
đun. Mô-đun thứ nhất gọi là bộ xử lý (Processor),
có nhiệm vụ xuất một chương trình trung gian, dùng
chung chỉ mô tả quỹ đạo của dao và dùng một ngôn
ngữ chung, chưa cần quan tâm đến cấu trúc, tính
năng của máy và bộ điều khiển cụ thể. Mô-đun thứ
hai gọi là bộ hậu xử lý thông dịch chương trình
trung gian sang dạng tương thích với máy CNC cụ
thể. Khi gặp một bộ máy CNC mới, ta chỉ việc tạo
ra một PP tương ứng.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Tóm tắt nội dung tài liệu: Bộ hậu xử lý cho máy CNC 5 trục
i các hệ thống khác. Một vài hệ thống CAD/CAM có thể sinh ra các mã chương trình gia công theo mô hình hình học hoặc thậm chí cả chương trình gia công hoàn chỉnh. Các mã chương trình này sau đó phải được xử lý thêm nhờ bộ xử lý ngôn ngữ hoặc bộ PP cho các máy CNC cụ thể. 2. Các yếu tố chính cần giải quyết trong PP 2.1. Động học máy CNC Đối với các hệ điều khiển theo dạng đường liên tục bộ postprocessor phải tính đến động học[5] của chuyển động để tránh sai số vị trí. 2.2. Phép biến đổi hình học đối với các máy CNC nhiều trục Trong quá trình sinh ra đường chạy dao (toolpath generation), trên các máy CNC nhiều trục đòi hỏi một quá trình xử lý tính toán sự định vị của trục dụng cụ (tool axis orientations). Trong trường hợp này, quá trình tính toán chung sẽ sinh ra dữ liệu CL, trong đó mỗi bản ghi của dữ liệu này chứa đựng thông tin theo dạng X Y Z I J K [6]. Các giá trị X Y Z là giá trị tọa độ của các điểm mũi dao trên quĩ đạo chạy dao trong hệ tọa độ phôi, và các giá trị I J K là các côsin chỉ phương của véc tơ trục dụng cụ tương ứng với các vị trí của dao kể trên trong cùng một hệ tọa độ. Do vậy, các bộ PP cho các máy CNC nhiều trục phải có khả năng chuyển đổi các giá trị X Y Z I J K của CL data sang các dịch chuyển của các trục của mỗi máy CNC có cấu hình cụ thể. 2.3. Hiệu chỉnh sai lệch (bù sai số) Khi yêu cầu tái định vị trục dụng cụ, thì cần thiết phải dịch chuyển các tâm quay trong khi quay một hoặc cả hai trục quay một cách đồng thời. Nếu các dịch chuyển tịnh tiến và dịch chuyển góc này là có ở trong cùng một câu lệnh gia công trong bộ điều khiển CNC, thì các dịch chuyển tuyến tính và dịch chuyển góc sẽ đồng thời diễn ra theo gia số thời gian. Kết quả là, quĩ đạo của điểm mũi dao sẽ tuân theo một đường cong nào đó có quan hệ với phôi gia công. Việc hiệu chỉnh sai lệnh giữa các đường cong này và các đoạn tuyến tính như mô tả trong CL data là trách nhiệm của phần PP. Trong thực tế, các bộ PP hiện hành mới chỉ đảm bảo được rằng sai lệch của quĩ đạo thực của điểm mũi dao nằm trong giới hạn có thể nào đó so với quĩ đạo mong muốn. Lẽ tự nhiên, quĩ đạo phi tuyến của điểm mũi dao luôn có nhu cầu được tuyến tính hóa [7],[8]. Khi độ cong của quĩ đạo dao xấp xỉ với độ cong của bề mặt gia công, thì có thể cho phép PP sát nhập một số các câu lệnh cắt thẳng thành một câu lệnh đơn. Điều này cho phép nâng cao chất lượng bề mặt gia công và hiệu suất làm việc của máy. 3. Tạo postprocessor cho máy CNC 5 trục 3.1. Thuật toán tuyến tính hóa đường chạy dao Khi gia công trên máy CNC 5 trục, các đường chạy dao thực sự giữa hai điểm CL không phải tuyến tính mà là đường cong. Các đường cong trong Hình 1 cho thấy sự khác biệt giữa điểm CL và điểm CC thực tế. Đường chạy dao thực này rõ ràng là một lỗi do nội suy tuyến tính của máy 5 trục tạo ra. Lỗi này cần được kiểm tra và bù sai số, và điều này được thực hiện trong PP [10]. ISSN 2354-0575 Khoa học & Công nghệ - Số 11/Tháng 9 - 2016 Journal of Science and Technology 31 Hình 1. Đường dẫn công cụ thực tế giữa hai điểm CL[10] Tuyến tính hóa đường chạy dao được thực hiện trong PP bởi nội suy dữ liệu điểm CL mới dọc theo đường chạy dao lý tưởng và do đó thêm khối mới cho chương trình NC. Một lệnh trong file CL có thể tạo ra một vài dòng trong tập tin NC, vì vậy kích thước của chương trình NC tăng lên. Các đường chạy dao cuối cùng bao gồm các vị trí có nguồn gốc trực tiếp từ file dữ liệu CL, và vị trí mới được tạo ra bởi CL nội suy dữ liệu trong PP. Tuyến tính hóa sẽ không cung cấp chuyển động hoàn hảo của dụng cụ, nhưng độ sai lệch với đường chạy dao lý tưởng có thể được giảm đến một [9] mức độ chấp nhận được. Nếu đường chạy dao thực lệch hơn dung sai T đối với đường CL tuyến tính, thì đường chạy dao sẽ phải được tuyến tính hóa. Vấn đề tuyến tính hóa được giải quyết trong PP bằng cách chèn các điểm trung gian giữa hai điểm CL liên tiếp, khi độ lệch nằm trong miền dung sai không thỏa mãn. Cho rằng V i , V i+1 và V i+2 là ba điểm liên tiếp trong dữ liệu CL (Hình 2). Các chương trình NC tương ứng của V i là N i = [X i , Y i , Z i , B i , C i ]. Mỗi trục được giả định để di chuyển tuyến tính giữa các điểm quy định. Vì vậy, mỗi điểm trong đường cong thực tế có thể được thể hiện là: N n,t = N i + t(N i+1 – N i ) (1) Trong đó t là thời gian (0 ≤ t ≤1). Tương ứng CL dữ liệu V i,t cho N n,t có thể được xác định bởi phương trình động lực học trong [3, 4]. Hơn nữa, mỗi điểm trên đường chạy dao lý tưởng có thể được xác định như sau: V i,t = V i + t (V i+1 – V i ) (2) Hình 2. Tuyến tính đường chạy dao Có thể được nhìn thấy từ Hình 2, khoảng cách giữa V n,t và V i,t tạo thành một độ lệch, ký hiệu d i,t . Nếu độ lệch tối đa (d i,t ) max vượt quá dung sai cho phép thì các dữ liệu V i,t được chèn vào các dữ liệu CL gốc. Thông thường, điểm trung bình có t = 0,5 là điểm được chọn. Sau khi điểm trung gian V i,t đã được đưa vào, các mã NC tương ứng có thể được tạo ra. Thuật toán tuyến tính hóa đường chạy dao như sau: 1. Chọn t = 0.5 2. Đọc V i , V i+1 từ CL file 3. Tính toán V i,t = V i + t(V i+1 – V i ) 4. Tính toán Nn, Nn+1 từ Vi, và Vi+1 trên cơ sở động học ngược [3, 4]. 5. Tính N n,t = N i + t(N i+1 – N i ) 6. Tính V n,t từ N n,t trên cơ sở động học thuận 7. Tính khoảng cách d i,t 8. So sánh d i,t với dung sai T - Nếu di, d i,t ≤ T, thì đọc tiếp điểm CL, i = i + 1. - Nếu d i,t > T, chèn V i,t ở giữa V i và V i+1 và lặp lại từ bước 2 đến bước 8. Sơ đồ thuật toán tuyến tính hóa đường chạy dao được thể hiện trong Hình 3. ISSN 2354-0575 Journal of Science and Technology32 Khoa học & Công nghệ - Số 11/Tháng 9 - 2016 BEGIN Đọc điểm V i và V i+1 từ CL file Vi,t = Vi+ t(Vi+1 - Vi) Động học ngược tính N i , N i+1 N i,t = N i + t(Ni+1 - Ni) Động học thuận tính V n,t Điểm CL tiếp (i=i+1) d i,t <= T Đọc hết CL file? END V i = V i; V i+ 1 = V n, t No Yes Yes No Hình 3. Thuật toán tuyến tính đường chạy dao 3.2. Tính toán hệ tọa độ máy Dữ liệu CL là những vị trí cần cắt (x, y, z) và định hướng (i, j, k) được định nghĩa trong hệ tọa độ phôi. Ở đây các dữ liệu x, y, z, i, j, k phải được chuyển về hệ tọa độ máy X, Y, Z, và (B, C) hoặc (A, B) hoặc (A, C) để điều khiển sự chuyển động của trục máy. Bằng phương pháp biến đổi động học ngược, có thể được tính toán được dữ liệu CL gồm có: ba chuyển động liên tuyến tính (X, Y, Z) và hai chuyển động khớp quay (B, C) hoặc (A, B) hoặc (A, C). Điều này có thể được thực hiện bằng việc chuyển đổi hình học từ hệ tọa độ WCS sang hệ tọa độ MCS. Hình 4 là mô hình máy CNC năm trục DMU 70 eVolution được sử dụng để chứng minh cho phương pháp được đề xuất. Để tính toán tọa độ máy (X, Y, Z, B, C) từ dữ liệu CL (x, y, z, i, j, k), thì phải bổ sung hệ tọa ở một số khớp. Các hệ tọa độ tham chiếu được xác định từ việc việc chuyển đổi từ hệ tọa độ phôi sang hệ tọa độ máy. Các hệ tọa độ tham chiếu trung gian được hiển thị trong Hình 5 và sự chuyển đổi được tính như sau: Hình 4. Máy CNC năm trục DMU 70 eVolution Hình 5. Các hệ tọa độ tham chiếu trung gian O 0 (x 0 y 0 z 0 ): nằm ở tâm bề mặt bàn C, khi B = C = 00. Trục z 0 trùng với tâm trục C. O 1 (x 1 y 1 z 1 ): Thu được bằng cách quay (x 0 y 0 z 0 ) quanh z 0 một góc C. O2 (x2y2z2): Thu được bằng cách dịch (x1y1z1) một khoảng cách +d theo z 0 O 3 (x 3 y 3 z 3 ): Thu được bằng cách quay (x2y2z2) quanh x2 một góc +45 0 O 4 (x 4 y 4 z 4 ): Thu được bằng cách quay (x 3 y 3 z 3 ) quanh z 3 một góc B O 5 (x 5 y 5 z 5 ): Thu được bằng cách quay (x 4 y 4 z 4 ) quanh x 4 một góc -450 Ow (xwywzw): Thu được bằng cách dịch (x 5 y 5 z 5 ) một khoảng cách là -d theo z 4 Ot (xtytzt): Hệ tọa độ máy cố định ở trục chính. Bước 1: Quay quanh z 0 một góc C cos sin sin cos x x C y C y x C y C z z 1 0 0 1 0 0 1 0 = - = + = (3) Bước 2: Dịch chuyển O 1 → O2 theo trục z0 khoảng cách +d x x x y y y z z z o o o o o o 2 1 1 2 2 1 1 2 2 1 1 2 = + = + = + với zo1o2 = d (4) Bước 3: Quay quanh x2 một góc +45 0 sin sin x x y y c z z y z c 45 45 45 os45 os 3 2 3 2 0 2 0 3 2 0 2 0 = = + =- + (5) Bước 4: Quay quanh z 3 một góc B cos sin sin cos x x B y B y x B y B z z 4 3 3 4 3 3 4 3 = + =- + = (6) ISSN 2354-0575 Khoa học & Công nghệ - Số 11/Tháng 9 - 2016 Journal of Science and Technology 33 Bước 5: Quay quanh x 4 một góc -450 sin sin x x y y c z z y z c 45 45 45 os45 os 5 4 5 4 0 4 0 5 4 0 4 0 = = - = + (7) Bước 6: Dịch chuyển một khoảng -d theo z 5 x x x y y y z z z w o o w o o w o o 5 5 5 5 5 5 w w w = + = + = + với zo5ow = -d (8) Dữ liệu NC của các thông số X, Y, Z được xác định: X x x Y y y Z z z z z t w t w t O O T ww t = = = = = = - + Z [ \ ]]] ]]]] (9) Trong đó: Z T là chiều dài của dụng cụ cắt. Với cosB = 2k 0 - 1, X, Y, Z sẽ là: cos sin X y k k x x k C x k k y k y C d z k k 2 2 2 2 2 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 0 2 = - - - + + + - + - + + - - _ _ _ _ i i i i 8 8 B B (10) cos sin Y x k k y k C y k k x k C z d dk z k 2 2 0 0 0 2 0 0 0 0 0 2 0 0 0 0 0 0 = - + + + - - - + - + _ _ i i 8 8 B B (11) cos sin Z x k k y k y C y k k x k x C d dk zk 2 2 0 0 0 2 0 0 0 0 0 0 2 0 0 0 0 0 = - + - + + - - + + - + _ _ i i 8 8 B B (12) Ở đây x 0 , y 0 , z 0 , i 0 , j 0 , k 0 là vị trí mũi dao và định hướng dụng cụ được đưa ra trong dữ liệu CL. Bằng phương pháp tương tự và lưu ý rằng i j k 0 0 1 4 4 4 = = = Z [ \ ]]] ]]]] , thì các trục C và B được xác định: arctan ,C k i k k j k j k k i 1 2 1 2 0 0 0 0 2 0 0 0 0 0 2 0 = - + - - -+ _ _ _ _ i i i i> H (13) cosB = 2k 0 - 1 & B = arccos(2k 0 - 1) (14) 3.3. Phần mềm ứng dụng Một mô-đun phần mềm tuyến tính hóa đường chạy dao đã được phát triển bằng ngôn ngữ Visual Basic. Giao diện người dùng của chương trình được thể hiện trong Hình 6. Để thể hiện rõ hiệu quả của công cụ thuật toán tìm đường tuyến tính đầu tiên chúng ta kiểm tra đối với trường hợp của bốn điểm CL. Bảng 1 cho thấy bốn điểm dữ liệu CL để thử nghiệm, và Bảng 2 cho thấy các dữ liệu CL sau khi tuyến tính hóa bằng các thuật toán được đề xuất. Trong ví dụ này chọn dung sai T = 0.1, dữ liệu CL sau khi tuyến tính có 11 điểm thay vì bốn điểm; các dòng in đậm trong bảng 2 là các điểm chèn vào. Hình 7 là giao diện người dùng nhập dữ liệu kiểm tra CL. Hình 8 là giao diện của Postprocessor. Bảng 1. CL data trước khi tuyến tính hóa x y z i j k Điểm 1 20 0 -155 0.6327447124 0.465569252 0.6187742456 Điểm 2 100 0 -150 0.628284235 0.461387437 0.62640867 Điểm 3 200 0 -146 0.623829809 0.457180279 0.634039219 Điểm 4 300 0 -139 0.618938519 0.452948814 0.6416794216 Bảng 2. CL data sau khi tuyến tính hóa x y z i j k Điểm 1 20 0 -155 0.6327447124 0.465569252 0.6187742456 Điểm 11 60 0 -152.5 0.63051447415 0.4634771812 0.6225885563 Điểm 2 100 0 -150 0.628284235 0.461387437 0.62640867 Điểm 21 125 0 -149 0.62713392215 0.460335647825 0.628311955 Điểm 22 150 0 -148 0.6259836048 0.45928385845 0.630221043 Điểm 23 175 0 -147 0.62483329465 0.458232069075 0.632130131 Điểm 3 200 0 -146 0.623829809 0.457180279 0.634039219 Điểm 31 255 0 -144 0.6224968656 0.45612241345 0.63594926965 Điểm 32 250 0 -142.5 0.6213107503 0.4550645472 0.6378593203 Điểm 33 275 0 140.75 0.620126435 0.45400668095 0.63976937095 Điểm 4 300 0 -139 0.618938519 0.452948814 0.6416794216 ISSN 2354-0575 Journal of Science and Technology34 Khoa học & Công nghệ - Số 11/Tháng 9 - 2016 Hình 6. Giao diện chương trình tuyến tính hóa đường chạy dao Hình 7. Giao diện người dùng để nhập 4 điểm dữ liệu CL Hình 8. Giao diện của postprocessor ISSN 2354-0575 Khoa học & Công nghệ - Số 11/Tháng 9 - 2016 Journal of Science and Technology 35 4. Kết luận Dựa trên phương pháp đã tính toán, tác giả xây dựng một mô đun phần mềm trên nền windows bằng ngôn ngữ lập trình Visual Basic. Kết quả mô phỏng kiểm chứng, áp dụng cho máy phay CNC 5 trục với hai trục quay trên bàn gá phôi (Deckel Maho DMU 70 eVoluion), chỉ ra rằng bộ hậu xử lý có tính toán tuyến tính hóa đường chạy dao làm giảm sai số đường chạy dao, bộ hậu xử lý đáng tin cậy và có thể tùy biến để áp dụng cho các kiểu cấu hình máy CNC khác nhau. Tài liệu tham khảo [1] . Karlo Apro, Secrets of 5-Axis Machining, Industrial Press, Inc. New York 2008. [2]. Mihir Adivarekar and Frank Liou, Developing a General Postprocessor for Multi-Axis CNC Milling Centers, Computer- Aided Design & Applications, pp.57- 68. 2012. [3]. Tran Duc Tang, A Five-axis Postprocessor based on Inverse Kinematics Transformation, Advanced Material Research 662-663, pp.525-530, 2013. [4]. Tran Duc Tang, Calculation of Machine Coordinates and Postprocessor for 5-axis CNC Milling Machine, Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6, tr350-356, 2012. [5]. Chen-Hua She, Design of A Generic Five-axis Postprocessor based on Generalized Kinematics Model of Machine Tool, International Journal of Machine Tools & Manufacture, pp. 537–545, 2007 [6]. Hai-Yin Xu & Lian Hu, A Movel Kinematic Model for Five-axis Machine Tools and its CNC Applications, Int J Adv Manuf Technol , pp.1297–1307, 2013. [7]. Tran Duc Tang, Nguyen Phu Thuy, Vuong Si Kong, Tool Path Linearization Algorithm and Postprocessor for Five-axis CNC Machine, Hội nghị toàn quốc lần thứ 3 về Điều khiển và Tự động hoá - VCCA-2015, tr 860-868, 2015. [8]. Nuodi Huang, Yong qiao Jin, and QingzhenBi, Integrated Post-processor for 5-axis Machine Tools with Geometric Errors Compensation, International Journal of Machine Tools & Manufacture, pp.65–73. 2015 [9]. Knut Sorby, Inverse Kinematics of Five-Axis Machines Near Singular Configurations, International Journal of Machine Tools & Manufacture 47, pp.299-306, 2007. [10]. Erik L.J. Bohez, Compensating System Errors in 5-axis NC Machining, Computer-Aided Design 34, pp.391-403, 2002. POSTPROCESSOR FOR FIVE-AXIS CNC MACHINE Abstract: Postprocessing is a link interface with computer systems NC and its CAM data conversion CL- compatible so that each particular CNC machine [1], [2]. It has functions to read, translate production orders given by the CAM system and convert them into NC code depending on the combination of machine and control configuration. This paper outlines the postprocessors, proposed linearization algorithm toolpath and construction of post-processing for 5-axis CNC machine. Keywords: Linearization toolpath; post-processor; 5-axis CNC machine; Inverse kinematics; CNC programming; CAD/CAM/CNC.
File đính kèm:
- bo_hau_xu_ly_cho_may_cnc_5_truc.pdf