Về bù trừ lỗ khoan trên bảng mạch in (PCB)

About PCB Drill Compensation

Không có cá nhân xuất sắc, chỉ có những đội ngũ xuất sắc. Với sự hợp tác của đội ngũ, dự án tự động hóa CAM cho PCB giai đoạn đầu tiên cho Xử lý mạngVận hành máy khoan Đã hoàn thành. Tiếp theo, chúng ta có thể chuyển sang công cụ quy tắc PCB. Ở đây, tôi sẽ nói về bù lỗ khoan trong kỹ thuật PCB. Với tư cách là một nhà phát triển kỹ thuật PCB, bạn nên hiểu rõ về khái niệm này và lý do tại sao nó hoạt động. Dưới đây là những điểm chính về bù lỗ khoan mà tôi muốn chia sẻ.


1. Tại sao chúng ta điều chỉnh kích thước mũi khoan?

Kích thước lỗ trong các tệp PCB mà khách hàng cung cấp thường có nghĩa là cuối cùng Kích thước lỗ. Trong quá trình sản xuất PCB, đồng được mạ bên trong các lỗ (hoặc các lỗ được phủ lớp hoàn thiện bề mặt như HASL, ENIG, OSP, v.v.). Điều này làm cho lỗ nhỏ hơn. Để đảm bảo kích thước lỗ cuối cùng đáp ứng yêu cầu, bước CAM điều chỉnh kích thước lỗ khoan. Đây là bù trừ lỗ khoan.

Ví dụ thực tế:
Kích thước lỗ cuối cùng: 1,00 mm. Bề mặt hoàn thiện: ENIG (độ dày niken 2,54 µm, độ dày vàng 0,0254 µm). Tuân thủ tiêu chuẩn IPC Class II và độ dày trung bình của lớp đồng mạ là 20 µm. Nếu chúng ta sử dụng 0,10 mm Với giá trị bồi thường, đội ngũ CAM sẽ lựa chọn một 1,10 mm mũi khoan.

Real example


2. Chúng ta thực hiện bồi thường khoan như thế nào?

Trước tiên, hãy làm rõ ba thông số chính cho việc bù trừ khoan:
(1) Bước tăng của mũi khoan,
(2) Giá trị bồi thường,
(3) Ngưỡng tăng (giá trị tăng).
Ba yếu tố này quyết định cách áp dụng bồi thường.

1) Bước tăng của mũi khoan

Điều này phụ thuộc vào loại mũi khoan mà công ty mua. Mức tăng thông thường trong ngành là 50 µm. Kích thước mũi khoan thông thường dao động từ 0,10 mm để 6,35 mm. Bước nhỏ nhất thông thường giữa các mũi khoan là 0,05 mm. Vì vậy, thư viện mũi khoan có các kích thước như 0,10 mm, 0,15 mm, 0,20 mm, 0,25 mm, và vân vân.

2) Giá trị bồi thường

Nhóm quy trình thiết lập các quy tắc bồi thường dựa trên kết quả thử nghiệm tại nhà máy. Giá trị bồi thường không có sự chênh lệch đáng kể trong ngành. Các quy tắc phổ biến:

  • Bảng mạch có lớp phủ HASL (chai xịt): Bù đắp 0,15 mm.

  • Bo mạch không có HASL (ENIG, mạ thiếc ngâm, OSP, v.v.): Bù đắp 0,10 mm.

3) Ngưỡng tăng (giá trị tăng)

Nhóm quy trình cũng xác định chiến lược lựa chọn mũi khoan, tương tự như quy tắc làm tròn. Ví dụ, khi bước nhảy là 20 µm, Nếu phần dư sau khi chia cho bước nhảy là ≥ 20 µm, Bạn làm tròn lên 50 µm; nếu không, bạn giữ nguyên kích thước nhỏ hơn.

Ví dụ:
Kích thước lỗ cuối cùng = 1,025 mm, bồi thường = 0,10 mm, do đó kích thước bù đắp = 1,125 mm. Nhưng không có 1,125 mm Thực hiện phép tính trong thư viện. Sử dụng quy tắc tăng dần. Phần dư 1,125 mm so với bước 0,05 mm là 25 micromet. Kể từ khi 25 µm > 20 µm, làm tròn lên 50 µm và chọn một 1,15 mm khoan.


Ví dụ về bồi thường cho việc khoan thực tế

Giả sử: bước khoan = 50 µm, ngưỡng tăng = 20 µm

Lỗ ban đầu Bồi thường Sau khi bồi thường Phần nguyên Phần còn lại Máy khoan được chọn
1,025 mm 0.10 1,125 mm 1.10 0,025 mm 1,15 mm
1,016 mm 0.10 1,116 mm 1.10 0,016 mm 1,10 mm

Cách tính kích thước mũi khoan đã chọn

Phân chia kích thước lỗ bù thành phần nguyên và phần dư bằng cách sử dụng bước tăng của mũi khoan:

Lấy 1,125 mm Ví dụ:
1.125 / 0.05 = 22.5 → làm tròn xuống 22 → phần nguyên = 22 × 0.05 = 1,10 mm.
Số dư = 1.125 % 0.05 = 0,025 mm.

Sau đó so sánh phần dư với ngưỡng tăng bước (ví dụ: 20 µm):

  • Nếu phần dư lớn hơn ngưỡng, kích thước mũi khoan = phần nguyên + 0,05 mm.

  • Nếu phần dư ≤ ngưỡng, kích thước mũi khoan = phần nguyên + 0,00 mm.


Tóm tắt về ngưỡng tăng cấp

Khi bước tăng của mũi khoan là 50 µm, Ngưỡng tăng kích thước là yếu tố quan trọng. Nó thực hiện điều chỉnh lần thứ hai cho kích thước mũi khoan đã được bù đắp. Nó quyết định liệu có “tăng kích thước” hay “giữ nguyên”. Việc thay đổi ngưỡng này sẽ trực tiếp thay đổi kích thước mũi khoan đã chọn.

Ví dụ thêm (bước khoan = 50 µm):

Lỗ ban đầu Bồi thường Sau khi hoàn thành. Số nguyên Phần còn lại Ngưỡng tăng cường Khoan
1,022 mm 0.1 1,122 mm 1.10 0,022 mm 0.02 1,15 mm
1,022 mm 0.1 1,122 mm 1.10 0,022 mm 0.025 1,10 mm

Quan điểm cá nhân về việc thiết lập ngưỡng tăng bước

Ưu điểm và nhược điểm: Sau khi bù trừ, nếu lỗ cuối cùng hơi lớn hơn, ít nhất bộ phận có thể được lắp vào. Nếu lỗ quá nhỏ, bộ phận không thể được lắp vào. Vì vậy, chúng ta thường đặt ngưỡng tăng bước lên là 20 µm thay vì 25 micromet. Lựa chọn chính xác phải phù hợp với từng quy trình và giá trị bồi thường.

Kết hợp với giá trị bồi thường: Đối với các bo mạch có HASL nơi cần bù đắp 0,15 mm, Bạn đã “bù đắp quá mức” một chút và các lỗ cuối cùng thường có kích thước hơi lớn. Trong trường hợp đó, ngưỡng tăng dần là 25 micromet Cũng có thể sử dụng. Sử dụng quy tắc “gần nhất” khi chọn mũi khoan.


3. Làm thế nào để đảm bảo kích thước lỗ cuối cùng đáp ứng yêu cầu sau khi bù trừ?

Phương pháp 1: Mua mũi khoan chuyên dụng

Bước tăng tiêu chuẩn của mũi khoan là 50 µm (Bước 0,05 mm như 1,00, 1,05, 1,10, 1,15 mm). Với độ dung sai PTH là ±3 mil, bộ mũi khoan 50 µm có thể đáp ứng độ dung sai này. Nếu độ dung sai nhỏ hơn, hãy sử dụng mũi khoan đặc biệt.

Ví dụ 1 — So sánh khoảng cách 50 µm so với 25 µm:
Lỗ ban đầu = 0,922 mm, bồi thường = 0,10 mm, Kích thước bù đắp = 1,022 mm.

Bản gốc Bồi thường Được bồi thường Tăng Máy khoan được chọn
0.922 0.10 1.022 0,05 (50 µm) 1.05
0.922 0.10 1.022 0,025 (25 µm) 1.025

Sự chênh lệch: 1.050 − 1.022 = 0.028 mm; 1.025 − 1.022 = 0.003 mm. Sự chênh lệch nhỏ hơn là tốt hơn, vì vậy 1,025 mm (tăng 25 µm) là tốt hơn.

Ví dụ 2 — 50 µm so với mũi khoan đặc biệt:
Lỗ ban đầu = 0,611 mm, bồi thường = 0,10 mm, được bồi thường = 0,711 mm.

Bản gốc Bồi thường Được bồi thường Tăng / Loại Máy khoan được chọn
0.611 0.10 0.711 0,05 (50 µm) 0.70
0.611 0.10 0.711 Bài tập đặc biệt 0.711

Sự chênh lệch: 0.700 − 0.711 = −0.011 mm; 0.711 − 0.711 = 0.000 mm. Sự chênh lệch nhỏ hơn là tốt hơn. Vì vậy, Mũi khoan đặc biệt 0,711 mm là tốt nhất.

Phương pháp 2: Nâng cao quy trình và thiết bị

  • Thêm một bước mạ bảng thứ hai để giảm độ dày không đều do phân bố mẫu.

  • Sử dụng phương pháp khắc trực tiếp bằng ảnh âm và mạ toàn bộ bảng mạch để giảm độ dày đồng không đều.

  • Giảm mật độ dòng điện (thông thường là 19 ASF); việc giảm nhẹ mật độ dòng điện có thể cải thiện độ đồng đều của quá trình mạ nhưng sẽ kéo dài thời gian mạ.

  • Nâng cấp lên dây chuyền mạ ngang. Dây chuyền mạ dọc thường tạo ra lớp đồng dày hơn ở viền lỗ và mỏng hơn ở trung tâm lỗ đối với các lỗ có tỷ lệ khía cạnh cao. Dây chuyền mạ ngang có thể giảm thiểu vấn đề đó.

Phương pháp 3: Nâng cao chiến lược CAM

  • Đối với các lỗ trên các vùng đồng cách ly, áp dụng thêm một mức bù. Các vùng cách ly có ít đồng hơn, do đó trong quá trình mạ, chúng có mật độ dòng điện cục bộ cao hơn và độ dày đồng lớn hơn; mức bù thêm sẽ bù đắp cho điều đó.

  • Đối với các thiết kế có đường mạch dày đặc ở một mặt và thưa thớt ở mặt kia (ví dụ: bảng mạch nguồn), hãy đặt mặt thưa thớt hướng vào trong và mặt dày đặc hướng ra ngoài, đồng thời sử dụng phương pháp chia bảng ngược. Trong quá trình mạ bảng, các khu vực gần mép bảng sẽ có mật độ dòng điện cao hơn và lớp mạ dày hơn. Phương pháp chia bảng ngược giúp cân bằng phân bố lớp mạ.

  • Khi diện tích đồng ở vùng TOP và BOTTOM chênh lệch lớn, hãy sử dụng tấm panel dương/âm (yin-yang). Diện tích đồng không đều gây ra các lỗ vias hình chuông; càng dày bảng mạch và càng nhiều đồng, hiệu ứng càng xấu; tấm panel yin-yang giúp cân bằng phân bố đồng.

  • Đối với các lỗ cách ly gần mép bảng mạch hoặc khe, hãy thêm các vùng đồng “pick-up” hoặc các pad đồng gần mép hoặc khe. Các lỗ cách ly có thể có độ dày mạ quá lớn và trở nên quá nhỏ; việc thêm đồng gần chúng giúp giảm mật độ dòng điện cục bộ và cân bằng quá trình mạ.


4. Cần bao nhiêu tiền bồi thường và cách tính toán như thế nào?

Giá trị bồi thường được xác định thông qua các thử nghiệm quy trình. Dưới đây là một bộ dữ liệu về sự thay đổi kích thước lỗ sau các bước khác nhau (dữ liệu từ báo cáo):

Quy trình: Khoan cơ khí → Mạ đồng ngâm → Mạ điện → Chuyển mẫu → Ăn mòn → Kiểm tra bằng máy AOI → Phim ướt → HASL

Thông số quy trình:

  • Mũi khoan: kích thước mũi khoan 0,95 mm, mài lại/mài lại 3 lần, bù trừ khoan 0,15 mm;

  • Lớp mạ: độ dày đồng ≥ 18 µm, trung bình ≥ 20 µm;

  • HASL: Kích thước lỗ cuối cùng 0,80 mm, dung sai ±0,08 mm (3 mil);

  • Mẫu thử: 10 tấm, đã cắt góc, độ dày tấm 2,0 mm.

Kích thước lỗ thay đổi theo từng bước

1) Sau khi khoan — kích thước lỗ được đo

  • Tổng cộng 1.920 lỗ đã được kiểm tra (10 bảng, mỗi bảng 384 lỗ). Mẫu: 200 lỗ (20 lỗ mỗi bảng). Phạm vi lỗ: 0,93–0,94 mm, trung bình 0,931 mm.
    (Sau đó là một danh sách dài các giá trị được lấy mẫu, chủ yếu là 0,93 hoặc 0,94.)

2) Sau khi mạ theo mẫu — độ dày lớp đồng

  • Đối với mỗi tấm, kiểm tra 10 lỗ. Phạm vi độ dày của đồng 18–31 µm, kích thước hạt ≥18 µm và kích thước trung bình ≥20 µm.
    (Sau đó là nhiều giá trị độ dày mẫu của đồng.)

3) Sau khi mạ theo mẫu — kích thước lỗ

  • Tổng cộng 1.920 lỗ, lấy mẫu 200. Phạm vi các lỗ: 0,84–0,88 mm, trung bình 0,858 mm.
    (Sau đó là nhiều giá trị mẫu, chủ yếu nằm trong khoảng 0,85–0,88.)

4) Sau HASL — kích thước lỗ

  • Tổng cộng 1.920 lỗ, lấy mẫu 200. Phạm vi các lỗ: 0,82–0,86 mm, trung bình 0,836 mm.
    (Sau đó là nhiều giá trị mẫu.)

Tóm tắt bài kiểm tra

Bước Phạm vi lỗ Lỗ trung bình
Sau khi khoan 0,93–0,94 mm 0,931 mm
Sau khi mạ đồng 0,84–0,88 mm 0,858 mm
Sau HASL 0,82–0,86 mm 0,836 mm

Kết luận: Đối với các bo mạch HASL, hệ số bù lỗ khoan là 0,15 mm là một “sự bù đắp quá mức” và khiến các lỗ cuối cùng trở nên lớn hơn. Giá trị bù đắp tối ưu trong thử nghiệm này là 0,125 mm.


5. Triển khai mã bù đắp (các quy tắc)

  1. Quy định về tiền lương và thăng bậc

Khía cạnh Lỗ đã hoàn thành Bề mặt hoàn thiện Độ dày tấm ván Ngưỡng tăng cường Nếu đường kính dây đồng nhỏ hơn 26 µm 26–37 µm 37–47 µm 47–67 µm 67–86 µm
tỷ lệ độ dày < 12:1 ≤ 1,90 mm HASL (chứa chì hoặc không chứa chì) ≥ 3,5 mm 0.01952 5 mil 6 mil 7 mil 8 mil 9 mil
tỷ lệ độ dày < 12:1 ≤ 1,90 mm HASL (chứa chì hoặc không chứa chì) < 3,5 mm 0.01952 4,5 triệu 5,5 triệu 6,5 triệu 7,5 triệu 8,5 triệu
tỷ lệ độ dày < 12:1 ≤ 1,90 mm Các loại hoàn thiện khác / 0.01952 4 mil 5 mil 6 mil 7 mil 8 mil
tỷ lệ độ dày < 12:1 > 1,90 mm HASL / 0.0246 5,5 triệu 6,5 triệu 7,5 triệu 8,5 triệu 9,5 triệu
tỷ lệ độ dày < 12:1 > 1,90 mm Các loại hoàn thiện khác / 0.01952 4,5 triệu 5,5 triệu 6,5 triệu 7,5 triệu 8,5 triệu
tỷ lệ độ dày ≥ 12:1 tất cả các lỗ HASL / 0.0246 5,5 triệu 6,5 triệu 7,5 triệu 8,5 triệu 9,5 triệu
tỷ lệ độ dày ≥ 12:1 tất cả các lỗ Các loại hoàn thiện khác / 0.01952 5 mil 6 mil 7 mil 8 mil 9 mil
  1. Kích thước mũi khoan đặc biệt (nếu dung sai < 3 mil, hãy sử dụng mũi khoan đặc biệt hoặc bước 25 µm, áp dụng quy tắc chọn mũi khoan gần nhất)

				
					List ContainDrillToolList = new List(); ContainDrillToolList.AddRange(new double[] { 610, 635, 711, 838, 914, 1016, 1320, 3120 });
				
			

3. Mã bù lỗ khoan

				
					/// /// Tính toán đường kính mũi khoan dựa trên các thông số bù khoan /// ///Thông tin cơ bản về dụng cụ khoan ///Các thông số bù khoan
///Danh sách đường kính mũi khoan đặc biệt ///Trả về 1 nếu tính toán thành công public static int getDrillUpSize(Mod_tool ToolInfo, gToolUpParam UpParam, List ContainDrillToolList) {
    if (ContainDrillToolList == null) ContainDrillToolList = new List(); gToolUpParamHole UpParamHole = new G_Helper.gToolUpParamHole(); switch (ToolInfo.type)
    { trường hợp "via": UpParamHole = UpParam.Via; break; trường hợp "plate": UpParamHole = UpParam.Pth; break; trường hợp "nplate": UpParamHole = UpParam.Npth; break; }
    ToolInfo.max_tol = Math.Round(UpParamHole.Max_Tol, 0); ToolInfo.min_tol = Math.Round(UpParamHole.Min_Tol, 0); if (ToolInfo.finish_size  49) //Khi khoảng cách bước là 50μm, không sử dụng mũi khoan đặc biệt { ContainDrillToolList = new List(); UpLevel = UpParamHole.UpLevel; }
    else { UpLevel = UpParam.DrillLevel * 0.5; //Chọn mũi khoan bằng một nửa khoảng cách bước }

    double Drillfinish_size = ToolInfo.finish_size + (ToolInfo.max_tol - ToolInfo.min_tol) * 0.5; // Tính trung bình của dung sai trên và dưới int DrillLevelCount = (int)(Math.Floor((Drillfinish_size + UpParamHole.UpVal) / DrillSlotLevel)); //Số bước khoan double DrillsizeInt = DrillLevelCount * DrillSlotLevel; //Làm tròn xuống bước khoan gần nhất double DrillsizeFloat = (Drillfinish_size + UpParamHole.UpVal) % DrillSlotLevel;//Phần dư của kích thước mũi khoan sau khi chia theo bước
    double DrillsizeLevel = (DrillsizeFloat > UpLevel) ? DrillSlotLevel : 0;//Xác định xem có làm tròn phần dư lên hay không

    //Kiểm tra xem có bao gồm mũi khoan đặc biệt không int ContainDrillIndex = ContainDrillToolList.FindIndex(tt => (int)(Math.Floor(tt / DrillSlotLevel)) == DrillLevelCount); if (ContainDrillIndex > -1) {
        double ContainDrillFloat = ContainDrillToolList[ContainDrillIndex] - DrillSlotLevel;//Phần dư của kích thước mũi khoan đặc biệt sau khi chia theo bước if (DrillsizeFloat > UpLevel) // ví dụ: 38 > 20
        { double diff1 = Math.Abs(DrillsizeFloat - DrillSlotLevel); //ví dụ: 40-50 double diff2 = Math.Abs(DrillsizeFloat - ContainDrillFloat); //ví dụ: 40-38
            DrillsizeLevel = (diff1 < diff2) ? DrillSlotLevel : ContainDrillFloat; } else //nếu (ContainDrillFloat < UpLevel) { double diff1 = Math.Abs(DrillsizeFloat - 0); //ví dụ: 12-0
            double diff2 = Math.Abs(DrillsizeFloat - ContainDrillFloat); //ví dụ: 12-16 DrillsizeLevel = (diff1  UpParamHole.UpLevel) ? DrillSlotLevel : 0;//Xác định xem có làm tròn phần dư lên hay không ToolInfo.slot_len = DrillsizeInt + DrillsizeLevel; } else { DrillsizeInt = Math.Floor((ToolInfo.slot_len + DiffDrillSizeUp) / 10) * 10; // Làm tròn xuống đến 10μm gần nhất ToolInfo.slot_len = DrillsizeInt; } ToolInfo.drill_size += UpParam.SlotEndNumber; // Thêm số hậu tố cho phân đoạn mũi khoan rãnh }
    ToolInfo.bit = Math.Round((ToolInfo.drill_size * 0.001), 3).ToString(); return 1; } public class gToolUpParam { ///  /// Thông số bù cho lỗ VIA (đơn vị μm) /// 
    public gToolUpParamHole Via { get; set; } = new gToolUpParamHole(); ///  /// Thông số bù cho PTH (Lỗ xuyên mạ) (đơn vị μm) /// 
    public gToolUpParamHole Pth { get; set; } = new gToolUpParamHole(); ///  /// Thông số bù cho NPTH (Lỗ xuyên không mạ) (đơn vị μm) /// 
    public gToolUpParamHole Npth { get; set; } = new gToolUpParamHole(); ///  /// Khoảng cách bước cho lỗ khoan tròn (đơn vị μm) ///  public double DrillLevel { get; set; } = 50; /// 
    /// Khoảng cách bước cho lỗ khoan rãnh (tính bằng μm) ///  public double SlotLevel { get; set; } = 50; ///  /// Số hậu tố cho phân đoạn mũi khoan rãnh /// 
    public int SlotEndNumber { get; set; } = 0; ///  /// Giá trị bù thêm cho chiều dài rãnh (tính bằng μm) ///  public double SlotLengthUp { get; set; } = 0; /// 
    /// Có làm tròn chiều dài rãnh theo khoảng bước hay không ///  public bool isSlotUpLevel { get; set; } = false; } public class gToolUpParamHole { ///  /// Giá trị bù (tính bằng μm)
    ///  public double UpVal { get; set; } = 100; ///  /// Ngưỡng khoảng bước để làm tròn lên (tính bằng μm) ///  public double UpLevel { get; set; } = 25; /// 
    /// Dung sai trên (tính bằng μm) ///  public double Max_Tol { get; set; } = 76; ///  /// Dung sai dưới (tính bằng μm) ///  public double Min_Tol { get; set; } = 76; }

/// /// Mod_tool: Mô hình thuộc tính dụng cụ khoan /// public class Mod_tool { public int num { get; set; } public string type { get; set; } // Loại lỗ: via/plate(nplate)
    public string shape { get; set; } // Hình dạng lỗ: tròn/khe public double finish_size { get; set; } // Kích thước lỗ hoàn thiện (đơn vị μm) public double drill_size { get; set; } // Kích thước mũi khoan (đơn vị μm) public double max_tol { get; set; } // Dung sai trên (đơn vị μm)
    public double min_tol { get; set; } // Dung sai dưới (tính bằng μm) public double slot_len { get; set; } // Chiều dài khe (tính bằng μm) public string bit { get; set; } // Kích thước mũi khoan (tính bằng mm, chuỗi định dạng) }
				
			

6. Tại sao độ dày tấm ván lại ảnh hưởng đến việc bù lỗ khoan?

Ban đầu tôi cũng không hiểu điều này. Lý do chính là mức độ cao tỷ lệ độ dày trên đường kính (độ dày bảng mạch chia cho đường kính lỗ). Tỷ lệ cao khiến lớp đồng ở tâm lỗ mỏng hơn và lớp đồng ở mép lỗ dày hơn. Để tính tỷ lệ độ dày trên đường kính, bạn cần biết giá trị độ dày của bảng mạch. Do đó, độ dày bảng mạch được đưa vào các quy tắc bù đắp khi khoan. Đối với các lỗ có tỷ lệ độ dày trên đường kính cao, mức bù đắp sẽ lớn hơn.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Lên đầu trang