Bối cảnh và vấn đề nghiên cứu
Trong quy trình sản xuất thiết bị điện tử hiện đại, mạch in (PCB) giữ vai trò là nền tảng cốt lõi của các thiết bị từ dân dụng đến công nghiệp. Tuy nhiên, giai đoạn lắp ráp và chế tạo PCB thường xuyên phát sinh các lỗi kỹ thuật như thiếu linh kiện, linh kiện bị lệch khỏi vị trí chân hàn, hoặc nhầm lẫn chủng loại bo mạch. Tại nhiều cơ sở sản xuất ở Việt Nam, hoạt động kiểm định chất lượng sản phẩm chủ yếu do bộ phận kiểm soát chất lượng (QC) tiến hành thủ công bằng mắt thường. Phương thức này bộc lộ nhiều nhược điểm: tiêu tốn thời gian và nhân lực, đồng thời dễ phát sinh sai sót do sự mệt mỏi và yếu tố chủ quan của con người. Trong bối cảnh ngành công nghiệp bán dẫn tại Việt Nam được dự báo có thể đạt quy mô 990 tỷ USD vào năm 2030, việc tự động hóa công đoạn kiểm tra chất lượng bo mạch trở thành một yêu cầu kỹ thuật cấp bách nhằm tối ưu hóa năng suất và giảm thiểu hao phí vật tư.
Nhằm giải quyết bài toán trên, đề tài "Hệ thống kiểm tra, thống kê lỗi và phân loại mạch PCB" được thực hiện với các mục tiêu cụ thể sau:
- Nghiên cứu và ứng dụng bộ điều khiển logic khả trình PLC Siemens S7-1200 để điều khiển toàn bộ mô hình phân loại mạch lỗi và dẫn động các bo mạch đạt chuẩn về đúng vị trí tiếp nhận trên dây chuyền.
- Thiết kế mô phỏng hệ thống, tiến hành vận hành thử nghiệm trên mô hình thực tế và xây dựng hệ thống hiển thị giám sát trên màn hình SCADA.
- Ứng dụng các thuật toán xử lý ảnh và thị giác máy tính để nhận diện phân loại bo mạch và kiểm tra linh kiện điện tử, với tổng số lượng 34 linh kiện thuộc 15 chủng loại khác nhau trên 2 loại bo mạch mục tiêu.
- Xây dựng giao diện Webserver và biểu mẫu Excel nhằm hiển thị, thống kê chi tiết danh sách các linh kiện thiếu hoặc lệch theo thời gian thực, phục vụ phân tích và thiết lập biểu đồ xu hướng lỗi.
Về phạm vi và đối tượng nghiên cứu:
- Đối tượng nghiên cứu: Quy trình kiểm tra quang học tự động đối với 2 mẫu bo mạch module công nghiệp là mạch điều khiển động cơ bước ULN2003 và mạch cầu H L298N.
- Phạm vi không gian và thời gian: Đề tài được triển khai thực hiện tại Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, trong mốc thời gian từ ngày 25/02/2025 đến ngày 09/06/2025.
- Giới hạn kỹ thuật:
- Hệ thống chỉ áp dụng kiểm tra đối với 2 loại bo mạch nêu trên (có quy cách kích thước hình học khác nhau).
- Điều kiện quang học yêu cầu nguồn sáng ổn định chiếu thẳng trực tiếp từ trên xuống để triệt tiêu hiện tượng bóng đổ của các linh kiện có độ cao lớn lên các linh kiện nhỏ xung quanh.
- Mạch được cấp vào khay theo một hướng cố định để phục vụ thuật toán so khớp vị trí tọa độ.
- Quy cách linh kiện tối thiểu được hệ thống nhận diện: chiều dài khoảng 3 mm, đường kính khoảng 2 mm; khoảng cách tối thiểu giữa các linh kiện lân cận đạt từ 1 mm trở lên.
- Hệ thống không đánh giá chất lượng mối hàn bề mặt, không kiểm tra các hư hỏng vi mạch nội tại, và không phân biệt các linh kiện có cùng hình dáng hình học nhưng khác trị số/mã in bên trong.
Cơ sở lý thuyết và phương pháp
Để giải quyết bài toán kiểm tra bo mạch tự động, tác giả đã nghiên cứu các hệ thống kiểm tra phổ biến trong công nghiệp gồm: hệ thống kiểm tra quang học tự động (Automated Optical Inspection - AOI), hệ thống kiểm tra mạch điện (In-Circuit Test - ICT), và hệ thống kiểm tra bằng tia X (Automated X-ray Inspection - AXI). Trong đó, giải pháp AOI sử dụng camera thu thập hình ảnh và so sánh với mẫu chuẩn được lựa chọn vì tính linh hoạt, chi phí chế tạo phù hợp và khả năng kiểm tra không phá hủy.
Khung lý thuyết và công nghệ nền tảng của hệ thống bao gồm:
- Nguyên lý điều khiển lập trình: Bộ điều khiển PLC vận hành theo chu kỳ quét liên tục (Scan Cycle) gồm 4 giai đoạn nối tiếp: quét dữ liệu đầu vào (Input Scan), thực thi logic chương trình (Program Execution), cập nhật dữ liệu đầu ra (Output Update), và lặp lại chu kỳ (Repeat Cycle).
- Nguyên lý truyền động bước: Động cơ bước (Step Motor) chia vòng quay thành các góc bước cố định (1.8°/bước), duy trì mô-men xoắn giữ vị trí và định vị tọa độ vòng hở mà không bắt buộc sử dụng cảm biến hồi tiếp encoder.
- Thị giác máy tính và học sâu: Mô hình mạng nơ-ron tích chập YOLOv5 (kiến trúc Cross-Stage Partial bottleneck) dùng để nhận diện và định vị vật thể thời gian thực. Tác giả sử dụng nền tảng Roboflow để gán nhãn dữ liệu (thủ công và bán tự động), tăng cường dữ liệu ảnh (xoay, lật, điều chỉnh độ sáng) và xuất dữ liệu sang định dạng huấn luyện PyTorch. Thư viện OpenCV và NumPy xử lý ma trận điểm ảnh RGB kích thước $M \times N \times 3$.
- Thuật toán tối ưu hóa: Trong quá trình huấn luyện mô hình học máy, nhóm nghiên cứu so sánh giữa hai thuật toán tối ưu hóa là Adam và SGD (Stochastic Gradient Descent). Thuật toán SGD được lựa chọn đưa vào ứng dụng thực tế nhờ tính đơn giản, khả năng hoạt động ổn định và đáp ứng tốt với dữ liệu thu nhận trong môi trường có ánh sáng đồng đều.
- Mô hình truyền thông phân tầng: Hệ thống sử dụng giao thức mạng TCP/IP qua cổng Ethernet vật lý, kết hợp thư viện Snap7 trên nền tảng Python để kết nối trực tiếp với vùng nhớ Data Block (DB) của PLC S7-1200 qua cơ chế bảo mật PUT/GET. Dữ liệu giám sát được phân phối lên nền tảng web thông qua vi khung (micro framework) Flask.
Phương pháp nghiên cứu thực tế bao gồm:
- Thiết kế mô đun cơ khí và bố trí hệ thống điện trên máy tính trước khi gia công chế tạo.
- Thu thập mẫu ảnh thực nghiệm của bo mạch ULN2003 và L298N ở các trạng thái bình thường và lỗi, thực hiện huấn luyện mạng YOLOv5 qua 2 giai đoạn.
- Tích hợp liên mạng giữa máy tính tính toán xử lý ảnh (chạy Python) và thiết bị điều khiển hiện trường (PLC Siemens).
- Đánh giá khả năng phân loại và đo lường tỷ lệ lỗi thông qua việc chạy thử nghiệm thực tế với số lượng sản phẩm liên tục trên băng chuyền.
Thiết kế và triển khai
Hệ thống được thiết kế theo cấu trúc mô-đun hóa với khung cơ khí dạng khối vuông, tạo không gian cân bằng để bố trí buồng chụp quang học kín, hệ trục dẫn hướng XY, cụm băng tải cấp phôi và tủ điện điều khiển công nghiệp.
| Khối chức năng |
Tên thiết bị / Phần mềm |
Thông số kỹ thuật / Đặc tính chính |
| Điều khiển trung tâm |
CPU Siemens S7-1200 1214 DC/DC/DC |
Bộ nhớ làm việc 50 kB, bộ nhớ nạp 2 MB, 14 DI (24VDC), 10 DO (Transistor), 2 AI, 6 bộ đếm xung tốc độ cao HSC, 1 cổng truyền thông Profinet/Ethernet. |
| Truyền động trục XY |
Động cơ bước Step NEMA 17 |
Góc bước 1.8°, mô-men xoắn giữ định mức 1.26 Nm, điện áp 24VDC. |
| Mạch lái động cơ |
Driver TB6600 |
Điện áp đầu vào 9V - 42VDC, dòng cấp cực đại 4A, ngõ vào cách ly quang, tích hợp tính năng bảo vệ quá dòng và quá áp. |
| Băng tải vận chuyển |
Động cơ DC 555 |
Điện áp 6 - 15VDC, dòng tải cực đại 2.5A, tốc độ không tải 27.000 vòng/phút tại 12VDC, trục động cơ đường kính 3.2 mm. |
| Cơ cấu kẹp bo mạch |
Xy lanh khí nén dẫn hướng TN10x50-S |
Xy lanh tác động kép 2 trục song song, đường kính piston 10 mm, hành trình 50 mm, tích hợp vòng từ dùng cho cảm biến hành trình, áp suất làm việc 0.15 - 1.0 MPa. |
| Cơ cấu phân loại |
Xy lanh khí nén dẫn hướng TN10x100-S |
Xy lanh 2 trục tác động kép, đường kính piston 10 mm, hành trình 100 mm, tích hợp vòng nam châm cảm ứng, dải áp suất 0.1 - 0.9 MPa. |
| Cơ cấu chặn phôi |
Xy lanh khí nén thân tròn MAL16 |
Xy lanh tác động kép, đường kính nòng 16 mm, áp suất tối đa 1.25 MPa. |
| Điều khiển khí nén |
Van điện từ AirTac 4V110-06-24 & Đế van 100M4V |
Van 5 cửa 2 vị trí (5/2), điện áp cuộn hút 24VDC, cỡ ren cổng khí 1/8 inch, tiết diện làm việc 12 mm², áp suất 0.8 MPa; bổ sung 1 van điện từ 3/2 phục vụ hút/nhả chân không. |
| Chuyển đổi nguồn |
Nguồn tổ ong chuyển mạch |
Đầu vào 110/220VAC ± 15%, đầu ra 24VDC, dòng tải cực đại 5A, công suất danh định 120W, hiệu suất trên 80%, bảo vệ quá tải > 25%. |
| Khí cụ đóng cắt |
Aptomat Vanlock PS45N |
MCB 2 cực (2P), dòng định mức 16A, khả năng cắt dòng ngắn mạch 4.5 kA, điện áp định mức 230VAC. |
| Cảm biến thu ảnh |
Camera thiết bị di động (iPhone 13) |
Cảm biến độ phân giải 12 MP, khẩu độ ống kính chính f/1.6, tiêu cự góc siêu rộng f/2.4 với trường nhìn 120°. |
| Giao tiếp & Giám sát |
Snap7, Flask, TIA Portal V17 |
Snap7 giao tiếp PLC qua TCP/IP, vi khung Flask phát Webserver giám sát thời gian thực, TIA Portal lập trình LAD và SCADA WinCC. |
Hệ thống điện được tích hợp gọn gàng trong tủ điều khiển kích thước $300 \times 200 \times 400$ mm, sử dụng máng nhựa dẫn dây kích thước $25 \times 30$ mm và $25 \times 40$ mm nhằm cách ly nhiễu giữa khối nguồn động lực và khối điều khiển logic tín hiệu nhỏ. Các ngõ vào số của PLC được nối dây theo cấu hình Source (chân chung 1M nối vào cực dương +24VDC, các nút ấn và cảm biến đóng xuống mức 0VDC). Ngõ ra phát xung tốc độ cao Q0.0 được cấp vào chân Pulse+ và ngõ ra hướng Q0.1 nối vào chân DIR+ của driver TB6600 để điều khiển vị trí và chiều quay của động cơ bước NEMA 17.
Cơ chế truyền thông trao đổi dữ liệu giữa chương trình Python và PLC S7-1200 được thiết lập thông qua khối dữ liệu Data Block 9 (DB9) với chu trình bắt tay như sau:
- Khi bo mạch di chuyển vào buồng chụp, cảm biến phát hiện kích hoạt 2 xy lanh kẹp và chặn cố định vị trí bo mạch.
- PLC ghi giá trị
1 vào địa chỉ DB9.DBW0 (từ đơn 2 byte) để phát tín hiệu báo cho chương trình Python tiến hành chụp và phân tích ảnh.
- Chương trình Python chạy trên máy tính liên tục đọc giá trị từ
DB9.DBW0. Khi nhận được tín hiệu 1, camera chụp ảnh, mô hình YOLOv5 định vị và đếm số lượng linh kiện để đưa ra kết luận.
- Python phản hồi kết quả về PLC bằng cách ghi dữ liệu vào địa chỉ
DB9.DBW2: giá trị 0 đại diện cho mạch lỗi (NG), giá trị 1 đại diện cho mạch L298N đạt chuẩn (OK), giá trị 2 đại diện cho mạch ULN2003 đạt chuẩn (OK).
- Sau khi ghi kết quả phân loại, Python đặt lại địa chỉ
DB9.DBW0 về giá trị 0 để xác nhận kết thúc chu trình xử lý ảnh.
- PLC căn cứ vào mã phân loại trong
DB9.DBW2 để điều khiển xy lanh đẩy phôi lỗi sang khay loại bỏ hoặc kích hoạt hệ trục cơ cấu XY gắp bo mạch đạt chuẩn chuyển sang công đoạn kế tiếp. Song song với đó, dữ liệu trạng thái được Python truyền trực tiếp lên giao diện Webserver thông qua Flask và ghi nhận vào bảng tính Excel.
Nội dung chính theo từng chương
Chương 1 Tổng quan
Chương 1 trình bày cơ sở thực tiễn của đề tài trong bối cảnh các nhà máy sản xuất điện tử trong nước đang tìm kiếm giải pháp thay thế quy trình kiểm tra chất lượng thủ công. Nội dung chương phân tích tầm quan trọng của mạch in PCB, nêu bật các rủi ro khi bo mạch bị thiếu hoặc lệch linh kiện mà không được phát hiện kịp thời. Nhóm tác giả xác định 4 mục tiêu nghiên cứu cụ thể, quy định rõ phạm vi giới hạn thực hiện trên 2 loại mạch ULN2003 và L298N, đồng thời vạch ra phương pháp nghiên cứu theo từng giai đoạn: thiết kế phần cứng, lập trình phần mềm, kết nối tích hợp và chạy thử tải.
Chương 2 Cơ sở lý thuyết
Chương 2 cung cấp hệ thống lý thuyết phục vụ việc triển khai đồ án:
- Phân tích kỹ thuật kiểm tra quang học tự động AOI và định nghĩa các dạng ảnh số (ảnh màu RGB kích thước $M \times N \times 3$, ảnh mức xám ma trận đơn kênh $0 - 255$).
- Cấu tạo và nguyên lý vận hành của bộ điều khiển logic khả trình PLC Siemens S7-1200, chu kỳ quét scan cycle và ưu thế trong tự động hóa nhà máy.
- Cấu trúc stator - rotor của động cơ bước Step NEMA 17 cùng phương pháp điều khiển vi bước thông qua mạch công suất Driver TB6600.
- Khảo sát các chuẩn mạng truyền thông công nghiệp: Ethernet, bộ giao thức TCP/IP, Modbus TCP/IP.
- Tổng quan các công cụ phần mềm: TIA Portal V17 (STEP 7, WinCC), Visual Studio Code, ngôn ngữ lập trình Python, thư viện thị giác OpenCV.
- Cấu trúc mạng nơ-ron nhận diện đối tượng YOLOv5, các tham số tổn thất (Box loss, Class loss, Focal loss), các chỉ số đánh giá độ chính xác (Precision, Recall, IoU, mAP), nền tảng gán nhãn Roboflow và đối chiếu giữa hai thuật toán tối ưu học sâu SGD và Adam.
Chương 3 Tính toán và thiết kế hệ thống
Chương 3 chi tiết hóa giải pháp kỹ thuật từ sơ đồ khối đến thiết kế vật lý:
- Phân tích quy trình vận hành đồng bộ giữa khâu cấp phôi, buồng kiểm tra quang học và khâu phân loại sản phẩm.
- Lựa chọn kết cấu cơ khí khung hình vuông nhằm tạo độ vững chắc, dễ gia công và tối ưu hóa không gian bố trí hệ trục XY, buồng chụp và băng chuyền.
- Phân tách cấu trúc hệ thống điện thành 4 khối chức năng: khối nguồn (nguồn tổ ong 24VDC - 5A, aptomat 16A), khối điều khiển trung tâm (CPU S7-1214 DC/DC/DC), khối cơ cấu chấp hành (động cơ bước NEMA 17, động cơ băng tải 555, xy lanh khí nén TN10x50-S, TN10x100-S, MAL16, dàn van điện từ AirTac 4V110-06-24), và khối thu nhận hình ảnh (camera độ phân giải 12 MP).
- Bản vẽ bố trí thiết bị bên trong tủ điện $300 \times 200 \times 400$ mm với phân khu cách ly nhiệt và chống nhiễu điện từ.
- Xây dựng giải pháp truyền thông mạng giữa PLC và Python thông qua giao thức TCP/IP dùng thư viện Snap7, cấu hình kích hoạt tính năng PUT/GET, tổ chức khối dữ liệu trung gian DB9 với thanh ghi điều khiển
DB9.DBW0 và thanh ghi kết quả DB9.DBW2.
Chương 4 Thi công hệ thống
Chương 4 ghi nhận quá trình thi công thực tế và lập trình hệ thống:
- Chế tạo cơ khí khung máy, lắp ráp hệ trục vận chuyển XY và băng tải cấp phôi.
- Đấu nối dây tủ điện thực tế theo bản vẽ thiết kế nguyên lý.
- Lập trình điều khiển trên TIA Portal V17: xây dựng lưu đồ thuật toán chương trình chính, chương trình con phân loại mạch đạt/lỗi (OK/NG), cấu hình thông số driver động cơ bước (tần số xung, số xung trên bước, tốc độ di chuyển và chế độ dừng khẩn cấp).
- Lập trình giao diện điều khiển SCADA trên nền tảng WinCC, phát triển giao diện Webserver giám sát bằng Flask/HTML và xây dựng chức năng ghi dữ liệu, vẽ biểu đồ trên Excel.
- Triển khai quy trình xử lý ảnh: thu thập tập dữ liệu mẫu, gán nhãn linh kiện trên Roboflow, huấn luyện mô hình YOLOv5 qua 2 giai đoạn, lập trình thuật toán xác định khung hình bo mạch và thuật toán kiểm tra số lượng, tọa độ linh kiện.
- Viết mã kịch bản Python truyền dữ liệu kết quả kiểm tra lên Webserver và trích xuất bảng tính Excel thời gian thực.
Chương 5 Kết quả đạt được
Chương 5 trình bày toàn bộ dữ liệu kiểm nghiệm thực tế của hệ thống:
- Hình ảnh hoàn thiện của mô hình cơ khí, băng tải, hệ trục XY và tủ điện điều khiển thực tế.
- Kết quả giao diện SCADA: màn hình đăng nhập bảo mật phân quyền User/Password, màn hình vận hành chính, màn hình điều khiển thủ công (Manual), màn hình cảnh báo và xóa lỗi (Reset), màn hình cài đặt và hiệu chỉnh tọa độ hệ trục bước.
- Giao diện giám sát Webserver hiển thị trạng thái mạch và danh sách linh kiện thiếu/lệch; file dữ liệu Excel tự động cập nhật biểu đồ xu hướng lỗi của bo mạch ULN2003 và L298N.
- Đánh giá khả năng nhận diện của mô hình xử lý ảnh dưới nhiều kịch bản quang học: điều kiện hoàn toàn không có ánh sáng, điều kiện ánh sáng tự nhiên khuếch tán, ánh sáng đèn chiếu xiên từ một phía (phát sinh bóng đổ gây sai lệch), và ánh sáng đèn chiếu rọi trực tiếp chính diện (cho độ chính xác nhận diện tối ưu).
- Thử nghiệm tính toán vị trí mạch khi bị xoay lệch các góc 90°, 120°, 180°.
- Bảng thống kê chi tiết kết quả phân loại đối với các trường hợp mạch đúng tiêu chuẩn và các trường hợp bo mạch bị thiếu hoặc lệch linh kiện thực tế.
Chương 6 Kết luận và hướng phát triển đề tài
Chương 6 tổng kết các nội dung đã hoàn thành của đồ án tốt nghiệp, đối chiếu kết quả hoạt động thực tế với các mục tiêu ban đầu đặt ra. Tác giả chỉ ra các điểm còn hạn chế về phần cứng lẫn thuật toán, đồng thời đề xuất các giải pháp kỹ thuật cụ thể nhằm phát triển và hoàn thiện hệ thống trong các nghiên cứu tiếp theo.
Kết quả và đóng góp
Hệ thống đã được chế tạo, lắp ráp và thử nghiệm vận hành hoàn chỉnh với các kết quả cụ thể:
- Khả năng nhận diện và phân loại bo mạch: Hệ thống đã kiểm tra thành công 34 linh kiện thuộc 15 chủng loại linh kiện điện tử khác nhau phân bố trên 2 loại bo mạch mục tiêu (ULN2003 và L298N).
- Độ ổn định theo môi trường quang học: Mô hình nhận diện hoạt động chính xác nhất dưới điều kiện nguồn sáng chiếu rọi trực tiếp vuông góc từ trên xuống bo mạch. Khi thử nghiệm dưới nguồn sáng tự nhiên hoặc chiếu xiên từ một phía, bóng đổ của các linh kiện cao (như tản nhiệt, tụ hóa to) làm che khuất các linh kiện thụ động kích thước nhỏ (trở dán, diode), dẫn đến hiện tượng nhận diện sai lệch.
| Điều kiện kiểm nghiệm quang học / Góc xoay |
Hiện tượng ghi nhận |
Đánh giá độ tin cậy nhận diện |
| Không có ánh sáng (buồng tối) |
Camera không thu được biên dạng và đặc trưng linh kiện |
Thất bại hoàn toàn |
| Ánh sáng tự nhiên khuếch tán |
Độ tương phản giữa chân linh kiện và mạch in không ổn định |
Tỷ lệ nhận diện thấp, chập chờn |
| Đèn rọi nghiêng một phía |
Linh kiện cao tạo bóng đổ che khuất linh kiện nhỏ lân cận |
Xuất hiện lỗi nhận diện sai hoặc bỏ sót |
| Đèn rọi vuông góc chính diện |
Hình ảnh rõ nét, triệt tiêu vùng tối, bộc lộ đủ 15 loại linh kiện |
Đạt độ chính xác và ổn định cao nhất |
| Bo mạch xoay góc 90° / 120° / 180° |
Tọa độ linh kiện bị lệch khỏi vùng tham chiếu cố định |
Cần đặt bo mạch đúng góc quy định ban đầu |
- Kết quả điều khiển và tích hợp:
- PLC S7-1200 điều khiển chính xác chuyển động phát xung của động cơ bước NEMA 17 qua driver TB6600, thực hiện việc gắp nhả mạch bằng xy lanh khí nén mà không xảy ra xung đột hành trình.
- Giao tiếp TCP/IP qua thư viện Snap7 đáp ứng thời gian thực: việc bắt tay tín hiệu qua biến
DB9.DBW0 và truyền mã kết quả DB9.DBW2 diễn ra đồng bộ, không làm trễ chu kỳ vận hành của băng chuyền.
- Xây dựng thành công hệ thống giám sát đa tầng: màn hình SCADA WinCC hỗ trợ điều khiển vận hành/thủ công và quản lý tài khoản; Webserver Flask hiển thị trực quan lỗi theo thời gian thực; cơ sở dữ liệu Excel tự động lưu vết và vẽ đồ thị phân tích xu hướng hỏng hóc của từng linh kiện trên dây chuyền.
- Đóng góp của đồ án: Đề tài đã xây dựng thành công một giải pháp tích hợp liên ngành giữa hệ thống điều khiển tự động hóa công nghiệp tiêu chuẩn (PLC S7-1200, khí nén, động cơ bước) và công nghệ thị giác máy tính dựa trên trí tuệ nhân tạo (YOLOv5, OpenCV, Python), chứng minh tính khả thi của mô hình kiểm định chất lượng sản phẩm thông minh không phụ thuộc vào thao tác thủ công của con người.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên các kết quả khảo sát và giới hạn kỹ thuật được trình bày trong văn bản, hệ thống còn tồn tại các mặt hạn chế sau:
- Mới chỉ ứng dụng thử nghiệm trên 2 loại bo mạch cố định (ULN2003 và L298N); chưa có khả năng tự động thích ứng với các loại bo mạch phức tạp khác nếu chưa qua quy trình thu thập dữ liệu và huấn luyện lại mạng nơ-ron.
- Hệ thống xử lý ảnh dựa vào tọa độ không gian cố định nên bắt buộc bo mạch phải được đưa vào buồng chụp theo đúng một hướng chuẩn; chưa hỗ trợ thuật toán tự động xoay bù góc linh hoạt khi bo mạch bị đặt nghiêng các góc 90°, 120°, 180°.
- Độ chính xác phụ thuộc chặt chẽ vào hệ thống chiếu sáng nhân tạo; chưa xử lý triệt để hiện tượng phản xạ ánh sáng trên các bề mặt kim loại hoặc bóng đổ phức tạp.
- Chỉ dừng lại ở việc phát hiện lỗi thiếu linh kiện và lệch vị trí; chưa hỗ trợ phát hiện các lỗi vi mô như rỗ mối hàn, bắc cầu chì hàn ngắn mạch (solder bridge), đứt mạch in ngầm, hoặc kiểm tra các linh kiện có cùng kích thước đóng gói nhưng sai trị số điện cảm/điện trở.
Hướng phát triển tiếp theo của đề tài bao gồm:
- Mở rộng tập dữ liệu huấn luyện để hệ thống có khả năng nhận diện nhiều dòng bo mạch công nghiệp đa dạng hơn.
- Bổ sung thuật toán tự động căn chỉnh và xoay góc ảnh trong giai đoạn tiền xử lý bằng OpenCV để hệ thống nhận diện chính xác bo mạch ở bất kỳ góc đặt ngẫu nhiên nào.
- Nâng cấp phần cứng thu nhận ảnh bằng camera công nghiệp chuyên dụng (Industrial Camera) có độ phân giải cao và tích hợp cụm đèn chiếu sáng vòng (Ring Light) đồng trục chuyên dụng nhằm triệt tiêu hoàn toàn bóng đổ.
- Phát triển thêm các mô hình học sâu chuyên biệt để phát hiện các khuyết tật mối hàn và đo đạc thông số điện học của linh kiện trên bo mạch.
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu tham khảo có giá trị kỹ thuật đối với sinh viên, giảng viên và kỹ sư thuộc các chuyên ngành: Kỹ thuật Điều khiển và Tự động hóa, Cơ điện tử, Kỹ thuật Máy tính và Điện tử - Viễn thông.
Các nội dung có giá trị tham khảo ứng dụng cao bao gồm:
- Phương pháp kết nối PLC Siemens S7-1200 với Python: Hướng dẫn chi tiết cấu hình quyền truy cập PUT/GET, cấu trúc vùng nhớ Data Block (DB9) và kỹ thuật bắt tay (handshaking) giữa PLC và máy tính xử lý qua thư viện Snap7 bằng giao thức TCP/IP.
- Quy trình triển khai mô hình YOLOv5 cho linh kiện điện tử: Toàn bộ các bước chuẩn bị dữ liệu trên Roboflow, cấu hình tham số huấn luyện bằng thuật toán tối ưu hóa SGD và triển khai mô hình dự đoán tọa độ bounding box trong kiểm định công nghiệp.
- Thiết kế phần cứng hệ thống tự động hóa: Phương pháp lựa chọn thiết bị đóng cắt, tính toán mạch cấp nguồn DC 24V, sơ đồ ghép nối chân phát xung điều khiển driver TB6600 lái động cơ bước NEMA 17, và sơ đồ mạch khí nén sử dụng cụm van điện từ 5/2.
- Xây dựng giải pháp SCADA và giám sát thời gian thực: Cách thức thiết kế giao diện vận hành WinCC kết hợp công nghệ Webserver trên nền tảng Flask và tự động hóa xuất báo cáo phân tích lỗi sang Microsoft Excel.
Câu hỏi thường gặp
1. Hệ thống sử dụng giao thức nào để truyền thông giữa PLC Siemens S7-1200 và máy tính xử lý ảnh Python?
Hệ thống sử dụng giao thức mạng TCP/IP thông qua cổng truyền thông Ethernet vật lý. Phía phần mềm Python sử dụng thư viện Snap7 (bộ thư viện giao tiếp trực tiếp với dòng PLC Siemens S7), kết hợp việc cấu hình mở quyền truy cập PUT/GET trên phần mềm TIA Portal V17 để đọc và ghi dữ liệu trực tiếp vào khối dữ liệu DB9 của PLC.
2. Khối dữ liệu DB9 trong PLC đảm nhận vai trò gì và các giá trị quy định trong thanh ghi DB9.DBW2 có ý nghĩa như thế nào?
Khối dữ liệu DB9 hoạt động như một bộ nhớ đệm trung gian để thực hiện chu trình bắt tay tín hiệu giữa PLC và Python. Thanh ghi DB9.DBW0 được PLC kích hoạt lên giá trị 1 khi bo mạch đã vào vị trí để yêu cầu Python chụp ảnh, sau đó Python xóa về 0 khi hoàn tất. Thanh ghi DB9.DBW2 nhận kết quả phân loại từ Python gửi về: giá trị 0 biểu thị bo mạch bị lỗi (NG), giá trị 1 biểu thị bo mạch L298N đạt chuẩn (OK), và giá trị 2 biểu thị bo mạch ULN2003 đạt chuẩn (OK).
3. Vì sao nhóm tác giả lại lựa chọn thuật toán tối ưu hóa SGD thay vì Adam khi huấn luyện mô hình YOLOv5?
Mặc dù thuật toán Adam có khả năng tự thích ứng tốc độ học và hội tụ nhanh với các tập dữ liệu nhiễu hoặc mô hình rất lớn, nhóm tác giả chọn thuật toán SGD (Stochastic Gradient Descent) vì mô hình nhận diện linh kiện của đề tài chưa quá phức tạp, điều kiện chụp ảnh thực tế được kiểm soát có ánh sáng đầy đủ và ổn định, giúp SGD đem lại tính ổn định thực nghiệm cao hơn và phù hợp với triển khai thực tiễn.
4. Những giới hạn vật lý và kích thước tối thiểu của linh kiện mà hệ thống có thể nhận diện được là gì?
Hệ thống quy định kích thước linh kiện tối thiểu trên bo mạch phải có chiều dài từ 3 mm trở lên và đường kính từ 2 mm trở lên; đồng thời khoảng cách tối thiểu giữa hai linh kiện liền kề nhau phải đạt từ 1 mm. Ngoài ra, hệ thống chỉ kiểm tra thiếu/lệch linh kiện chứ không thể phát hiện các lỗi nứt/rỗ mối hàn, hư hỏng mạch tích hợp bên trong, hay linh kiện cùng kiểu vỏ nhưng sai trị số.
5. Người vận hành có thể theo dõi và tương tác với hệ thống qua những giao diện giám sát nào?
Người vận hành có thể tương tác qua 3 giao diện: màn hình SCADA trên WinCC (đăng nhập tài khoản, chế độ tự động/thủ công, báo và xóa lỗi, cài đặt vị trí trục bước), giao diện Webserver xây dựng bằng Flask (theo dõi tình trạng bo mạch và chi tiết linh kiện thiếu/lệch từ xa theo thời gian thực), và tệp báo cáo Excel (tự động lưu trữ thông số lỗi chi tiết và vẽ biểu đồ xu hướng lỗi của từng loại bo mạch).
Kết luận
Đồ án tốt nghiệp "Hệ thống kiểm tra, thống kê lỗi và phân loại mạch PCB" của nhóm sinh viên Trần Thị Ngọc Trâm và Hồ Thành Việt đã chế tạo thành công một mô hình hoàn chỉnh kết hợp giữa cơ khí, khí nén, điều khiển lập trình PLC S7-1200 và công nghệ xử lý ảnh YOLOv5. Hệ thống giải quyết hiệu quả bài toán phân loại tự động và thống kê lỗi thiếu, lệch linh kiện đối với hai dòng bo mạch ULN2003 và L298N với độ ổn định cao dưới điều kiện chiếu sáng trực tiếp. Dù còn một số giới hạn về khả năng xoay bù góc và nhận diện lỗi mối hàn vi mô, kết quả nghiên cứu đã cung cấp giải pháp kỹ thuật hoàn chỉnh và phương pháp luận rõ ràng cho các ứng dụng kiểm tra chất lượng sản phẩm tự động trong công nghiệp điện tử.