Cách tính chế độ cắt khi phay CNC: tốc độ trục chính, tốc độ tiến, chip load và mỏng phoi

Cách tính chế độ cắt khi phay CNC: tốc độ cắt Vc ra vòng quay, chip load fz ra tốc độ tiến F, chiều sâu, bước ngang, hiệu chỉnh mỏng phoi, công suất; bảng cho gỗ, MDF, mica, nhôm, script Python.

Chạy CNC với tốc độ tiến (F) và vòng quay trục chính (S) chọn đại thì hoặc mũi phay cọ xát làm cháy gỗ, chảy mica, hoặc mũi gãy, máy rung, mất bước. Bài này hướng dẫn cách tính chế độ cắt khi phay theo đúng trình tự: tốc độ cắt Vc ra vòng quay, lượng ăn mỗi răng fz (chip load) ra tốc độ tiến, chọn chiều sâu và bước ngang, hiệu chỉnh mỏng phoi khi bước ngang nhỏ, kiểm tra công suất. Kèm script Python tính sẵn cho gỗ, MDF, mica, nhôm trên máy CNC mini, và cách chỉnh theo tiếng cắt và phoi.

Công thức cơ bản F = n × z × fz đã có trong bài phần mềm cho máy CNC: CAM, chọn mũi phay, tốc độ cắt. Bài này đi sâu vào từng con số.

1. Năm con số của chế độ cắt

Hình minh họa chế độ cắt phay CNC: nhìn ngang có vòng quay n, đường kính D, chiều sâu mỗi lượt ap; nhìn từ trên có bước ngang ae, số me z, tốc độ tiến F mm/phút, mỗi me cắt lớp dày fz mỗi vòng
n, F, fz, ap, ae: năm con số nhập vào phần mềm CAM.
  • Vc (m/phút, tốc độ cắt): tốc độ mép cắt chạy qua vật liệu, tra theo vật liệu và loại mũi. Từ đó tính vòng quay: n = 1000 × Vc / (π × D).
  • fz (mm/răng, chip load): độ dày phoi mỗi me cắt ra. Tra theo vật liệu và đường kính mũi. Tốc độ tiến: F = n × z × fz, z là số me (số lưỡi) của mũi.
  • ap (chiều sâu mỗi lượt) và ae (bước ngang): quyết định lực cắt. Lượng vật liệu bóc đi mỗi phút: ap × ae × F.

Thứ tự đúng: chọn Vc, tính n; chọn fz, tính F; rồi chọn ap, ae cho vừa sức máy. Không làm ngược kiểu giữ F cố định rồi tăng giảm vòng quay tùy hứng: fz đổi theo, chất lượng cắt đổi theo.

2. Vòng quay và giới hạn trục chính

Gỗ, MDF với mũi carbide chịu được Vc vài trăm m/phút; mũi 3 mm cần trên 40 000 vòng/phút mới đạt, vượt xa trục chính của máy mini (thường 10 000–12 000 vòng/phút, router lớn 24 000). Khi đó cứ chạy tối đa vòng quay của trục chính, rồi tính F theo vòng quay thật, không theo vòng quay lý thuyết. Nhôm thì ngược lại: Vc thấp hơn, mũi 6 mm có thể cần giảm vòng quay. Lệnh trong G-code: S12000 M3 đặt vòng quay, G1 F735 đặt tốc độ tiến.

3. Bảng điểm bắt đầu cho máy mini

Bảng chế độ cắt điểm bắt đầu cho máy CNC mini trục chính 500 W 12000 vòng/phút: gỗ mềm D3 F735 D6 F1470, MDF D3 F980 D6 F1960, mica mũi 1 me D3 F490 D6 F980, nhôm 6061 D3 F360, D6 7958 vòng/phút F497, kèm chiều sâu, bước ngang và công suất cần
Công suất cần nhỏ: máy mini thường bị giới hạn bởi độ cứng.
  • Chiều sâu mỗi lượt cho máy khung nhôm cỡ 3018: gỗ, MDF khoảng nửa đường kính mũi; mica khoảng một phần ba; nhôm khoảng một phần năm hoặc nhỏ hơn.
  • Mica nên dùng mũi 1 me (loại rãnh chữ O): rãnh rộng, phoi thoát nhanh, đỡ chảy dính.
  • Nhôm cần máy cứng, kẹp phôi chắc, bôi trơn (cồn, dầu cắt) và thổi phoi; máy mini khung yếu thì giảm thêm ap và ae.
  • Mũi nhỏ (dưới 2 mm) rất dễ gãy: giảm fz và ap nhiều hơn tỷ lệ.

4. Mỏng phoi khi bước ngang nhỏ

Đồ thị hệ số hiệu chỉnh mỏng phoi theo bước ngang: bước ngang 10 phần trăm đường kính thì nhân fz 1,67, 20 phần trăm nhân 1,25, từ 50 phần trăm trở lên không cần hiệu chỉnh
Bước ngang nhỏ thì phải tăng tốc độ tiến để phoi đủ dày.

Khi bước ngang nhỏ hơn nửa đường kính mũi, mỗi me chỉ cắt một cung ngắn và phoi mỏng hơn fz đặt vào. Phoi quá mỏng thì mũi cọ xát thay vì cắt: nóng, cùn nhanh. Để giữ độ dày phoi, nhân fz với hệ số 1 / √(1 − (1 − 2·ae/D)²). Ví dụ phay tinh nhôm bằng mũi 6 mm với bước ngang 10 % đường kính: fz tăng khoảng 1,67 lần. Đây cũng là lý do các kiểu đường dao "bước ngang nhỏ, cắt sâu" (adaptive, trochoidal) chạy với tốc độ tiến cao.

5. Script tính chế độ cắt

Sửa MAY (dải vòng quay, công suất trục chính) và VAT_LIEU theo máy và mũi đang dùng, chạy bằng Python 3. Script in vòng quay (đánh dấu khi bị giới hạn), tốc độ tiến, chiều sâu, bước ngang, lượng bóc và công suất cần ước lượng từ lực cắt riêng kc:

# PYWORLD.VN - Tính chế độ cắt khi phay CNC: vòng quay từ tốc độ cắt Vc, tốc độ tiến từ lượng ăn mỗi răng fz, hiệu chỉnh mỏng phoi khi bước ngang nhỏ
# PYWORLD.VN - Kèm lượng bóc vật liệu và công suất trục chính cần, để biết máy có kéo nổi không; in dòng G-code S, F để dán vào CAM
# PYWORLD.VN - Chạy: python che_do_cat.py      (sửa MAY và VAT_LIEU theo máy, mũi phay của bạn; số trong bảng là điểm bắt đầu, không phải giới hạn)
"""Vc, fz, kc là giá trị khởi đầu thường dùng cho mũi carbide trên máy CNC mini, máy router nhỏ; chỉnh theo tiếng cắt và phoi."""
import math

MAY = {"n_min": 3000, "n_max": 12000, "cong_suat_W": 500, "hieu_suat": 0.7}   # trục chính 500 W, 12 000 vòng/phút

# vật liệu: Vc (m/phút), fz (mm/răng) cho mũi 3 mm và 6 mm, số me z, kc (N/mm²), chiều sâu ap/D và bước ngang ae/D mỗi lượt cho máy mini
VAT_LIEU = {
    "go mem, go thong": {"vc": 400, "fz": {3: 0.03, 6: 0.06}, "z": 2, "kc": 40, "ap": 0.5, "ae": 0.4},
    "MDF, van ep":      {"vc": 400, "fz": {3: 0.04, 6: 0.08}, "z": 2, "kc": 50, "ap": 0.5, "ae": 0.4},
    "mica (acrylic)":   {"vc": 250, "fz": {3: 0.04, 6: 0.08}, "z": 1, "kc": 80, "ap": 0.3, "ae": 0.4},
    "nhom 6061":        {"vc": 150, "fz": {3: 0.012, 6: 0.025}, "z": 2, "kc": 700, "ap": 0.2, "ae": 0.2},
}


def vong_quay(vc: float, d: float) -> tuple[float, bool]:
    """n = 1000·Vc/(π·D), giới hạn trong dải của trục chính. Trả về (n, có bị giới hạn không)."""
    n = 1000 * vc / (math.pi * d)
    n_gioi_han = min(max(n, MAY["n_min"]), MAY["n_max"])
    return n_gioi_han, abs(n_gioi_han - n) > 1


def fz_mong_phoi(fz: float, d: float, ae: float) -> float:
    """Bước ngang ae < D/2 thì phoi mỏng hơn fz; tăng fz để phoi vẫn đủ dày (chip thinning)."""
    if ae >= d / 2:
        return fz
    return fz / math.sqrt(1 - (1 - 2 * ae / d) ** 2)


def tinh(ten: str, d: float, ae_d: float | None = None) -> dict:
    v = VAT_LIEU[ten]
    z = v["z"]
    n, bi_gioi_han = vong_quay(v["vc"], d)
    ap, ae = v["ap"] * d, (ae_d if ae_d is not None else v["ae"]) * d
    fz = fz_mong_phoi(v["fz"][int(d)], d, ae)
    f = n * z * fz
    mrr = ap * ae * f / 1000                              # cm³/phút
    p = ap * ae * f * v["kc"] / 60e3 / MAY["hieu_suat"]   # W
    return {"z": z, "n": n, "gioi_han": bi_gioi_han, "vc_thuc": math.pi * d * n / 1000, "fz": fz, "f": f, "ap": ap, "ae": ae,
            "mrr": mrr, "p": p, "du_suc": p <= 0.8 * MAY["cong_suat_W"]}


if __name__ == "__main__":
    for ten in VAT_LIEU:
        for d in (3, 6):
            k = tinh(ten, d)
            print(f"{ten:18s} D{d} {k['z']} me: S{k['n']:.0f}{' (gioi han)' if k['gioi_han'] else ''} F{k['f']:.0f}"
                  f"  ap {k['ap']:.2f} ae {k['ae']:.2f} mm  bo {k['mrr']:.2f} cm3/ph  can {k['p']:.0f} W{'' if k['du_suc'] else '  <- qua suc'}")
    k = tinh("nhom 6061", 6, ae_d=0.1)
    print(f"Nhom D6, buoc ngang 10 % D: fz hieu chinh {k['fz']:.3f} mm -> F{k['f']:.0f}")

Công suất cần tính được thường nhỏ hơn nhiều so với công suất ghi trên trục chính. Trên máy mini, giới hạn thật là độ cứng khung, độ rơ trục, mũi nhỏ bị uốn; công suất chỉ là giới hạn khi phay nhôm sâu với máy router lớn.

6. Chỉnh theo tiếng cắt và phoi

Bảng chỉnh chế độ cắt theo dấu hiệu: phoi mịn như bột gỗ cháy thì tăng F, mica chảy dính thì tăng F và dùng mũi 1 me, tiếng rít rung vân sóng thì giảm ap ae, mũi gãy khi vào phôi thì vào dao xoắn, nhôm dính mũi thì bôi trơn thổi phoi, máy mất bước thì giảm F
Phoi là thước đo tốt nhất.

Cách thử nhanh: chạy một rãnh ngắn với số tính được, quan sát phoi. Phoi gỗ dạng vụn nhỏ, mica dạng sợi hoặc vảy, nhôm dạng xoắn nhỏ sáng màu là tốt. Phoi mịn như bột là tốc độ tiến quá chậm so với vòng quay; tăng F 10–20 % mỗi lần cho tới khi phoi đẹp mà máy chưa rung. Mất bước, sai kích thước có ở bài sửa lỗi và nâng cấp máy CNC tự chế.

An toàn: đeo kính khi phay, không đứng thẳng hướng phoi văng, có hút bụi khi cắt MDF (bụi keo hại phổi); nhôm phoi nóng và sắc. Xem thêm bài an toàn khi dùng máy CNC, máy laser.

Xem thêm: spindle và mũi phay; tự lắp máy CNC mini 3018.

Bài cùng cụm chủ đề: phay mạch in bằng CNC; FlatCAM; Fusion 360 CAM; Mach3.


Tin tức liên quan

Arduino IDE 2: tự gợi ý code, quản lý board và thư viện, gỡ lỗi từng bước, log khi không có JTAG
Arduino IDE 2: tự gợi ý code, quản lý board và thư viện, gỡ lỗi từng bước, log khi không có JTAG

Dùng Arduino IDE 2 hiệu quả: tự gợi ý code, nhảy tới định nghĩa, quản lý board và thư viện, thư mục của IDE, gỡ lỗi từng bước, macro log có mức cho ESP32.

SPI là gì: MOSI, MISO, SCK, CS, bốn chế độ và cách dùng trên ESP32
SPI là gì: MOSI, MISO, SCK, CS, bốn chế độ và cách dùng trên ESP32

Giải thích giao tiếp SPI: bốn dây MOSI, MISO, SCK, CS, truyền hai chiều cùng lúc và bốn chế độ clock. Kèm hai chương trình ESP32: tự gửi tự nhận để kiểm tra bus và gửi lệnh thô cho thẻ nhớ.

IC 555: chế độ dao động và đơn ổn, cách tính tần số và thời gian
IC 555: chế độ dao động và đơn ổn, cách tính tần số và thời gian

IC 555 là gì, sơ đồ chân và cấu tạo bên trong, mạch đơn ổn tạo trễ và mạch dao động nháy LED, nguồn gốc công thức t = 1,1RC và f = 1,44/((R1 + 2R2)C), bảng giá trị và mạch tạo trễ relay.

Tự lắp máy CNC mini cỡ 3018: cấu tạo, căn vít me, phần điện và cài GRBL
Tự lắp máy CNC mini cỡ 3018: cấu tạo, căn vít me, phần điện và cài GRBL

Các bước tự lắp máy CNC mini 3018: cấu tạo kiểu bàn di chuyển, vật tư, căn vít me T8 thẳng hàng, tính bước/mm, spindle 775 qua MOSFET, cài GRBL, dò Z và nhát phay đầu tiên.

Arduino Mega 2560: khi nào cần, sơ đồ chân theo chức năng, bốn cổng Serial, bản CH340 hay 16U2
Arduino Mega 2560: khi nào cần, sơ đồ chân theo chức năng, bốn cổng Serial, bản CH340 hay 16U2

Arduino Mega 2560 so với Uno, Nano, ESP32: khi nào cần, sơ đồ chân theo chức năng (I2C 20, 21, SPI 50–53), dùng bốn cổng Serial phần cứng cùng lúc, bản CH340 hay 16U2 và lỗi hay gặp.

Timer phần cứng trên ESP32: ngắt định kỳ chính xác tới micro giây, API mới của gói esp32 3.x
Timer phần cứng trên ESP32: ngắt định kỳ chính xác tới micro giây, API mới của gói esp32 3.x

Timer phần cứng ESP32 hoạt động thế nào, API timerBegin, timerAlarm của gói esp32 3.x, quy tắc viết hàm ngắt, thí nghiệm so ngắt timer 500 µs với vTaskDelay(1) khi CPU bận.

analogRead Arduino: điện áp tham chiếu AREF, đo Vcc thật, lấy trung bình, oversampling, giảm nhiễu
analogRead Arduino: điện áp tham chiếu AREF, đo Vcc thật, lấy trung bình, oversampling, giảm nhiễu

analogRead trên Arduino Uno, Nano: công thức đổi điện áp, chọn AREF DEFAULT, INTERNAL, EXTERNAL, đo Vcc thật bằng 1,1 V, lấy trung bình có bù nửa bậc, oversampling 12 bit, giảm nhiễu.

Bộ lọc Kalman là gì: Kalman một chiều cho cảm biến, chọn Q và R, quan hệ với lọc EMA
Bộ lọc Kalman là gì: Kalman một chiều cho cảm biến, chọn Q và R, quan hệ với lọc EMA

Bộ lọc Kalman là gì, giải thích bằng ví dụ một chiều: dự đoán và cập nhật, ý nghĩa Q, R, P, K; mô phỏng ba giá trị Q; K ổn định và quan hệ với EMA; cách chọn Q, R; code ESP32 tự đo nhiễu R.


Bình luận
Đã thêm vào giỏ hàng