Giới thiệu phần mềm FPGA

Một phần của tài liệu Cải thiện giải phẩu nội suy sai số nhỏ nhất cho bộ điều khiển máy phay CNC để nội suy các đường cong thông thường dựa trên nền tảng FPGA (Trang 51)

CHƯƠNG 3 MƠ HÌNH THỰC NGHIỆM – KẾT QUẢ

3.1. Giới thiệu phần mềm FPGA

Chương trình thiết kế FPGA có thể mơ phỏng dùng ModelSim, và tổng hợp file program cho FPGA dùng Quartus Web Edition. Chương trình có thể dùng ngơn ngữ VHDL hoặc Verilog để thiết kế cho FPGA Altera CycloneII.

Để mơ phỏng cần phải viết 1 chương trình testbench, testbench này sẽ tạo ra tín hiệu như clk, reset… để test module thiết kế.

Các bước thiết kế cho FPGA Altera CycloneII sử dụng ngôn ngữ Verilog:

Bước 1: Khởi động ModelSim. Menu View -> Transcript hiển thị của sổ transcript.

Hình 3.1. Màn hình hiển thị cửa sổ Transcript Bước 2: Menu File -> New -> Project để tạo project mới mô phỏng. Bước 2: Menu File -> New -> Project để tạo project mới mô phỏng.

Chọn đường dẫn (ổ đĩa D) và đặt tên cho Project Name <Color_bar> (*)tên project tùy thích như hình. Xong nhấn OK.

Chúng ta sẽ thấy trong ổ D:/Color_bar/ sẽ thấy xuất hiện folder work và file Color_bar.mpf.

Hình 3.2. Giao diện tạo file project mới Bước 3: mô phỏng module. Bước 3: mô phỏng module.

Đường dẫn D:/Color_bar/RTL: đây là nơi chứa các source RTL mà chúng ta

thiết kế.

Đường dẫn D:/Color_bar/TB: chứa các testbench, testbench sẽ tạo ra tín hiệu

rst, clk… để test source RTL của chúng ta.

Đường dẫn D:/Color_bar/sim.do: file này thực thi các command đơn

giản dùng để mô phỏng.

Trong file sim.do:

Dòng lệnh < vlog -work work ./RTL/*.v >: là dòng lệnh compile các file source bên trong D:/Coloer_bar/RTL.

Dòng lệnh <vlog -work work ./TB/*.v>: là dòng lệnh compile các file testbench bên trong D:/Coloer_bar/TB..........

Hình 3.3. Màn hình soạn thảo

Bước 4: Khi soạn chương xong chúng ta tiến hành kiểm tra. Lúc này chương trình

sẽ compile tìm lỗi thiết kế và mơ phỏng module. Nếu gặp lỗi thì phải sửa lại source chương trình hoặc testbench tùy theo nội dung lỗi đó và lặp lại dòng lệnh <do sim.do>.

Bước 5: Sau khi ModelSim thực hiện xong, sẽ xuất hiện cửa sổ chứa dạng sóng như

hình bên dưới. Chúng ta tiến hành kiểm tra xem chương trình mình thiết kế có đúng với yêu cầu. Nếu trường hợp khơng xuất hiện cửa sổ dạng sóng thì vào menu View -> Wave.

Hình 3.4. Giao diện kiểm tra dạng sóng theo u cầu

Bước 6: Sau khi mơ phỏng (simulation) xong, ta tiến hành dùng Quartus để tổng

hợp và tạo file pof, sof (configuration file) và program FPGA.

Bước 7: Khởi động Quartus.

Vào menu File -> New Project Wizard. Chọn đến đường dẫn có chứa source RTL và tên project. Xong nhấn Next.

Hình 3.6. Giao diện chọn đường dẫn chứa source RTL

Nhấn Add All để add tất cả các file source. Nhấn Next và chọn loại đang thiết kế FPGA.

Bước 8: Từ menu Processing -> Start Compilation.

Giao diện Quartus sẽ compile và tổng hợp thơng tin về thiết kế. Nếu có lỗi thì phải sửa, cịn warning phải tìm hiểu xem warning đó có ảnh hưởng gì đến thiết kế hay khơng.

Hình 3.8. Giao diện tổng hợp thiết kế Quartus

Bước 9: Thiết lập pin_out cho FPGA, tức là các ngõ vào và ngõ ra sẽ được thiết lập

ứng với chân nào của FPGA.

Từ menu Assignments -> Pin Planner.

Tại mục Location, chúng ta thiết lập tín hiệu vào ra tương ứng với chân FPGA đã thiết kế trên board.

Hình 3.10. Thiết lập vào và ra tương ứng các chân trên FPGA

Sau khi thiết lập xong, từ menu Processing trong cửa sổ chính -> Start Compilation thêm 1 lần nữa. Lúc này Quartus sẽ tạo cho bạn file color_bar.pof và color_bar.sof dùng để program FPGA.

Bước 10: cuối cùng là program cho FPGA. Từ menu Tool->Programmer. Tùy theo

cấu hình phần cứng của FPGA trên board mà có cách programe FPGA khác nhau.

3.2. Mơ phỏng thuật tốn nội suy sai số của máy phay CNC trên phần mềm

FPGA

3.2.1. Nội suy lỗi sai số nhỏ nhất đường cong

Thuật toán nội suy sai số nhỏ nhất được thực hiện dựa trên nền tảng phần mềm FPGA của ngơn ngữ lập trình VHDL. Ở đây hiển thị các dạng sóng mơ phỏng trong phần mềm ModelSim, hiển thị 2 loại phương pháp xử lý.

Tín hiệu đầu vào: CLOCK là tín hiệu đồng hồ; tín hiệu đặt; START_X, START_Y, START_Z, STOP_X, STOP_Y và STOP_Z đại diện cho tọa độ điểm bắt đầu và điểm kết thúc; START là tín hiệu bắt đầu đồng bộ hóa;

Tín hiệu đầu ra: PULSE_X, PULSE_Y và PULSE_Z là đầu ra xung nội suy.

Tín hiệu trung gian: COORDINATE_X, COORDINATE_Y, VALUE_E,

VALUE_D và VALUE_F đại diện cho cơng thức phán đốn sai lệch F (E), F (D) và Fi.

3.2.1.1. Nội suy lỗi sai số nhỏ nhất đường cong tuyến tính

Dạng sóng mơ phỏng trên mặt phẳng (X, Y) cho các mơ đun nội suy tuyến tính được hiển thị trong Hình 3.11. Điểm bắt đầu là gốc (0, 0) và tọa độ kết thúc là điểm (5, 9).

Hình 3.11. Dạng sóng nội suy đường cong tuyến tính trên mặt phẳng (X, Y)

3.2.1.2. Nội suy lỗi sai số nhỏ nhất đường trịn

Dạng sóng mơ phỏng trên mặt phẳng (X, Y) cho mơ đun nội suy cung trịn được thể hiện trong Hình 3.12.

Tín hiệu trung gian: Val_4m và Val_4n đại diện cho cơng thức phán đốn sai

lệch 4F (E) và 4F (D).

Hình 3.12. Dạng sóng nội suy đường trịn trên mặt phẳng (X, Y)

3.2.2. Nội suy sai số tốc độ và độ chính xác

Từ lý thuyết về sai số tối thiểu nhỏ nhất, sai số tối đa chỉ bằng một nửa kích thước bước tối thiểu. Để so sánh hiệu quả của phép nội suy, chúng ta đã so sánh nó với kết quả của phương pháp so sánh điểm.

Trong hình 3.13, (a) và (b) thể hiện các quỹ đạo nội suy của đường thẳng, đường tròn.

Màu vàng đại diện cho đường cong lý tưởng, màu cam đại diện cho quỹ đạo của So sánh điểm. Màu đen đại diện cho quỹ đạo của Lỗi nhỏ nhất. Sử dụng kích thước bước tối thiểu làm tiêu chuẩn tham chiếu, tốc độ có thể được biểu thị bằng tổng số bước và độ chính xác có thể được biểu thị bằng giá trị chuẩn hóa.

Y Y 5 5 4 4 3 3 2 2 1 1 1 2 3 4 5 X (a) 1 2 3 (b) 4 5 X

3.3. Kết quả thực nghiệm

Bộ điều khiển phay CNC 3 trục bao gồm MCU STM32H753 và FPGA ALTERA cyclone II EP2C20F484C74. Kích thước Min-Step của bộ điều khiển servo ở cường độ 1 μm.

Hình 3.17. Mặt sau của bộ điều khiển và các cổng kết nối

Hình 3. 19 Lắp bộ điều khiển lên máy CNC 3 trục

Hình 3.21 Lắp chạy thực nghiệm bộ điều khiển lên máy CNC 3 trục

Bảng 3.1. Sai số cơ khí máy phay CNC Okuma

Bảng sai số cơ khí máy phay CNC Okuma 5v dùng lắp bộ điều khiển

Stt Loại đo sai số Dụng cụ đo Sai số

1 Backflash trục Y Bộ mã hóa hồi tiếp cho bộ điều khiển 5%

2 Backflash trục X Bộ mã hóa hồi tiếp cho bộ điều khiển 9.5%

3 Backflash trục Z Bộ mã hóa hồi tiếp cho bộ điều khiển 1.8%

4 Đo vng góc trục X,Y Đồng hồ so mitutoyo <1%

5 Đo vng góc trục Y,Z Đồng hồ so mitutoyo 0.01/100mm

6 Đo vng góc trục X,Z Đồng hồ so mitutoyo 0.01/100mm

Hình 3.22. Nội suy đường thẳng chéo theo phương XZ, YZ

Hình 3.24. Các quỹ đạo nội suy của đường cong của thân khn

Hình 3.26. Các quỹ đạo nội suy theo đường thẳng và theo đường tròn trong mặt

Sai số trên các chi tiết chạy thực nghiệm kiểm tra giải thuật:

Hình 3.27. Mẫu số 1

Hình 3.29. Mẫu số 3

Hình 3.31. Mẫu số 5

Hình 3.33. Mẫu số 7

Hình 3.35. Mẫu số 9

Hình 3.37. Mẫu số 11

Hình 3.39. Mẫu số 13

Hình 3.41. Mẫu số 15

Hình 3.43. Mẫu số 17

Hình 3.45. Mẫu số 19

Nhận xét kết quả thực nghiệm:

+ Kết quả nội suy đường thẳng trong mặt phẳng XZ và YZ với tốc độ di chuyển dao F=1200mm/phut, đường thẳng trơn mượt được thể hiện trên Hình 3.20.

+ Hình 3.21 thể hiện kết quả nội suy các đường cong đạt được khi gia công khuôn của chai nhớt. Kết quả đạt được bề mặt trơn nhẵn và thể hiện đúng theo hình dạng thiết kế.

+ Hình 3.22 thể hiện kết quả nội suy cung tròn trong mặt phẳng YZ. Kết quả đạt được cung tròng và mép nội suy đạt chất lượng tốt, trơn nhẵn.

Các kết quả từ Hình 3.20 đến Hình 3.22 chỉ nằm ở giá trị quan sát vì khơng có thiết bị đo chính xác các mặt cong.

Bảng 3.2 Kết quả sai số của các mẫu gia cơng

Vì vậy tác giả chuyển qua chạy kiểm tra giải thuật nội suy trên mặt phẳng XY ở Hình 3.23 với các kết quả như ở Bảng 3.2.

+ Sai số trung bình gia cơng hình trịn trong dao động trong phạm vi 0,04mm. + Sai số trung bình gia cơng hình lục giác để kiểm tra nội suy theo đường thẳng chéo dao động trong phạm vi 0,02mm.

+ Sai số trung bình gia cơng hình vng để kiểm tra nội suy theo đường thẳng dao động trong phạm vi 0,01mm.

3.4. Kết luận

Trong luận văn này, một thuật toán nội suy sai số tối thiểu được cải thiện để tạo đường cong chung trong bộ điều khiển CNC đã được trình bày. Kết quả mơ phỏng và thử nghiệm cho thấy bộ điều khiển được hiện thực hóa dựa trên nền tảng phần cứng của FPGA và được kiểm nghiệm trên máy phay CNC 3 trục. Thuật toán nội suy sai số nhỏ nhất được đề xuất có tốc độ di chuyển nhanh và độ chính xác gia cơng có sai số tối đa nhỏ hơn một nửa kích thước bước, nó có thể được sử dụng rộng rãi trong các hệ thống CNC chính xác.

DANH MỤC CƠNG TRÌNH CƠNG BỐ

STT Tên cơng trình Tác giả Nơi cơng bố Năm công bố

1 An Improved Error Interpolator of Milling CNC Controller Based on FPGA Đồng tác giả Proceedings of the 2020 International Conference on Advanced Mechatronic Systems, Hanoi, Vietnam, December 10 - 13, 2020

TÀI LIỆU THAM KHẢO Tiếng Anh

[1]. M. Gao, J. Lou, J. Ye and W. Wu, FPGA-based implementation of circular interpolation, Journal of Chemical and Pharmaceutical Research, Vol.6 (2014), pp. 585-593.

[2]. Z. LiXian, S. R. Yong, G. X. Shan and L. H. Bo, High speed interpolation for micro -line trajectory and adaptive real-time look-ahead scheme in CNC machining, Science China Technological Sciences, Vol.54 (2011), pp. 1481-1495. [3]. M. A. Saifee and D. U. S. Mehta, Design and implementation of fpga Based g code compatible CNC lathe controller, International Journal of Electronics and Communication Engineering & Technology, Vol.7 (2016), pp. 87-100.

[4]. J. Balic, Model of automated computer aided NC machine tools programming, Journal of Achievements in Materials and Manufacturing Engineering, Vol. 17, Issue 1-2, 2006, pp.309-312.

[5]. S. H. Suh, S. K. Kang, D. H. Chung and Ian Stroud, Theory and Design of CNC Systems, Springer-Verlag London Limited, 2008.

Tiếng Việt

[6]. Đỗ Văn Cần - Nguyễn Phùng Quang - Đoàn Quang Vinh, “Nghiên cứu xây dựng thuật tốn nội suy đường trịn trên nền SoC”, Hội nghị toàn quốc lần 3 về điều khiển và tự động hóa - VCCA , 2015.

[7]. Nguyễn Trọng Hùng -Nguyễn Văn Võ - Phan Văn Bình, “Nghiên cứu, thuyết kế và chế tạo hệ thống điều khiển số tốc độ quay CNC theo tích hợp hai mạch vịng” , Tạp chí khoa học và cơng nghệ 51 (1) (2013) 19-28.

i i

2 i 2 i

An Improved Error Interpolator of Milling CNC Controller Based on FPGA

Hoang Giang Tran

Hiep Phat mechatronic Co. LTD,

Hochiminh City, Vietnam email: hoanggiangcktd@yahoo.com

Khac Sinh Le

Hochiminh City University of Food Industry,

Hochiminh City, Vietnam email: sinhlk@gmail.com

Huy Hung Nguyen

Faculty of Electronics and Telecommunication, Sai Gon

University,

Hochiminh City, Vietnam email: nghhung@sgu.edu.vn

Thanh Luan Bui*

Institute of Engineering, HUTECH University,

Hochiminh City, Vietnam email: buithanhluan@gmail.com

Abstract—Computer Numerical Control (CNC) machine

tools are now moving towards high precision, high speed and complex functional machining. In this paper, an improved minimum error interpolation algorithm for general curves generation in CNC controller is introduce. The algorithm is

According to the positive or negative value of deviation judgment formula in the mid-point D and E, we judge the mobile direction:

When F (E)  0 , point C (xi , yi +1) is closer to the

applicable for the curves of linear and circular. The proposed algorithm is realized on a field programmable gate array with Verilog HDL language and veriflied on three-axis milling CNC

curve. So select the direction of Y-axis.

F (E)  0

controller using FPGA. The experiment results are presented to demonstrate the effectiveness of the proposed controller.

Keywords—Milling CNC, FPGA, VHDL, Line Interpolation

I. INTRODUCTION

When F (D)  0 , point the curve.

When F (D)  0 , point

A(xi + 1, yi + 1), is closer to B (xi +1, yi ), is closer to the

There are many researches about computer numerical control (CNC) systems [2-5]. The motion trajectory of a machining tool is achieved through interpolations, and the interpolation algorithm directly affects the processing speed and accuracy. The task of the interpolation algorithm is to calculate the coordinates of intermediate points between the start point and the end point of the outline, making the motion trajectory same as the given interpolation curve [1-2]. Based on the proposed minimum error interpolation algorithm for general curves generation in CNC controller.

II. MINIMUM ERROR INTERPOLATION ALGORITHM

A. Theory of Slightest minimum error

In Fig.1, the coordinate of the current point is O (xi , yi ).

There are three mobile ways A(xi + 1, yi + 1), B (xi +1, yi ),

curve. So select the direction of X-axis.

In every step the result of deviation judgment formula needs to be recalculated, which is used to determine the mobile direction of next coordinates.

B. Line interpolation 1) Condition Description

The start point is the origin: the end coordinates is which is in the first quadrant. In the Fig.2, the coordinate of different points are defined as follows O (xi , yi ),

A(xi +1, yi +1), B (xi +1, yi ), C (xi , yi +1) and D (x +1, y + 1), E (x + 1 , y +1).

C (xi , yi +1) and D (x +1, y + 1), E (x + 1 , y +1).

i i

2 i 2 i

where ܨ is a deviation judgment formula, which is determined by the interpolation curve. Here this formula can be simply understood as the coordinates of the point error of plus or minus.

Fig.2. Linear interpolation schematic

2) Formula Derivation

Linear equations

Fig.1. Process of Slightest Min-Erro interpolation where K = Ye

Xe

y = Kx, (1)

978-1-7281-6530-1/20/$31.00/ ©2020 IEEE 104

e i e i i e e

 F (D)  0

The deviation judgment formula is given by:

F = Xe y − Ye x

By substituting O, D and E into Eq. (2), it yields:

F (O) = Fi = Xe yi − Ye xi F (D) = X ( y + 1) − Y (x +1) = F + 1 X − Y () (3) (4) 2) Formula Derivation

A circle equation is given by:

x2 + y2 = R2

The deviation judgment formula is expressed by:

F = x2 + y2 − R2

By substituting O, E and D into Eq. (11), it yields:

F (O) = xi2 + yi2 − R2 F (E) = F + 2x − y + 5 (10) (11) (12) (13) 2 2 i i i 4 F (D) = F + x − 2 y + 5 (14) F (E) = X ( y +1) − Y (x + 1) = F + X − 1 Y (5) i i i 4 e i e i 2 i e

2 e When F (E)  0, point C (xi +1, yi ) is closer to the curve. By combining the theory of slightest min-errors described

in Fig. 2, it can be expressed as follows:

Hence, the direction of Y-axis is chosen. The value of derivation judgment formula is calculated by:

When F (E)  0, the point C (xi , yi +1) is closer to the Fi+1 = (xi +1)2 + yi2 − R2 = Fi + 2xi +1 (15) curve. Hence, the direction of Y-axis was selected. And the

value of the deviation judgment formula was updated: When  F (E)  0

, point A( 1, 1) is closer to the

Fi+1 = Xe ( y +1) − Ye xi = Fi+ Xe (6) F (D)  0 xi + yi −

When  F (E)  0

, point

A(xi +1, yi +1), is closer to the

curve. Hence, the diagonal direction (both X-axis and Y-axis) is chosen. The value of deviation judgment formula is calculated by:

curve. Hence, the diagonal direction was selected.

And the value of deviation judgment formula was Fi+1 = (xi + 1)2 + ( yi −1)2 − R2 = Fi + 2xi − 2 yi + 2 (16) updated:

Fi+1 = Xe ( y +1) − Ye (xi +1) = Fi + Xe − Ye (7)

When F (D)  0, point B (xi , yi −1) is closer to the curve.

Một phần của tài liệu Cải thiện giải phẩu nội suy sai số nhỏ nhất cho bộ điều khiển máy phay CNC để nội suy các đường cong thông thường dựa trên nền tảng FPGA (Trang 51)

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

(88 trang)