Bài tập lớn hệ thống điều khiển máy CNC - Thiết kế bộ điều khiển và nội suy quỹ đạo cho trục X, Y

Bài tập lớn hệ thống điều khiển máy CNC: Tài liệu, hướng dẫn chi tiết và các bài tập thực hành giúp bạn nắm vững kiến thức về CNC. Tìm hiểu ngay!

Trường đại học

Đại học Bách Khoa Hà Nội

Chuyên ngành

Hệ Thống Điều Khiển

Người đăng

Ẩn danh

Thể loại

Bài tập lớn

2023

48
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

DANH MỤC HÌNH ẢNH

ĐỀ BÀI

1. BÀI 1: THIẾT KẾ BỘ ĐIỀU KHIỂN VỊ TRÍ CHO TỪNG TRỤC X, Y

1.1. Xác định bộ điều khiển vị trí cho trục X

1.2. Xác định bộ điều khiển vị trí cho trục Y

2. BÀI 2: TĂNG GIẢM TỐC TRƯỚC NỘI SUY (ADCBI)

2.1. Nội suy theo quỹ đạo đường thẳng

2.2. Nội suy theo quỹ đạo đường tròn

2.2.1. Lựa chọn tâm

2.2.2. Nội suy đường tròn theo phương pháp tuyến tính

2.2.3. Nội suy đường tròn theo phương pháp Euler

3. BÀI 3: THIẾT KẾ QUỸ ĐẠO VẼ CHỮ P, S

3.1. Chữ P

3.2. Chữ S

4. BÀI 4: TĂNG GIẢM TỐC SAU NỘI SUY (ADCAI)

4.1. Bộ lọc số

4.2. Nội suy đường thẳng

4.3. Nội suy đường tròn

PHỤ LỤC CODE

Tóm tắt

I. Tổng quan bài tập lớn hệ thống điều khiển máy CNC là gì

Một bài tập lớn hệ thống điều khiển máy CNC là một dự án học thuật phức tạp, đòi hỏi sinh viên vận dụng kiến thức từ nhiều lĩnh vực như cơ điện tử, tự động hóa, và khoa học máy tính để thiết kế và mô phỏng một hệ thống hoàn chỉnh. Trọng tâm của dự án này không chỉ dừng lại ở việc thiết kế cơ khí máy CNC mà còn đi sâu vào việc xây dựng và kiểm chứng các thuật toán điều khiển chuyển động. Mục tiêu chính là tạo ra một hệ thống có khả năng điều khiển các trục chuyển động (thường là X và Y) một cách chính xác theo một quỹ đạo được lập trình sẵn, thường thông qua lập trình G-code. Dự án này là nền tảng để sinh viên hiểu rõ về nguyên lý hoạt động máy CNC, từ việc xử lý tín hiệu đầu vào, thực hiện nội suy, đến việc điều khiển các cơ cấu chấp hành như động cơ servo hoặc động cơ bước. Quá trình mô phỏng hệ thống điều khiển trên các phần mềm như MATLAB/Simulink đóng vai trò then chốt, cho phép kiểm tra tính đúng đắn của giải thuật trước khi triển khai trên phần cứng thực tế. Điều này không chỉ tiết kiệm chi phí, thời gian mà còn giúp phát hiện sớm các sai sót tiềm ẩn trong logic điều khiển. Một đồ án máy CNC thành công phải đảm bảo sự đồng bộ giữa các thành phần phần cứng và phần mềm, từ bộ điều khiển CNC trung tâm, các driver động cơ, cho đến phần mềm điều khiển CNC cấp cao.

1.1. Mục tiêu và yêu cầu cốt lõi của một đồ án máy CNC

Mục tiêu hàng đầu của bài tập lớn hệ thống điều khiển máy CNC là thiết kế một bộ điều khiển CNC có khả năng điều khiển vị trí chính xác cho từng trục. Dựa trên tài liệu gốc, các yêu cầu kỹ thuật cụ thể thường được đặt ra. Ví dụ, hệ thống phải đạt độ vọt lố (Overshoot) không quá 5%, sai lệch tĩnh (Steady-state error) dưới 0.1%, và có thời gian xác lập (Settling time) nhỏ nhất có thể. Thêm vào đó, điện áp điều khiển cho driver động cơ phải được giới hạn, ví dụ như |Uđk| ≤ 10V, để đảm bảo an toàn và phù hợp với các linh kiện thực tế. Sinh viên phải tự lựa chọn thông số cho hàm truyền của động cơ, thường là khâu quán tính bậc nhất, và thiết kế bộ điều khiển vị trí phù hợp, như bộ điều khiển PD (Proportional-Derivative) được đề cập trong tài liệu. Việc hoàn thành các chỉ tiêu này chứng tỏ khả năng phân tích và tổng hợp hệ thống điều khiển vòng kín của người thực hiện.

1.2. Phân tích nguyên lý hoạt động máy CNC 2 trục X Y

Về cơ bản, nguyên lý hoạt động máy CNC 2 trục X-Y dựa trên việc chuyển đổi các lệnh số (từ file G-code) thành chuyển động cơ học tương ứng. Quá trình này bắt đầu khi phần mềm điều khiển CNC (như Mach3, LinuxCNC, hoặc một chương trình tự phát triển) đọc và phân tích (interpret) chương trình gia công. Sau đó, các thuật toán nội suy (interpolation) sẽ tính toán ra các điểm vị trí trung gian cho mỗi trục để tạo thành quỹ đạo mong muốn (đường thẳng, đường tròn). Các tín hiệu vị trí này được gửi đến bộ điều khiển CNC. Tại đây, bộ điều khiển sẽ so sánh vị trí đặt với vị trí thực tế (đọc về từ encoder hoặc giả định trong mô phỏng) và tạo ra tín hiệu điều khiển. Tín hiệu này, sau khi qua bộ khuếch đại (driver), sẽ điều khiển tốc độ và vị trí của động cơ servo hoặc động cơ bước của từng trục, từ đó tạo ra chuyển động phối hợp chính xác trên mặt phẳng X-Y.

1.3. Tầm quan trọng của việc mô phỏng hệ thống điều khiển

Việc mô phỏng hệ thống điều khiển là một bước không thể thiếu trong quá trình thực hiện đồ án máy CNC. Mô phỏng cho phép đánh giá hiệu năng của bộ điều khiển và các thuật toán nội suy trong một môi trường lý tưởng, không bị ảnh hưởng bởi các yếu tố nhiễu và sai số cơ khí của hệ thống thực. Tài liệu nghiên cứu đã sử dụng Simulink để xây dựng mô hình chi tiết, từ bộ điều khiển vị trí PD cho từng trục đến các khối thực hiện nội suy thô và nội suy tinh. Thông qua mô phỏng, có thể trực quan hóa đáp ứng của hệ thống, kiểm tra các chỉ tiêu chất lượng như độ vọt lố, thời gian xác lập, và quan sát quỹ đạo thực tế so với quỹ đạo mong muốn. Điều này giúp tinh chỉnh các tham số của bộ điều khiển (như Kp, Kd) và thuật toán một cách hiệu quả trước khi tiến hành lựa chọn linh kiện máy CNC và lắp ráp phần cứng, đảm bảo kết quả cuối cùng trong báo cáo đồ án máy CNC là đáng tin cậy.

II. Thách thức chính khi thiết kế hệ thống điều khiển máy CNC

Việc thực hiện bài tập lớn hệ thống điều khiển máy CNC đi kèm với nhiều thách thức kỹ thuật đòi hỏi sự hiểu biết sâu sắc về lý thuyết điều khiển và kỹ năng lập trình. Thách thức lớn nhất nằm ở việc thiết kế một bộ điều khiển CNC có thể đáp ứng đồng thời nhiều chỉ tiêu chất lượng khắt khe. Như trong tài liệu tham khảo, việc thiết kế bộ điều khiển PD cho mỗi trục X và Y để đạt độ vọt lố dưới 5% và sai lệch tĩnh gần bằng 0 là một bài toán tối ưu phức tạp. Một thách thức khác là việc đảm bảo chuyển động mượt mà và chính xác, đặc biệt tại các điểm thay đổi vận tốc hoặc hướng di chuyển. Các hiện tượng giật (jerk) có thể xảy ra nếu không có cơ chế tăng/giảm tốc phù hợp. Ngoài ra, việc đồng bộ hóa chuyển động giữa hai trục để tạo ra quỹ đạo chính xác là cực kỳ quan trọng; bất kỳ sự trễ pha hay sai lệch nào giữa các trục cũng sẽ làm méo dạng quỹ đạo mong muốn. Việc lựa chọn linh kiện máy CNC cũng là một bài toán khó, cần cân bằng giữa chi phí và hiệu năng, từ việc chọn động cơ servo hay động cơ bước, cho đến các loại driver động cơvi điều khiển phù hợp. Cuối cùng, việc triển khai các thuật toán nội suy phức tạp và các bộ lọc số trong thời gian thực đòi hỏi năng lực tính toán cao từ mạch điều khiển CNC.

2.1. Thiết kế bộ điều khiển vị trí PD và các chỉ tiêu chất lượng

Thiết kế bộ điều khiển vị trí là nhiệm vụ nền tảng. Trong tài liệu gốc, bộ điều khiển PD (Tỉ lệ - Vi phân) được lựa chọn vì hệ thống có sẵn khâu tích phân (do vận tốc là đạo hàm của vị trí), giúp tự động triệt tiêu sai lệch tĩnh với tín hiệu vào dạng nấc (step input). Thách thức ở đây là "tuning" các tham số Kp và Kd sao cho hệ thống đáp ứng tốt nhất các chỉ tiêu. Ví dụ, với trục X, các tham số được chọn để đạt độ vọt lố 1.92% và thời gian xác lập 0.06s. Tuy nhiên, với trục Y, dù đã tinh chỉnh, độ vọt lố vẫn ở mức 5.31%, cao hơn một chút so với yêu cầu. Điều này cho thấy sự phức tạp trong việc cân bằng giữa tốc độ đáp ứng và độ ổn định, một bài toán kinh điển trong kỹ thuật điều khiển tự động. Việc sử dụng các công cụ như 'Control System Tuner' trong MATLAB giúp quá trình này trở nên dễ dàng hơn nhưng vẫn đòi hỏi sự can thiệp và hiệu chỉnh thủ công để đạt kết quả tối ưu.

2.2. Khó khăn trong việc lựa chọn linh kiện máy CNC phù hợp

Mặc dù bài tập lớn này tập trung vào mô phỏng, việc hiểu rõ các thách thức khi lựa chọn linh kiện máy CNC là rất quan trọng cho các ứng dụng thực tế. Lựa chọn giữa động cơ bướcđộng cơ servo là quyết định đầu tiên. Động cơ bước rẻ hơn, điều khiển đơn giản hơn (vòng hở) nhưng có thể bị mất bước ở tốc độ cao hoặc tải nặng. Ngược lại, động cơ servo cung cấp độ chính xác và momen xoắn cao hơn nhờ cơ chế điều khiển vòng kín với encoder, nhưng chi phí cao hơn và hệ thống điều khiển phức tạp hơn. Tương tự, việc chọn driver động cơ phải tương thích với công suất và loại động cơ. Các vi điều khiển phổ biến như Arduino (thường đi kèm với Arduino CNC Shield) có thể phù hợp cho các máy CNC mini, nhưng với các hệ thống đòi hỏi tốc độ xử lý cao, các giải pháp dựa trên FPGA hoặc DSP có thể là cần thiết. Mỗi lựa chọn đều ảnh hưởng đến chi phí, độ phức tạp và hiệu suất cuối cùng của toàn bộ hệ thống.

2.3. Vấn đề nội suy và đồng bộ hóa chuyển động giữa các trục

Nội suy là quá trình sinh ra các điểm trung gian giữa điểm đầu và điểm cuối để tạo thành một đường cong mượt mà. Thách thức nằm ở việc tính toán các điểm này một cách nhanh chóng và chính xác trong mỗi chu kỳ điều khiển (ví dụ 1ms). Sai số tính toán hoặc làm tròn có thể tích tụ và gây ra lệch quỹ đạo đáng kể. Vấn đề quan trọng hơn là đồng bộ hóa. Cả hai trục X và Y phải bắt đầu, tăng tốc, di chuyển và dừng lại một cách đồng thời. Bất kỳ sự chậm trễ nào trong việc tính toán hoặc đáp ứng của một trục so với trục kia sẽ dẫn đến sai lệch quỹ đạo. Ví dụ, khi nội suy một đường thẳng 45 độ, vận tốc của trục X và trục Y phải bằng nhau tại mọi thời điểm. Trong hệ thống thực, sự khác biệt về đặc tính động học của hai trục (như trong tài liệu, K1=6, T1=0.08 và K2=5, T2=0.2) càng làm bài toán đồng bộ hóa trở nên phức tạp hơn, đòi hỏi bộ điều khiển phải có khả năng bù trừ cho những khác biệt này.

III. Phương pháp tăng giảm tốc trước nội suy ADCBI tối ưu

Phương pháp Tăng/Giảm tốc Trước Nội suy (Acceleration/Deceleration Before Interpolation - ADCBI) là một kỹ thuật phổ biến trong các bài tập lớn hệ thống điều khiển máy CNC. Nguyên tắc cơ bản của ADCBI là tính toán toàn bộ profin vận tốc (tăng tốc, tốc độ không đổi, giảm tốc) cho toàn bộ đoạn đường di chuyển trước, sau đó mới thực hiện quá trình nội suy để chia nhỏ quỹ đạo. Như được mô tả trong tài liệu nghiên cứu, cấu trúc của ADCBI bao gồm các khối: Phân tích chương trình (Part program interpreter), Tăng/Giảm tốc, Nội suy thô (Rough interpolation), và Nội suy tinh (Fine interpolation). Ưu điểm lớn của phương pháp này là logic điều khiển tương đối đơn giản và đảm bảo vận tốc di chuyển dọc theo quỹ đạo luôn tuân thủ đúng profin hình thang đã tính toán. Đầu tiên, hệ thống sẽ kiểm tra xem đoạn đường là "normal block" hay "short block" để quyết định profin vận tốc là hình thang hay hình tam giác. Sau đó, vận tốc tại mỗi chu kỳ nội suy thô (ví dụ 5ms) được xác định. Dựa trên vận tốc này, quãng đường di chuyển trong mỗi chu kỳ được tính toán và sau đó được chiếu xuống các trục X, Y. Cuối cùng, khối nội suy tinh sẽ chia nhỏ quãng đường này thành các bước di chuyển nhỏ hơn, tương ứng với chu kỳ điều khiển (ví dụ 1ms), để gửi đến bộ điều khiển CNC.

3.1. Giải thuật nội suy đường thẳng và kiểm tra normal short block

Đối với nội suy đường thẳng trong ADCBI, bước đầu tiên là xác định profin vận tốc. Hệ thống sử dụng công thức L >= F²/2A + F²/2D để phân biệt giữa "normal block" (đoạn đường đủ dài để đạt tốc độ tối đa F) và "short block" (đoạn đường ngắn, không đủ để đạt F). Nếu là normal block, profin vận tốc sẽ có dạng hình thang với ba giai đoạn: tăng tốc, tốc độ không đổi và giảm tốc. Nếu là short block, profin có dạng tam giác, chỉ bao gồm tăng tốc và giảm tốc ngay lập tức. Sau khi xác định được vận tốc V tại mỗi chu kỳ nội suy thô, quãng đường di chuyển dL được tính. Quãng đường này sau đó được chiếu lên hai trục theo công thức dx = dL*cos(phi)dy = dL*sin(phi). Các giá trị dx, dy này sau đó được đưa vào khối nội suy tinh, thường sử dụng phương pháp nội suy tuyến tính để chia đều cho các chu kỳ điều khiển nhỏ hơn. Kết quả mô phỏng hệ thống điều khiển trong tài liệu cho thấy quỹ đạo sau nội suy tinh bám rất sát đường thẳng lý thuyết.

3.2. Kỹ thuật nội suy đường tròn bằng phương pháp tuyến tính

Nội suy đường tròn phức tạp hơn đường thẳng. Với ADCBI, profin vận tốc góc (thay vì vận tốc dài) sẽ được tính toán trước theo dạng hình thang hoặc tam giác. Dựa trên vận tốc góc ω(i) tại mỗi chu kỳ nội suy thô Tipo, góc quét được dθ(i) = ω(i) * Tipo sẽ được xác định. Từ đó, vị trí góc tiếp theo là θ(i+1) = θ(i) + dθ(i). Toạ độ X, Y tại các điểm nội suy thô được tính bằng lượng giác: X(i) = X_center + R*cos(θ(i))Y(i) = Y_center + R*sin(θ(i)). Sau khi có được các điểm (X(i), Y(i)), quãng đường di chuyển giữa hai điểm nội suy thô liên tiếp theo từng trục, dX(i)dY(i), được xác định. Tương tự như nội suy đường thẳng, các giá trị dXdY này được đưa vào khối nội suy tinh và chia đều cho các chu kỳ điều khiển nhỏ hơn. Phương pháp này, còn gọi là phương pháp trích mẫu dữ liệu, đảm bảo rằng công cụ di chuyển dọc theo cung tròn với vận tốc góc được kiểm soát chặt chẽ. Các kết quả mô phỏng cho thấy quỹ đạo nội suy tinh tạo thành một cung tròn rất mượt mà.

3.3. So sánh phương pháp nội suy Euler trong điều khiển quỹ đạo

Ngoài phương pháp tuyến tính, tài liệu còn đề cập đến việc áp dụng thuật toán Euler cho nội suy đường tròn. Phương pháp Euler là một phương pháp số để giải các phương trình vi phân, trong trường hợp này là để xấp xỉ quỹ đạo tròn. Thay vì tính toán trực tiếp các điểm trên cung tròn dựa trên góc, phương pháp Euler tính toán bước dịch chuyển tiếp theo dựa trên vị trí và vận tốc hiện tại. Công thức cốt lõi là X(i+1) = X(i) + dXY(i+1) = Y(i) + dY, trong đó dXdY được tính toán dựa trên các công thức xấp xỉ của thuật toán. Mặc dù phương pháp Euler có thể đơn giản hơn về mặt tính toán trong một số trường hợp, nó có thể tích lũy sai số lớn hơn so với phương pháp tính toán lượng giác trực tiếp, đặc biệt với các cung tròn dài hoặc bước nội suy lớn. Việc lựa chọn giữa hai phương pháp phụ thuộc vào yêu cầu về độ chính xác và khả năng tính toán của mạch điều khiển CNC.

IV. Hướng dẫn tăng giảm tốc sau nội suy ADCAI hiệu quả

Phương pháp Tăng/Giảm tốc Sau Nội suy (Acceleration/Deceleration After Interpolation - ADCAI) đưa ra một cách tiếp cận khác cho vấn đề điều khiển chuyển động trong hệ thống điều khiển máy CNC. Trái ngược với ADCBI, trong ADCAI, quá trình nội suy được thực hiện trước để tạo ra một chuỗi các bước di chuyển (displacement steps) với vận tốc không đổi. Sau đó, chuỗi các bước di chuyển này được đưa qua một bộ lọc số (digital filter) để làm mượt, tạo ra profin vận tốc hình thang. Về bản chất, bộ lọc số này hoạt động như một bộ tích lũy và làm trễ, biến đổi các bước di chuyển đột ngột thành một chuỗi các bước di chuyển tăng dần (giai đoạn tăng tốc) và giảm dần (giai đoạn giảm tốc). Ưu điểm chính của phương pháp này là khả năng giảm thiểu sai số quỹ đạo, đặc biệt là ở các góc nhọn, vì vận tốc của từng trục được điều chỉnh một cách độc lập và trơn tru. Tài liệu nghiên cứu minh họa việc sử dụng một bộ lọc dạng trung bình trượt (moving average), trong đó hệ số lọc m xác định thời gian tăng/giảm tốc. Phương pháp này đòi hỏi khả năng xử lý tín hiệu số của bộ điều khiển CNC, nhưng mang lại hiệu quả cao trong việc tạo ra các chuyển động mượt mà.

4.1. Nguyên lý và ứng dụng của bộ lọc số trong điều khiển CNC

Bộ lọc số là công cụ cốt lõi của phương pháp ADCAI. Nguyên lý của nó dựa trên phép toán tích chập (convolution) giữa tín hiệu đầu vào (chuỗi các bước di chuyển dX, dY) và đáp ứng xung h[n] của bộ lọc. Trong tài liệu, một bộ lọc tuyến tính đơn giản (linear type filter) được sử dụng, có đáp ứng xung là một chuỗi m giá trị hằng số 1/m. Khi chuỗi dX đi qua bộ lọc này, mỗi giá trị đầu ra dX_new sẽ là trung bình của m giá trị đầu vào gần nhất. Hiệu ứng này tạo ra một sự chuyển tiếp mượt mà từ 0 đến giá trị dX ban đầu, tương ứng với quá trình tăng tốc. Tương tự, khi chuỗi dX kết thúc, đầu ra của bộ lọc sẽ giảm dần về 0, tạo ra quá trình giảm tốc. Thời gian tăng tốc TA được quyết định bởi hệ số lọc m và chu kỳ nội suy Tipo thông qua công thức m = TA / Tipo. Việc lựa chọn m phù hợp là rất quan trọng để đạt được gia tốc mong muốn.

4.2. Tích hợp bộ lọc số vào quá trình nội suy đường thẳng

Trong ứng dụng nội suy đường thẳng, đầu tiên ta tính toán các bước di chuyển dXdY không đổi cho toàn bộ quãng đường, dựa trên tốc độ ăn dao F. Ví dụ, dX = F * Tipo * cos(phi). Sau đó, chuỗi các giá trị dXdY này được đưa qua bộ lọc số. Kết quả đầu ra là các chuỗi dX_newdY_new có profin đã được làm mượt. Các đồ thị trong tài liệu cho thấy rõ sự khác biệt: tín hiệu dX ban đầu là một xung chữ nhật, trong khi dX_new có dạng hình thang. Từ các bước di chuyển đã được làm mượt này, quỹ đạo và vận tốc của từng trục được tính toán lại. So sánh quỹ đạo cho thấy phương pháp ADCAI tạo ra một đường cong nhẹ ở điểm bắt đầu và kết thúc, thay vì bắt đầu và dừng đột ngột. Điều này giúp giảm tải trọng và rung động cho hệ thống cơ khí, một yếu tố quan trọng trong việc nâng cao chất lượng gia công.

4.3. Mô phỏng quỹ đạo đường tròn với phương pháp ADCAI

Tương tự với đường thẳng, việc áp dụng ADCAI cho quỹ đạo đường tròn cũng bắt đầu bằng việc nội suy ra các bước di chuyển dXdY dọc theo cung tròn với vận tốc không đổi. Sau đó, hai chuỗi dXdY này được đưa qua cùng một bộ lọc số. Kết quả là các profin vận tốc theo từng trục được làm mượt một cách độc lập. Hình ảnh mô phỏng trong tài liệu cho thấy quỹ đạo sau khi qua bộ lọc vẫn bám sát cung tròn lý thuyết, đồng thời quá trình bắt đầu và kết thúc chuyển động diễn ra một cách trơn tru. Phương pháp ADCAI đặc biệt hiệu quả khi xử lý các chuỗi G-code gồm nhiều đoạn thẳng và cung tròn ngắn nối tiếp nhau. Nó cho phép duy trì tốc độ cao qua các điểm nối và chỉ giảm tốc khi cần thiết, tối ưu hóa thời gian gia công mà vẫn đảm bảo độ mượt của chuyển động. Đây là một kỹ thuật tiên tiến được áp dụng trong nhiều bộ điều khiển CNC hiện đại.

V. Cách mô phỏng quỹ đạo và ứng dụng thực tiễn cho máy CNC

Quá trình mô phỏng hệ thống điều khiển là cầu nối giữa lý thuyết thiết kế và ứng dụng thực tiễn trong bài tập lớn hệ thống điều khiển máy CNC. Nó cho phép kiểm chứng các thuật toán phức tạp như ADCBI và ADCAI trước khi chúng được cài đặt vào một vi điều khiển hay mạch điều khiển CNC thực tế. Công cụ chính được sử dụng trong tài liệu là MATLAB và Simulink, một môi trường mạnh mẽ cho việc mô hình hóa các hệ thống động học. Sinh viên có thể xây dựng sơ đồ khối chi tiết, bao gồm mô hình động cơ, bộ điều khiển CNC (ví dụ, bộ PID), các khối nội suy, và các khối tạo quỹ đạo. Một ứng dụng thực tiễn quan trọng được trình bày là việc thiết kế quỹ đạo để vẽ các ký tự phức tạp như 'P' và 'S'. Điều này đòi hỏi phải kết hợp nhuần nhuyễn giữa nội suy đường thẳng và nội suy đường tròn. Ví dụ, để vẽ chữ 'P', hệ thống phải thực hiện một đoạn nội suy thẳng đứng, sau đó nối tiếp bằng một cung tròn. Việc lập trình G-code để mô tả các quỹ đạo này cũng là một kỹ năng quan trọng, vì G-code là ngôn ngữ giao tiếp tiêu chuẩn giữa người dùng và máy CNC. Mô phỏng giúp trực quan hóa kết quả, tinh chỉnh các thông số như bán kính, tốc độ, gia tốc để đạt được hình dạng mong muốn.

5.1. Lập trình G code cơ bản để thiết kế quỹ đạo phức tạp

Mặc dù tài liệu tập trung vào các thuật toán cấp thấp, hiểu biết về lập trình G-code là cần thiết để tạo ra dữ liệu đầu vào cho các thuật toán này. G-code là một tập hợp các lệnh điều khiển máy CNC. Các lệnh cơ bản bao gồm G00 (di chuyển nhanh không cắt gọt), G01 (nội suy đường thẳng), G02 (nội suy đường tròn theo chiều kim đồng hồ), và G03 (nội suy đường tròn ngược chiều kim đồng hồ). Để vẽ chữ 'S' như trong ví dụ, người lập trình cần xác định tọa độ các điểm đầu, điểm cuối và bán kính (hoặc tâm) của hai cung tròn nối tiếp nhau. Lệnh G-code sẽ có dạng như G02 X-50 Y-50 R50 để vẽ cung tròn thứ nhất, theo sau là một lệnh tương tự cho cung tròn thứ hai. Các phần mềm điều khiển CNC sẽ đọc các lệnh này và chuyển thành dữ liệu đầu vào cho các khối nội suy và tăng/giảm tốc.

5.2. Xây dựng mô hình Simulink để kiểm chứng giải thuật điều khiển

Simulink là công cụ lý tưởng để thực hiện mô phỏng hệ thống điều khiển máy CNC. Tài liệu đã minh họa rõ ràng việc xây dựng sơ đồ khối trong Simulink. Sơ đồ này thường bao gồm một khối 'From Workspace' để nhập dữ liệu quỹ đạo (tọa độ X, Y theo thời gian) đã được tính toán bởi các script MATLAB (thực thi thuật toán ADCBI hoặc ADCAI). Dữ liệu này được đưa vào hai nhánh điều khiển riêng biệt cho trục X và Y. Mỗi nhánh bao gồm một bộ điều khiển vị trí (bộ PD trong trường hợp này) và mô hình hàm truyền của động cơ. Đầu ra của mô hình là vị trí thực tế của các trục. Bằng cách vẽ đồ thị vị trí thực tế trên một biểu đồ XY, ta có thể quan sát quỹ đạo mà hệ thống thực sự di chuyển. So sánh quỹ đạo này với quỹ đạo đặt ban đầu cho phép đánh giá độ chính xác của toàn bộ hệ thống. Ngoài ra, các khối 'Scope' cho phép theo dõi các tín hiệu quan trọng khác như vận tốc, sai lệch vị trí, và tín hiệu điều khiển U.

5.3. Ví dụ thiết kế quỹ đạo vẽ chữ P và S từ tài liệu nghiên cứu

Tài liệu cung cấp hai ví dụ cụ thể về việc tạo quỹ đạo phức tạp. Để vẽ chữ 'P', quá trình được chia làm hai bước: 1. Nội suy đường thẳng từ điểm (0,0) đến (0,100). 2. Nội suy một cung tròn (nửa đường tròn) từ điểm (0,100) quay về điểm (0,50) với bán kính là 25. Để vẽ chữ 'S', quá trình cũng gồm hai bước nối tiếp: 1. Nội suy một cung tròn từ (0,0) đến (-50,-50) với bán kính 50. 2. Tiếp tục nội suy một cung tròn khác từ (-50,-50) đến (-100,-100), cũng với bán kính 50 nhưng theo chiều ngược lại. Những ví dụ này minh họa khả năng của hệ thống trong việc xử lý các chuyển động tiếp tuyến giữa đường thẳng và đường cong, hoặc giữa hai đường cong với nhau. Đây là một bài toán quan trọng trong gia công thực tế, đòi hỏi bộ điều khiển CNC phải đảm bảo sự chuyển tiếp mượt mà để không gây ra khuyết tật trên bề mặt sản phẩm.

VI. Bí quyết hoàn thiện báo cáo đồ án máy CNC và hướng đi mới

Hoàn thành một bài tập lớn hệ thống điều khiển máy CNC không chỉ dừng lại ở việc lập trình và mô phỏng thành công, mà còn cần trình bày kết quả một cách chuyên nghiệp trong một báo cáo đồ án máy CNC. Một báo cáo tốt cần có cấu trúc rõ ràng, diễn giải logic các phương pháp đã sử dụng, và phân tích sâu sắc các kết quả mô phỏng. Việc trích dẫn các biểu đồ, đồ thị từ quá trình mô phỏng là cực kỳ quan trọng để minh họa cho các nhận xét về hiệu năng của hệ thống. Bên cạnh đó, việc nhìn nhận về các hướng phát triển trong tương lai cho thấy tầm nhìn và sự hiểu biết sâu rộng của người thực hiện. Lĩnh vực điều khiển CNC đang không ngừng phát triển, với sự tích hợp của trí tuệ nhân tạo (AI) để tối ưu hóa quỹ đạo cắt, hay Internet vạn vật (IoT) để giám sát máy từ xa. Hiểu biết về các phần mềm điều khiển CNC phổ biến như Mach3, LinuxCNC, hay các giải pháp mã nguồn mở như phần mềm GRBL cũng là một điểm cộng lớn. Việc này không chỉ giúp hoàn thiện đồ án hiện tại mà còn mở ra nhiều cơ hội nghề nghiệp trong ngành công nghiệp 4.0, nơi các hệ thống tự động hóa thông minh đóng vai trò trung tâm.

6.1. Cấu trúc một báo cáo đồ án máy CNC chuyên nghiệp

Để có một báo cáo đồ án máy CNC chất lượng, cần tuân thủ một cấu trúc logic. Phần Mở đầu cần nêu rõ mục tiêu, phạm vi và các yêu cầu của đề tài. Phần Tổng quan lý thuyết nên trình bày về nguyên lý hoạt động máy CNC, các loại động cơ, các phương pháp nội suy cơ bản. Phần Thiết kế hệ thống là trọng tâm, cần mô tả chi tiết cách xây dựng mô hình toán học của động cơ, thiết kế bộ điều khiển vị trí (ví dụ bộ PD) và các thuật toán nội suy (ADCBI, ADCAI). Phần Kết quả mô phỏng phải trình bày các đồ thị đáp ứng vị trí, vận tốc, sai số, và quỹ đạo thực tế, kèm theo nhận xét và phân tích chi tiết. Cuối cùng, phần Kết luận cần tóm tắt các kết quả đạt được, so sánh với mục tiêu ban đầu và đề xuất các hướng phát triển trong tương lai. Việc trình bày mã code (ví dụ code MATLAB) trong phần Phụ lục cũng là một thực hành tốt.

6.2. Lựa chọn phần mềm điều khiển CNC Mach3 LinuxCNC GRBL

Khi chuyển từ mô phỏng sang hệ thống thực, việc lựa chọn phần mềm điều khiển CNC là rất quan trọng. Mach3 là một lựa chọn phổ biến cho người dùng cá nhân và các máy CNC nhỏ vì giao diện thân thiện và hỗ trợ nhiều tính năng. LinuxCNC là một giải pháp mã nguồn mở, mạnh mẽ, có khả năng điều khiển thời gian thực và tùy biến cao, thường được dùng trong các ứng dụng chuyên nghiệp hơn. Phần mềm GRBL là một firmware mã nguồn mở, hiệu suất cao, thường được cài đặt trên các vi điều khiển như Arduino (sử dụng Arduino CNC Shield). GRBL rất phù hợp cho các máy CNC tự chế, máy khắc laser, máy in 3D nhờ tính gọn nhẹ và hiệu quả. Mỗi phần mềm có ưu và nhược điểm riêng về chi phí, độ phức tạp, và hiệu năng, việc lựa chọn phụ thuộc vào quy mô và yêu cầu cụ thể của đồ án máy CNC.

6.3. Tương lai của hệ thống điều khiển CNC Tích hợp AI và IoT

Tương lai của hệ thống điều khiển máy CNC hứa hẹn nhiều đột phá với việc tích hợp các công nghệ của Công nghiệp 4.0. Trí tuệ nhân tạo (AI) và Học máy (Machine Learning) có thể được sử dụng để tối ưu hóa quá trình gia công trong thời gian thực, tự động điều chỉnh tốc độ cắt và bước tiến dao dựa trên độ rung, nhiệt độ và độ mòn của dụng cụ cắt. Điều này giúp tăng tuổi thọ công cụ và chất lượng bề mặt sản phẩm. Internet vạn vật (IoT) cho phép kết nối các máy CNC vào một mạng lưới, giúp thu thập dữ liệu vận hành, thực hiện bảo trì dự đoán, và điều khiển giám sát từ xa. Các giao diện HMI (Human-Machine Interface) sẽ trở nên thông minh và thân thiện hơn, có thể điều khiển bằng giọng nói hoặc cử chỉ. Việc nghiên cứu và áp dụng các công nghệ này sẽ là hướng đi tất yếu cho các kỹ sư tự động hóa trong tương lai.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

20/09/2025
Bài tập lớn hệ thống điều khiển máy cnc

Trích đoạn nội dung tài liệu

ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ BÀI TẬP LỚN HỆ THỐNG ĐIỀU KHIỂN MÁY CNC Giảng viên hướng dẫn: TS.Dương Minh Đức Chữ ký của GVHD Họ và tên: MSSV: Trần Thị Mai Anh 20191685 Nguyễn Thị Linh Chi 20191702 Tô Chính Công 20191713 Nhóm: 04 Khoa: Tự động hóa Trường: Điện – Điện tủ Hà Nội, 11/7 MỤC LỤC BÀI 1: THIẾT KẾ BỘ ĐIỀU KHIỂN VỊ TRÍ CHO TỪNG TRỤC X, Y. 5 BÀI 2: TĂNG GIẢM TỐC TRƯỚC NỘI SUY (ADCBI).1 Nội suy theo quỹ đạo đường thẳng.2 Nội suy theo quỹ đạo đường tròn. 15 BÀI 3: THIẾT KẾ QUỸ ĐẠO VẼ CHỮ P, S. 25 BÀI 4: TĂNG GIẢM TỐC SAU NỘI SUY (ADCAI).1 Bộ lọc số.2 Nội suy đường thẳng.3 Nội suy đường tròn.

31 PHỤ LỤC CODE. 31  ADCBI_circle_euler. 42 Danh mục hình ảnh: Hình 1: Mô hình bộ điều khiển vị trí cho trục X. 5 Hình 2: Thông số cho bộ điều khiển PD của trục X.

5 Hình 3: Đáp ứng của trục X. 6 Hình 4: Tín hiệu điều khiển U cho trục X. 6 Hình 5: Mô hình bộ điều khiển vị trí cho trục Y. 7 Hình 6: Thông số cho bộ điều khiển PD của trục Y.

7 Hình 7: Đáp ứng của trục Y. 7 Hình 8: Tín hiệu điều khiển U cho trục Y. 8 Hình 9: Cấu trúc nội suy ADCBI.8 Hình 10: Hai dạng tốc độ. 9 Hình 11: Kiểm tra dạng quỹ đạo.

9 Hình 12: Lựa chọn dạng nội suy. 10 Hình 13: Normal block và Short block.11 Hình 14: Nội suy thô dường thẳng. 11 Hình 15: Nội suy tuyến tính. 12 Hình 16: Sơ đồ khối trong simulink.

13 Hình 17: Đồ thị sau khi nội suy thô (đường thẳng). 13 Hình 18: Đồ thị sau khi nội suy tinh (đường thẳng). 14 Hình 19: Đồ thị vận tốc 2 trục X, Y. 14 Hình 20: Vị trí trục X, Y.

15 Hình 21: Quỹ đạo sau khi đi qua bộ điều khiển. 15 Hình 22: Các trường hợp lựa chọn tâm. 16 Hình 23: Normal block (circle). 17 Hình 24: Short block (circle).

18 Hình 25: Phương pháp trích mẫu dữ liệu. 19 Hình 26: Nội suy theo phương pháp tuyến tính. 20 Hình 27: Quỹ đạo sau khi nội suy tinh. 21 Hình 28: Quỹ đạo sau khi nội suy thô có so sánh với nội suy tinh.

21 Hình 29: Vận tốc và quỹ đạo trục X. 22 Hình 30: Vận tốc và quỹ đạo trục Y. 22 Hình 31: Vận tốc góc và góc dịch chuyển. 23 Hình 32: Quỹ đạo sau nội suy tinh sử dụng phương pháp euler.

25 Hình 35: Bộ lọc số. 26 Hình 36: Minh họa bộ lọc dạng linear. 27 Hình 37: Quỹ đạo nội suy thô có bộ lọc (thẳng). 28 Hình 38: Quỹ đạo nội suy tinh có bộ lọc (thẳng).

28 Hình 39: Vận tốc và quỹ đạo trục X có bộ lọc. 29 Hình 40: Vận tốc và quỹ đạo trục Y có bộ lọc. 29 Hình 41: So sánh bước dịch chuyển X. 30 Hình 42: So sánh bước dịch chuyển Y.

30 Hình 43: Quỹ đạo đường tròn có bộ lọc. 31 Đề bài Một hệ thống CNC gồm 2 trục X và Y được điều khiển bởi 2 động cơ có bộ driver điều khiển tốc độ kèm theo. Giả sử hàm truyền với đầu vào là điện áp điều khiển, đầu ra là tốc độ của 2 hệ truyền động 2 trục X và Y là khâu quán tính bậc nhất 1. Tự chọn thông số 02 hàm truyền trên và thiết kế bộ điều khiển vị trí cho từng trục thỏa mãn các yêu cầu sau - Độ quá điều chỉnh ≤ 5% - Sai lệch tĩnh ≤ 0,1% - Thời gian xác lập nhỏ nhất - | Uđk | ≤ 10V 2.

Thực hiện nội suy đường thẳng và đường tròn với kiểu tăng tốc/giảm tốc dạng hình thang (tăng tốc/giảm tốc trước nội suy). Điểm đầu, điểm cuối, bán kính, chiều quay nhập bởi người dùng. - Thực hiện cả nội suy thô và nội suy tinh - Vận tốc tối đa, gia tốc tối đa cũng nhập bởi người dùng - Chu kỳ nội suy thô là 5ms, nội suy tinh là 1ms 3. Thực hiện mô phỏng hệ thống di chuyển theo quỹ đạo hình 2 chữ trong cácchữ sau {B, C, D, G, O, P, Q, R, S, U}.

Trình bày và nêu ví dụ minh họa (thông số nhập bởi người dùng) về nội suy thô đường thẳng và đường tròn với kiểu tăng tốc/giảm tốc dạng hình thang (tăng tốc/giảm tốc sau nội suy). Gợi ý: Từ quỹ đạo tính ra các bước di chuyển cho từng trục, sau đó dùng bộ lọc số để thực hiện tăng tốc/giảm tốc. BÀI 1: THIẾT KẾ BỘ ĐIỀU KHIỂN VỊ TRÍ CHO TỪNG TRỤC X, Y  Hai động cơ có hàm truyền: Trục x: � � 1( � ) �1 1(�) = =+ �+++++1 ++++++++ 1 �1(�) Trục y: � � 2 (�) �2 2(�) = �++(�) =1 �++++++++ ++++ 2 2 Với �1 ≠ �2, � 1 ≠ �2  Chọn �1 = 6; � 1 = 0.08 , ta được hàm truyền: 6 � (�) = 1+0.08 ∗∗ 2 Do quãng đường là đạo hàm của vận tốc nên ta luôn có khâu tích phân trong hàm truyền hệ thống giúp loại bỏ sai lệch tĩnh. Do đó ta lựa chọn bộ điều khiển PD cho ứng dụng điều khiển vị trí này.

Do có khâu tích phân nên sai lệch tĩnh sẽ bằng 0 với dạng đầu vào là hàm step. Xác định bộ điều khiển vị trí cho trục X:  Hàm truyền bộ điều khiển PD cho trục X: ��� � = � �� + ���. � Hình 1: Mô hình bộ điều khiển vị trí cho trục X Sử dụng chức năng tuning trong matlab dò tìm các thông số cho bộ PD sau đó hiệu chỉnh lại để đạt được yêu cầu đề bài về sai lệch. Hình 2: Thông số cho bộ điều khiển PD của trục X  Kết quả mô phỏng:  Đáp ứng của trục X: Hình 3: Đáp ứng của trục X  Tín hiệu điều khiển U: Hình 4: Tín hiệu điều khiển U cho trục X  Nhận xét:  Độ quá điều chỉnh: 1.92%  Thời gian xác lập: 0.06s  Sai lệch tĩnh: xấp xỉ 0  Tín hiệu Udkmax: 7.2 Xác định bộ điều khiển vị trí cho trục Y:  Hàm truyền bộ điều khiển PD cho trục Y: ���� = ��� + ���.

� Hình 5: Mô hình bộ điều khiển vị trí cho trục Y Sử dụng chức năng tuning trong matlab dò tìm các thông số cho bộ PD sau đó hiệu chỉnh lại để đạt được yêu cầu đề bài về sai lệch. Hình 6: Thông số cho bộ điều khiển PD của trục Y  Kết quả mô phỏng:  Đáp ứng của trục Y : Hình 7: Đáp ứng của trục Y  Tín hiệu điều khiển U: Hình 8: Tín hiệu điều khiển U cho trục Y  Nhận xét:  Độ quá điều chỉnh: 5.31%  Thời gian xác lập: 0.277s  Sai lệch tĩnh: xấp xỉ 0  Tín hiệu Udkmax: 8.4<10V BÀI 2: TĂNG GIẢM TỐC TRƯỚC NỘI SUY (ADCBI) Part program interpreter Accelera琀椀on/Decelera琀椀on Rough intrpola琀椀on Mapping to each axis Fine intrpola琀椀on Posi琀椀on control Hình 9: Cấu trúc nội suy ADCBI Hình 10: Hai dạng tốc độ - Chiều dài: L - Gia tốc tăng tốc cho phép : A - Gia tốc giảm tốc cho phép: D - Chu kỳ nội suy: ���� - Chu kì điều khiển: ���� - Tốc độ ăn dao: F - Kiểm tra quỹ đạo là dạng nào bằng công thức: ��22 + ≥ � (1) 222222222222222 2 Nếu (1) đúng: short block, ngược lại normal block Bước 1: Thực hiện tăng tốc/giảm tốc Hình 11: Kiểm tra dạng quỹ đạo Bước 2: Thực hiện nội suy thô Hình 12: Lựa chọn dạng nội suy Bước 3: chiếu xuống các trục tọa độ và thực hiện nội suy tinh 2.1 Nội suy theo quỹ đạo đường thẳng Người dùng nhập vào:  Vị trí điểm đầu A và điểm cuối B  Tốc độ ăn dao: F  Gia tốc tăng tốc cho phép: A  Gia tốc giảm tốc cho phép: D  Chu kỳ nội suy: ���� = 5 � �  Chu kỳ điều khiển: ��� = 1 �� Bước 1: Thực hiện khối tăng/giảm tốc Kiểm tra normal block và short block Hình 13: Normal block và Short block Bước 2: Thực hiện nội suy thô Hình 14: Nội suy thô dường thẳng Bước 3: Chiếu xuống các trục tọa độ và thực hiện nội suy tinh Chọn phương pháp nội suy tuyến tính ((((((( ) �(�) = , � ≤ � < � + ���� � Trong đó: a(j) là khoảng dịch chuyển của chu kỳ nội suy tinh thứ j trong chu kỳ nội suy thô thứ i p(i) là độ dịch chuyển trong chu kỳ nội suy thứ i N = ���� ////////�� Hình 15: Nội suy tuyến tính Kết quả mô phỏng: Bài toán: nội suy đường thẳng từ điểm A(0,0) đến điểm B(200,200) Tốc độ ăn dao: F = 60 (mm/s) Gia tốc cho phép: A = D = 15 (mm/s^2) Chu kỳ nội suy: ���� = 5 Chu kỳ điều khiển: ��� = 1 ��  Sơ đồ điều khiển trong Simulink: Hình 16: Sơ đồ khối trong simulink  Kết quả:  Trước khi qua bộ điều khiển: Hình 17: Đồ thị sau khi nội suy thô (đường thẳng) Hình 18: Đồ thị sau khi nội suy tinh (đường thẳng) Hình 19: Đồ thị vận tốc 2 trục X, Y Hình 20: Vị trí trục X, Y  Sau khi đi qua bộ điều khiển: Hình 21: Quỹ đạo sau khi đi qua bộ điều khiển 2.2 Nội suy theo quỹ đạo đường tròn - Từ điểm A(0,0) đến điểm B(400,0) - Bán kính đường tròn: R = 220 �� - Gia tốc tăng tốc cho phép : � = 30 ( ) 2 ��� - Gia tốc giảm tốc cho phép: � = 30 ( ) �2 - Gia tốc góc tăng tốc cho phép : � 360 .2 - Chu kỳ nội suy: ����555555= 55555− 5555 3(((((((() - Chu kì điều khiển: ����111111= 11111− 1111 3 ((((((( ) - Tốc độ ăn dao: F = 60 (mm/s). ��� - Vận tốc góc ăn dao: � = ( ). � ℎềℎềℎềℎềℎềℎùềℎùùềℎùùềℎù1: ù�� ềℎồùồùề� ềùℎùềùℎùùồồ ồℎùồồềℎồồồềℎồồồềồồđ ℎồ - Clockwise: { 0: ℎề ℎề ℎề��� ℎềợ ượ� ℎề ℎề ℎề ồồ ồồℎề ồồℎề ồồồℎề ồℎồ ồồđ ồồồℎề ℎề ℎề ℎềℎề - Shortline: {1: ���� òòòòòòòòòòò ắắ 0: à���� ààààààààòàòààòòààòòàòòòòò 2.1 : Lựa chọn tâm Hình 22: Các trường hợp lựa chọn tâm  Trường hợp 1,2: - Quay thuận: cung bé (I2), cung lớn (I1) - Quay ngược: cung bé (I1), cung lớn (I2)  Trường hợp 3,4: - Quay thuận: cung bé (I1), cung lớn (I2) - Quay ngược: cung bé (I2), cung lớn (I1)  Trường hợp 5: �� = ��  Trường hợp 6: �� = �� 2.2 Nội suy đường tròn theo phương pháp tuyến tính  Tăng tốc và giảm tốc: Hình 23: Normal block (circle) Hình 24: Short block (circle)  Nội suy thô Sử dụng phương pháp trích mẫu dữ liệu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ