1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp Kỹ thuật y sinh: Thiết kế và thi công hệ thống thu thập và phân loại hình ảnh nhiệt bàn chân của bệnh nhân đái tháo đường

122 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 122
Dung lượng 8,51 MB

Nội dung

THÀNH PHỐ HỒ CHÍ MINHĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT Y SINH GVHD: NGÔ BÁ VIỆT SVTH: NGUYỄN DUY KHÁNH PHẠM BẢO HUY THIẾT KẾ VÀ THI CÔNG HỆ THỐNG THU THẬP VÀ PHÂN LOẠI HÌNH ẢNH NHIỆT BÀN C

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT Y SINH

GVHD: NGÔ BÁ VIỆT SVTH: NGUYỄN DUY KHÁNH

PHẠM BẢO HUY

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG THU THẬP

VÀ PHÂN LOẠI HÌNH ẢNH NHIỆT BÀN CHÂN CỦA BỆNH NHÂN ĐÁI THÁO ĐƯỜNG

Trang 2

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

KHÓA LUẬN TỐT NGHIỆP

NGÀNH KỸ THUẬT Y SINH

ĐỀ TÀI:

THIẾT KẾ VÀ THI CÔNG

HỆ THỐNG THU THẬP VÀ PHÂN LOẠI

Trang 3

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

KHÓA LUẬN TỐT NGHIỆP

NGÀNH KỸ THUẬT Y SINH

ĐỀ TÀI:

THIẾT KẾ VÀ THI CÔNG

HỆ THỐNG THU THẬP VÀ PHÂN LOẠI

Trang 4

NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP

Họ tên sinh viên: Nguyễn Duy Khánh MSSV: 20129056

Phạm Bảo Huy MSSV: 20129016 Chuyên ngành: Kỹ thuật Y Sinh Mã ngành: 7520212D

Hệ đào tạo: Đại học chính quy Mã hệ: 1

Khóa: 2020 Lớp: 20129

I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG THU THẬP VÀ

PHÂN LOẠI HÌNH ẢNH NHIỆT BÀN CHÂN CỦA BỆNH NHÂN ĐÁI THÁO ĐƯỜNG

II NHIỆM VỤ

1 Các số liệu ban đầu:

 Ngôn ngữ lập trình: Python

 Tài liệu về biến chứng của bệnh đái tháo đường

 Tài liệu về lập trình Arduino

 Tài liệu về Simple Handheld Thermal Imager Version 2.0 Imaging Camera+2" 240x320 LCD Display

 Tài liệu lập trình VS Code

 Tài liệu thiết kế giao diện bằng Qt Designer

 Tập dữ liệu “Plantar Thermogram Database for the Study of Diabetic Foot Complications” từ 122 bệnh nhân được chẩn đoán là đái tháo đường và 45 bệnh nhân không mắc đái tháo đường, được tổng hợp từ các bệnh viện và phòng khám ở Mexico

 Sử dụng mạng nơ-ron tích chập VGG16 để phân loại ảnh nhiệt bàn chân

Trang 5

Nội dung 1: Tìm hiểu lý thuyết về bệnh đái tháo đường, đặc biệt là sự ảnh hưởng của bệnh đái tháo đường khi di căn đến bàn chân

 Nội dung 2: Thiết kế và thi công phần cứng của hệ thống để chụp ảnh nhiệt bàn chân

 Nội dung 3: Kết nối máy ảnh nhiệt với máy tính

 Nội dung 4: Xây dựng và huấn luyện mô hình máy học để hỗ trợ chẩn đoán

 Nội dung 5: Thiết kế giao diện để điều khiển và lập trình các chức năng chụp, lưu trữ, hỗ trợ chẩn đoán hình ảnh, thu thập và quản lý thông tin bệnh nhân

 Nội dung 6: Tiến hành chạy thử nghiệm và hiệu chỉnh hệ thống

 Nội dung 7: Đánh giá kết quả thực hiện

 Nội dung 8: Viết báo cáo

 Nội dung 9: Bảo vệ luận văn

III NGÀY GIAO NHIỆM VỤ: 19/02/2024

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 17/06/2024

V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Th.S Ngô Bá Việt

CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

Trang 6

Tuần 1

(19/02 – 25/02/2024)

- Gặp GVHD để nghe phổ biến yêu cầu làm

đồ án, tiến hành chọn đề tài thực hiện và viết

đề cương chi tiết

Tuần 2

(26/02 – 03/03/2024)

- Nộp đề cương Khóa luận tốt nghiệp

- Tìm và đọc các tài liệu đã có trước đó liên quan đến đề tài

- Tìm hiểu biến chứng của bệnh đái tháo đường

Tuần 3

(04/03 – 10/03/2024)

- Tìm hiểu về cách sử dụng máy ảnh nhiệt

- Tìm hiểu về cách kết nối, điều khiển máy ảnh nhiệt với vi điều khiển

- Tìm tập dữ liệu hình ảnh nhiệt bàn chân đái tháo đường

- Tìm hiểu và lựa chọn mô hình phù hợp để huấn luyện

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o

Tp Hồ Chí Minh, ngày 19 tháng 02 năm 2024

Trang 7

Tuần 4

(11/03 - 17/03)

dùng với vi điều khiển

- Tìm hiểu về cơ sở dữ liệu và cách kết nối cơ

sở dữ liệu với giao diện người dùng

- Lựa chọn linh kiện phù hợp với yêu cầu đề tài

- Viết chương trình xây dựng mô hình máy học phân loại hình ảnh nhiệt bàn chân bằng mạng VGG16

Tuần 5

(18/03 – 24/03/2024)

- Thiết kế sơ đồ khối của hệ thống

- Huấn luyện mô hình

Tuần 6

(25/03 – 31/03/2024)

- Vẽ lưu đồ giải thuật cho các chương trình

- Lựa chọn linh kiện sử dụng cho hệ thống

Tuần 7

(01/04 – 07/04/2024)

- Thiết kế giao diện người dùng

- Thiết kế cơ sở dữ liệu

Tuần 8

(08/04 - 14/04/2024)

Tuần 9

(15/04 - 21/04/2024)

- Thiết kế hệ thống vít me và động cơ bước

- Kết nối vi điều khiển với giao diện để điều khiển vít me và máy ảnh nhiệt

- Viết chương trình điều khiển hệ thống

- Viết chương trình chạy giao diện

- Tính toán vị trí đặt máy ảnh nhiệt

- Mô phỏng mạch, vẽ PCB, thi công mạch in

- Thiết kế mô hình, thi công lắp ráp hệ thống

- Nộp báo cáo tiến độ

Trang 8

- Nộp quyển Khóa luận tốt nghiệp.

- Làm bài thuyết trình, thiết kế poster

Tuần 21

(01/07 – 06/07/2024)

- Bảo vệ Khóa luận

GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)

Trang 9

Đề tài “Thiết kế và thi công hệ thống thu thập và phân loại hình ảnh nhiệt bàn chân của bệnh nhân đái tháo đường” là do nhóm tự thực hiện dưới sự hướng dẫn của thầy hướng dẫn Th.S Ngô Bá Việt Mọi tài liệu đề tài tham khảo đều được trích dẫn

ở phần tài liệu tham khảo và hoàn toàn không sao chép từ tài liệu hay công trình đã

có trước đó

Nhóm sinh viên thực hiện đề tài Nguyễn Duy Khánh Phạm Bảo Huy

Trang 10

Sau khoảng thời gian thực hiện, nhóm đã hoàn thành đề tài “Thiết kế và thi công mô hình thu thập và phân loại hình ảnh nhiệt bàn chân của bệnh nhân đái tháo đường” Ngoài những cố gắng của từng cá nhân trong nhóm, còn có sự hướng dẫn và giúp đỡ, góp ý của thầy Th.S Ngô Bá Việt Nhóm xin gửi lời cảm ơn và biết ơn sâu sắc đối với thầy đã tạo điều kiện thuận lợi cho nhóm nghiên cứu và thực hiện đề tài Nhờ sự hướng dẫn tận tình, sự động viên và những góp ý quý báu của thầy đã giúp nhóm vượt qua những khó khăn, thử thách và hoàn thiện đồ án một cách tốt nhất.

Đồng thời, nhóm cũng xin gửi lời cảm ơn đến quý thầy cô khoa Điện - Điện

tử và đặc biệt là bộ môn Điện tử Công nghiệp - Y sinh đã tâm huyết giảng dạy, truyền đạt các kiến thức bổ ích trong suốt quá trình học tập tại Trường Đại học Sư Phạm Kỹ Thuật TP.HCM

Chúng con cảm ơn gia đình đã luôn là nguồn động viên to lớn, chỗ dựa vững chắc và luôn tạo điều kiện cho chúng con học tập tốt và thực hiện đề tài Cuối cùng, cảm ơn đến tập thể lớp Kỹ thuật Y sinh khóa 2020 luôn sát cánh, sẵn sàng chia sẻ những kiến thức, giúp đỡ góp phần hoàn thiện đề tài một cách tốt nhất Sự động viên, những lời khuyên chân thành và những giờ phút học tập, thảo luận cùng các bạn đã giúp nhóm mở mang kiến thức và hoàn thiện bản thân Nhóm thực sự trân trọng tình bạn và sự gắn bó mà chúng ta đã có với nhau trong suốt thời gian qua

Với điều kiện thời gian thực hiện đề tài cùng với vốn kiến thức của bản thân còn chưa được chuyên sâu và kinh nghiệm chưa nhiều nên không thể không tránh khỏi những thiếu sót trong đề tài lần này Vì vậy rất mong sẽ nhận được những phản hồi, góp ý của quý thầy cô để nhóm có thể cải thiện và làm tốt hơn trong tương lai

Nhóm xin chân thành cảm ơn!

Nhóm sinh viên thực hiện đề tài Nguyễn Duy Khánh Phạm Bảo Huy

Trang 11

TRANG BÌA i

NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP ii

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iv

LỜI CAM ĐOAN vii

LỜI CẢM ƠN viii

MỤC LỤC ix

LIỆT KÊ HÌNH VẼ xii

LIỆT KÊ BẢNG xvi

DANH SÁCH CÁC TỪ VIẾT TẮT xvii

DANH SÁCH CÁC THUẬT NGỮ xviii

TÓM TẮT xix

Chương 1 TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 MỤC TIÊU 2

1.3 NỘI DUNG NGHIÊN CỨU 2

1.4 GIỚI HẠN 2

1.5 BỐ CỤC 3

Chương 2 CƠ SỞ LÝ THUYẾT 4

2.1 GIỚI THIỆU VỀ ĐÁI THÁO ĐƯỜNG VÀ CÁC BIẾN CHỨNG 4

2.2 NHIỆT ĐỒ BÀN CHÂN CHẨN ĐOÁN ĐÁI THÁO ĐƯỜNG 4

2.3 THU THẬP HÌNH ẢNH VÀ THÔNG TIN BỆNH NHÂN 5

2.3.1 Mục đích 5

2.3.2 Quy trình thu thập hình ảnh 5

2.3.3 Trách nhiệm khi thu thập hình ảnh và thông tin bệnh nhân 6

2.4 MÔ HÌNH MÁY HỌC 7

Trang 12

2.4.2 Mạng VGG16 9

2.4.3 Kỹ thuật học chuyển giao 9

2.5 PHẦN CỨNG 10

2.5.1 Bộ điều khiển Arduino 10

2.5.2 Máy ảnh nhiệt 12

2.5.3 Động cơ điện 13

2.5.4 Vít me 13

2.6 PHẦN MỀM 14

2.6.1 Phần mềm lập trình 14

2.6.2 Phần mềm thiết kế 16

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 19

3.1 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 19

3.1.1 Thiết kế sơ đồ khối hệ thống 19

3.1.2 Tính toán và thiết kế mạch 20

3.1.3 Sơ đồ nguyên lý toàn mạch 28

3.2 TÍNH TOÁN VÀ THIẾT KẾ MÔ HÌNH THU THẬP ẢNH NHIỆT BÀN CHÂN 30

3.2.1 Thiết kế mô hình chụp ảnh nhiệt bàn chân 31

3.2.2 Thiết kế bộ vít me và hộp đựng máy ảnh 33

3.3 THIẾT KẾ MÔ HÌNH PHÂN LOẠI HÌNH ẢNH NHIỆT BÀN CHÂN 36

Chương 4 THI CÔNG HỆ THỐNG 41

4.1 THI CÔNG HỆ THỐNG 41

4.1.1 Thi công bo mạch 41

4.1.2 Thi công mô hình 44

4.2 LẬP TRÌNH HỆ THỐNG 47

Trang 13

4.2.2 Tạo cơ sở dữ liệu 59

4.3 HƯỚNG DẪN SỬ DỤNG VÀ THAO TÁC 66

Chương 5 KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ 73

5.1 KẾT QUẢ THI CÔNG MÔ HÌNH THU THẬP HÌNH ẢNH NHIỆT BÀN CHÂN CỦA BỆNH NHÂN ĐÁI THÁO ĐƯỜNG 73

5.2 KẾT QUẢ GIAO DIỆN ĐIỀU KHIỂN CỦA HỆ THỐNG 74

5.2.1 Kết quả giao diện chính của hệ thống 74

5.2.2 Kết quả giao diện đăng ký và truy xuất thông tin bệnh nhân 74

5.2.3 Kết quả giao diện truy xuất hình ảnh 79

5.2.4 Kết quả giao diện hỗ trợ chẩn đoán 80

5.3 NHẬN XÉT VÀ ĐÁNH GIÁ TÍNH HOẠT ĐỘNG ỔN ĐỊNH CỦA HỆ THỐNG 82

5.4 CHI PHÍ THI CÔNG HỆ THỐNG 87

Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 90

6.1 KẾT LUẬN 90

6.2 HƯỚNG PHÁT TRIỂN 90

TÀI LIỆU THAM KHẢO 91

PHỤ LỤC 93

Trang 14

Hình Trang

Hình 2.1 Các loại Arduino phổ biến 10

Hình 2.2 Sơ đồ các chân của Arduino UNO R3 11

Hình 2.3 Máy ảnh nhiệt 12

Hình 2.4 Các loại động cơ điện phổ biến 13

Hình 2.5 Vít me 14

Hình 2.6 Giao diện lập trình chính của Arduino IDE 15

Hình 2.7 Giao diện lập trình chính của VS Code 16

Hình 2.8 Giao diện chính của SolidWorks 18

Hình 3.1 Sơ đồ khối hệ thống 19

Hình 3.2 Các chân kết nối của Arduino UNO R3 sử dụng trong hệ thống 21

Hình 3.3 Sơ đồ nguyên lý của khối điều khiển cơ 22

Hình 3.4 Sơ đồ kết nối giữa khối điều khiển cơ với khối xử lý trung tâm 22

Hình 3.5 Sơ đồ nguyên lý của khối chụp ảnh 25

Hình 3.6 Sơ đồ kết nối giữa khối chụp ảnh với khối xử lý trung tâm và máy tính 26

Hình 3.7 Sơ đồ nguyên lý toàn mạch 29

Hình 3.8 Sơ đồ kết nối toàn hệ thống 30

Hình 3.9 Bản vẽ mặt trước và mặt sau của mô hình chụp bàn chân 31

Hình 3.10 Bản vẽ mặt bên của mô hình chụp bàn chân 32

Hình 3.11 Bản vẽ mặt trên và mặt dưới của mô hình chụp bàn chân 33

Hình 3.12 Bản vẽ mô phỏng 3D của mô hình chụp bàn chân 33

Hình 3.13 Mô tả kích thước tính toán khoảng cách đặt máy ảnh nhiệt 34

Hình 3.14 Bản vẽ hộp cố định máy ảnh 35

Hình 3.15 Bản vẽ đế cố định hộp cố định máy ảnh trên con trượt vuông gắn vào vít me 35

Hình 3.16 Mô phỏng 3D hệ thống vít me trượt 36

Hình 3.17 Mô hình mạng VGG16 kết hợp kỹ thuật học chuyển giao 38

Hình 3.18 Mô hình ma trận nhầm lẫn 40

Hình 4.1 Hình mặt sau của mạch in khi thiết kế PCB 41

Trang 15

Hình 4.3 Mạch in sau khi hàn các linh kiện 43

Hình 4.4 Nguồn tổ ong đầu vào 220VAC, đầu ra 24VDC 43

Hình 4.5 Bố trí mạch in và nguồn 44

Hình 4.6 Vị trí đặt chân trong hộp chụp bàn chân 44

Hình 4.7 Ống kính chụp ảnh và các dây kết nối với máy ảnh nhiệt 45

Hình 4.8 Động cơ bước, bộ vít me, hộp máy ảnh 46

Hình 4.9 Hộp nguồn được cố định ở mặt sau hộp lớn (bên trái) và vị trí đặt nguồn và mạch in bên trong (bên phải) 46

Hình 4.10 Vị trí đặt chân và bộ vít me bên trong mô hình 46

Hình 4.11 Lưu đồ giải thuật chương trình điều khiển hệ thống 47

Hình 4.12 Lưu đồ giải thuật chương trình chính điều khiển giao diện chính 48

Hình 4.13 Lưu đồ giải thuật chương trình con chụp ảnh 49

Hình 4.14 Lưu đồ giải thuật chương trình con hiển thị và lưu ảnh đã chụp 50

Hình 4.15 Lưu đồ giải thuật chương trình con đăng ký ID mới 51

Hình 4.16 Lưu đồ giải thuật chương trình con quét QR CCCD 53

Hình 4.17 Lưu đồ giải thuật các chương trình con thêm (trái) và cập nhật (phải) dữ liệu bệnh nhân 54

Hình 4.18 Lưu đồ giải thuật các chương trình con xóa (trái) và tìm kiếm (phải) thông tin bệnh nhân 55

Hình 4.19 Lưu đồ giải thuật chương trình truy xuất hình ảnh 57

Hình 4.20 Lưu đồ giải thuật chương trình phân loại hình ảnh nhiệt bàn chân hỗ trợ chẩn đoán bệnh đái tháo đường 58

Hình 4.21 Trang chủ SQLite 59

Hình 4.22 Menu File trong SQLite 59

Hình 4.23 Tạo các trường trong bảng dữ liệu 60

Hình 4.24 Nhấn tùy chọn Browser Table để truy cập dữ liệu bảng 60

Hình 4.25 Giao diện thêm các dữ liệu vào bảng 60

Hình 4.26 Tùy chọn Write Changes trong thanh menu của Sqlite 61

Hình 4.27 Các trường thông tin bệnh nhân đã thiết kế 61

Hình 4.28 Hộp thoại tìm kiếm để mở Command Prompt 62

Trang 16

Hình 4.30 Cửa sổ gõ lệnh của Command Prompt 63

Hình 4.31 Tìm kiếm phần mềm Qt Designer trong thanh tìm kiếm 63

Hình 4.32 Giao diện chính của phần mềm Qt Designer 63

Hình 4.33 Giao diện sau khi tiến hành thiết kế 64

Hình 4.34 Lập trình VS Code để gọi và hiển thị giao diện bằng ngôn ngữ python 65

Hình 4.35 Giao diện được hiển thị thành công 65

Hình 4.36 Các bước kết nối với cổng Port Arduino ở giao diện chính 67

Hình 4.37 Vị trí mở giao diện truy xuất và đăng ký thông tin bệnh nhân 67

Hình 4.38 Giao diện của đăng ký và truy xuất thông tin bệnh nhân 67

Hình 4.39 Các bước để đăng ký thông tin bệnh nhân mới 67

Hình 4.40 Các bước truy xuất và cập nhật thông tin bệnh nhân đã đăng ký 68

Hình 4.41 Các bước truy xuất và xóa thông tin bệnh nhân đã đăng ký 69

Hình 4.42 Các bước tìm kiếm thông tin bệnh nhân đã đăng ký 69

Hình 4.43 Các bước chụp hình ảnh nhiệt bàn chân ở giao diện chính 70

Hình 4.44 Truy cập vào giao diện truy xuất ảnh 70

Hình 4.45 Giao diện truy xuất ảnh 70

Hình 4.46 Các thao tác trong giao diện truy xuất ảnh 70

Hình 4.47 Truy cập vào giao diện hỗ trợ chẩn đoán 72

Hình 4.48 Giao diện hỗ trợ chẩn đoán 72

Hình 4.49 Các bước thao tác trong giao diện hỗ trợ chẩn đoán 72

Hình 5.1 Hệ thống đang hoạt động 73

Hình 5.2 Hộp thoại thông báo kết nối thành công 74

Hình 5.3 Hộp thoại thông báo quét QR thành công 74

Hình 5.4 Hộp thoại thông báo thêm dữ liệu bệnh nhân mới thành công 75

Hình 5.5 Hộp thoại xác nhận cập nhật thông tin bệnh nhân 75

Hình 5.6 Hộp thoại thông báo cập nhật thông tin bệnh nhân thành công 75

Hình 5.7 Hộp thoại xác nhận xóa dữ liệu thông tin bệnh nhân 76

Hình 5.8 Hộp thoại thông báo xóa dữ liệu thông tin bệnh nhân thành công 76

Hình 5.9 Kết quả tìm kiếm theo ID bệnh nhân 76

Hình 5.10 Kết quả tìm kiếm gần đúng theo họ và tên bệnh nhân 77

Hình 5.11 Dữ liệu được lưu trong cơ sở dữ liệu 77

Trang 17

Hình 5.14 Thông tin về ảnh được tổng hợp vào file Excel 78

Hình 5.15 Giao diện truy xuất ảnh thành công 79

Hình 5.16 Hộp thoại xác nhận xóa ảnh 79

Hình 5.17 Hộp thoại thông báo xóa ảnh thành công 80

Hình 5.18 Đồ thị thể hiện sự thay đổi của giá trị accuracy 80

Hình 5.19 Đồ thị thể hiện sự thay đổi của giá trị loss 81

Hình 5.20 Cửa sổ cho phép người dùng chọn ảnh cần chẩn đoán 81

Hình 5.21 Kết quả sau khi chẩn đoán 81

Hình 5.22 Ma trận nhầm lẫn của mô hình phân loại 85

Trang 18

Bảng Trang

Bảng 2.1 Bảng thông số kỹ thuật của Arduino UNO R3 11

Bảng 2.2 Bảng chức năng các chân của Arduino UNO R3 sử dụng trong đề tài 12

Bảng 3.1 Bảng liệt kê các linh kiện cần tính toán 27

Bảng 3.2 Bảng kích thước bàn chân 31

Bảng 3.3 Phân loại và số lượng từng phân loại trong tập dữ liệu 37

Bảng 4.1 Bảng danh sách linh kiện trong mạch in 42

Bảng 5.1 Bảng thống kê thời gian chụp ảnh bàn chân trái 82

Bảng 5.2 Bảng thống kê thời gian chụp ảnh bàn chân phải 83

Bảng 5.3 Thống kê thời gian đưa ra kết quả phân loại 85

Bảng 5.4 Kết quả phân loại sử dụng giao diện hỗ trợ chẩn đoán 86

Bảng 5.5 Bảng danh sách linh kiện được sử dụng để thi công hệ thống 87

Trang 19

STT Từ viết tắt Tên đầy đủ

1 CAD Computer-Aided Design

2 CCCD Căn cước công dân

3 CG Control Group

4 CNN Convolutional Neural Network

5 DFU Diabetic Foot Ulcer

6 DIY Do It Yourself

7 DM Diabetes Mellitus

8 GUI Graphical User Interface

9 IDE Integrated Development Environment

10 IDF International Diabetes Federation

11 QR Quick Response

12 VGG Visual Geometry Group

13 VS Visual Studio

Trang 20

STT Tên Tiếng Anh Tên Tiếng Việt

1 Activation Function Hàm kích hoạt

2 Average Pooling Lấy mẫu trung bình

3 Confusion Matrix Ma trận nhầm lẫn

4 Convolutional Layer Lớp tích chập

5 Features Map Ma trận ảnh đặc trưng

6 Fully Connected Layer Lớp kết nối đầy đủ

7 Max Pooling Lấy mẫu lớn nhất

8 Pooling Layer Lớp lấy mẫu

9 Transfer Learning Học chuyển giao

Trang 21

Trong bối cảnh gia tăng số lượng bệnh nhân đái tháo đường trên toàn cầu, việc

chẩn đoán và điều trị các biến chứng liên quan đến bệnh lý này trở nên vô cùng quan

trọng Một trong những biến chứng phổ biến và nguy hiểm nhất là loét bàn chân do

bệnh đái tháo đường, gây ra những hậu quả nghiêm trọng nếu không được phát hiện

và xử lý kịp thời Sử dụng công nghệ hình ảnh nhiệt, có thể phát hiện sớm những dấu

hiệu bất thường ở bàn chân bệnh nhân Trong bối cảnh đó, việc thiết kế và thi công

một mô hình thu thập và phân loại hình ảnh nhiệt bàn chân của bệnh nhân đái tháo

đường là một giải pháp tiên tiến, giúp nâng cao hiệu quả chẩn đoán và điều trị, đồng

thời giảm thiểu nguy cơ biến chứng và chi phí y tế Đề tài “Thiết kế và thi công mô

hình thu thập và phân loại hình ảnh nhiệt bàn chân của bệnh nhân đái tháo đường”

với mục đích nhằm đáp ứng nhu cầu cấp thiết này

Đề tài này sẽ tiến hành thiết kế và thi công mô hình chụp ảnh nhiệt bàn chân

và hệ thống dùng để điều khiển, thu thập, quản lý, lưu trữ hình ảnh và thông tin bệnh

nhân Hệ thống bao gồm giao diện người dùng, vi điều khiển trung tâm và khối điều

khiển cơ Giao diện người dùng sẽ cung cấp các chức năng như chụp ảnh nhiệt bàn

chân, quản lý, truy xuất thông tin bệnh nhân và lưu trữ hình ảnh Vi điều khiển trung

tâm là Arduino UNO R3 sẽ tiếp nhận và xử lý dữ liệu, điều khiển khối điều khiển cơ

và máy ảnh nhiệt để chụp ảnh Khối điều khiển cơ sẽ điều khiển động cơ bước, giúp

máy ảnh di chuyển giữa hai vị trí chân trái và chân phải Bên cạnh đó, tại giao diện

người dùng có thêm chức năng hỗ trợ chẩn đoán Chức năng này sử dụng mô hình

máy học từ mạng VGG16 đã được huấn luyện từ trước để đưa ra chẩn đoán Mô hình

máy học đã đạt được độ chính xác toàn tập train là 97.21%, giá trị f1-score là 97.22%

và độ chính xác toàn tập validation là 90.61%, giá trị f1-score là 92.23%

Trang 22

là rất cao Vào năm 2021, tại Việt Nam có khoảng 2 triệu người tức hơn phân nửa số người bệnh mà không biết mình đang mắc phải căn bệnh này [1]

Việc phát hiện sớm bệnh đái tháo đường đem lại nhiều lợi ích quan trọng, bao gồm cải thiện chất lượng cuộc sống và giảm nguy cơ các biến chứng nguy hiểm Do

đó, việc thúc đẩy các biện pháp sàng lọc và kiểm tra định kỳ có thể là chìa khóa để quản lý bệnh đái tháo đường một cách hiệu quả Sự phát triển của công nghệ chẩn đoán hình ảnh cũng góp một phần nào vào việc phát hiện bệnh đái tháo đường Hiện nay, đã có rất nhiều nghiên cứu về lĩnh vực này, theo tác giả Francis Ring, D.Sc., FIPEM, FRPS, Đơn vị nghiên cứu hình ảnh y tế, Khoa Công nghệ tiên tiến, Đại học Glamorgan, Vương quốc Anh về “Thermal Imaging Today and Its Relevance to Diabetes” (Hình ảnh nhiệt ngày nay và mối liên quan của nó với bệnh tiểu đường) chỉ ra rằng chụp ảnh nhiệt hồng ngoại là một kỹ thuật đáng tin cậy để ghi lại sự phân

bố nhiệt độ trên da và nó là công cụ hữu ích dùng để đánh giá khả năng tưới máu và tuần hoàn máu ngoại biên đối với bệnh đái tháo đường [2] Đồ án tốt nghiệp của Trần Thị Thiêm năm 2023 với đề tài “Thiết kế và thi công thiết bị quản lý thu thập và lưu trữ hình ảnh phục vụ chẩn đoán và đánh giá vết loét bàn chân do đái tháo đường” đã xây dựng một hệ thống thu thập và lưu trữ hình ảnh lâm sàng bằng máy ảnh thường

để phục vụ cho việc chẩn đoán vết loét ở bàn chân do bệnh đái tháo đường [3]

Nhìn thấy được từ mối quan tâm của xã hội về bệnh đái tháo đường, qua những bài báo, đồ án đã khảo sát được, tiến hành thực hiện đề tài về việc chụp ảnh nhiệt để chẩn đoán bệnh đái tháo đường Đề tài “Thiết kế và thi công hệ thống thu thập và

Trang 23

phân loại hình ảnh nhiệt bàn chân của bệnh nhân đái tháo đường” chụp ảnh nhiệt từ bàn chân bệnh nhân và hỗ trợ các bác sĩ trong việc chẩn đoán bệnh đái tháo đường

1.2 MỤC TIÊU

Mục tiêu chính của đề tài là thiết kế và thi công một hệ thống thu thập và lưu trữ hình ảnh nhiệt của bàn chân bệnh nhân đái tháo đường Hệ thống này sẽ cho phép người dùng thu thập hình ảnh nhiệt bàn chân thông qua giao diện Đồng thời trong giao diện sẽ có thêm chức năng hỗ trợ chẩn đoán bệnh đái tháo đường dựa trên hình ảnh nhiệt bàn chân đã chụp bằng một mô hình máy học đã được huấn luyện trước

1.3 NỘI DUNG NGHIÊN CỨU

Đề tài “Thiết kế và thi công hệ thống thu thập và phân loại hình ảnh nhiệt bàn chân của bệnh nhân đái tháo đường” đã tiến hành thực hiện những nội dung như sau:

 NỘI DUNG 1: Tìm hiểu lý thuyết về bệnh đái tháo đường, đặc biệt là sự ảnh hưởng của bệnh đái tháo đường khi di căn đến bàn chân

 NỘI DUNG 2: Thiết kế và thi công phần cứng của hệ thống để chụp ảnh nhiệt bàn chân

 NỘI DUNG 3: Kết nối máy ảnh nhiệt với máy tính

 NỘI DUNG 4: Xây dựng và huấn luyện mô hình máy học để hỗ trợ chẩn đoán

 NỘI DUNG 5: Thiết kế giao diện để điều khiển và lập trình các chức năng chụp, lưu trữ, hỗ trợ chẩn đoán hình ảnh, thu thập và quản lý thông tin bệnh nhân

 NỘI DUNG 6: Tiến hành chạy thử nghiệm và hiệu chỉnh hệ thống

 NỘI DUNG 7: Đánh giá kết quả thực hiện

 NỘI DUNG 8: Viết báo cáo

 NỘI DUNG 9: Bảo vệ luận văn

1.4 GIỚI HẠN

Giới hạn của đề tài này bao gồm:

 Sử dụng máy ảnh nhiệt tầm xa MLX90640 tích hợp màn hình LCD 2inch với

độ phân giải 320×240 pixel, bộ nhớ Flash 16MB

 Phân loại được có hoặc không có sự ảnh hưởng của bệnh đái tháo đường đến bàn chân người bệnh

Trang 24

 Chất liệu của hộp chụp: Thép không gỉ bên ngoài và nhựa PVC bên trong

 Điều khiển thông qua giao diện máy tính

1.5 BỐ CỤC

Chương 1: Tổng quan

Trình bày tổng quan về lý do chọn đề tài, mục tiêu đề tài, nội dung nghiên cứu, một vài giới hạn của đề tài và bố cục của đồ án

Chương 2: Cơ sở lý thuyết

Trình bày cơ sở lý thuyết về các vấn đề liên quan đến bệnh đái tháo đường, thu thập hình ảnh và thông tin bệnh nhân, mô hình máy học sử dụng, cũng như lý thuyết

về phần cứng và phần mềm cần thiết để thiết kế đề tài

Chương 3: Thiết kế và tính toán

Trình bày các bước tính toán và thiết kế dựa trên những yêu cầu đã đề ra: thiết

kế sơ đồ khối, sơ đồ nguyên lý, giao diện và bản vẽ cho mô hình thu thập hình ảnh nhiệt bàn chân

Chương 4: Thi công hệ thống

Trình bày chi tiết về quá trình thi công và kiểm tra các thành phần của phần cứng, xây dựng và huấn luyện mô hình máy học, triển khai các giao diện cần thiết để người dùng dễ dàng điều khiển hệ thống

Chương 5: Kết quả - Nhận xét - Đánh giá

Trình bày kết quả thu được, tiến hành so sánh và nhận xét kết quả đạt được với yêu cầu của đề tài, từ đó đưa ra đánh giá chung của đề tài

Chương 6: Kết Luận và Hướng Phát Triển

Tổng kết quá trình nghiên cứu, kết quả tổng thể của đề tài, xác định những hạn chế còn sót lại của đề tài Từ đó, đưa ra những đề xuất và hướng phát triển tiếp theo của đề tài trong tương lai

Trang 25

Chương 2 CƠ SỞ LÝ THUYẾT

Chương này trình bày lý thuyết về bệnh đái tháo đường; ứng dụng nhiệt đồ bàn chân trong chẩn đoán; mục đích, quy trình, trách nhiệm khi thu thập hình ảnh và thông tin bệnh nhân; mô hình máy học phân loại hình ảnh nhiệt bàn chân; lý thuyết về linh kiện và phần mềm hỗ trợ thiết kế, lập trình hệ thống thu thập

2.1 GIỚI THIỆU VỀ ĐÁI THÁO ĐƯỜNG VÀ CÁC BIẾN CHỨNG

Bệnh đái tháo đường (Diabetes Mellitus - DM) là một rối loạn chuyển hóa đặc trưng bởi tình trạng tăng đường huyết kéo dài Nguyên nhân do cơ thể không sản xuất

đủ insulin hoặc kháng insulin (Insulin là một hormone do tuyến tụy sản xuất, giúp điều hòa lượng đường trong máu) Các yếu tố nguy cơ bao gồm người thân mắc bệnh, môi trường và chỉ số khối cơ thể (BMI) cao [4]

Bệnh đái tháo đường dẫn đến nhiều biến chứng nghiêm trọng: tim mạch, đột quỵ, suy thận, mù lòa, thiếu máu cục bộ, bệnh lý mạch máu ngoại biên Đặc biệt, biến chứng bàn chân do đái tháo đường (Diabetic Foot Ulcer - DFU) là một trong những biến chứng nghiêm trọng nhất, dẫn đến loét, nhiễm trùng và cắt cụt chi Nguyên nhân chính gây ra DFU bao gồm: tổn thương thần kinh và bệnh mạch máu ngoại biên

 Tổn thương thần kinh bị tác động bởi ba thành phần sau: cảm giác, vận động,

tự chủ Bệnh lý thần kinh cảm giác ở chân do tổn thương các dây thần kinh cảm giác, khiến bệnh nhân không cảm nhận được các vết thương nhỏ Tổn thương thần kinh vận động dẫn đến yếu cơ, biến dạng cấu trúc bàn chân, gây

áp lực không đều khi đi lại Bệnh lý thần kinh tự chủ gây mất chức năng tự động của các dây thần kinh có thể dẫn đến khô da, nứt nẻ và dễ bị nhiễm trùng

 Bệnh mạch máu ngoại biên làm giảm lưu thông máu đến chân, giảm khả năng lành vết thương và tăng nguy cơ nhiễm trùng, dẫn đến hoại tử [5]

2.2 NHIỆT ĐỒ BÀN CHÂN CHẨN ĐOÁN ĐÁI THÁO ĐƯỜNG

Con người thuộc nhóm động vật hằng nhiệt, duy trì nhiệt độ cơ thể gần 37°C nhờ sự cân bằng giữa sinh nhiệt và thải nhiệt, dưới sự kiểm soát của hệ thần kinh tự chủ Công nghệ máy ảnh hồng ngoại được phát triển để phát hiện và theo dõi biến

Trang 26

động nhiệt độ này mà không cần tiếp xúc, mang lại sự tiện lợi và độ chính xác cao Máy ảnh hồng ngoại chuyển đổi tia hồng ngoại từ vật thể thành dữ liệu số, mỗi điểm ảnh trên ảnh thể hiện một giá trị nhiệt độ Sự khác biệt nhiệt độ phản ánh thay đổi trong cung cấp máu, viêm nhiễm hoặc tổn thương da và các vấn đề sức khỏe khác

Hình ảnh nhiệt không xâm lấn, không gây đau, đóng vai trò quan trọng trong chăm sóc y tế như hỗ trợ sàng lọc ung thư vú, chẩn đoán rối loạn thần kinh, theo dõi chấn thương mô mềm trong thể thao, giám sát phẫu thuật và đánh giá lưu thông máu Đặc biệt, hình ảnh nhiệt giúp chẩn đoán và theo dõi loét bàn chân ở bệnh nhân đái tháo đường, phát hiện sớm các vùng nguy cơ loét hoặc nhiễm trùng, lưu thông máu kém, cho phép can thiệp kịp thời, giảm nguy cơ cắt cụt chi [6]

2.3 THU THẬP HÌNH ẢNH VÀ THÔNG TIN BỆNH NHÂN

 Hình ảnh nhiệt và thông tin bệnh nhân cung cấp thông tin quý báu cho nghiên cứu, giúp hiểu rõ hơn về cơ chế bệnh lý, dùng để huấn luyện các mô hình trí tuệ nhân tạo, phát hiện xu hướng mới và phát triển công nghệ y tế tiên tiến

Trang 27

 Chuẩn bị bệnh nhân: Hướng dẫn bệnh nhân quá trình thu thập hình ảnh và các yêu cầu cụ thể, thực hiện các biện pháp an toàn cho các trường hợp đặc biệt

 Chọn phương pháp thu hình ảnh: Dựa vào triệu chứng và mục đích chẩn đoán, bác sĩ chọn phương pháp phù hợp như X-quang, siêu âm, cộng hưởng từ, chụp cắt lớp vi tính, chụp ảnh y khoa, chụp ảnh nhiệt

 Thực hiện thu hình ảnh: Kỹ thuật viên thực hiện quy trình dưới sự hướng dẫn của bác sĩ, các thiết bị cần được cấu hình đúng và sử dụng một cách chính xác

2.3.3 Trách nhiệm khi thu thập hình ảnh và thông tin bệnh nhân

Trong quá trình thu thập hình ảnh và thông tin y tế, việc tuân thủ các trách nhiệm đạo đức và pháp lý là vô cùng quan trọng Các chuyên gia y tế không chỉ phải đảm bảo sự chính xác và bảo mật của dữ liệu mà còn phải tôn trọng quyền lợi và quyền riêng tư của bệnh nhân Dưới đây là những khía cạnh chính cần được chú ý:

 Trước khi thu thập dữ liệu, bệnh nhân phải được cung cấp thông tin chi tiết về mục đích, quy trình và cách sử dụng dữ liệu, họ phải đồng ý tham gia một cách

tự nguyện Tài liệu này cần được lưu trữ cẩn thận để đảm bảo tính minh bạch

 Thông tin cá nhân của bệnh nhân phải được bảo mật tuyệt đối, đảm bảo không

có truy cập trái phép và bệnh nhân cảm thấy an tâm khi chia sẻ thông tin y tế

 Chất lượng và tiêu chuẩn hóa dữ liệu: Quy trình thu thập dữ liệu phải có tiêu chuẩn rõ ràng để đảm bảo tính chính xác và nhất quán Sử dụng các giao thức chuẩn giúp dữ liệu thu thập có thể so sánh, phân tích và sử dụng hiệu quả

 Lưu trữ dữ liệu: Thông tin liên quan đến quá trình thu thập, phân tích và sử dụng dữ liệu phải được ghi chép đầy đủ và lưu trữ một cách hệ thống Hệ thống này phải chống lại truy cập trái phép, mất mát dữ liệu và các mối đe dọa an ninh khác Chỉ những người có thẩm quyền mới được phép truy cập dữ liệu

Trang 28

 Tuân thủ nguyên tắc đạo đức: Các chuyên gia y tế phải tôn trọng quyền tự chủ, bảo mật và quyền riêng tư của bệnh nhân Các nghiên cứu và ứng dụng sử dụng dữ liệu y tế phải mang lại lợi ích cho bệnh nhân và cộng đồng

2.4 MÔ HÌNH MÁY HỌC

2.4.1 Mạng nơ-ron tích chập

Mạng nơ-ron tích chập (CNN - Convolutional Neural Network) là mô hình học sâu mạnh mẽ trong xử lý dữ liệu có cấu trúc lưới như hình ảnh và video CNN tự động học và rút trích đặc trưng từ dữ liệu đầu vào qua các lớp tích chập, lớp gộp, lớp kết nối đầy đủ và các hàm kích hoạt [7]

Lớp tích chập:

Lớp tích chập (Convolutional Layer) là thành phần cốt lõi của CNN, chịu trách nhiệm trích xuất đặc trưng từ dữ liệu đầu vào Nó hoạt động bằng cách áp dụng các kernel lên đầu vào để tạo ra các ma trận ảnh đặc trưng (feature maps) Các tham số chính của lớp tích chập bao gồm:

 Kernel là một ma trận nhỏ (3x3, 5x5 hoặc 7x7) chứa các trọng số học trong quá trình huấn luyện, quét qua ảnh đầu vào tạo ra ma trận ảnh đặc trưng 2D

 Stride: Số bước di chuyển của kernel qua ảnh đầu vào Stride lớn hơn giúp giảm kích thước ma trận ảnh đặc trưng nhưng có thể làm mất thông tin chi tiết Chọn stride phù hợp giúp cân bằng giữa việc giữ lại thông tin chi tiết và giảm

Trang 29

Lớp lấy mẫu:

Lớp lấy mẫu (Pooling Layer) chịu trách nhiệm giảm kích thước không gian của các ma trận ảnh đặc trưng mà vẫn giữ lại các thông tin quan trọng Lớp này hoạt động bằng cách áp dụng một phép toán trên các vùng nhỏ của ma trận ảnh đặc trưng

 Max Pooling: là phương pháp phổ biến nhất, chia ma trận ảnh đặc trưng thành các vùng nhỏ không chồng lấn và chọn giá trị lớn nhất từ mỗi vùng Điều này giúp giảm kích thước không gian và trích xuất các đặc trưng mạnh mẽ nhất, làm cho mô hình nhạy bén hơn với các đặc điểm nổi bật trong dữ liệu ảnh

 Average Pooling: chia ma trận ảnh đặc trưng thành các vùng nhỏ không chồng lấn và tính giá trị trung bình của các phần tử trong mỗi vùng, giúp giữ thông tin tổng quát hơn và làm cho mô hình ổn định hơn trước nhiễu

Lớp kết nối đầy đủ:

Lớp kết nối đầy đủ (Fully Connected Layer) là thành phần quan trọng cuối cùng trong mạng CNN Mỗi nơ-ron trong lớp này kết nối với tất cả các nơ-ron của lớp trước đó, chuyển đổi đầu vào thành một vector phẳng chứa các giá trị từ các ma trận ảnh đặc trưng Lớp kết nối đầy đủ kết hợp các đặc trưng trích xuất từ các lớp trước và đưa ra quyết định cuối cùng, như xác suất của các lớp trong bài toán phân loại ảnh, nâng cao hiệu suất và độ chính xác của CNN

mô hình Một số hàm kích hoạt điển hình:

 Hàm sigmoid biến đổi đầu vào thành giá trị trong khoảng (0, 1) Thường áp dụng trong lớp đầu ra của mô hình phân loại nhị phân Tuy nhiên, hàm này có gradient bị tiêu biến, gây khó khăn cho quá trình học sâu Công thức:

𝜎(𝑥) = 1

1 + 𝑒−𝑥 (2.1)

Trang 30

 Hàm kích hoạt tanh biến đổi đầu vào thành một giá trị nằm trong khoảng (-1, 1) Tương tự như sigmoid, tanh cũng gặp vấn đề với gradient bị tiêu biến nhưng hoạt động tốt hơn trong việc xử lý các giá trị âm và dương Công thức:

16 lớp bao gồm các lớp tích chập và lớp kết nối đầy đủ Lớp đầu vào có kích thước 224x224x3 (ảnh màu RGB), tiếp theo là 13 lớp tích chập sử dụng kernel 3x3 và stride

1, được tổ chức thành 5 khối Mỗi khối được kết thúc bằng lớp Max Pooling 2x2 với stride 2 Sau đó là 3 lớp kết nối đầy đủ, trong đó 2 lớp đầu tiên có 4096 nơ-ron và sử dụng hàm kích hoạt ReLU Lớp cuối cùng là lớp softmax với số lượng nơ-ron tương ứng với số lớp phân loại, thường là 1000 cho bộ dữ liệu ImageNet [8]

2.4.3 Kỹ thuật học chuyển giao

Học chuyển giao (Transfer Learning) tận dụng kiến thức từ các mô hình đã được huấn luyện trên các nhiệm vụ khác với tập dữ liệu lớn hơn Trong học chuyển giao, kiến thức từ mô hình đã được huấn luyện trên nhiệm vụ khác được tận dụng để cải thiện hiệu suất trên nhiệm vụ mới Quá trình này giúp tiết kiệm thời gian, giảm nguy cơ overfitting và tăng khả năng tổng quát hóa của mô hình

Trang 31

 Mô hình được huấn luyện từ trước (Pre-training): Mô hình được huấn luyện trước trên các bộ dữ liệu lớn như ImageNet, với hàng triệu ảnh và hàng ngàn lớp phân loại Các mô hình cơ sở phổ biến như VGG, ResNet, Inception

 Tuỳ chỉnh mô hình (Fine-tuning): Trong giai đoạn này, mô hình được điều chỉnh trên tập dữ liệu mới, thường là một tập nhỏ và chuyên biệt hơn Các lớp đầu tiên của mô hình thường được giữ nguyên, trong khi các lớp cuối cùng được cập nhật để học các đặc trưng cụ thể cho nhiệm vụ mới

 Áp dụng cho nhiệm vụ mới: Bằng cách tận dụng đặc trưng quan trọng đã học

từ giai đoạn tiền huấn luyện và tinh chỉnh theo dữ liệu cụ thể của nhiệm vụ mới, mô hình có khả năng nhận diện và phân loại các đặc trưng một cách hiệu quả hơn trong các ứng dụng thực tế [9]

2.5 PHẦN CỨNG

2.5.1 Bộ điều khiển Arduino

Arduino là một nền tảng mã nguồn mở giúp tạo và lập trình dự án điện tử, gồm

bo mạch vi điều khiển và môi trường phát triển tích hợp (IDE), được sử dụng trong nhiều lĩnh vực từ DIY đến công nghiệp và giáo dục Arduino tương tác với máy tính qua cổng USB Bo mạch chứa các chân I/O để giao tiếp với các thiết bị ngoại vi và các linh kiện khác như bộ dao động thạch anh, bộ ổn áp và các cổng kết nối để cấp nguồn và nạp chương trình [10] Hình 2.1 là các bo mạch Arduino phổ biến lần lượt

là Arduino UNO, Arduino Mega, Arduino Nano

Đề tài sử dụng Arduino UNO R3 làm bộ xử lý trung tâm Arduino UNO là một trong những bo mạch vi điều khiển phổ biến nhất của nền tảng Arduino Nó được thiết kế dựa trên vi điều khiển ATmega328P, một vi điều khiển mạnh mẽ và linh hoạt Các thông số kỹ thuật của Arduino UNO R3 được mô tả như bảng 2.1

Hình 2.1 Các loại Arduino phổ biến

Trang 32

Bảng 2.1 Bảng thông số kỹ thuật của Arduino UNO R3

Vi điều khiển ATmega328P

Bộ nhớ SRAM 2KB, FLASH 32KB, EEPROM 1KB Cổng kết nối USB-B

Số chân I/O kỹ thuật số 14 (6 chân PWM)

Số chân I/O tương tự 6

Điện áp hoạt động 5V

Điện áp đầu vào 7-12V

Dòng điện tiêu thụ trên mỗi chân 20mA

Tần số 16MHz

Sơ đồ chân của Arduino UNO R3 được thể hiện như hình 2.2, có tổng cộng

14 chân đầu vào/ra kỹ thuật số (trong số này có 6 chân có thể làm đầu ra xung PWM,

2 chân Serial dùng giao tiếp UART, 4 chân có thể giao tiếp SPI); có 6 chân đầu vào

là analog với độ phân giải là 10bit, các chân này có thể đọc các giá trị điện áp từ 0 đến 5V và có 2 chân có thể giao tiếp I2C Các chân được sử dụng trong đề tài lần này được liệt kê các chức năng như bảng 2.2

Hình 2.2 Sơ đồ các chân của Arduino UNO R3

Trang 33

Sơ đồ chân của Arduino UNO R3 được thể hiện như hình 2.2, có tổng cộng

14 chân đầu vào/ra kỹ thuật số (trong số này có 6 chân có thể làm đầu ra xung PWM,

2 chân Serial dùng giao tiếp UART, 4 chân có thể giao tiếp SPI); có 6 chân đầu vào

là analog với độ phân giải là 10bit, các chân này có thể đọc các giá trị điện áp từ 0 đến 5V và có 2 chân có thể giao tiếp I2C Các chân được sử dụng trong đề tài lần này được liệt kê các chức năng như bảng 2.2

Bảng 2.2 Bảng chức năng các chân của Arduino UNO R3 sử dụng trong đề tài

Tên chân Kí hiệu chân Chức năng

digital D0 đến D13 Chân đầu vào/ra số, hoạt động ở hai mức điện áp 0V và

5V với các dòng vào/ra tối đa trên mỗi chân là 40 mA

2.5.2 Máy ảnh nhiệt

Máy ảnh nhiệt, hay còn gọi là máy ảnh hồng ngoại, sử dụng công nghệ hồng ngoại để phát hiện và hiển thị nhiệt độ của các vật thể Cảm biến trong máy ảnh nhiệt phát hiện bức xạ hồng ngoại và chuyển đổi thành tín hiệu điện tử, xử lý để tạo ra hình ảnh nhiệt, biểu thị các mức nhiệt độ khác nhau bằng các màu sắc khác nhau [11]

và độ chính xác ±2°C Tốc độ làm mới 8Hz cung cấp hình ảnh nhiệt động liên tục và

Trang 34

góc nhìn rộng cho phép quan sát khu vực rộng lớn hơn trong một lần quét Dung lượng bộ nhớ 16MB đủ lớn để lưu trữ nhiều hình ảnh nhiệt và dữ liệu quan trọng, trong khi kết nối TYPE-C chuẩn và pin tích hợp 3.7V 600mAh mang lại sự tiện lợi

và thời gian sử dụng dài

2.5.3 Động cơ điện

Động cơ điện chuyển đổi năng lượng điện thành năng lượng cơ học để tạo ra chuyển động [12] Động cơ điện có thể được phân loại theo nhiều tiêu chí khác nhau, nếu dựa theo cấu trúc và nguyên lý hoạt động thì động cơ điện có thể phân thành động

cơ servo, động cơ bước và động cơ truyền động trực tiếp Hình 2.4 lần lượt là động

cơ servo, động cơ bước, động cơ truyền động trực tiếp

Trong đề tài này, để di chuyển qua lại và dừng ở một vị trí chính xác, động cơ bước là lựa chọn phù hợp nhất Động cơ bước chia chuyển động quay thành các bước rời rạc, mỗi bước với một lượng độ cố định, cho phép quay một góc chính xác của trục mà chỉ cần đếm số bước mà không cần dùng đến cảm biến [13] Động cơ bước hoạt động dựa trên sự tương tác giữa phần tĩnh và phần quay Khi một cuộn dây trên phần tĩnh được cấp điện, dòng điện chạy qua tạo ra từ trường, làm rotor xoay Bằng cách cấp điện cho các pha của phần tĩnh theo một trình tự nhất định, rotor xoay từng bước nhỏ theo hướng mong muốn Quá trình này tạo ra chuyển động quay liên tục với độ chính xác cao, cho phép điều khiển vị trí và tốc độ hiệu quả

2.5.4 Vít me

Vít me là một cơ cấu truyền động tuyến tính chuyển đổi chuyển động quay của động cơ thành chuyển động thẳng Mục đích chính của trục vít me là sử dụng ren của nó để đẩy đai ốc trục vít me về phía trước và phía sau theo các bước nhỏ, rất chính xác Khi trục vít xoay, đai ốc được gắn vào sẽ chuyển động theo, biến chuyển

Hình 2.4 Các loại động cơ điện phổ biến

Trang 35

động quay thành chuyển động tuyến tính, làm cho vít me trở thành một loại bộ truyền động tuyến tính cơ học Hình 2.5 là hình ảnh trục vít me và con trượt tròn

Hoạt động của vít me dựa trên sự trượt giữa trục vít và các rãnh của đai ốc mà không có vòng bi, dẫn đến ma sát cao và tổn thất năng lượng Ma sát này xảy ra vì trục vít và đai ốc trực tiếp tiếp xúc với nhau trên một diện tích lớn, gây ra sự cản trở chuyển động mượt mà và hiệu quả Tuy nhiên, thiết kế các rãnh đã được cải tiến để giảm thiểu ma sát, nhờ vào các kỹ thuật gia công và chất liệu tiên tiến Vít me thường được làm từ các vật liệu như thép, inox, đồng hoặc nhôm [14]

hỗ trợ quản lý thư viện và bo mạch bên thứ ba một cách dễ dàng Mã được viết trên IDE sau đó được biên dịch thành tệp Hex và tải lên bo mạch Arduino Môi trường IDE bao gồm trình soạn thảo để viết mã và trình biên dịch để biên dịch và tải mã vào

bo mạch Arduino IDE hỗ trợ cả ngôn ngữ lập trình C và C++ [15]

Giao diện của Arduino IDE được thể hiện như hình 2.6, cụ thể là:

1 Vùng công cụ: gồm thanh công cụ (chứa các nút biên dịch, tải lên và mở cửa sổ Serial), menu tùy chọn, kết nối với bo mạch cần nạp chương trình

2 Vùng soạn thảo: đây là vùng viết mã lập trình cho bo mạch

3 Vùng thông báo kết quả đầu ra: chứa cửa sổ kết quả của quá trình biên dịch và cửa sổ Serial

Trang 36

Hình 2.6 Giao diện lập trình chính của Arduino IDE

b Ngôn ngữ lập trình Python

Python là một ngôn ngữ lập trình được sử dụng rộng rãi và phổ biến trong các ứng dụng về lập trình web, các phần mềm, khoa học dữ liệu và máy học [16] Bắt đầu phát triển bởi Guido Van Rossum từ năm 1989 và ra mắt phiên bản đầu tiên vào năm

1991, là một ngôn ngữ lập trình mạnh mẽ với nhiều đặc điểm nổi bật Đầu tiên, Python

là một ngôn ngữ thông dịch, không cần biên dịch trước khi chạy, giúp việc phát triển

và thử nghiệm mã trở nên nhanh chóng Cú pháp rõ ràng và gần gũi với ngôn ngữ tự nhiên làm cho Python trở thành một ngôn ngữ linh hoạt và dễ sử dụng

Hệ sinh thái Python phong phú và đa dạng với nhiều thư viện và framework mạnh mẽ Python có thể lập trình trên nhiều phần mềm và môi trường phát triển khác nhau, từ các trình soạn thảo văn bản đơn giản đến các môi trường phát triển tích hợp (IDE) chuyên nghiệp Python cung cấp một loạt các phần mềm và môi trường phát triển cho lập trình viên, gồm IDLE, PyCharm, Visual Studio Code, Jupyter Notebook

c Visual Studio Code

Visual Studio Code (VS Code) là một trình soạn thảo mã nguồn mở miễn phí

do Microsoft phát triển, được ứng dụng để phát triển trang web, ứng dụng di động và phát triển backend [17] Công cụ gỡ lỗi mạnh mẽ và hỗ trợ Git tích hợp sẵn trong VS Code giúp quản lý mã nguồn hiệu quả VS Code tích hợp tính năng tự động hoàn thành mã và gợi ý mã Nó cũng tích hợp terminal, cho phép thực thi các lệnh trực tiếp trong trình soạn thảo Terminal hỗ trợ nhiều shell khác nhau như Bash, PowerShell

và Command Prompt Một số tiện ích mở rộng phổ biến bao gồm Prettier để định dạng mã tự động, ESLint để kiểm tra và sửa lỗi cú pháp JavaScript và Python để hỗ trợ cho Python với tính năng IntelliSense, debugging và testing

Trang 37

Giao diện cấu trúc phân cấp của VS Code giúp quản lý tệp và thư mục một cách rõ ràng và hiệu quả, qua sidebar hiển thị cấu trúc cây của toàn bộ dự án Hình 2.7 là giao diện của VS Code, các thành phần trong giao diện này gồm:

1 Thanh menu: bao gồm các lệnh để quản lý tệp, chỉnh sửa văn bản, điều chỉnh giao diện, di chuyển trong mã nguồn, quản lý quá trình chạy và gỡ lỗi ứng dụng, cũng như truy cập vào các tài liệu và trợ giúp

2 Thanh công cụ: chứa các biểu tượng để truy cập nhanh vào các tính năng chính quản lý tệp và thư mục, tìm kiếm, quản lý mã nguồn, chạy và gỡ lỗi

và các tiện ích mở rộng khác

3 Thanh bên: hiển thị nội dung của mục được chọn trong Activity Bar

4 Cửa sổ soạn thảo: là nơi viết và chỉnh sửa mã Có thể thao tác nhiều tệp để xem và chỉnh sửa nhiều tệp cùng lúc

5 Cửa sổ đầu ra: là cửa sổ hiển thị kết quả đầu ra của quá trình biên dịch

6 Thanh trạng thái: hiển thị thông tin nhánh Git đang làm việc, thông báo lỗi, định dạng tệp, vị trí con trỏ trong tệp và các chi tiết khác liên quan đến môi trường phát triển của bạn

Hình 2.7 Giao diện lập trình chính của VS Code

2.6.2 Phần mềm thiết kế

a PyQT, QT Designer

PyQT là bộ thư viện để thiết kế các giao diện đồ hoạ người dùng trên máy tính bằng ngôn ngữ lập trình Python PyQT nổi bật hơn các thư viện khác nhờ có đa dạng các widget và bộ công cụ mạnh mẽ, hỗ trợ đa nền tảng, dễ sử dụng PyQT phát triển dựa trên framework Qt hỗ trợ phát triển ứng dụng đa nền tảng Qt cũng cung cấp các công cụ để kết nối mạng, luồng, biểu thức chính quy, cơ sở dữ liệu SQL, SVG,

Trang 38

Để tạo giao diện người dùng trong PyQT, có thể sử dụng QT Designer Qt Designer là một công cụ của Qt cung cấp cho bạn một giao diện người dùng WYSIWYG (What You See Is What You Get) để tạo giao diện GUI cho các ứng dụng PyQt của bạn một cách hiệu quả và nhanh chóng Với công cụ này, bạn có thể tạo giao diện GUI bằng cách kéo và thả các đối tượng QWidget trên một biểu mẫu trống Sau đó, bạn có thể sắp xếp chúng thành một giao diện GUI mạch lạc bằng cách

sử dụng các quản lý bố cục khác nhau

Một số widget phổ biến khi tạo giao diện trong Qt Designer:

- QPushButton: Nút bấm thực hiện lệnh khi nhấn

- QLabel: Hiển thị văn bản hoặc hình ảnh tĩnh

- QLineEdit: Ô nhập một dòng văn bản

- QTextEdit: Ô nhập và chỉnh sửa văn bản đa dòng

- QComboBox: Danh sách thả xuống để chọn một mục

- QCheckBox: Tùy chọn: chọn hoặc bỏ chọn

- QListWidget: Danh sách các mục để chọn

- QTableWidget: Hiển thị dữ liệu dạng bảng

- QProgressBar: Hiển thị tiến trình của một nhiệm vụ

Chuyển đổi nội dung của các tệp ui thành mã Python bằng dòng lệnh pyuic5

đi kèm với PyQt Sau đó, bạn có thể sử dụng mã Python này trong các ứng dụng GUI của mình Bạn cũng có thể đọc trực tiếp các tệp ui và tải nội dung của chúng để tạo

ra giao diện GUI liên quan [19]

b SQLite

SQLite ra đời năm 2000 bởi D Richard Hipp, là một hệ quản trị cơ sở dữ liệu nhẹ, đơn giản Qua nhiều năm, SQLite đã được áp dụng rộng rãi bao gồm trình duyệt web, điện thoại di động và nhiều phần mềm khác Là một thư viện phần mềm cung cấp một hệ quản trị cơ sở dữ liệu quan hệ SQLite sử dụng kiểu dữ liệu động cho các bảng, cho phép bạn lưu trữ bất kỳ giá trị nào trong bất kỳ cột nào, bất kể kiểu dữ liệu

Nó cho phép một kết nối cơ sở dữ liệu duy nhất truy cập nhiều tệp cơ sở dữ liệu đồng thời, mang lại nhiều tính năng hữu ích như kết hợp bảng từ các cơ sở dữ liệu khác nhau hoặc sao chép dữ liệu giữa các cơ sở dữ liệu chỉ với một lệnh SQLite cũng có khả năng tạo ra các cơ sở dữ liệu trong bộ nhớ, giúp tăng tốc độ xử lý [20]

Trang 39

c Solidworks

Trong thời đại công nghệ hiện đại, việc sử dụng máy tính và phần mềm CAD (Computer-Aided Design) đã thay thế việc vẽ bản vẽ kỹ thuật bằng tay SolidWorks, một phần mềm CAD phổ biến do Dassault Systèmes phát triển, đặc biệt được ưa chuộng trong việc thiết kế và mô phỏng sản phẩm 3D [21] Nó cung cấp các công cụ mạnh mẽ cho việc tạo bản vẽ kỹ thuật và thực hiện các phân tích Với giao diện dễ

sử dụng và tính linh hoạt, SolidWorks đóng vai trò quan trọng trong nhiều lĩnh vực,

từ thiết kế sản phẩm đến giáo dục và nghiên cứu Giao diện chính như hình 2.8 của phần mềm SolidWorks gồm bốn phần lớn:

1 Thanh công cụ và menu bao gồm thanh tiêu đề, thanh công cụ chuẩn

và thanh công cụ lệnh, giúp người dùng truy cập các lệnh và công cụ thông dụng

2 Khu vực làm việc chính với cửa sổ đồ họa, nơi hiển thị, tương tác với các mô hình 3D và bản vẽ 2D

3 Công cụ hỗ trợ thiết kế và quản lý bao gồm cây tính năng, bảng thuộc tính và trình duyệt tác vụ, hỗ trợ người dùng quản lý và điều chỉnh các đối tượng, tài nguyên

4 Thanh trạng thái và phím tắt cung cấp thông tin trạng thái hiện tại và truy cập nhanh đến các công cụ thường dùng

Hình 2.8 Giao diện chính của SolidWorks

Trang 40

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG

Chương này tập trung vào việc tính toán và thiết kế hệ thống bao gồm các bước từ thiết kế sơ đồ khối, tính toán chi tiết cho từng khối đến việc vẽ bản thiết kế hoàn chỉnh Đầu tiên, chương này sẽ trình bày sơ đồ khối của hệ thống, mô tả chức năng của từng khối và cách các khối này tương tác với nhau Tiếp theo, tiến hành tính toán và thiết kế chi tiết cho từng khối, xác định các linh kiện cần thiết cùng với thông

số kỹ thuật và cách kết nối giữa chúng Sau đó, sơ đồ nguyên lý toàn mạch và sơ đồ kết nối sẽ được xây dựng để thể hiện mối quan hệ giữa các thành phần trong hệ thống Cuối cùng, bản vẽ thiết kế cho hộp cố định máy ảnh và mô hình thu thập hình ảnh nhiệt bàn chân

3.1 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG

3.1.1 Thiết kế sơ đồ khối hệ thống

Hình 3.1 Sơ đồ khối hệ thống

Hình 3.1 là sơ đồ khối của hệ thống bao gồm các khối như: khối nguồn, khối

xử lý trung tâm, khối chụp ảnh, khối điều khiển cơ, khối giao tiếp người dùng, khối

cơ sở dữ liệu Chức năng của các khối như sau:

- Khối xử lý trung tâm: Khối này có chức năng nhận tín hiệu từ khối giao tiếp người dùng gửi về, kiểm tra dữ liệu đó và đưa ra quyết định, điều khiển hoạt động của khối chụp ảnh và khối điều khiển cơ

Ngày đăng: 19/12/2024, 11:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w