Vi vậy, trong dé tài này, nhóm đề xuất một hệ thống sử dụng mô hình “You Only Look Once” YOLO dé phát hiện các linh kiện có hoặc bi thiếu.. Từ chỉ thị được đưa ra của mô hình phát hiện l
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HQC CONG NGHE THONG TIN
KHOA KY THUAT MAY TINH
LE THE THONG - 20520788
KHOA LUAN TOT NGHIEP
THIET KE HE THONG PHAT HIEN CAC LOI THIEU
LINH KIEN TREN BOARD MACH SU DUNG CAMERA
DESIGN THE ERROR DETECTION SYSTEM IN MISSING
COMPONENTS ON BOARD USING CAMERAS
CU NHÂN KỸ THUAT MAY TÍNH
GIANG VIEN HUONG DAN
TS TRAN QUANG NGUYEN
TP HO CHI MINH, 2024
Trang 2LỜI CẢM ƠN
Đầu tiên, em xin gửi lời cảm ơn chân thành đến toàn bộ quý thầy cô tại
trường Đại học Công nghệ thông tin - ĐHQG TP.HCM Trong quá trình đào tạo tại
trường, các thầy cô đã truyền thụ cho em rất nhiều các kiến thức bổ ích, cũng như
hỗ trợ tận tình các vấn đề mà em gặp phải về học tập hay các hoạt động tại trường
Cùng với đó, em cũng muốn được gửi lời cảm ơn sâu sắc đến Khoa Kỹ thuậtMáy tính đã tạo điều kiện cho em có một môi trường học tập thật tốt, giúp bản thân
em có thêm nhiều kiến thức chuyên sâu về các lĩnh vực thiết kế hệ thống nhúng vàthiết kế vi mạch
Đặc biệt, em xin cảm ơn thầy Trần Quang Nguyên đã tạo điều kiện cho em
có cơ hội tìm hiểu thêm các hướng nghiên cứu mới, cũng như tạo cơ hội giúp emtiếp cận với các trang thiết bị phục vụ cho việc nghiên cứu Thêm vào đó, sự địnhhướng của thầy còn giúp em nhận định rõ hướng nghiên cứu, phát triển đề tài để cóthé hoàn thành khóa luận tốt nghiệp này
Cũng không thê thiêu các cá nhân, tập thê đã chia sẽ các bài báo, nghiên cứu học thuật, các ứng dụng và các nên tảng phi lợi nhuận dé em có thêm cơ sở nghiên
cứu và hoàn thành khóa luận.
Một lân nữa, em xin chân thành cảm ơn!
Trang 3MỤC LỤC
Chương 1 TONG QUAN DE TÀI 2-55 52 S2EEE2EE2E122E127112712211711 1121 xe 4
1.1 Giới thiệu đề tài - 5c+Sx+2E2E12E12211711271.2112117112112111121 211k 4
1.1.1 Phân tích các nghiên cứu liên quan 5 55 5+ +2 *+e£+s+sseereereerrsrs 4
1.1.2 Lý do chọn đề tài 2- 5c e1 EÉEEEE2E1211111211211 11111111011 1111 re 61.2 Mục tiêu của đề tài -2- 2+ 2c 2x2 1 211271127112112211211121121111 011k 71.3 Bố cục luận văn -.- ¿+ St+x9Ex2EE12E11155111E212111211121111111111111111 11.2 8Chương 2 NGHIÊN CỨU THỰC NGHIỆM - 2< £*E£+E£+E++E+£+E++E+zrxez 9
2.1 Tìm hiểu về một số loại €aIm€fa - 2-6 St SE ‡EEEEE£EESEEEEEEEEEEeEEEEkerrerrervee 9
2.1.1 CCD camera (HD 2MP USB2.0 1/3” CMOS) -. -2:©55¿©5zcs2 9
2.1.2 IMx-3505U USB3.0 Camera À 2-22 +<£EE2EE2EECEEEEEEEEEErrkrrrkee 10
2.1.3 WAT-902H Ultimate Camera 2+ 22+ E222 *£++E££zeE+zeeezeeeezsse 11
2.2 Nghiên cứu một số mô hình phát hiện đối tượng - 2-5522 5z: 12
2.2.1 Mô hình Faster R-CNN - 2-5222 2x2 E2 2211271212111 1c 12
2.2.2 Mô hình YOLOv4 - 2+ +¿+S++2EE£EEEEEEE2EE2E122112711271221221 222 xe 13
2.2.3 Mô hình YOLOv4-tiny +: 5¿2E+2EEt2EE2E122112711211211711 221 re 15
2.2.4 Giải thuật tinh độ chính xác của mô hình - 55555 52<<£<+<s+52 16
2.2.5 Phuong pháp tính tốc độ xử lý của mô hình - 2-2 ¿s2 sse¿ 192.3 Tìm hiểu về các công nghệ và thiết bị khác -2 2¿¿22++2zxz+csz+2 20
2.3.1 Thư viện OpenCV -. + t1 1v 110111 111 111 HH HT ng Hiện 20
2.3.2 Thư viện TTÌKITIf€T < 5E 2136221181223 8E E958 8E 95111118811 181 cv 21
2.3.3 Chương trình tính chỉ số MAP.u cecceccesessessessesseessessesseestessessessesseessesses 22
2.3.4 Máy tính nhúng Jetson Nano BOI - 5-3 s2 *+stsrrerrerrrrrsrres 23
“S0 2200 601 24
Trang 42.3.6 DONG v00 vn '" É 25
2.3.7 (009 0 26
Chương 3 HIỆN THỰC THIET KỂ - 2-2 2+2E£2EE£2EE+EEE£EEE+EE+zEEzEerrrrees 27
3.1 Mô hình phát hiện lỗi thiếu linh kiện điện tử - 2 <252sz5c5sz2 27
3.1.1 Thiết kế mẫu vật - 2 2++SE22EE2EE921127112712117112711271211 211 1 cre 27
3.1.2 Xây dựng tập dữ liỆu - G22 321112113211 111 1511111111811 111111 key 29
3.1.3 Huấn luyện mô hình - 22 +©+++E+++EE++2EE+2EEEt22E+2EEEtrrkrerkrrrk 333.2 Giao điện quản lý hệ thống ¿- 2 2 k+EE£EE2EE2E12E1711211211 111221 xe, 36
3.2.1 Thiết kế đồ họa của r0 - :.A1+11 363.2.2 Ludng xử lý của giao điỆn - 2-52-5522 E‡EEEEEEEE2E12E1E121 2E crveeg 403.3 Cơ cau gap thả sản phẩm - 2 2c 5tSt2E12EE9EE12E1211271711211211 11111 crk 43
5.2 Hạn chế và hướng phát triỂn - 2: ¿+ 2 E++E££E+2EE+EE£EE+ZEE2EESEEerkerrrrrree 58
Trang 5DANH MỤC HÌNH
Hình 1.1 Biéu đồ luồng dữ liệu của phần mềm [ I] 2-2 522522522 s2 4
Hình 1.2 Sơ đồ khối hệ thống [2] - 2-2-5252 EE+EE£EE£EEESEEEEEEEEEEEEEEEEEErrkrrrkerg 5Hình 1.3 Sơ đồ vận hành của hệ thống - 2 2¿©+¿++£+EE++2EE++EE+tzExzrxzsrszez 7
Hinh 00960)00 1n 9 Ipii)i028))/0 651) 5100v.).,2 118 10 Hình 2.3 WAT-902H Ultimate €a1neTa - 0 E23 91991 9 9119111 1 1 vn ri, 11
Hình 2.4 Cau trúc mang Faster R-CNN [5] :ccceesseessceseceeeeseeeeeeseceseeeeeeeeeeeeaeenes 12
Hình 2.5 Cau trúc chung của các mô hình YOLO [3] -2- 2-22 5225222: 13 Hình 2.6 Output của một mô hình YOLO [3] 555-5555 *++£++exssexseesssss 14 Hình 2.7 Intersection over union [[7] - -. ¿5s + c 3223 ‡*EE+vEEeeE+eeEeeeEeeseeseeseeses 17
Hình 2.8 Đường cong precision theo recall [7] -¿ ++++++s++ex+sx+ex+exeexss 18 Hình 2.9 Các diện tích dưới đường cong PR CUTV€ 55 5c 2+2 +s+sssesss2 18
Hình 2.10 Biéu diễn hoạt động của ham time.{Ime - ¿5s ++s++sx++++x+ss+ 19 Hình 2.11 Jetson Nano developer kit [ Ö] - - ¿5< +5 £+*£+se+eexeexeeeseersses 24 Hình 2.12 STM32FE103CSTTG6 [ I H] -.- 55c 2S E+E+EEEEEsErrrrersrkrrree 25
Hình 2.13 Động cơ bước 2 pha - c5 12x12 * S9 HH HH HH giết 26
Hình 3.1 Bảng mạch mẫu chưa có linh kiện (a) và đã có linh kiện (b) 28
Hình 3.2 Bảng mạch thực tế sau khi sản Xuất -:- St tt 2EEEE2EEEEEEEErEtrrrrree 28Hình 3.3 Tap dit liệu được dùng để huấn luyện 2-2 52+ z+Ex+£xezEezEerxees 29Hình 3.4 Minh họa về các thông số của định dang Yolo Annotations 31
Hình 3.5 Tap dữ liệu được dùng để kiỂm tra -i 5 ScStxvESEEEE2ESEEEEEESEEEErErrrrrrree 31
Hình 3.6 Ví du về chỉ số confidence c.cccccccccsssscssssscssssesessesevsssessssesesseserseseeseseeeeees 32Hình 3.7 Ảnh trước khi khi xoay (a) và sau khi xoay (b) - 2-5 5z+czcxcxz 33
Hình 3.8 Thiết kế tab monitor của giao điện + 2 s++£+x+E++E++rxezxezrxers 37 Hình 3.9 Thiết kế tab error component của giao điỆn - 2-2: 52 z2 szxzsz 38
Hình 3.10 Ludng xử lý của giao diện 2 2¿©2+z+22+t22E222E1222127122211 221 crke AlHình 3.11 Cơ cau phân loại sản phamn cccccccccccesssessssesssesssseessecsseesssesssessseesseesseees 43
Trang 6Hình 3.12 Luồng xử lý của cơ cấu phân loại - 2 2 + sz+£++Exe£xerxzrxrxees 45Hình 4.1 Sơ đồ thiết kế phần cứng -2 2¿©22©+++22E+2EE222EEt2EEESEEECEEkrerkrrrk 46
Hình 4.2 Giao diện của ứng dụng XTỚD - 5 n1 HH ng re 47
Hình 4.3 Terminal của phần mềm PuTTTY - 2c 5+ £+S£EE£EE2EE£EEEEEerEErExerxers 48Hình 4.4 Đồ thị thể hiện độ chính xác của các class trong mô hình - 51Hình 4.5 Đồ thị thé hiện số dự đoán đúng va sai của mô hinh eee 51Hình 4.6 Đồ thị thé hiện tổng số ground-truth box của mô hình 52
Hình 4.7 Hình ảnh nhận diện bị lỗi khi nhận diện nhãn lackRes thành Res 53
Hình 4.8 Hình anh nhận diện bi đúng khi tăng độ sáng 55555 ++5<+5+ 53 Hình 4.9 Tab monitor hiển thị kết qua ảnh sau khi phát hiện vat thể 55 Hình 4.10 Tab error component hiển thị các linh kiện bị lỗi - - 5-5 s+s+ 56
Trang 7Bang so sánh một số mô hình nhỏ [6] c.ccccccssessesseessessessessessessesseeseeees 15
Bang so sánh tốc độ hoạt động của YOLOv4-tiny [6] -. - 16
Cac loại linh kiện được khảo sat cccccccessccccessecceesseeceesseeceesseeeeenees 27
Các nhãn được sử dụng + St S S9 111 11 1 re 30
Bảng đánh gia thời gian xử lý mô hình - «55+ s+xsscsecsessesee 54
Bảng so sánh kết qua với một số mô hình cùng chức năng 57
Trang 8DANH MỤC TỪ VIẾT TẮT
API Application programming interface
CCD Charge Coupled Device
CMOS Complementary Metal-Oxide Semiconductor
CNN Convolutional neural network
CUDA Compute Unified Device Architecture
FPS Frame per second
GPU Graphics Processing Unit
GUI Graphical User Interface
IOU Intersection over union
mAP Mean Average Precision
NoDC Number of detected components
NoMC Number of missing components
PCB Printed Circuit Board
R-CNN regions with CNN features
RPN Region Proposal Network
TPU Tensor Processing Unit
UART Universal asynchronous receiver-transmitter YOLO You Only Look Once
Trang 9TÓM TÁT KHÓA LUẬN
Đối với hệ thống phát hiện lỗi thiếu linh kiện điện tử, điều quan trọng
đầu tiên là độ chính xác khi nhận diện lỗi của hệ thống Việc nhận diện chính
xác bảng mạch đang thiếu loại linh kiện nào giúp cho cơ cấu gắp thả có thểphân loại bảng mạch về đúng vị trí, giúp cho công đoạn sửa lỗi trở nên thuận lợi
hơn Điều quan trọng thứ hai là thời gian để hệ thống phân tích, đánh giá và
phân loại Nếu mat quá nhiều thời gian vào công đoạn phân tích và phát hiện lỗi,không chỉ công đoạn kiểm tra quang học ma toan bộ hệ thống sản xuất linh kiện
sẽ bị trì hoãn, làm giảm hiệu suất sản xuất
Vi vậy, trong dé tài này, nhóm đề xuất một hệ thống sử dụng mô hình
“You Only Look Once” (YOLO) dé phát hiện các linh kiện có hoặc bi thiếu Mô
hình này có khả năng hoạt động với thời gian thực mà vẫn đảm bảo độ chính
xác khi nhận diện các lỗi thiếu linh kiện trên bảng mạch Camera của hệ thốngcũng yêu cầu phải có độ phân giải tương đối lớn để có khả năng phát hiệnnhững chi tiết nhỏ Sau khi nhận diện được các linh kiện bị thiếu, chương trình
sẽ đưa ra các chỉ thị cho co cau phân loại
Từ chỉ thị được đưa ra của mô hình phát hiện lỗi thiếu linh kiện, cơ cấugắp thả sẽ phân loại các bảng mạch theo loại linh kiện bị thiếu Cơ cấu gắp thả
là một cơ cấu hai trục được vận hành bởi hai động cơ vi bước Khi chỉ thị từchương trình phân tích là không lỗi, đầu hút sẽ gắp bảng mạch thả về vị trí của
các mạch không có lỗi Ngược lại, khi chỉ thị là lỗi thiếu bất kì linh kiện nảo,
đầu hút sẽ hút lay bang mach va dua về vi tri phan loai cua mach thiéu linh kién
Thêm vào đó, nhóm nghiên cứu cũng phat triển thêm một giao diện giúpngười dùng có thể theo dõi hoạt động của hệ thống Sau khi mô hình phân tích
và phát hiện ra loại linh kiện bị thiếu, hệ thống sẽ hiển bị tên, hình ảnh và vị trí
mà linh kiện bị thiếu trên bảng mạch Các kỹ sư có thể dựa vào đó để đánh giá
xem các thông tin về linh kiện bị thiếu có chính xác không? Có còn linh kiện bịthiếu nào mà mô hình không phát hiện ra hay không? Kỹ sư sẽ đưa ra chỉ thịcuối cùng dé đánh giá kết quả kiểm tra của mô hình phát hiện lỗi
Trang 10Từ những giải pháp trên, nghiên cứu của nhóm đã đạt được một số kết quả
như sau:
+ Mô hình phát hiện lỗi linh kiện có thé phát hiện 15 linh kiện trên một bảng
mạch, các linh kiện có kích thước tối thiểu là 2mm Độ chính xác của mô hình lên
đến 97.69%, tốc độ trung bình đạt được là 0.21s trên một khung hình khi sử dụng
bộ xử lý là GPU của máy tính nhúng Jetson Nano.
+ Cơ cau gap thả có thé phân loại chính xác có hoặc không lỗi thiếu linh kiện
mà hệ thống phân tích được về đúng vị trí được chỉ định Thời gian để hoàn thành
quy trình phân loại là 5s.
+ Giao diện có thể giám sát hệ thống và đưa ra các thông báo chính xác cho
người sử dụng Thêm vào đó, người ding cũng có thé trực tiếp điều khiến quá trình
kiểm tra của hệ thống
Trang 11MỞ ĐẦU
Trong dây chuyền sản xuất các bảng mạch điện tử có ứng dụng một loại
công nghệ có tên là công nghệ dán bề mặt (Surface-mount technology) Công nghệ
này có một công đoạn kiểm tra quang hoc tự động (Automated optical inspection)hết sức quan trọng, đóng vai trò đánh giá hiệu quả của toàn bộ hệ thống và giúp đỡ
các kỹ sư dễ dàng hơn trong việc phát hiện các lỗi thường gặp trong quá trình lắp
ráp linh kiện.
Khi các lỗi thiếu linh kiện xảy ra, nếu hệ thống kiểm tra quang học tự độngkhông thé đưa ra các chân đoán chính xác và nhanh chóng sẽ dẫn đến làm giảm chatlượng và hiệu suất của dây chuyền sản xuất Vì vậy, mục đích của nhóm nghiên cứu
là phát triển một hệ thống có khả năng phát hiện lỗi thiếu các linh kiện một cáchchính xác và không tiêu tốn quá nhiều thời gian để kiểm tra, giúp tăng hiệu suất củatoàn bộ dây chuyền
Các sản pham mà nhóm muốn đánh giá là những bảng mach in (PrintedCircuit Board - PCB) có linh kiện được dán trên một bề mặt Các linh kiện nay lànhững linh kiện có kích thước nhỏ (tối thiểu 2mm) nên yêu cầu hệ thống camera thuthập hình ảnh phải có độ phân giải không quá nhỏ Thêm vào đó, camera cũng cần
được lắp đặt các đèn chiếu sáng trong trường hợp điều kiện ánh sáng môi trường
không đảm bảo Ngoài ra, hệ thống kiểm tra lỗi thiếu linh kiện cũng sẽ có thêm cơcấu gap tha dùng dé phân loại sản pham, cùng với giao diện dé hỗ trợ người dùng
có thé thực hiện các thao tác kiểm tra một cách hiệu quả
Trang 12Chương 1 TONG QUAN DE TÀI
1.1 Giới thiệu đề tài
1.1.1 Phân tích các nghiên cứu liền quan
Bài báo khoa học với tiêu đề “Phát hiện linh kiện bị thiếu trên PCB dùngmạng noron” đề xuất giải pháp gồm hai hệ thống: tiếp nhận và xử ly dit liệu [1] Cụthể, nhóm nghiên cứu của bài báo đã sử dụng một web camera định dạng màu RGB
để chụp hình ảnh đầu vào Hình ảnh này sau đó sẽ tách các pixel có chứa bảng
mạch bằng phép tính connected-component labeling Kế đó, ho dùng phép tính
XOR logic so sánh các pixel của một ảnh mẫu có đầy đủ linh kiện với ảnh vừa tách
được ở trên, từ đó có thé tim ra được các pIxel của linh kiện bị thiếu và tính được 3đặc trưng của các linh kiện: diện tích, chu vi và tính compact Cuối cùng, nhómnghiên cứu này đã sử dụng một mạng noron lan truyền ngược với 1000 lần lặp dé
phân loại các linh kiện thu thập được nhờ vào 3 đặc trưng trên (Hình 1.1).
(XOR) “Pre processing =
Classification Feature Extraction
Output
Hình 1.1 Biéu đồ luồng đữ liệu của phần mềm [1]
Đối với công đoạn lọc các pixel chứa linh kiện bị thiếu bằng thuật toán XOR
logic, chương trình cần có một ảnh mẫu để so sánh với ảnh chụp được Vấn đề sẽphát sinh trong trường hợp ảnh chụp được bị nhiễu hay xê dịch khiến cho các pixeltrong ảnh đầu vào không còn tương thích với các pixel của ảnh mẫu, làm cho thuật
Trang 13toán không còn chính xác Điều này khiến hệ thống tiếp nhận đữ liệu bắt buộc phảiđáp ứng được một số điều kiện lý tưởng như ảnh chụp rõ nét và đúng góc độ so với
ảnh mẫu, khoảng cách từ ảnh đến camera cũng không được thay đổi Thêm vào đó,
việc thực hiện 1000 lần lặp cũng khiến cho chương trình tiêu tốn rất nhiều thời gian
Bài báo “Phát hiện các linh kiện bị thiếu trên PCB dùng YOLO” [2] đã giảiquyết được vấn đề ảnh chụp đầu vào không cần khớp hoàn toàn so với ảnh mẫu
Thêm vào đó, tốc độ của chương trình cũng được cải thiện hơn rất nhiều khi họ sử
dụng thuật toán YOLO phiên bản thứ 3 được đánh giá là có khả năng đạt đến tốc độ
xử lý thời gian thực [3] Về cơ bản, hệ thống này gồm: có các nút bam dé điều khiến,
camera chụp ảnh, bộ xử lý Raspberry PI và một thiết bị hiển thị Khi nhận được tinhiệu từ các nút bam, Raspberry Pi sẽ phat ra tín hiệu điều khiển camera chụp anh va
đưa vào chương trình xử lý Bộ xử lý Raspberry Pi sau đó tiếp tục phát hiện nhữnglinh kiện bị thiếu trên bảng mach PCB băng thuật toán phát hiện đối trong YOLO.Kết quả cuối cùng về tên linh kiện, vị trí linh kiện bị thiếu sẽ được hiển thị lên giao
diện trên màn hình hiền thị (Hình 1.2).
Capture signal
Ca RasobuxÉP Processing information to user
PCB - (commana + _ “my ý a ond interface TFT Display
Hệ thống này được huấn luyện bằng tập dữ liệu với 3048 tắm ảnh (trong đó,
1982 tam dùng dé huấn luyện, 1066 tam dùng dé kiểm tra), kết quả có thé phát hiện
được 16 loại linh kiện điện tử khác nhau trên một bảng mạch Thêm vào đó, chương
trình còn có thể xác định được vị trí của linh kiện trên bảng mạch cùng với tên của
loại linh kiện đó Tuy nhiên, độ chính xác khi phát hiện linh kiện còn khá là thấp,
Trang 14mAP (Mean Average Precision) chi đạt 65.8% Trong đó, điện trở cố định, cuộn
cảm gắn trên bề mặt, tụ điện có chỉ số mAP thấp nhất, lần lượt là 23.1%, 39%,
50.8% (bang 1.1) Đây là điểm yêu khá lớn của thuật toán YOLO nói chung khiphải đánh đôi độ chính xác dé đạt được tốc độ thời gian thực May thay, ở các phiênbản YOLO được phát triển về sau, độ chính xác đã được cải thiện nên đáng kế [4].Đây cũng chính là nền tảng dé nhóm nghiên cứu chúng em phát triển đề tài nay
Bảng 1.1 Chỉ số mAP [2]
All 0.693 0.692 0.058 0.462
Aluminum Capacitor 0.672 0.629 0.622 0.407
Ceramic Capacitor 0.57 0.361 0.431 0.284 Crystal Oscillator 0.923 0.966 0.948 0.683 DIP 0.585 0.434 0.454 0.345 Electrolytic Capacitor 0.508 0.362 0.282 0.198 Fixed Resistor 0.231 0.423 0.176 0.118 LED 0.79 0.896 0.804 0.458
PN Diode 0.743 0.857 0.852 0.631
QFP 0.824 0.927 0.887 0.744
SM Inductor 0.39 0.429 0.297 0.189 Surface Mount Resistor 0.675 0.606 0.659 0.444 TO252 0.676 0.834 0.778 0.593 TO92 0.92 0.678 0.732 0.448 Tactile Switch 0.894 0.926 0.933 0.709 Tantalum Capacitor 0.773 0.82 0.767 0.491 Toroidal Core Inductor 0.906 0.939 0.914 0.625
1.1.2 Ly do chọn đề tai
Theo báo cáo của International Federation of Robotics (IFR) năm 2020 [12],
số lượng robot công nghiệp trên thé giới đã tăng mạnh va dự kiến tiếp tục tăng
trong các năm tới Năm 2020, có khoảng 2,7 triệu robot công nghiệp đang hoạt
động toàn cầu, tăng 12% so với năm 2019 Những số liệu trên là minh chứng rõ nétnhất về sự phô biến của việc ứng dụng công nghệ tự động hoá trong sản xuất, mànồi bật trong đó là sản xuất các bảng mạch điện tử Trong lĩnh vực sản xuất các chỉtiết chính xác cung ứng cho nhiều ngành khác nhau nói chung và lĩnh vực sản xuấtbảng mạch điện tử nói riêng thì khâu giám sát và kiểm tra lỗi sản phâm là một bộphận vô cùng quan trọng, đặc biệt hệ thống phát hiện lỗi thiếu linh kiện điện tử trên
Trang 15bảng mạch là một phần thiết yếu, không thể thiếu trong toàn bộ dây truyền Chúngđóng vai trò then chốt để đánh giá cũng như đưa ra những sản phẩm tốt và hoàn hảo
nhât cho các ứng dụng tiên tiên hiện nay.
Từ việc phân tích các nghiên cứu được nêu trong tiểu mục 1.1.2, nhómnghiên cứu nhận thấy các đề tài nêu trên sử dụng công nghệ khá cũ so với thời điểmhiện tại (Neural Networks, YOLOv3 ) Bên cạnh đó, các sản pham được nghiêncứu mới chỉ dừng lại ở bước phát hiện các linh kiện điện tử bị thiếu mà chưa có cácthao tác xử lý phân loại sản pham về sau
1.2 Mục tiêu của đề tài
Mục tiêu của đề tài là phát trién một hệ thống được ứng dung trong việc pháthiện lỗi thiếu các linh kiện điện tử băng mô hình deep learning và thực hiện phânloại bằng cơ cấu gap thả sản phẩm
Băng chuyền đưa linh
kiện đến đầu ra
Mô hình phát hiện lỗi
thiệu linh kiện
(hận ảnh chụp
†ừ camera
Cơ cầu gap tha đưa
linh kiện den vị tri
phân loại
Xác dinh loại
linh kiện bị thiêu
Hình 1.3 Sơ đồ vận hành của hệ thống
Hệ thống do nhóm nghiên cứu sẽ được phát triển dựa trên các mô hình object
detection (phát hiện đối tượng) mới nhằm phù hợp với ứng dụng phát hiện lỗi thiếulinh kiện và phần nào được cải thiện về tốc độ xử lý So với nhiều nghiên cứu khác,nhóm cũng phát triển thêm một cơ cấu gắp thả có nhiệm vụ phân loại các board
mạch về đúng vị trí được chỉ định Ngoài ra, hệ thống còn được xây dựng trên
NVIDIA Jetson Nano Developer Kit với mục dich tăng tốc độ xử lý bằng GPUnhưng không làm tăng giá thành sản phẩm lên quá cao
Trang 161.3 Bô cục luận văn
Luận văn được chia thành 5 chương, nội dung chính của các các chương được trình bày như sau:
+ Chương 1 Tổng quan dé tài
Trinh bày ly do chọn đê tai và mục tiêu của đê tai Phân tích các bai báo có
nội dung liên quan đên việc ứng dụng các mô hình học sâu vào nhận diện lôi thiêu
các linh kiện điện tử Từ đó, rút ra những ưu và nhược điêm đê lây đó làm kinh
nghiệm phát triển đề tài của bản thân
+ Chương 2 Cơ sở lý thuyết
Tìm hiểu về các giải thuật phát hiện đối tượng thường được sử dụng, so sánh
ưu và nhược điểm của từng giải thuật dé tìm ra mô hình phù hợp với yêu cầu của đề
tài Tìm hiểu về các thông số kỹ thuật của từng thiết bị phần cứng được sử dụngtrong đề tài nghiên cứu
+ Chương 3 Hiện thực thiết kế
Thực hiện xây dựng tập dữ liệu và tiến hành huấn luyện, kiểm tra kết quả
huấn luyện của mô hình Xây dựng và hoàn thiện hệ thống cơ khí phục vụ thu thập
dữ liệu và phân loại sản phâm.
+ Chương 4 Kết quả thực nghiệm
Trình bày kịch bản khảo sát và các kết quả đạt được sau quá trình khảo sáttheo kịch bản Phân tích, đánh giá và so sánh các kết quả mà hệ thống của nhóm
nghiên cứu đạt được với kết quả của bải báo Từ đó, chỉ ra những ưu điểm và hạn
chế tồn tại trong hệ thống
+ Chương 5 Kết luận và hướng phát triển
Từ những kết quả đạt được từ chương 4, nhóm nghiên cứu sẽ đưa ra các kếtluận và khó khăn đang gặp phải Thêm vào đó, những hạn chế của thiết kế cũng sẽđược nêu nhằm đưa ra những phương hướng phát triển trong tương lai
Trang 17Chương2 NGHIÊN CỨU THỰC NGHIỆM
2.1 Tìm hiểu về một số loại camera
2.1.1 CCD camera (HD 2MP USB2.0 1/3” CMOS)
Một số thông số của camera:
+ Kích thước: 50 x 48 x 45mm
+ Cảm biến: 2.0MP , 1/3” CMOS
+ Độ phân giải khi sử dụng: 480 x 360
+ Dinh dạng hình ảnh: MJPEG / YUY2
+ Kiểm soát phơi sáng: Có thé điều chỉnh
+ Nhiệt độ làm việc: 0-60 °C
+ Dòng điện: I50MW (VGA) 200MW (QSXGA)
+ Giao diện: USB 2.0
Camera này sử dụng cảm biến CMOS (Complimentary Metal-Oxide
Semiconductor) có kha năng xử lý trên các điểm ảnh đơn lẻ giúp quá trình xử lý anh
Trang 18được diễn ra nhanh chóng Ngoài ra, CMOS cũng tiêu thụ ít điện năng và có giá
thành phải chăng hơn.
Tuy nhiên, độ phân giải thực tế của camera này khá thấp (chỉ đạt 480x360pixel) Cảm biến CMOS cũng có hạn chế là độ nhạy sáng kém hơn một số cảm biếnkhác khiến việc thu thập ảnh không được quá rõ nét
2.1.2 IMx-3505U USB3.0 Camera
Một số thông số của camera:
+ Nguồn điện: DC5V + 10%(USB Cable Power)
+ Năng lượng: tối đa 4.5Watt
+ Giao diện: USB3.0
Hình 2.2 IMx-3505U camera
Camera sử dụng cảm biến CCD (Charge Coupled Device) có độ nhạy sáng
cao hơn CMOS giúp các hình ảnh thu được rõ nét hơn Ngoài ra, độ phân giải thực
10
Trang 19tế của camera IMx-3505U cũng khá cao (2448 x 2048) giúp cho ảnh có thể ghi
nhận rõ nét các chi tiệt nhỏ.
Tuy nhiên, cảm biến CCD đọc các thông tin khá chậm và có giá thành khámắc Thêm vào đó, camera IMx-3505U không cung cấp API (applicationprogramming interface) hé tro trén hé diéu hanh Linux, khién cho viéc doc hinh anhbang máy tinh nhúng Jetson Nano trở nên khó khăn
2.1.3 WAT-902H Ultimate Camera
Một số thông số của camera:
+ Năng lượng: 1.32W (110mA)
+ Giao diện: USB2.0
điêm của các camera sử dụng loại cảm biên này Dù độ phân giải của WAT-902H
11
Trang 20Ultimate là thấp hơn rất nhiều so với IMx-3505U (chỉ 640 x 480 pixel) nhưngcamera này sử dụng giao diện USB2.0 giúp việc ghi nhận hình ảnh bằng Jetson
Nano trở nên dễ dàng hơn Thêm vào đó, dù độ phân giải của camera là khá nhỏ
nhưng khi ứng dụng vào chương trình phát hiện lỗi thiếu linh kiện vẫn đem lại tính
hiệu quả.
2.2 Nghiên cứu một số mô hình phát hiện đối tượng
2.2.1 Mô hình Faster R-CNN
Kiến trúc của mô hình Faster R-CNN là sự kết hợp của hai module:
+ Mạng đề xuất khu vực (RPN - Region Proposal Network) là một mạngCNN (Convolutional neural network) dé đề xuất các vùng và loại đối tượng cần
xem xét trong vùng.
+ Fast R-CNN là mạng CNN để trích xuất các features (đặc trưng) từ các
region proposal va trả ra các bounding box va nhãn.
Trang 21Tại thời điểm được ra mắt, kiến trúc Faster R-CNN là đỉnh cao trong họ các
mô hình R-CNN và đặt được kết quả gần như tốt nhất khi được ứng dụng vào bàitoán phát hiện đối tượng (chỉ số mAP đạt 78,8% trên tập dữ liệu PASCAL VOC
2007 test set) Tuy nhiên, kiến trúc này vẫn còn khá chậm khi tốc độ xử lý chỉ đạt
chỉ đạt fps (frame per second) [5] Tốc độ xử lý này là rất chậm so với các mô hình
được phát triển về sau khi chỉ số fps của nó chưa đạt tới ngưỡng thời gian thực
feature map (tensor chứa thông tin các đặc trưng của ảnh).
+ Các extra layer (các fully connected) được áp dụng để phát hiện vật thé
trên feature map của base network Các extra layer này sẽ nhận input là feature map
của base network dé dự đoán nhãn và tọa độ của các vật thé trong hình
Hình 2.5 Cấu trúc chung của các mô hình YOLO [3]
13
Trang 22Output của YOLO được trình bày dưới dang:
17
y= [po, (tz, ty, tw, th), (p1,P2,-++,Pc)| 2.1,
`" — ————
bounding box scores of c classes
Hình 2.6 Output của một mô hình YOLO [3]
tọa độ tâm của hình chữ nhật bao tron vật thé, tw, th là độ rộng và cao của bounding
Ví dụ: mô hình cần dự đoán 5 class của 5 vật thé khác nhau Khi đó, mỗi vật thé ma
mô hình xác định được sẽ được tính xác suất - mà vật thé thuộc vào class đó - trên
cả 5 vật thê Nêu xác xuât vật thê thuộc class nào cao nhât thì mô hình sẽ xác định
vật thé được định vị thuộc class đó
Những sự thay đổi của các phiên bản mô hình YOLO thường được thực hiệntrên các lớp base network Những sự thay đổi này chủ yêu là sử dụng các kiến trúcCNN khác nhau, thay đổi cách sắp xếp các mang convolution hay thay đổi input,
output của các mạng convolution đó Những sự thay đổi này có hiệu quả làm tăng
độ chính xác của mô hình hoặc tăng tốc độ xử lý của mô hình trên các bộ xử lý khác
nhau hoặc cả hai.
Mô hình YOLOv4 [4] đạt độ chính xác 43.5% và tốc độ xap xi 65 FPS trên
tập dir liệu MS COCO Tuy nhiên, chỉ với một vài thay đối trong cau trúc basenetwork, phiên bản YOLOv4-large [6] đã đạt độ chính xác lên đến 55.5% cùng trên
tập dữ liệu MS COCO.
14
Trang 23Tuy nhiên, dé đánh đổi cho độ chính xác, tốc độ của mô hình YOLOv4-large[6] bị giảm đi đáng kể, xấp xi 16 FPS Thêm vào đó, mô hình này được thiết kế dé
phù hợp với việc xử lý tính toán trên các GPU cao cấp (như Tesla V100).
2.2.3 Mô hình YOLOv4-tiny
Với các hạn chế được nêu ở những mô hình trên, nhất là hạn chế về việc mô
hình chỉ đang hoạt động hiệu quả ở các phiên bản GPU cao cấp, ta nhận thấy khixây dựng hệ thống với các bộ xử lý trung tâm là các CPU hay GPU cấp thấp, các
mô hình với kiến trúc cồng kénh ở trên sẽ khó có thé nào đáp ứng về tốc độ, gây rahao phí thời gian rất lớn
Với mục đích xây dựng các mô hình có khả năng tính toán hiệu quả ké cảtrên bộ xử lý là các CPU hay GPU cấp thấp, các nhà phát triển ở bài báo số [6](cũng là các nhà phát trién mô hình YOLOv4-large được nêu trên) đã xây dựng môhình YOLOv4-tiny hỗ trợ cho việc xử lý trên các CPU và GPU cấp thấp
cùng loại khác.
15
Trang 24Và nổi bật hon cả, lý do tiên quyết khiến đề tài này chọn mô hình
YOLOv4-tiny là bởi mô hình này đã được chứng minh là hoạt động hiệu quả trên các bộ xử lý
là các thiết bị máy tính nhúng, đặc biệt là trên máy tính nhúng Jetson Nano
Bảng 2.2 Bảng so sánh tốc độ hoạt động của YOLOv4-tiny [6]
TensorRT FPS acx FPS; x FPS+ x2 FPSNANO
without 120 75 42 16
with 290 118 100 39
Theo bang 2.2, khi hoạt động trên nền tảng là máy tính nhúng Jetson Nano,
tốc độ xử lý mô hình YOLOv4-tiny đã đạt đến 39 fps (tốc độ real-time là 24 fps).Mặc dù độ chính xác của khá thấp (chỉ 21,7% đến 28,7%), nhưng đối với ứng dụngphát hiện các lỗi thiếu linh kiện điện tử thì độ chính xác này có thể chấp nhận được
2.2.4 Giải thuật tính độ chính xác của mô hình
Khi muốn đánh giá hiệu quả của một mô hình học sâu, cụ thể là mô hìnhphát hiện đối tượng, chúng ta cần sử dụng đến một độ đo rất phổ biến là mAP(mean average precision) Trước khi giải thích về ý nghĩa của mAP, chúng ta cầnbiết về một số khái niệm liên quan:
+ Precision và Recall
Precision đại diện cho độ chính xác khi dự đoán của model vì nó băng sô
phân loại đúng trên tông số phân loại
Recall là độ phủ, thể hiện được việc model đã phân loại được bao nhiêu đốitượng positive trong số những đối tượng positive đã có
TP+FN Téng so gtbox
16
Trang 25Trong đó:
e TP (True positive): Khi IOU cua predicted box vs ground-truth box >= IoU
(intersection over union) threshold.
e FP (False positive): Khi IOU cua predicted box vs gtbox < iou threshold.
e TN (True negative): Thông số này ta có thé hiểu nó như là background và ta
sẽ không cần quan tâm thông số này
e FN (False negative): Bounding box của đối tượng không được detect (detect
sot).
IOU (intersection over union) là tỉ số diện tích trùng lặp của 2 bounding box
trên diện tích hợp của 2 bounding box 2 bounding box này là bounding box dự đoán (precision bounding box) va bounding box thật (ground-truth bounding box).
Aree il etarwession Area of Intersection
IOU = Area of Union
Hinh 2.7 Intersection over union [7]
+ AP - average precision:
Đường cong precision theo recall (PR curve) là đồ thị biểu thị mối tương
quan giữa hai chỉ số precision và recall Đường cong này được tạo ra bằng tính các
chỉ số precision và recall của các precision box và ground-truth box của sau khiđược ảnh được đưa qua mô hình phát hiện đối tượng Các chỉ số sau đó sẽ đượcbiểu diễn lên đồ thị giống trong hình 2.7
17
Trang 2610 hn~ —— Precision
- Interpolated precision
recall
Hình 2.8 Đường cong precision theo recall [7]
AP là phần điện tích phía dưới đường cong PR curve Các diện tích này đượctính sau khi ta chuẩn hóa các giá tri precision bị sụt giảm đột ngột trong đồ thị theogiá trị giá trị precision cao nhất theo recall theo chiều tăng của đồ thị
AP = Xuất > Tn) Praere (thx)
faery (7) — Taxa 7")
TT.
(2.4)
Trong do: P(r) thé hién su phụ thuộc cua precision vao recall
Precision x Recall curve
precision
Hình 2.9 Cac diện tích dưới đường cong PR curve
18
Trang 27+ mAP - mean average precision:
Qua phần được trình bày ở trên, ta đã thực hiện tính AP cho từng nhãn, vìvậy chúng ta có thể định nghĩa AP là độ chính xác trung bình trên từng class Do đó,
mAP là trung bình cộng AP của tất cả các class.
mAP = + jy, AP, (2.5)
Trong do:
e AP là average precision cho class k.
e nla tổng số classes.
2.2.5 Phương pháp tính tốc độ xử ly của mô hình
Dé tính tốc độ xử lý của mô hình ta sẽ cần tới sự trợ giúp của thư viện timeđược viết bằng ngôn ngữ Python Thư viện này là một thư viện có khả năng xử lýcác tác vụ liên quan đến thời gian Đề sử dụng được các hàm có trong thư viện time,
ta cần gọi thư viện này vào chương trình bằng câu lệnh: import time
Trong đó, hàm time.time chính là hàm được dùng trong tác vụ tính tốc độ xử
lý của chương trình Hàm time() trả về số giây tính từ epoch, hay còn gọi là giá trịtimestamp Đối với hệ thống Unix, 00:00:00 ngày 1/1/1970 theo giờ UTC được gọi
là epoch (thời điểm bắt đầu thời gian) Hàm time.time trong chương trình kiểm tratốc độ hoạt động của mô hình phát hiện vật thé sẽ được biểu diễn như sau:
Lay giá tri thời gian tai thời điểm bắt đầu
Đưa hinh anh input vảo
mo hinh dé phat hiện
các linh kiện
Lay các giá tri output Lay những giá tri phân loại vào các của các danh sách
danh sách tương ứng de vẽ bounding box
Lay giá tri thời gian tại Tỉnh thời gian thực
thời điểm kết thúc hiện chương trình
19
Trang 28Trong các chương trình phát hiện vật thể khác, trước khi có công đoạn đưa
hình ảnh vào mô hình thì ta phải thêm mô hình vào hệ thống Công đoạn này được
thực hiện bang cach sử dung ham của thư hiện OpenCV (sé được trình bày trongmục 2.3.1) để tải vô hình lên chương trình Tuy nhiên, công đoạn tải mô hình nàykhông được thực hiện trong chương trình phát hiện lỗi thiếu linh kiện nhằm mụcđích giảm hao phí về mặt thời gian
2.3 Tìm hiểu về các công nghệ và thiết bị khác
2.3.1 Thư viện OpenCV
OpenCV (open source computer vision library) là một thư viện mã nguồn
mở được dùng dé xử lý hình ảnh, phát triển các ứng dụng đồ họa trong thời gianthực OpenCV được ưa chuộng bởi nó cung cấp các giải pháp dé cải thiện tốc độ xử
ly của CPU theo thời gian thực Thêm vào đó, OpenCV có còn hỗ trợ rất nhiều cho
các dự án liên quan đên thị giác máy tính.
Trong đê tài nghiên cứu của nhóm, thư viện này có hai nhiệm vụ chính:
+ Cung câp các mô đun có khả năng tương tác với mô hình phát hiện đôi
tượng như: tải mô hình lên hệ thông, đưa các ảnh input vào mô hình và nhận về các
kết quả output Tác dụng của việc sử đụng OpenCV dé tương tác với mô hình là:
e Giúp thời gian xử lý giảm đi đáng kê so với việc sử dụng trực tiêp các câu
lệnh được cung cấp bởi nền tảng Darknet
e Việc người dùng có thể tách riêng công đoạn tải mô hình vào chương trình
để công đoạn này chỉ cần thực hiện một lần cũng giúp cho thời gian xử lýgiảm đi rất nhiều
e Khi sử dụng câu lệnh của Darknet, output được trả về là ảnh đã được vẽ
bounding box và nhãn của các vật thé Việc này khiến nhà phát triển gặpkhó khăn khi muốn tương tác với cách thông số chỉ tiết của output như: têncác nhãn, tọa độ và kích thước của bounding box, xác suất phân loại củatừng đối tượng Khi sử dụng OpenCV, việc tương tác với các dữ liệu này
20
Trang 29trở nên vô cùng dễ dàng Do đó, nhà phát triển không còn bị giới hạn khả
năng xây dựng chương trình can sử dụng trực tiêp các chỉ sô nay.
+ Phát triên các tác vụ xử lý ảnh cân đên các thông sô nêu trên như:
e Hiển thị vị trí, tên của vật thể trên ảnh băng các vẽ bounding box từ tọa độ,
độ rộng và độ cao được cùng cap bởi output của mô hình.
e Thay đổi kích thước của ảnh dé phù hợp với kích thước của màn hình hiển
thị trên giao diện hệ thống.
e Làm đa dang tập dữ liệu bang các phương pháp tăng cường dit liệu (sẽ được
trình bay trong mục 3.1.3).
2.3.2 Thư viện Tkinter
Tkinter là một thư viện viết bằng ngôn ngữ lập trình Python được sử dụng đểtao giao điện đồ họa người dùng (GUI - Graphical User Interface) "Tkinter" là viếttắt của "Tk interface,", một toolkit (bộ công cụ) đồ họa cung cấp các công cụ đểphát triển giao diện người dùng Một số khả năng của Tkinter là tạo ra các cửa số,
các tab, khung biêu diễn hình ảnh hoặc văn ban, nút bam,
Một sô chức năng được cung cap bởi thư viện nay ma nhóm nghiên cứu xử dụng sé được mô tả dưới đâu:
+ Tạo cửa số để chứa toàn bộ các thành phần khác của giao diện Cửa s6 SẼđược lặp liên tục đề có thể hiển thị lên màn hình, giúp người dùng dé dang thao tácvới các thành phần trong đó
+ Các tab được dùng dé người dùng có thé thao tác với các tác vụ khác nhaucủa giao diện Tab thứ nhất giúp người dùng giám sát hệ thống băng chuyền, chụp
và phát hiện các linh kiện có mặt trên bảng mạch có trong ảnh Tab thứ hai sẽ hiểnthị chi tiết hơn các linh kiện bị lỗi, vị trí và các thông tin khác của chúng lên giao
diện hệ thống.
21
Trang 30+ Các label (nhãn) là thành phần có khả năng hiển thị hình ảnh hoặc văn bản
lên giao diện hệ thống Các hình ảnh được thu thập và xử lý từ chương trình, cùng
với các thông tin khác sẽ được hiền thị trong các label này
+ Các nút bam là công cụ trực tiếp cung cấp cho người dùng kha năng tươngtác với giao diện hệ thống Bằng các nút bam này, kỹ thuật viên có thé dé dàng thực
hiện các thao tác như: chụp ảnh từ camera và xử lý, giám sát toàn bộ các linh kiện
bị lỗi được phát hiện, đưa ra các chỉ thị cho hệ thống phần loại sản phẩm
2.3.3 Chương trình tính chỉ số mAP
Chương trình tính chỉ số mAP được phát triển bởi nhóm tác giả J.Cartucho,R.Ventura, M.Veloso vào năm 2018 Chương trình được trình bày chỉ tiết trongcuốn sách “IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS)”, với tiêu dé “Robust Object Recognition Through Symbiotic Deep
Learning In Mobile Robots” [9] Chương trình nay có chức nang tinh toán được chi
số mAP của mô hình với phương pháp đã được trình bày ở mục 2.2.4 Các thành
phần chính của chương trình này bao gồm:
+ Input:
e Thư mục chứa các file annotation mang thông tin về tọa độ bounding box,
tên của các vật thé trước khi huấn luyện Các file này được trực tiếp nhàhuấn luyện tạo ra để đảm bảo độ chính xác khi phát hiện vật thê
e Thư mục chứa các file annotation chứa kết quả thực tế được trả về từ mô
hình sau khi các vật thé đã được xác định Các thông tin này bao gồm tên,
vị trí và độ chính xác của vật thê được xác định.
e Người dùng có thé lựa chọn cung cấp những hình ảnh tương ứng với các file
annotation kế trên để chương trình hién thị việc xử lý tính toán trên từng
hình ảnh Việc hiển thị này giúp người dùng có thé giám sát việc tính toán
của chương trình và đưa ra các giải pháp khi thông số bị lỗi
22
Trang 31+ Output của chương trình bao gồm các thành phần sau:
e Đô thị biêu diễn đường cong PR curve của tat cả các class ma mô hình cân
phân loại.
e Các hình ảnh thể hiện độ trùng lắp của các precision box và ground-truth box
để người dùng có thê giám sát tính đúng đắn của thông số đầu vào
e Các đồ thị biểu diễn tổng số lượng bounding box, số lượng bounding box ma
chương trình có thé phát hiện hoặc bi lỗi, chỉ số AP trên từng class hoặc
mAP trên tat cả các class.
e File log báo cáo toàn bộ thông tin khi chương trình hoạt động.
2.3.4 Máy tính nhúng Jetson Nano B01
NVIDIA Jetson Nano là một máy tính nhúng có khả năng vận hành hiệu quả các
mạng neural sử dụng cho các ứng dụng như phân loại hình ảnh, phát hiện đối tượng,
phân đoạn và xử lý giọng nói Các thông số đáng chú ý của Jetson Nano B01 được
liệt kê dưới đây:
+ GPU: NVIDIA Maxwell architecture with 128 NVIDIA CUDA® cores.
+ CPU: Quad-core ARM Cortex-A57 MPCore processor.
+ Memory: 4 GB 64-bit LPDDR4, 1600MHz 25.6 GB/s.
+ Storage: 16 GB eMMC 5.1.
+ Connectivity: Gigabit Ethernet, M.2 Key E.
+ Display: HDMI 2.0 and eDP 1.4.
+ USB: 4x USB 3.0, USB 2.0 Micro-B.
+ Others: GPIO, I2C, I2S, SPI, UART.
23
Trang 32Máy tính nhúng này có khả năng mạnh mẽ khi có thê xử lý tính toán mô hình pháthiện lỗi thiếu linh kiện điện tử cùng với đó là cung cấp giao diện giám sát và điềukhiển hỗ trợ người dùng Camera của hệ thống cũng được kết nối trực tiếp vớiJetson Nano khiến cho việc điều khiên trở nên hiệu quả và nhanh chóng hơn.
2.3.5 STM32F103
STM32F103 là dòng vi điều khiển hiệu suất tầm chung với lõi xử lý Arm®
Cortex®-M3 32-bit RISC có thể hoạt động với tần số 72 MHz Vi xử lý này phù
hợp sử dụng trong các tác vụ điều khiển động cơ và phát triển các thiết bị có chứcnăng đặc biệt chuyên dụng Một số thông số đáng chú ý của vi điều khiển này:
+ Nhân: Arm Cortex-M3.
+ Tần số hoạt động tối đa: 72MHz
+ Flash: 64KiB.
+ SRAM: 20KiB.
+ Nguồn: 3.3 hoặc 5V
24
Trang 33+ Orthers: I/O pins, ADCs, PWM, Timers, I2Cs, SPIs, USARTs, USB, CAN.
động cơ trên trục ngang của cơ câu phân loại, điêu khiên băng chuyên, hút các bảng
mạch và phân loại về vị trí được chỉ định
2.3.6 Động cơ bước
Động cơ bước được sử dụng có một sỐ thông tin sau:
+ Loại động cơ bước: 2 Pha.
25
Trang 34Hình 2.13 Động cơ bước 2 pha.
2.3.7 Motor DC
Motor trong hệ thống có nhiệm vu di chuyển băng chuyền dé dua bang mach đếntrước ống kính camera va đưa bang mach đến vị trí đầu hút dé động cơ bước tiễnhành phân loại Dưới đây là một số thông tin của motor này:
+ Đường kính thân máy: khoảng 42 mm.
+ Tổng chiều dài động cơ: khoảng 98 mm
+ Tốc độ: 3500 9000 RPM.
+ Điện áp: DC 12V.
26