1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Xây dựng thuật toán nội suy đường tròn cho bộ điều khiển CNC trên nền FPGA

5 3 0
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 650,77 KB

Nội dung

Bài viết Xây dựng thuật toán nội suy đường tròn cho bộ điều khiển CNC trên nền FPGA xây dựng thuật toán xấp xỉ bậc thang cải tiến cho nội suy đường tròn trên FPGA (Field-programmable gate array) phục vụ cho các chuyển động quỹ đạo không gian 2D, 3D.

ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 7(116).2017 11 XÂY DỰNG THUẬT TỐN NỘI SUY ĐƯỜNG TRỊN CHO BỘ ĐIỀU KHIỂN CNC TRÊN NỀN FPGA BUILDING ALGORITHM OF CIRCULAR INTERPOLATION FOR CNC CONTROLLER BASED ON FPGA Đỗ Văn Cần1, Đoàn Đức Tùng1, Đoàn Quang Vinh2 Trường Đại học Quy Nhơn; dovancan@qnu.edu.vn, ddtung@ftt.edu.vn Đại học Đà Nẵng; dqvinh@ac.udn.vn Tóm tắt - Thuật toán nội suy quan trọng điều khiển số máy tính (CNC), đánh giá chất lượng số lượng sản phẩm gia công máy cơng cụ Nhiều thuật tốn nội suy nghiên cứu, ứng dụng, kể nội suy phần cứng phần mềm Do ảnh hưởng tốc độ số học phần mềm máy tính, tính xác tốc độ ăn dao hệ thống điều khiển số dựa nội suy phần mềm phải tuân theo hạn chế định Trong viết này, nhóm tác giả xây dựng thuật toán xấp xỉ bậc thang cải tiến cho nội suy đường tròn FPGA (Field-programmable gate array) phục vụ cho chuyển động quỹ đạo không gian 2D, 3D Kết mô thực nghiệm cho thấy việc xây dựng thuật tốn nội suy đường trịn xấp xỉ bậc thang FPGA tốt so với thuật toán mềm trước Abstract - Interpolation algorithm is very important in the Computerized Numerical Control (CNC) because it assesses the quality and quantity of products processed on machiine tools.Many algorithms have been researched and deployed including hardware interpolation and software interpolation Owing to the influence of arithmetic speed of computer software, the accuracy and speed of numerical control system’s feed based on software interpolation are subject to certain restrictions In this paper, the authors builds and improves stair approximation algorithm of circular interpolation on the FPGAs, for trajectory 2D, 3D space The simulation and experimental results show that stair approximation algorithms of circular interpolation based on FPGAs are better than previous soft algorithms Từ khóa - nội suy đường trịn; thuật tốn xấp xỉ bậc thang; FPGA; nội suy phần cứng; nội suy không gian 3D Key words - circular interpolation; stair approximation algorithm; FPGA; hardware interpolation; 3D space interpolation Đặt vấn đề Chức nội suy đường tròn sử dụng điều khiển số máy tính (bộ CNC) dùng để tạo chuyển động gia công trục servo Các CNC ngày nay, thực nội suy đường tròn sử dụng thuật toán sau: DDA, xấp xỉ bậc thang, tìm kiếm trực tiếp, Tustin, Euler, Taylor [1] Thuật tốn nội suy đường trịn phần mềm khơng gian 2D tìm thấy nhiều nghiên cứu [2], [3] Trong năm gần đây, nghiên cứu thuật tốn nội suy đường trịn khơng gian 2D triển khai FPGA [4], [5] nhằm khai thác nhiều ưu điểm: tốc độ nhanh, dễ cấu hình; thuật toán nội suy xây dựng phần cứng cho đáp ứng tốt so với phần mềm Đối với thuật tốn phức tạp gia cơng đường cong việc xây dựng thuật tốn phần cứng gặp nhiều khó khăn, giải pháp thay điều thực chúng lõi xử lý mềm [6] Trong chuyển động gia công không gian 3D, hay xoắn ốc, vài nghiên cứu xây dựng thuật toán phần mềm đưa Các cơng trình [7], [8], [9] nghiên cứu ứng dụng nội suy đường trịn khơng gian 3D khai thác sức mạnh máy tính tích hợp phần mềm CAM, CAD Nội suy phần cứng có nhiều ưu điểm so với nội suy phần mềm như: xác hơn, thời gian thực nhanh hơn, đặc biệt giảm tải CPU Vì thế, nhóm tác giả đề xuất xây dựng thuật toán xấp xỉ bậc thang cải tiến cho nội suy đường trịn khơng gian 2D, 3D FPGA nhằm đáp ứng quỹ đạo gia công tốt DDA cổ điển, nội suy phần mềm dùng thuật toán xấp xỉ bậc thang Trên Hình mơ tả thuật tốn xấp xỉ bậc thang nội suy đường trịn khơng gian 2D XY góc phần tư thứ hướng chiều kim đồng hồ Giả sử "dao cụ" đến vị trí (Xk, Yk) sau lặp bước thứ k Trong thuật tốn này, biến Dk tính phương trình (1) Nội dung 2.1 Đề xuất thuật toán nội suy đường tròn Các CNC ngày nay, sử dụng nội suy phần cứng Dk  X k2  Yk2  R2 (1) Theo hướng bước tiến xác định dựa D k, hướng lệch đường tròn góc phần tư, nơi di chuyển thực + Dk0: Trường hợp có nghĩa vị trí (Xk, Yk) nằm bên ngồi vịng tròn trường hợp này, bước di chuyển theo hướng âm trục Y + Dk = 0: Một hai quy tắc lựa chọn áp dụng tùy ý Hình Nguyên lý thuật tốn xấp xỉ bậc thang [1] Thuật tốn địi hỏi lượng nhỏ phép tính tốn Đỗ Văn Cần, Đồn Đức Tùng, Đồn Quang Vinh 12 khơng gian nhớ nên phù hợp với cấu trúc phần cứng Tuy nhiên, nhiều lần lặp, gọi N số bước lặp lặp lại, tính phương trình (2) N  X  X f  Y0  Y f (2) Trong đó: (X0, Y0) điểm bắt đầu, (Xf, Yf) điểm kết thúc Đề xuất nhóm tác giả, cải tiến giảm số lần lặp thuật toán xấp xỉ bậc thang cách thay phương trình (1) phương trình (3) thêm số phụ Di , j  X i2  Y j2  R tiến với tham số: Điểm bắt đầu (0,10), điểm kết thúc (10,0), hướng nội suy chiều kim đồng hồ CW=0, đơn vị chiều dài phép nội suy BLU=1 Trên Hình quỹ đạo chuyển động trục X, Y phép nội suy đường tròn mặt phẳng 2D XY Trong đó, "o-blue" quỹ đạo sử dụng thuật toán xấp xỉ bậc thang trước cải tiến "*-red" qũy đạo sau cải tiến (3) Trong phương trình (3), i j tương ứng biểu thị số lượng bước dọc theo trục X trục Y Khi bước thêm vào dọc theo trục X, phương trình (3) thay đổi thành phương trình (4) Di 1, j  ( X i  1)  Y j2  R  Di , j  X i   Di , j  X i (4) Tương tự cho trường hợp trục Y giảm bước Khi đó, xung trục xác định phương trình (5) sau:  X i   X i   Yi 1  X i  (5) Nội dung thuật toán xấp xỉ bậc thang cải tiến xem xét đến hướng: + Tăng BLU cho hướng X, + Giảm BLU cho hướng Y, + Tăng BLU cho hướng X đồng thời giảm BLU cho hướng Y (chỉ thực phần cứng) Trong đó, trường hợp thứ ba phương pháp cải tiến thêm vào so với thuật tốn xấp xỉ bậc thang Khi đó, thuật toán sau cải tiến biểu diễn Hình Hình Quỹ đạo thuật toán xấp xỉ bậc thang Kết cho thấy quỹ đạo nội suy chu kỳ xung trước cải tiến X= {1, 2, 3, 5, 6, 8, 10, 12, 15, 20}, Y={4, 7, 9, 11, 13, 14, 16, 17, 18, 19} sau cải tiến X= {1, 2, 3, 4, 5, 6, 8, 9, 11, 12} Y= {4, 6, 7, 8, 9, 10, 11, 12, 13, 14} Như vậy, sai lệch thuật toán xấp xỉ bậc thang BLU sau cải tiến 0,5 BLU Số lần lặp giảm xuống từ 20 14 lần nhờ phát xung đồng thời X, Y vị trí 4, 6, 7, 8, 9, 11 2.3 Xây dựng thuật toán không gian 3D Đối với phép nội suy đường trịn khơng gian 3D, thực nội suy số trục Dựa sở thuật tốn Hình 2, nhóm tác giả thực khơng gian 3D với mặt phẳng trục tham chiếu tuyến tính Hình Quỹ đạo đường trịn nội suy mặt phẳng XY không gian 3D Hình Thuật toán xấp xỉ bậc thang cải tiến 2.2 Đánh giá kết nghiên cứu Biểu diễn thuật toán xấp xỉ bậc thang trước sau cải Trên Hình kết quỹ đạo thực thuật tốn xấp xỉ bậc thang cải tiến khơng gian 3D, với mặt phẳng nội suy đường tròn XY (hoặc YZ) trục Z (hoặc X) gọi tham chiếu tuyến tính Tương tự, thuật tốn mở rộng thành đường tròn nội suy mặt phẳng YZ XZ không gian 3D ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 7(116).2017 Kết mơ thuật tốn xấp xỉ bậc thang sau cải tiến cho thấy quỹ đạo nội suy “o-red” bám sát theo đường tròn mẫu mặt phẳng nội suy XY tham chiếu tuyến tính theo trục Z Từ đó, thuật tốn giải chuyển động đường tròn nội suy theo mặt phẳng XY, XZ, YZ không gian 3D cho gia công máy công cụ áp dụng cho gia cơng ren, xoắn ốc… 2.4 Thiết kế thuật tốn phần cứng FPGA không gian 2D Sử dụng ngôn ngữ Verilog để xây dựng thuật toán cấu trúc phần cứng FPGA, có tham số đầu vào điểm bắt đầu (x1, y1, z1) điểm kết thúc (x2, y2, z2), vận tốc F kiểu liệu số nguyên 32 bit Các đại lượng đầu xung 13 XPP, YPP, ZPP XPM, YPM, ZPM hướng nội suy CW =0/1 chiều/ ngược chiều kim đồng hồ kiểu liệu bit, tương ứng với trục X, Y, Z, giá trị trục định dạng số nguyên 32 bit Sau thiết kế ngơn ngữ Verilog có tên noisuyduongtron.v tiến hành tổng hợp, cấu hình FPGA mơ kết xây dựng thuật tốn hai trường hợp trước sau cải tiến Thực mô thuật toán nội suy xấp xỉ bậc thang FPGA chưa cải tiến với tham số ban đầu x1=0, y1=10, x2=10, y2=0, tốc độ ăn dao F400 Trên Hình thể kết đầu ra, XPP, YPP xung phát thời điểm 1~20 thời gian 2,5ns tương ứng với giá trị X, Y 10 đơn vị 20 chu kỳ xung ứng với tốc độ F=400 Hình Kết thực thuật toán xấp xỉ bậc thang FPGA Thuật tốn khơng cho phép phát xung đồng thời trục, dẫn đến làm sai lệch so với quỹ đạo thực lớn (1 BLU) Vì vậy, số điểm nội suy tăng lên GPIO = 20 chu kỳ xung, thời gian nội suy kéo dài 2,5ns (chu kỳ giả lập cho mô clk = 10ps) Cũng xây dựng FPGA với tham số Hình 5, thuật toán lúc cải tiến đề xuất phần Kết sau cải tiến thuật toán xấp xỉ bậc thang thể Hình Với kết này, ta thấy vị trí 4, 6, 7, 8, 9, 11 phát xung đồng thời trục, nhờ đặc điểm kiểm tra theo hướng sai lệch quỹ đạo nhỏ cải tiến Thời gian hoàn thành nội suy rút ngắn từ 20 chu kỳ xung xuống 14 chu kỳ xung, thời gian nội suy 1,9ns (cùng chu kỳ giả lập cho mô clk = 10ps) Đồng thời sai lệch quỹ đạo giảm xuống từ BLU 0,5 BLU thỏa mãn với kết mơ lý thuyết thuật tốn Hình Hình Kết mơ sử dụng thuật tốn xấp xỉ bậc thang cải tiến FPGA 2.5 Thiết kế thuật tốn phần cứng FPGA khơng gian 3D Từ kết đạt xây dựng thuật toán xấp xỉ bậc thang cải tiến FPGA không gian 2D ta thực không gian 3D Như trình bày mục thực không gian 3D cần xác định mặt phẳng nội suy, trục lại gọi trục tham chiếu tuyến tính Ta bổ sung tín hiệu đầu vào lựa chọn mặt phẳng nội suy có tên “Space” ghi bit với trạng thái lựa chọn mặt phẳng nội suy sau: 00-XY; 01-XZ; 10-YZ Kết Hình cho thấy hai trục nội suy XY thỏa mãn với thuật tốn Hình kết mơ Hình Ngoài ra, ZPP phát xung thời điểm Z={1, 2, 3, 4, 5, 6, 7, 8, 9, 11} phù hợp với tham chiếu trục Z kết mô Hình 4, với quan hệ hai trục X, Z tuyến tính mặt phẳng XZ Đỗ Văn Cần, Đoàn Đức Tùng, Đoàn Quang Vinh 14 Hình Mơ thuật tốn xấp xỉ bậc thang cải tiến FPGA với mặt phẳng nội suy XY khơng gian 3D Để có nhìn tổng qt thuật tốn xấp xỉ bậc thang cải tiến nội suy đường trịn khơng gian 3D, tác giả tiến hành thực với hệ số xung k = 10 lần so với giá trị cài đặt Kết Hình quỹ đạo cung trịn khơng gian 3D lên mặt phẳng nội suy XY Hình Quỹ đạo nội suy đường trịn khơng gian 3D Khi chiếu kết lên mặt phẳng XY YZ ta cung tròn Hình 3, ngược lại chiếu lên mặt phẳng XZ ta đường thẳng điều phản ảnh với lý thuyết xây dựng thuật toán với mặt phẳng nội suy XY (hoặc YZ) tham chiếu tuyến tính theo trục Z (hoặc trục X) gian 3D Đánh giá sai lệch quỹ đạo mặt phẳng, sai lệch so với mặt phẳng XY, YZ 0,5 BLU với mặt phẳng XZ Trong đó, sai lệch quỹ đạo thuật toán chưa cải tiến tất mặt phẳng BLU So sánh kết Hình Hình ta thấy hệ số k lớn kích thước BLU nhỏ sai lệch nhỏ theo Tiến hành thực thuật toán FPGA với hệ số xung k=10 lần (trong thực tế k=1000 xung/đơn vị chiều dài) Kết thể Hình Ta thấy, tổng số bước thực 140/200 chu kỳ xung, giá trị xung trục 100 Sự xuất quan hệ xung mặt phẳng XY,YZ đường tròn nội suy, mặt phẳng XZ quan hệ đường thẳng nên xung ZPP ZPP giống Như vậy, kết phản ảnh lý thuyết thuật toán trường hợp Hình Kết mơ thuật tốn xấp xỉ bậc thang cải tiến FPGA với hệ số xung k=10 2.6 Thực nghiệm thuật toán xấp xỉ bậc thang cải tiến nội suy đường tròn FPGA không gian 3D Tiến hành thực nghiệm kết KIT DE1 SoC với dòng FPGA 5CEBA7F31C6 với đầu vào giả định (x1,y1,z1) = (0,100,0); (x2,y2,z2) = (100,0,100), R=100, CLK=50MHz, tốc độ F=400 (tương ứng chu kỳ xung ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 7(116).2017 2KHz) giá trị đầu XPP, YPP, XPP, XPM, YPM, ZPM gán cho GPIO_0[31:26] Tần số clk 50MHz, hệ số xung k = 10 xung/BLU, thực nghiệm đo đặt kênh phát xung trục X, Y, Z Hình 10 Y’ kết đo kênh trục Y lần với trục Z máy sóng kênh 15 Kết cho thấy xung hai trục X, Y hình thành quỹ đạo chuyển động đường tròn mặt phẳng XY, mặt phẳng XZ chuyển động tuyến tính Như nhóm tác giả khẳng định việc xây dựng thuật tốn xấp xỉ bậc thang cải tiến FPGA không gian 3D phù hợp Hình 10 Kết thực nghiệm thuật toán cải tiến FPGA với hệ số xung k=10 Kết luận Việc xây dựng thuật toán xấp xỉ bậc thang cải tiến cho phép nội suy đường trịn FPGA khơng gian 2D, 3D phù hợp với công nghệ ngày nay, đặc biệt sử dụng cho CNC-on-Chip Bài viết có đóng góp cụ thể sau: - Bước đầu đưa dòng sản phẩm FPGA vào ứng dụng lĩnh vực điều khiển phù hợp, bối cảnh thiết kế chíp Việt Nam vào ứng dụng nhiều FPGA phù hợp với xu hướng nghiên cứu giới xây dựng thuật toán điều khiển FPGA [2], [10] - Đề xuất xây dựng thuật toán xấp xỉ bậc thang cải tiến cho phép nội suy đường tròn phần cứng FPGA khơng gian 2D; qua giảm thiểu sai lệch từ BLU xuống 0,5 BLU rút ngắn thời gian nội suy đường tròn xuống 30% (từ 20 xuống 14 chu kỳ xung) - Các kết mô thực nghiệm kiểm chứng thuật toán xấp xỉ bậc thang cải tiến không gian 3D xây dựng phần cứng FPGA khả thi, với quỹ đạo sai lệch nhỏ thời gian nội suy nhanh, mà tác giả chưa tìm thấy cơng trình trước TÀI LIỆU THAM KHẢO [1] I S Suk-Hwan Suh, Seong Kyoon Kang Dae Hyuk Chung, “Theory and Design of CNC Systems”, in Springer Series in Advanced Manufacturing, Springer S., 2008 [2] J Dong, T Wang, B Li, Z Liu, and Z Yu, “An FPGA-based low- cost VLIW floating-point processor for CNC applications”, Microprocessors and Microsystems, vol 50, pp 14–25, 2017 [3] Y Jin, Y He, J Fu, Z Lin, and W Gan, “A fine-interpolation-based parametric interpolation method with a novel real-time look-ahead algorithm”, Computer-Aided Design, 2014 [4] J J De Santiago-Perez, R a Osornio-Rios, R J Romero-Troncoso, and L Morales-Velazquez, “FPGA-based hardware CNC interpolator of Bezier, splines, B-splines and NURBS curves for industrial applications”, Computers & Industrial Engineering, vol 66, no 4, pp 925–932, Dec 2013 [5] M A Saifee, “Design and Implementation of 2-Axis Circular Interpolation Controller in Field Programmable Gate Array (FPGA) for Computer Numerical Control (CNC) Machines and Robotics”, International Journal of Computer Applications (0975 – 8887), vol 106, no 13, pp 1–7, 2014 [6] W T Ã Lei, M P Sung, L Y Lin, and J J Huang, “Fast real-time NURBS path interpolation for CNC machine tools”, vol 47, pp 1530–1541, 2007 [7] F Wang, H Lin, L Zheng, L Yang, J Feng, and H Zhang, “Design and implementation of five-axis transformation function in CNC system”, Chinese Journal of Aeronautics and Astronautics & Beihang University, vol 27, no 2, pp 425–437, 2014 [8] R Ramesh, S Jyothirmai, and K Lavanya, “Intelligent automation of design and manufacturing in machine tools using an open architecture motion controller”, Journal of Manufacturing Systems, vol 32, no 1, pp 248–259, 2013 [9] P B Carlos Maximiliano Giorgio Bort, Marco Leonesio, “A modelbased adaptive controller for chatter mitigation and productivity enhancement in CNC milling machines”, Robotics and ComputerIntegrated Manufacturing, vol 40, pp 34–43, 2016 [10] J Liu, Y Fu, Z Han, and H Fu, “Design of an Industrial Ethemet Based Embedded Open Architecture CNC System”, 2015 International Conference on Estimation, Detection and Information Fusion (ICEDlF 2015), no ICEDlF, pp 413–417, 2015 (BBT nhận bài: 10/05/2017, hoàn tất thủ tục phản biện: 02/06/2017) ... xu hướng nghiên cứu giới xây dựng thuật toán điều khiển FPGA [2], [10] - Đề xuất xây dựng thuật toán xấp xỉ bậc thang cải tiến cho phép nội suy đường tròn phần cứng FPGA khơng gian 2D; qua giảm... hợp Hình 10 Kết thực nghiệm thuật toán cải tiến FPGA với hệ số xung k=10 Kết luận Việc xây dựng thuật toán xấp xỉ bậc thang cải tiến cho phép nội suy đường trịn FPGA khơng gian 2D, 3D phù hợp... thuyết thuật tốn Hình Hình Kết mô sử dụng thuật toán xấp xỉ bậc thang cải tiến FPGA 2.5 Thiết kế thuật toán phần cứng FPGA không gian 3D Từ kết đạt xây dựng thuật toán xấp xỉ bậc thang cải tiến FPGA

Ngày đăng: 25/11/2022, 21:23

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w