Bối cảnh và vấn đề nghiên cứu

Trong hệ thống sản xuất công nghiệp hiện đại, máy công cụ điều khiển số (CNC) đóng vai trò then chốt trong việc gia công chính xác các chi tiết cơ khí có biên dạng phức tạp. Bài tập lớn môn học Hệ thống điều khiển máy CNC do nhóm sinh viên Đỗ Hữu Quân, Nguyễn Văn Mạnh, Kim Tài Linh, Lương Khương Duy thực hiện dưới sự hướng dẫn của TS. Nguyễn Thị Vân Anh tại Bộ môn Tự động hóa Công nghiệp, Trường Điện - Điện tử, Đại học Bách Khoa Hà Nội (thực hiện vào tháng 6/2024), tập trung giải quyết bài toán thiết kế hệ thống điều khiển vị trí và thuật toán nội suy cho máy CNC hai trục X và Y.

Đề tài đặt ra các mục tiêu và nhiệm vụ kỹ thuật cụ thể:

  1. Thiết kế bộ điều khiển vị trí: Xác định hàm truyền cho hệ truyền động hai trục X và Y dựa trên giả thiết hàm truyền từ điện áp điều khiển đến tốc độ động cơ là khâu quán tính bậc nhất. Thiết kế và hiệu chỉnh bộ điều khiển vị trí cho từng trục nhằm thỏa mãn các tiêu chuẩn chất lượng:
    • Độ quá điều chỉnh: $\Delta h \le 5%$
    • Sai lệch tĩnh: $e_{xl} \le 0,1%$
    • Thời gian xác lập: đạt giá trị nhỏ nhất
    • Giới hạn biên độ điện áp điều khiển: $|U_{đk}| \le 10\text{ V}$
  2. Thiết kế thuật toán tăng/giảm tốc trước nội suy (ADCBI): Thực hiện thuật toán nội suy đường thẳng và đường tròn với biên dạng vận tốc hình thang (tăng tốc/giảm tốc trước nội suy). Quy trình yêu cầu triển khai cả hai mức nội suy thô (chu kỳ trích mẫu $T_{ns} = 5\text{ ms}$) và nội suy tinh (chu kỳ trích mẫu $T_{dk} = 1\text{ ms}$), hỗ trợ các thông số vận tốc tối đa ($F$), gia tốc tăng ($A$) và gia tốc giảm ($D$) do người dùng thiết lập.
  3. Nội suy quỹ đạo chữ cái và tăng/giảm tốc sau nội suy (ADCAI): Mô phỏng hệ thống di chuyển theo quỹ đạo hai ký tự chữ cái được lựa chọn là chữ "B" và chữ "R". Đồng thời, nghiên cứu và triển khai thuật toán tăng/giảm tốc sau nội suy sử dụng bộ lọc số (Digital Filter) cho quỹ đạo đường thẳng và đường tròn.

Đối tượng nghiên cứu là hệ thống điều khiển truyền động servo 2 trục X-Y của máy CNC. Phạm vi nghiên cứu tập trung vào việc mô hình hóa toán học, tổng hợp thuật toán điều khiển và kiểm chứng tính đúng đắn thông qua mô phỏng trên nền tảng phần mềm MATLAB và Simulink.

Cơ sở lý thuyết và phương pháp

Báo cáo xây dựng nền tảng tính toán dựa trên các lý thuyết điều khiển tự động và kỹ thuật điều khiển số trong công nghiệp:

Khung lý thuyết và mô hình toán học

  • Hàm truyền động cơ và cơ cấu chấp hành: Hệ truyền động tốc độ của từng trục được mô hình hóa bằng khâu quán tính bậc nhất có dạng: $$G_v(s) = \frac{v(s)}{V(s)} = \frac{k}{T s + 1}$$ Quan hệ giữa vị trí $S(t)$ và vận tốc $v(t)$ theo miền Laplace là $\frac{S(s)}{v(s)} = \frac{1}{s}$. Do đó, hàm truyền của đối tượng điều khiển vị trí từ điện áp đầu vào $V(s)$ đến vị trí đầu ra $S(s)$ là khâu tích phân quán tính bậc nhất: $$G(s) = \frac{S(s)}{V(s)} = \frac{k}{s(T s + 1)}$$
  • Phương pháp tối ưu đối xứng (Symmetrical Optimum): Sử dụng để thiết kế bộ điều khiển vị trí dạng PI có hàm truyền: $$R(s) = k_P \left( 1 + \frac{1}{T_i s} \right) = k_P \frac{T_i s + 1}{T_i s}$$ Các thông số của bộ điều khiển được xác định theo tham số tối ưu $a$: $$T_i = a T, \quad k_P = \frac{1}{k \sqrt{a} T}$$ Tham số $a$ được tính toán từ độ quá điều chỉnh cho phép $\Delta h$ theo biểu thức lý thuyết: $$\Delta h = e^{-\frac{\pi \sqrt{a}}{\sqrt{4 - \sqrt{a}}}}$$
  • Thuật toán tăng/giảm tốc trước nội suy (ADCBI - Acceleration/Deceleration Calculation Before Interpolation): Xác định biên dạng tốc độ hình thang dựa trên chiều dài quỹ đạo $L$, tốc độ đặt $F$, gia tốc $A$ và độ giảm tốc $D$. Quỹ đạo được phân loại thành Normal Block (đạt tốc độ tối đa $F$) hoặc Short Block (không đủ chiều dài để đạt tốc độ $F$).
  • Thuật toán tăng/giảm tốc sau nội suy (ADCAI - Acceleration/Deceleration Calculation After Interpolation): Sử dụng bộ lọc số trung bình trượt có hàm truyền đạt trong miền Z: $$H(z) = \frac{1}{m} \frac{1 - z^{-m}}{1 - z^{-1}}$$ Bộ lọc số thực hiện tích chập tín hiệu lượng đặt vi sai $\Delta X, \Delta Y$ nhằm làm mịn biên dạng chuyển động.

Phương pháp nghiên cứu

Báo cáo sử dụng phương pháp giải tích toán học kết hợp mô phỏng số:

  • Xây dựng mô hình toán và giải thuật phân rã quỹ đạo trên hệ tọa độ Descartes Oxy.
  • Thiết kế thuật toán điều khiển và thuật toán nội suy bằng ngôn ngữ lập trình m-script trong MATLAB.
  • Xây dựng mô hình phản hồi điều khiển vòng kín và mô phỏng động học hệ thống trên MATLAB/Simulink.

Thiết kế và triển khai

Hệ thống điều khiển và nội suy quỹ đạo 2 trục CNC được thiết kế theo cấu trúc mô-đun hóa, kết hợp giữa thuật toán nội suy quỹ đạo hình học và mạch vòng điều khiển vị trí:

Mô-đun chức năng Đầu vào Thuật toán xử lý Đầu ra
Xác định thông số hình học đường tròn Tọa độ điểm đầu $A(x_a, y_a)$, điểm cuối $B(x_b, y_b)$, bán kính $R$, cờ chọn tâm $s$, chiều quay $w$. Tính trung điểm $H$, giải hệ phương trình đường tròn tìm 2 nghiệm tâm $C(x_0, y_0)$, xác định góc quét $\Delta\theta$. Tọa độ tâm $C(x_0, y_0)$, góc đầu $\theta_s$, góc quét $\Delta\theta$.
Nội suy thô (ADCBI) Chiều dài quỹ đạo $L$, chu kỳ $T_{ns} = 5\text{ ms}$, thông số $F, A, D$. Kiểm tra điều kiện Normal/Short Block, tính thời gian $T_A, T_C, T_D$, tính bước dịch chuyển $\Delta L(i)$, tính tọa độ $X_{tho}, Y_{tho}$. Mảng tọa độ và vi sai $\Delta X_{tho}, \Delta Y_{tho}$ theo chu kỳ $5\text{ ms}$.
Nội suy tinh Mảng $\Delta X_{tho}, \Delta Y_{tho}$, hệ số nội suy $k = T_{ns}/T_{dk} = 5$. Phân chia tuyến tính lượng dịch chuyển: $a(i) = \Delta(i) / k$. Mảng tọa độ $X_{tinh}, Y_{tinh}$ theo chu kỳ $1\text{ ms}$ làm lượng đặt vị trí.
Lọc số sau nội suy (ADCAI) Bước dịch chuyển không đổi $\Delta X, \Delta Y$, thời gian tăng tốc $T_A = F/A$. Tính chiều dài bộ lọc $m = \text{floor}(T_A/T_{ipo})$, thực hiện phép tích chập rời rạc: $\Delta X_{new} = \text{conv}(\Delta X, h)$. Bước dịch chuyển sau lọc có dạng hình thang.
Mạch vòng điều khiển vị trí Lượng đặt vị trí $X(t), Y(t)$, tín hiệu phản hồi vị trí $S_x, S_y$. Bộ điều khiển PI có khâu bão hòa điện áp $[-10\text{ V}, +10\text{ V}]$, tác động lên driver động cơ khâu tích phân quán tính. Tọa độ thực tế đáp ứng của cơ cấu chấp hành.

Nội dung chính theo từng chương

Chương 1. Thiết kế bộ điều khiển

Chương 1 thiết lập mô hình toán học cho hệ truyền động hai trục. Nhóm tác giả chọn hàm truyền hệ truyền động vị trí của trục X là: $$G_x(s) = \frac{6}{s(0{,}1s + 1)}$$

Áp dụng phương pháp tối ưu đối xứng với yêu cầu độ quá điều chỉnh $\Delta h \le 5%$, khoảng giá trị của tham số $a$ được xác định là $3{,}63 \le a < 16$. Chọn $a = 4$, các thông số ban đầu của bộ điều khiển PI được xác định. Tuy nhiên, khi đưa vào mô phỏng trên MATLAB/Simulink, đáp ứng vị trí ban đầu chưa đạt chuẩn thiết kế do độ quá điều chỉnh thực tế của trục X lên tới $43{,}0000065%$.

Nhóm tác giả đã thực hiện hiệu chỉnh thông số bộ điều khiển PI, thu được tham số hiệu chỉnh cho trục X là $k_{Px} = 2{,}01$. Kết quả sau hiệu chỉnh cải thiện rõ rệt: độ quá điều chỉnh giảm xuống còn $4{,}031%$ (thỏa mãn điều kiện $\le 5%$), sai lệch tĩnh đạt xấp xỉ $0%$ (thỏa mãn điều kiện $\le 0{,}1%$), và điện áp điều khiển $|U_{đk}|$ nằm hoàn toàn trong giới hạn cho phép $\le 10\text{ V}$.

Thông số đánh giá Trước hiệu chỉnh Sau hiệu chỉnh Tiêu chuẩn yêu cầu
Độ quá điều chỉnh ($\Delta h$) trục X $43{,}0000065%$ $4{,}031%$ $\le 5%$
Sai lệch tĩnh ($e_{xl}$) Thỏa mãn $0%$ $\le 0{,}1%$
Điện áp điều khiển ($U_{đk}$) — $\le 10\text{ V}$ $

Chương 2. Thiết kế trước nội suy (ADCBI)

Chương 2 trình bày chi tiết thuật toán tăng/giảm tốc trước nội suy cho hai dạng quỹ đạo cơ bản:

  • Nội suy đoạn thẳng: Thiết lập chuyển động từ điểm $A(10, 30)$ đến $B(90, 60)$ với gia tốc $A = D = 10\text{ mm/s}^2$, tốc độ ăn dao $F = 20\text{ mm/s}$, chu kỳ nội suy thô $T_{ns} = 5\text{ ms}$, chu kỳ nội suy tinh $T_{dk} = 1\text{ ms}$. Chiều dài đoạn thẳng tính được là $L = \sqrt{(90-10)^2 + (60-30)^2} = 85{,}44\text{ mm}$. Kiểm tra điều kiện quỹ đạo cho thấy $\frac{F^2}{2A} + \frac{F^2}{2D} = 40 < 85{,}44$, xác định quỹ đạo thuộc dạng Normal Block. Thời gian của các giai đoạn chuyển động gồm: thời gian tăng tốc $T_A = 2\text{ s}$, thời gian giảm tốc $T_D = 2\text{ s}$, thời gian duy trì tốc độ không đổi $T_C = 2{,}27\text{ s}$.
  • Nội suy đường tròn: Thực hiện nội suy cung tròn từ điểm $A(10, 0)$ đến $B(90, 0)$ với bán kính $R = 50\text{ mm}$ theo chiều ngược kim đồng hồ. Thuật toán xác định trung điểm $H(50, 0)$, tìm được hai tọa độ tâm khả dĩ và lựa chọn tâm đường tròn tại tọa độ $C(50, -30)$.
  • Quá trình nội suy thô và nội suy tinh: Nội suy thô xác định vị trí tại các bước thời gian $5\text{ ms}$. Nội suy tinh sử dụng phương pháp chia tuyến tính với tỷ lệ $N = T_{tho}/T_{tinh} = 5$ bước nhỏ trong một chu kỳ thô, tạo ra lượng đặt vị trí mượt mà tại chu kỳ $1\text{ ms}$ cho bộ điều khiển vị trí.

Chương 3. Nội suy quỹ đạo các chữ cái

Chương 3 triển khai bài toán nội suy biên dạng phức tạp bằng phương pháp ghép nối quỹ đạo đoạn thẳng và cung tròn dựa trên thuật toán ADCBI:

  • Quỹ đạo chữ B: Được cấu thành từ 3 phân đoạn chuyển động (1 đoạn thẳng và 2 cung tròn). Thứ tự các điểm tọa độ di chuyển lần lượt là $(0, 0) \to (0, 100) \to (0, 60) \to (0, 0)$.
  • Quỹ đạo chữ R: Được cấu thành từ 3 phân đoạn chuyển động (2 đoạn thẳng và 1 cung tròn). Thứ tự các điểm tọa độ di chuyển lần lượt là $(0, 0) \to (0, 200) \to (0, 100) \to (50, 0)$.

Kết quả mô phỏng trên MATLAB/Simulink cho thấy đáp ứng chuyển động thực tế của hai trục bám sát quỹ đạo đặt của chữ cái. Tín hiệu điện áp điều khiển xuất ra từ hai bộ điều khiển PI trên trục X và trục Y đều duy trì trong phạm vi an toàn $|U_{đk}| \le 10\text{ V}$.

Chương 4. Tăng/giảm tốc sau nội suy sử dụng bộ lọc số

Chương 4 nghiên cứu giải pháp tăng/giảm tốc sau nội suy (ADCAI) bằng cách đưa chuỗi xung dịch chuyển vi sai qua bộ lọc số trung bình trượt $H(z)$:

  • Mô hình bộ lọc số: Chiều dài xung $m$ của bộ lọc được xác định bằng số bước trích mẫu trong giai đoạn tăng tốc $m = \text{floor}(T_A / T_{ipo})$. Tín hiệu dịch chuyển vi sai sau bộ lọc có dạng hình thang thông qua phép tích chập $\Delta X_{new} = \text{conv}(\Delta X, h)$.
  • Thử nghiệm nội suy đường thẳng: Quỹ đạo từ $M(20, 30)$ đến $N(50, 70)$ với $F = 20\text{ mm/s}$, $A = 5\text{ mm/s}^2$, $T_{ipo} = 5\text{ ms}$. Số bước lọc tính được $m = \text{floor}((20/5)/0{,}005) = 800$.
  • Thử nghiệm nội suy đường tròn: Quỹ đạo từ $M(20, 30)$ đến $N(50, 70)$ có bán kính $R = 50\text{ mm}$, di chuyển cùng chiều kim đồng hồ với $F = 12\text{ mm/s}$, $A = 5\text{ mm/s}^2$, $T_{ipo} = 5\text{ ms}$.

Kết quả mô phỏng khẳng định bộ lọc số đã làm trơn thành công bước dịch chuyển $\Delta X, \Delta Y$, loại bỏ hiện tượng thay đổi vận tốc đột ngột tại các thời điểm bắt đầu và kết thúc quỹ đạo, đồng thời đảm bảo đáp ứng vị trí bám chính xác theo biên dạng mong muốn.

Kết quả và đóng góp

Kết quả kỹ thuật đạt được

  1. Thiết kế thành công bộ điều khiển PI vị trí: Đáp ứng đầy đủ các chỉ tiêu kỹ thuật khắt khe do đề bài yêu cầu ($\Delta h = 4{,}031% \le 5%$, $e_{xl} = 0% \le 0{,}1%$, $|U_{đk}| \le 10\text{ V}$).
  2. Xây dựng hoàn chỉnh thuật toán ADCBI: Phân loại chính xác Normal Block và Short Block, phân rã thành công hai cấp nội suy thô ($5\text{ ms}$) và tinh ($1\text{ ms}$) cho chuyển động thẳng và chuyển động tròn.
  3. Mô phỏng bám quỹ đạo phức tạp: Ghép nối thành công các phân đoạn quỹ đạo thẳng và cong để tạo hình chữ "B" và chữ "R" với sai lệch bám cực nhỏ và điện áp điều khiển ổn định.
  4. Hiện thực hóa giải thuật lọc số ADCAI: Ứng dụng thành công bộ lọc số trung bình trượt làm trơn tín hiệu điều khiển sau nội suy cho cả hai dạng hình học thẳng và tròn.

Đóng góp học thuật và thực tiễn

  • Đóng góp bộ công cụ mã nguồn MATLAB (m-script và Simulink) có cấu trúc tường minh cho các giải thuật nội suy kinh điển của máy CNC.
  • Trình bày trực quan sự so sánh giữa hai phương pháp xử lý tăng/giảm tốc: tính toán trước nội suy (ADCBI) và lọc số sau nội suy (ADCAI), làm rõ ưu điểm của từng phương pháp trong điều khiển quỹ đạo thực tế.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế: Nghiên cứu mới dừng lại ở mức độ tính toán lý thuyết và mô phỏng số trên môi trường MATLAB/Simulink. Mô hình toán của đối tượng được giả định là khâu tích phân quán tính bậc nhất lý tưởng, chưa tính đến các yếu tố phi tuyến trong cơ khí thực tế như ma sát tĩnh/động, khe hở ăn khớp trục vít me - đai ốc bi, hiện tượng trễ truyền thông của driver hoặc giới hạn dòng điện thực tế của động cơ servo.
  • Hướng nghiên cứu tiếp: Nhóm tác giả đề xuất định hướng tiếp tục hoàn thiện hệ thống để vận hành ổn định hơn, mở rộng thuật toán điều khiển cho không gian 3 trục (X-Y-Z) hoặc đa trục, nghiên cứu các biên dạng tăng/giảm tốc mượt bậc cao hơn (như biên dạng chữ S - S-curve) và tiến hành thực nghiệm trên phần cứng máy CNC thực tế.

Giá trị tham khảo

Báo cáo bài tập lớn này có giá trị tham khảo thiết thực cho:

  • Sinh viên và học viên các ngành Kỹ thuật Điều khiển & Tự động hóa, Cơ điện tử, Kỹ thuật Cơ khí đang học tập các môn học về Hệ thống điều khiển máy CNC, Điều khiển chuyển động (Motion Control) và Truyền động điện.
  • Người làm đề tài nghiên cứu liên quan đến thuật toán nội suy quỹ đạo: Các hàm tính toán hình học đường tròn (CircleDataCalculation), phân rã nội suy tinh (MyNoiSuyTinh), và thuật toán lọc số rời rạc trong phụ lục là nguồn mã nguồn mẫu hoàn chỉnh, có thể tái sử dụng trực tiếp để xây dựng thuật toán điều khiển cho máy khắc CNC, máy in 3D hoặc cánh tay robot phẳng.

Câu hỏi thường gặp

1. Tại sao cần chia thành hai cấp nội suy thô (5 ms) và nội suy tinh (1 ms)?

Nội suy thô ($5\text{ ms}$) chịu trách nhiệm tính toán quỹ đạo hình học tổng thể và lập kế hoạch biên dạng vận tốc theo thời gian thực mà không làm quá tải bộ xử lý trung tâm (CNC interpolator). Trong khi đó, bộ điều khiển vị trí của động cơ servo yêu cầu chu kỳ trích mẫu nhanh hơn ($1\text{ ms}$) để đảm bảo tính liên tục và độ mượt của chuyển động. Nội suy tinh tuyến tính đóng vai trò cầu nối, chia nhỏ lượng dịch chuyển thô thành 5 bước nhỏ ($N = 5\text{ ms} / 1\text{ ms} = 5$) đưa vào mạch vòng điều khiển vị trí.

2. Tiêu chí phân biệt giữa Normal Block và Short Block trong thuật toán ADCBI là gì?

Một đoạn chuyển động được phân loại dựa trên mối quan hệ giữa chiều dài đoạn $L$ và tổng quãng đường cần thiết để tăng tốc lên vận tốc $F$ rồi giảm về 0: $$\frac{F^2}{2A} + \frac{F^2}{2D} < L$$ Nếu bất đẳng thức thỏa mãn, đoạn chuyển động là Normal Block (có giai đoạn chuyển động đều với vận tốc $F$). Ngược lại, nếu tổng quãng đường tăng và giảm tốc lớn hơn hoặc bằng $L$, đoạn chuyển động là Short Block (hệ thống không đạt được tốc độ $F$ mà phải tính lại vận tốc đỉnh cực đại $F_{max} < F$ và thời gian chuyển động đều $T_C = 0$).

3. Phương pháp tối ưu đối xứng ban đầu gặp vấn đề gì và được khắc phục như thế nào?

Khi áp dụng công thức tối ưu đối xứng với tham số $a = 4$, độ quá điều chỉnh vị trí của trục X trên mô hình mô phỏng đạt tới $43{,}0000065%$, vượt xa yêu cầu đặt ra ($\le 5%$). Nhóm tác giả đã tiến hành hiệu chỉnh lại hệ số khuếch đại tỉ lệ của bộ điều khiển vị trí trục X thành $k_{Px} = 2{,}01$, qua đó đưa độ quá điều chỉnh về mức $4{,}031%$, triệt tiêu sai lệch tĩnh và đảm bảo điện áp điều khiển $|U_{đk}| \le 10\text{ V}$.

4. Nguyên lý của phương pháp tăng/giảm tốc sau nội suy (ADCAI) bằng bộ lọc số là gì?

Phương pháp ADCAI thực hiện nội suy quỹ đạo ở tốc độ không đổi trước, tạo ra các bước dịch chuyển vi sai không đổi $\Delta X, \Delta Y$ cho mỗi chu kỳ. Sau đó, chuỗi tín hiệu này được cho qua một bộ lọc số trung bình trượt $H(z)$ có chiều dài xung $m = \text{floor}(T_A/T_{ipo})$ bằng phép tích chập (conv). Kết quả đầu ra của bộ lọc biến đổi dạng bước nhảy thành biên dạng hình thang mượt mà, giúp tăng tốc và giảm tốc êm mà không cần tính toán quy hoạch vận tốc phức tạp trước khi nội suy.

5. Quỹ đạo chữ "B" và chữ "R" được phân đoạn và ghép nối như thế nào?

  • Chữ "B" được ghép từ 1 đoạn thẳng và 2 cung tròn, đi qua chuỗi tọa độ: $(0,0) \to (0,100) \to (0,60) \to (0,0)$.
  • Chữ "R" được ghép từ 2 đoạn thẳng và 1 cung tròn, đi qua chuỗi tọa độ: $(0,0) \to (0,200) \to (0,100) \to (50,0)$. Mỗi phân đoạn được xử lý độc lập qua hàm nội suy ADCBI rồi ghép nối tuần tự thành một quỹ đạo liên tục cung cấp cho mô hình mô phỏng.

Kết luận

Báo cáo bài tập lớn Thiết Kế Hệ Thống Điều Khiển Máy CNC Với Hai Trục X và Y đã giải quyết trọn vẹn và chuẩn xác các yêu cầu kỹ thuật về thiết kế hệ thống điều khiển chuyển động hai trục. Đề tài đã xây dựng thành công bộ điều khiển vị trí PI đáp ứng nghiêm ngặt các chỉ tiêu chất lượng, đồng thời hiện thực hóa hai kỹ thuật nội suy then chốt là tăng/giảm tốc trước nội suy (ADCBI) và sau nội suy bằng bộ lọc số (ADCAI) trên các biên dạng đường thẳng, đường tròn và ký tự chữ cái. Toàn bộ thuật toán và cấu trúc mô phỏng trên MATLAB/Simulink được kiểm chứng rõ ràng, mang lại giá trị học thuật và tài liệu tham khảo kỹ thuật tin cậy cho lĩnh vực điều khiển máy công cụ CNC.