Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 35

BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI

TRƯỜNG CAO ĐẲNG NGHỀ BÁCH KHOA HÀ NỘI


KHOA ĐIỆN TỬ VIỄN THÔNG
--------

ĐỒ ÁN TỐT NGHIỆP

Đề tài: PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC


BẰNG ROBOT 5 BẬC TỰ DO

Giảng viên hướng dẫn: ThS. Nguyễn Minh Đức

Sinh viên thực hiện: Nguyễn Văn Giáp – MSSV: CD213515


Phạm Thế Mạnh – MSSV: CD213544
Lê Hồng Anh – MSSV: CD213222

Hà Nội, ngày 16 tháng 07 năm 2024


MỤC LỤC
CHƯƠNG 1: NGHIÊN CỨU VÀ KHẢO SÁT ĐỀ TÀI.....................................................4
I. Nghiên cứu, tìm hiểu và lựa chọn đề tài:......................................................................4
1. Hệ thống phân loại sản phẩm....................................................................................4
2. Ngữ cảnh, lý do lựa chọn và tầm quan trọng của đề tài.........................................6
II. Yêu cầu kĩ thuật............................................................................................................7
1. Yêu cầu kĩ thuật.........................................................................................................7
2. Yêu cầu chức năng.....................................................................................................7
III. Ưu nhược điểm của sản phẩm, hướng thực hiện đề tài và ứng dụng của sản
phẩm....................................................................................................................................7
1. Ưu nhược điểm của hệ thống phân loại tự động...................................................7
2. Hướng thực hiện đề tài............................................................................................8
3. Ứng dụng của sản phẩm:........................................................................................9
IV. Lập kế hoạch................................................................................................................9
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG PHÂN LOẠI SẢN PHẨM................................10
I. Các linh kiện sử dụng trong hệ thống phân loại sản phẩm theo màu sắc:..............10
1. Arduino Nano:.........................................................................................................10
2. Vi điều khiển ESP32.................................................................................................12
3. Mạch điều khiển 16 Chanel PWM PCA9685........................................................13
4. Module điều khiển động cơ L298............................................................................14
5. Cảm biến khoảng cách E18-D80NK....................................................................14
6. Băng tải (Conveyor Belt):........................................................................................15
7. Khung băng tải (Conveyor Frame):.......................................................................15
8. Động cơ (Motor):......................................................................................................15
9. Bộ giảm tốc (Gearbox):............................................................................................15
10. Bộ căng băng (Tensioning Device):......................................................................15
11. Con lăn dẫn hướng (Guiding Rollers):.................................................................15
12. Thanh chắn (Skirting Rubber):............................................................................15
II. Khối, mạch điều khiển trong hệ thống băng tải.......................................................16
1. Khối điều khiển trung tâm....................................................................................16
2. Khối điều khiển PWM...........................................................................................17
3. Khối nhận tín hiệu.................................................................................................17
4. Mạch điểu khiển băng tải......................................................................................18
5. Khối nguồn.............................................................................................................18
6. Khối điều khiển trung tâm....................................................................................18
7. Khối cảm biến........................................................................................................19

1
8. Khối thả hàng.........................................................................................................19
9. Khối điều khiển băng tải.......................................................................................19
10. Khối truyền tín hiệu...........................................................................................20
11. Mạch điều khiển tải được thiết kế bằng phần mềm Altium..........................20
12. Mạch in sau khi hoàn thành thiết kế...................................................................20
13. Hình ảnh sản phẩm sau khi thiết kế:...................................................................21
III. Giới thiệu về LabVIEW trong Báo cáo Đồ án Phân loại Sản phẩm theo Màu sắc
bằng Xử lý Ảnh.................................................................................................................21
1. Giới thiệu về LabVIEW...........................................................................................21
2. Ứng dụng của LabVIEW trong dự án phân loại sản phẩm theo màu sắc..........21
3. Ưu điểm của việc sử dụng LabVIEW.....................................................................23
4. Kết luận.....................................................................................................................24
CHƯƠNG 3. KẾT LUẬN, CODE ĐIỀU KHIỂN VÀ TÀI LIỆU THAM KHẢO........24
I. Kết luận.........................................................................................................................24
1. Những nhiệm vụ đã thực hiện:................................................................................24
2. Những thuận lợi và khó khăn khi thực hiện đề tài:..............................................24
II. Code điều khiển...........................................................................................................24
III. Tài liệu tham khảo....................................................................................................32

2
LỜI MỞ ĐẦU

Ngày nay, ngành kĩ thuật điện tử là ngành kĩ thuật mũi nhọn, hiện đại,
là đòn bẩy để giúp các ngành khoa học kỹ thuật khác phát triển, chính
vì thế nó được ứng dụng rộng rãi trong mọi lĩnh vực sản xuất và đời
sống xã hội.
Và đối với ngành Điện tử công nghiệp là ngành, nghề mà người hành
nghề thực hiện lắp đặt, bảo trì, bảo dưỡng, vận hành các thiết bị điện,
điện tử, thiết bị điều khiển của các hệ thống công nghiệp, hệ thống
giám sát an ninh, cảnh báo an toàn, hệ thống truyền thông công
nghiệp, hệ thống điện mặt trời, đáp ứng yêu cầu bậc 5 trong Khung
trình độ quốc gia Việt Nam. Người hành nghề Điện tử Công nghiệp
thường làm việc trong môi trường công nghiệp như: nhà máy, xí
nghiệp, khu chế xuât, các tòa nhà cao tầng.
Ý thức được tầm quan trọng của ngành Điện tử công nghiệp nên vì
vậy đòi hỏi người hành nghề phải có kĩ năng tư duy nhạy bén của
mình, năng động, đam mê tìm tòi học hỏi và thức thời với các công
nghệ mới tiên tiến trên thế giới.
Ngoài ra người học Điện tử công nghiệp cùng cần có khả năng làm
việc độc lập, tổ chức làm việc nhóm, có đạo đức lương tâm nghề
nghiệp, tác phong công nghiệp, thực hành tiết kiệm năng lượng, bảo
vệ môi trường. Ngành này mang tính phủ sóng diện rộng nên chịu ảnh
hưởng từ các yếu tố ngoại tác động rất nhiều, người kỹ sư điện tử –
viễn thông cần kiên trì, nhẫn nại và có tinh thần vững vàng để ứng
phó trước các sự cố hệ thống.

3
Hơn hết, để thành công trong bất kỳ lĩnh vực nào, người học cần có
đam mê thật sự, có mục tiêu phấn đấu và sự quyết tâm theo đuổi công
việc học tập, nghiên cứu phát triển trong dài hạn.
Trong quá trình thực hiện đề tài này, chúng em đã luôn dành thời gian
để nghiên cứu, tìm tòi và luôn trau dồi kiến thức để sản phẩm của
chúng em thuyết trình giới thiệu tới các thầy một cách chi tiết và đầy
đủ, một cách hoàn thiện về đồ án của chúng em. Và trong quá trình
chúng em báo cáo, bảo vệ đồ án có những sai sót, rất mong được các
thầy cô góp ý thêm để cho sản phẩm chúng em đi đến sự tối ưu và
hoàn thiện nhất.

Chúng em xin chân thành cảm


ơn!

4
LỜI CẢM ƠN
Thời gian 3 năm theo học tại trường có lẽ không phải là thời gian
quá dài nhưng cũng sẽ không phải là thời gian quá ngắn đối với
chúng em. Thời gian như dòng chảy mà ngày nhập học đầu tiên
với chúng em mới như ngày hôm qua. Trong suốt quá trình học
tập chúng em đã học được rất nhiều điều bổ ích, những giá trị kiến
thức được truyền tải từ các thầy cô. Từ những cậu tân sinh viên,
chúng em bây giờ sắp kết thúc chương trình học của mình tại đây.
Chúng em xin chân thành cảm ơn nhà trường và các thầy cô trong
khoa đã tạo điều kiện cho chúng em được học tập không ngừng,
truyền dạy những kiến thức bổ ích để sau này chúng em có thể
trưởng thành vững bước ra ngoài lập nghiệp để tự hào khẳng định
bản thân mình là những chàng kỹ sư, kỹ thuật viên vững chắc
chuyên môn của trường Cao Đẳng Nghề Bách Khoa.
Cuối cùng, nhóm chúng em xin gửi lời cảm ơn chân thành và sâu
sắc tới Thầy Th.s Nguyễn Minh Đức – người hướng dẫn chúng
em. Cảm ơn thầy đã hết sức tận tình, tạo nhiều điều kiện tốt nhất
để chúng em có thể hoàn thành đề tài này thuận lợi.

Chúng em xin chân thành cảm ơn!

5
CHƯƠNG 1: NGHIÊN CỨU VÀ KHẢO SÁT ĐỀ TÀI

I. Nghiên cứu, tìm hiểu và lựa chọn đề tài:


1. Hệ thống phân loại sản phẩm

Là một hệ thống tự động sử dụng các cảm biến và thiết bị máy móc để phân loại
sản phẩm theo các tiêu chí khác nhau, chẳng hạn như kích thước, trọng lượng,
màu sắc, hình dạng,v.v..
Hệ thống phân loại sản phẩm không chỉ giúp mọi người dễ dàng xác định và chọn
lựa sản phẩm một cách thuận lợi, mà còn đóng vai trò quan trọng trong quản lý và
phân phối hàng hóa cho doanh nghiệp.
Sau đây là các hệ thống phân loại sản phẩm phổ biến nhất 2024

Theo mã vạch

Hệ thống phân loại sản phẩm theo mã vạch Barcode hoặc mã QR giúp lựa chọn
sản phẩm dựa trên thông tin chi tiết như lô - ngày sản xuất, model. Đây là phương
pháp phổ biến được sử dụng trong việc phân loại kiện hàng, bưu phẩm, sản phẩm
được đóng thùng carton, túi, và gắn mã vạch barcode, mã QR. Hệ thống phân loại
tự động này có hiệu suất cao gấp 3-5 lần so với cách quét mã vạch áp dụng
phương pháp thủ công, với khả năng đạt 10.000 sản phẩm/giờ.

6
Theo khối lượng

Hệ thống phân loại sản phẩm phân loại theo khối lượng áp dụng cho các ngành
thực phẩm, thủy hải sản, nông sản, để đảm bảo chất lượng và kích thước sản
phẩm.
Theo màu sắc

Hệ thống phân loại sản phẩm theo màu sắc sử dụng công nghệ vision và
camera, phù hợp cho ngành nông nghiệp, thực phẩm, dầu, và nhiều ngành khác.
Sử dụng camera độ phân giải cao kiểm tra sản phẩm, công nghệ vision xử lý ảnh,
với năng suất từ 0.8-1.5 tấn/giờ, đặc biệt đảm bảo xác suất chính xác > 99%.
Theo kích thước

7
Phân loại sản phẩm dựa trên kích thước, đặc biệt hiệu quả trong các ngành thực
phẩm, nông sản, và trái cây, với độ chính xác cao, hoạt động ổn định, và năng
suất 3-5 tấn/giờ, tương đương 1000-1100 sản phẩm/phút.

2. Ngữ cảnh, lý do lựa chọn và tầm quan trọng của đề tài:


- Ý tưởng đề tài
Trong bối cảnh công nghiệp hóa và hiện đại hóa ngày càng phát triển, nhu cầu
tối ưu hóa quy trình sản xuất và logistics trở nên cấp thiết hơn bao giờ hết. Các
doanh nghiệp đang tìm kiếm những giải pháp tự động hóa để nâng cao hiệu suất,
giảm chi phí nhân công và tăng tính cạnh tranh trên thị trường. Hệ thống băng
tải, với khả năng vận chuyển hàng hóa một cách nhanh chóng, chính xác và liên
tục, đang dần trở thành một phần không thể thiếu trong nhiều ngành công
nghiệp, từ sản xuất, chế biến thực phẩm, dược phẩm đến logistics và khai thác.
- Mô tả sản phẩm
Băng tải công nghiệp là hệ thống vận chuyển tự động, bao gồm một băng
chuyền hoặc các con lăn được điều khiển bởi động cơ, sử dụng để di chuyển các
sản phẩm hoặc nguyên vật liệu từ một điểm đến điểm khác trong quá trình sản
xuất hoặc logistics.

8
Băng tải là một thiết bị cơ khí quan trọng được sử dụng rộng rãi trong nhiều
ngành công nghiệp nhằm tăng hiệu suất và giảm chi phí vận hành. Chúng giúp di
chuyển nguyên liệu, hàng hóa một cách nhanh chóng và hiệu quả, đồng thời tối
ưu hóa quy trình sản xuất và logistics. Là một phần quan trọng trong việc tự động
hóa các quy trình công nghiệp, giúp tối ưu hóa hiệu quả và giảm chi phí. Sự phát
triển của công nghệ mới tiếp tục mở ra nhiều cơ hội cải tiến và ứng dụng cho hệ
thống băng tải trong tương lai.
Băng tải không chỉ giúp tối ưu hóa quy trình sản xuất và vận chuyển trong công
nghiệp mà còn có những ứng dụng thiết thực và đa dạng trong cuộc sống hàng
ngày. Việc sử dụng băng tải giúp tăng hiệu quả, tiết kiệm thời gian và chi phí,
đồng thời cải thiện độ an toàn và chất lượng trong nhiều lĩnh vực khác nhau.

II. Yêu cầu kĩ thuật


1. Yêu cầu kĩ thuật

- Sắp xếp linh kiện hợp lý...


- Các mối hàn gọn, sáng sủa, không bị bong chóc...
- Mạch nhỏ gọn, tiện lợi, dễ sử dụng.
- Vật liệu sử dụng chắc chắn, đảm bảo an toàn.
- Đi dây gọn gàng tránh thừa ra ngoài.
2. Yêu cầu chức năng

- Thiết bị chạy ổn định.


- Phần cứng không bị quá nóng, bị chập...
- Ít phát sinh lỗi vặt trong quá trính sử dụng.

9
- Vận hành dễ dạng, tiện lợi.
- Hệ thống chắc chắn và bền bỉ.
III. Ưu nhược điểm của sản phẩm, hướng thực hiện đề tài và ứng
dụng của sản phẩm
1. Ưu nhược điểm của hệ thống phân loại tự động
1.1. Ưu điểm
Ưu điểm của hệ thống phân loại sản phẩm tự động bao gồm:

 Tăng cường tốc độ phân loại và chia chọn sản phẩm.


 Hệ thống phân loại sản phẩm đảm bảo phân loại chính xác, giảm thời
gian tìm kiếm đơn hàng.
 Giảm sự phụ thuộc vào lao động, đồng thời tăng năng suất và giảm chi
phí sản xuất.
 Tỷ lệ sai sót thấp, đồng nghĩa với việc cải thiện chất lượng dịch vụ.
 Kích thước nhỏ gọn, giúp tối ưu hóa không gian nhà kho.
 Hoạt động liên tục mà không bị gián đoạn, không phụ thuộc vào số
lượng ca làm việc và khả năng của nhân viên.
 Giảm rủi ro tai nạn và vấn đề về sức khỏe, tạo điều kiện làm việc an toàn
hơn cho nhân viên kho và tài xế.
 Theo dõi chính xác lượng hàng tồn kho, ngăn chặn tình trạng thiếu hụt
hoặc tồn kho quá mức, và giảm lỗi do thời gian.
 Không sử dụng giấy tờ, giúp tối ưu hóa quy trình và giảm rủi ro mất
thông tin.
 Linh hoạt trong ứng dụng, có thể điều chỉnh phù hợp với các yêu cầu về
không gian lắp đặt, diện tích nhà xưởng, và nhu cầu cụ thể của từng
khách hàng.
 Hệ thống phân loại sản phẩm tự động giúp mang lại lợi ích lâu dài
cho doanh nghiệp.
1.2. Nhược điểm

- Chưa khai thác hết các tính năng.


- Vẫn còn độ trễ nhất định
- Nhiễu do kết nối và nhiễu do linh kiện

10
2. Hướng thực hiện đề tài

- Đề tải cơ bản đáp ứng được những yêu cầu đặt ra tuy nhiên để sản phẩm
hoàn thiện được hơn nữa thì đòi hỏi cần được cải tiến và nghiên cứu thêm.

- Ngoài những gì mà em tìm hiểu được, có thể phát triển hơn nữa đề tài
điều khiển cánh tay robot gắp sản phẩm trên băng chuyền thành nhiều
phiên bản hơn nữa, ví như cánh tay robot gắp và phân loại sản phẩm theo
kích thước, màu hoặc nhiệt độ.

- Ngoài ra đề tài này có thể phát triển thành cánh tay robot dùng để gắp
linh kiện, hay hàn, cắt hay khoan, hoặc là cánh tay robot tự động vẽ theo
mẫu có sẵn...

- Ngoài những hướng phát triển mà em nghĩ mình có khả năng có thể làm
được trong tương lai với lượng kiến thức đã nghiên cứu, và cần phải tìm hiểu
hơn. Vì Robot phát triển đa dạng nên mong thầy có thể bổ sung và hướng
dẫn em nhiều hơn nữa.

3. Ứng dụng của sản phẩm:

Nghiên cứu về cấu tạo và các phương pháp điều khiển của hệ thống phân
loại sản phẩm theo màu sắc, xây dựng những giải pháp phần cứng cũng như
phần mềm để chế tạo bộ diều khiển hệ thống phân loại sản phẩm theo màu
sắc nhằm áp dụng trong việc giảng dạy và học tập tại trường Cao đẳng nghề
Bách Khoa Hà Nội.
Ngoài ra, việc nghiên cứu và khảo sát hệ thống phân loại sản phẩm theo
màu sắc còn đóng vai trò quan trọng trong việc phát triển công nghệ và đổi
mới sản xuất, góp phần vào sự nghiên cứu khoa học và ứng dụng công nghệ
cao trong đời sống sản xuất hàng ngày.

IV. Lập kế hoạch

BẢNG 1: Phân công công việc


11
STT Tên công việc Mục tiêu công việc Người thực hiện

1 Chọn đề tài, -Phân tích từng đề tài, đưa ra lựa Lê Hồng Anh
nên ý tưởng chọn thích hợp cho nhóm. => Nên ý Nguyễn Văn Giáp
tưởng sơ bộ Phạm Thế Mạnh

2 Lập kế hoạch -Lên lịch thực hiện, phân công công Lê Hồng Anh
thực hiện việc cho các thành viên.
3 Mô tả đề tài -Đưa ra mô tả về đề tài cũng như các Nguyễn Văn Giáp
ứng dụng của đề tài
4 Đưa ra yêu -Đưa ra yêu cầu mà đề tài đặt ra Phạm Thế Mạnh
cầu bài toán gồm: yêu cầu chức năng và kĩ thuật.

5 Thiết kế sơ đồ -Vẽ sơ đồ khối và sơ đồ chi tiết của Phạm Thế Mạnh


khối và sơ đồ từng khối Nguyễn Văn Giáp
chi tiết -Nguyên lý hoạt động của từng khối Lê Hồng Anh
Lựa chọn linh kiện phù hợp
6 Ước tính chi -Ước tính chi phí: linh kiện + hoạt Lê Hồng Anh
phí +mua linh động khác Nguyễn Văn Giáp
kiện Mua linh kiện Phạm Thế Mạnh

7 Họp bàn -Tập hợp công việc của các thành Lê Hồng Anh
thống nhất, viên. Nguyễn Văn Giáp
viết bản word -Bắt đầu viết báo cáo bản word Phạm Thế Mạnh
8 Làm mạch -Vẽ mạch in Phạm Thế Mạnh
-Hàn mạch Nguyễn Văn Giáp
-Test mạch
9 Hoàn thiện -Test sản phẩm Lê Hồng Anh
sản phẩm Nguyễn Văn Giáp
Phạm Thế Mạnh

CHƯƠNG 2: THIẾT KẾ HỆ THỐNG PHÂN LOẠI SẢN


PHẨM
I. Các linh kiện sử dụng trong hệ thống phân loại sản phẩm theo
màu sắc:
1. Arduino Nano:

12
Arduino Nano là một bảng vi điều khiển thân thiện, nhỏ gọn, đầy đủ. Arduino
Nano nặng khoảng 7g với kích thước từ 1,8cm - 4,5cm.

1.1. Thông số kỹ thuật:


Arduino Nano Thông số kỹ thuật
Số chân analog I/O 8
Cấu trúc AVR
Tốc độ xung 16 MHz
Dòng tiêu thụ I/O 40mA
Số chân Digital I/O 22
Bộ nhớ EEPROM 1KB
Bộ nhớ Flash 32 KB of which 2 KB used by
Bootloader
Điện áp ngõ vào (7-12) Volts
Vi điều khiển ATmega328P
Điện áp hoạt động 5V
Kích thước bo mạch 18 x 45 mm
Nguồn tiêu thụ 19mA
Ngõ ra PWM 6
SRAM 2KB
Cân nặng 7 gms

13
Sơ đồ chân

2. Vi điều khiển ESP32

ESP32 là một hệ thống vi điều khiển trên chip (SoC) giá


rẻ của Espressif Systems, nhà phát triển của ESP8266
SoC. Nó là sự kế thừa của SoC ESP8266 và có cả hai
biến thể lõi đơn và lõi kép của bộ vi xử lý 32-bit Xtensa
LX6 của Tensilica với Wi-Fi và Bluetooth tích hợp.

Điểm tốt về ESP32, giống như ESP8266 là các thành phần RF tích hợp của nó
như bộ khuếch đại công suất, bộ khuếch đại nhận tiếng ồn thấp, công tắc ăng-ten,
bộ lọc và Balun RF. Điều này làm cho việc thiết kế phần cứng xung quanh ESP32
rất dễ dàng vì bạn cần rất ít thành phần bên ngoài.

Một điều quan trọng khác cần biết về ESP32 là nó được sản xuất bằng công nghệ
40 nm công suất cực thấp của TSMC. Vì vậy, việc thiết kế các ứng dụng hoạt
động bằng pin như thiết bị đeo, thiết bị âm thanh, đồng hồ thông minh, ..., sử
dụng ESP32 sẽ rất dễ dàng.

2.1 Thông số kỹ thuật của ESP32


ESP32 có nhiều tính năng hơn ESP8266 và rất khó để đưa tất cả các thông số kỹ
thuật vào bài này. Vì vậy, chúng em đã lập danh sách một số thông số kỹ thuật

14
quan trọng của ESP32 tại đây. Nhưng để có bộ thông số kỹ thuật hoàn chỉnh, bạn
nên tham khảo datasheet.

Bộ vi xử lý LX6 32-bit lõi đơn hoặc lõi kép với xung nhịp lên đến 240 MHz.
520 KB SRAM, 448 KB ROM và 16 KB SRAM RTC.
Hỗ trợ kết nối Wi-Fi 802.11 b / g / n với tốc độ lên đến 150 Mbps.
Hỗ trợ cho cả thông số kỹ thuật Bluetooth v4.2 và BLE cổ điển.
34 GPIO có thể lập trình.
18 kênh SAR ADC 12 bit và 2 kênh DAC 8 bit
Kết nối nối tiếp bao gồm 4 x SPI, 2 x I2C, 2 x I2S, 3 x UART.
Ethernet MAC cho giao tiếp mạng LAN vật lý (yêu cầu PHY bên ngoài).
1 bộ điều khiển host cho SD / SDIO / MMC và 1 bộ điều khiển slave cho SDIO /
SPI.
Động cơ PWM và 16 kênh LED PWM.
Khởi động an toàn và mã hóa Flash.
Tăng tốc phần cứng mật mã cho AES, Hash (SHA-2), RSA, ECC và RNG.

3. Mạch điều khiển 16 Chanel PWM PCA9685

+ PCA9685 được sử dụng để có thể xuất ra


đồng thời 16 xung PWM từ 16 cổng khác
nhau
+ Phù hợp cho các nhu cầu cần điều khiển
nhiều xung PWM như Robot cánh tay
máy, Robot nhện,...
+ Mạch điều khiển 16 Chanel PWM
PCA9685 có cấu trúc phần cứng phần
cứng đơn giản cũng như bộ thư viện có sẵn trên Arduino, rất dễ dàng sử dụng và
kết nối.

- Thông số kỹ thuật của PCA9685


 Mạch điều khiển 16 Chanel PWM PCA9685
 IC chính: PCA9685
 Điện áp sử dụng: 2.3 ~ 5.5VDC.
 Số kênh PWM: 16 kênh, tần số: 40~1000Hz
 Độ phân giải PWM: 12bit.
 Giao tiếp: I2C (chấp nhận mức Logic TTL 3 ~ 5VDC)
 Kích thước: 62.5mm x 25.4mm x 3mm

4. Module điều khiển động cơ L298

15
Mạch điều khiển động cơ L298 DC Motor Driver có khả năng điều khiển 2 động
cơ DC, dòng tối đa 2A mỗi động cơ, mạch tích hợp diod bảo vệ và IC nguồn
7805 giúp cấp nguồn 5VDC cho các module khác (lưu ý chỉ sử dụng nguồn 5V
này nếu nguồn cấp VCC < 12VDC).

Thông số kỹ thuật:
 IC chính: L298
 Điện áp hoạt động: 5~30VDC
 Công suất tối đa: 25W 1 cầu (lưu ý công suất = dòng điện x điện áp nên
áp cấp vào càng cao, dòng càng nhỏ, công suất có định 25W).
 Dòng tối đa cho mỗi cầu H là: 2A
 Mức điện áp logic: Low -0.3V~1.5V, High: 2.3V~Vss
 Kích thước: 43x43x27mm

5. Cảm biến khoảng cách E18-D80NK

Cảm biến vật cản hồng ngoại E18-D80NK dùng ánh


sáng hồng ngoại để xác định khoảng cách tới vật cản
cho độ phản hồi nhanh và rất ít nhiễu do sử dụng mắt
nhận và phát tia hồng ngoại theo tần số riêng biệt. Cảm
biến hồng ngoại E18-D80NK có thể chỉnh khoảng cách
báo mong muốn thông qua biến trở.

Thông số kỹ thuật cảm biến vật cản hồng ngoại:

 Nguồn điện cung cấp: 5VDC.


 Khoảng cách phát hiện: 3 ~ 80cm.
 Có thể điều chỉnh khoảng cách qua biến trở.
 Dòng kích ngõ ra: 300mA.
 Ngõ ra dạng NPN cực thu hở giúp tùy biến được điện áp ngõ ra, trở treo
lên áp bao nhiêu sẽ tạo thành điện áp ngõ ra bấy nhiêu.
 Chất liệu sản phẩm: nhựa.
 Có led hiển thị ngõ ra màu đỏ.
 Kích thước: 1.8cm (D) x 7.0cm (L).

Sơ đồ kết nối

16
6. Băng tải (Conveyor Belt): Là thành phần chính của hệ thống, được làm từ các
vật liệu như cao su, PVC, PU, hoặc kim loại.

7. Khung băng tải (Conveyor Frame): Cấu trúc đỡ toàn bộ hệ thống, thường
làm bằng thép, nhôm hoặc inox.

8. Động cơ (Motor): Cung cấp năng lượng để vận hành băng tải, thường là động
cơ điện hoặc động cơ thủy lực.

9. Bộ giảm tốc (Gearbox): Giảm tốc độ quay của động cơ để phù hợp với tốc độ
di chuyển của băng tải.

10. Bộ căng băng (Tensioning Device): Duy trì độ căng phù hợp cho băng tải để
tránh trượt hoặc lỏng.

11. Con lăn dẫn hướng (Guiding Rollers): Đảm bảo băng tải luôn đi đúng
hướng và không bị lệch.

12. Thanh chắn (Skirting Rubber): Giúp giữ hàng hóa không bị rơi ra ngoài
trong quá trình vận chuyển. Mỗi linh kiện trên đóng một vai trò quan trọng trong
việc đảm bảo hệ thống băng tải hoạt động hiệu quả và bền bỉ. Việc lựa chọn và
bảo trì các linh kiện này cần phải được thực hiện cẩn thận để tránh gián đoạn
trong quá trình sản xuất.

II. Khối, mạch điều khiển trong hệ thống băng tải

Mạch điểu khiển tay robot 5 bậc

17
Chức năng chính của mạch điểu khiển tay robot 5 bậc là điểu khiển tay robot gắp
vật từ băng tải và thả vào vị trí đã thiết lập

Sơ đồ nguyên lý mạch điểu khiển tay robot 5 bậc

1. Khối điều khiển trung tâm

Khối điểu khiển nhận tín hiệu từ đầu vào và bật đèn led rồi truyền tín hiệu
tới khối điều khiển PWM thông qua giao thức I2C, từ đó điều khiển các động cơ
servo của tay robot.

Sơ đồ nguyên lý mạch điều khiển

2. Khối điều khiển PWM

18
Khối điều khiển PWM dùng để điều khiển nhiều servo motor thông qua giao tiếp
I2C với vi điều khiển.

Sơ đồ nguyên lý mạch điều khiển PWM

3. Khối nhận tín hiệu

Khối nhận tín hiệu nhận tín hiệu 5V chuyển đổi ra điện áp 3.3V từ mạch điểu
khiển băng tải sau đó chuẩn hóa các tín hiệu này để truyền đến khối điều khiển.

Sơ đồ mạch nguyên lý mạch nhận tín hiệu

19
4.Mạch điểu khiển băng tải

Chức năng chính là điều khiển hệ thống băng tải và các cảm biến khoảng cách để
dừng băng tải lại và servo để thả hàng.

Sơ đồ nguyên lý mạch điểu khiển băng tải

5. Khối nguồn

Cung cấp nguồn cho khối điều khiển trung tâm , các cảm biến, băng tải và
servo.

Sơ đồ nguyên lý khối nguồn

6. Khối điều khiển trung tâm

Chức năng chính là nhận các tín hiệu từ cảm biến để điều khiển băng tải và servo
rồi truyền đến mạch điều khiển tay robot 5 bậc.

Sơ đồ nguyên lý mạch điều khiển trung tâm

20
7. Khối cảm biến

Tác dụng chính của khối ra truyền tín hiệu từ cảm biến đến khối điều khiển trung
tâm để dừng băng tải.

Sơ đồ nguyên lý khối cảm biến

8. Khối thả hàng

Tác dụng chính của khối thả hàng là nhận tín hiệu từ khối điều khiển trung tâm
truyền đến servo làm cho servo quay để thả hàng ra băng tải.

Sơ đồ nguyên lý khối thả hàng

9. Khối điều khiển băng tải

Tác dụng chính của khối là truyền tín hiệu từ khối điều khiển trung tâm truyền
đến module L298 làm cho băng tải chạy.

Sơ đồ nguyên lý khối điều khiển băng tải

21
10.Khối truyền tín hiệu

Tác dụng chính của khối truyền tín hiệu là truyền tín hiệu từ khối điều khiển
trung tấm đến mạch điều khiển tay robot 5 bậc

Sơ đồ nguyên lý khối truyền tín hiệu

11. Mạch điều khiển tải được thiết kế bằng phần mềm Altium.

Mạch in sau khi hoàn thành thiết kế

22
Hình ảnh sản phẩm sau khi thiết kế:

III. Giới thiệu về LabVIEW trong Báo cáo Đồ án Phân loại Sản
phẩm theo Màu sắc bằng Xử lý Ảnh
1. Giới thiệu về LabVIEW

LabVIEW (Laboratory Virtual Instrument Engineering Workbench) là một môi


trường lập trình đồ họa được phát triển bởi National Instruments, thiết kế để hỗ
trợ việc thu thập dữ liệu, điều khiển và tự động hóa các hệ thống đo lường và điều
khiển. LabVIEW sử dụng ngôn ngữ lập trình đồ họa G, cho phép người dùng thiết
kế và triển khai các ứng dụng một cách trực quan thông qua các biểu đồ khối.

Các tính năng nổi bật của LabVIEW:

- Giao diện trực quan: Giúp lập trình viên dễ dàng tạo ra các ứng dụng
bằng cách kéo và thả các khối chức năng.
- Tích hợp phần cứng: Hỗ trợ kết nối và giao tiếp với nhiều thiết bị và
phần cứng đo lường như cảm biến, bộ chuyển đổi tín hiệu, camera, và các
thiết bị điều khiển khác.
- Xử lý dữ liệu mạnh mẽ: Khả năng thu thập, phân tích và xử lý dữ liệu
với các thư viện và hàm phong phú.
- Đa nền tảng: Hỗ trợ nhiều hệ điều hành như Windows, macOS, và
Linux.
- Khả năng mở rộng: Cho phép người dùng phát triển các ứng dụng phức
tạp và tùy chỉnh theo nhu cầu cụ thể.

2. Ứng dụng của LabVIEW trong dự án phân loại sản phẩm theo màu sắc

Trong dự án này, LabVIEW được sử dụng để thiết kế và triển khai hệ thống phân
loại sản phẩm theo màu sắc dựa trên xử lý ảnh. Các bước chính bao gồm:

23
2.1. Thu thập và tiền xử lý dữ liệu

Kết nối camera:

 LabVIEW cung cấp các công cụ và driver hỗ trợ kết nối với các loại
camera công nghiệp thông qua các giao thức như USB, GigE, và Camera
Link.
Ví dụ: Sử dụng giao thức GigE Vision để kết nối với một camera công nghiệp
cho phép chụp ảnh với độ phân giải cao và tốc độ chụp nhanh.

Chụp và lưu trữ hình ảnh:

 Dữ liệu hình ảnh từ camera sẽ được chụp và lưu trữ dưới dạng các tệp hình
ảnh hoặc trong bộ nhớ để phục vụ cho quá trình xử lý tiếp theo.
Ví dụ: Sử dụng các hàm của LabVIEW để chụp ảnh liên tục từ camera và lưu trữ
vào bộ nhớ đệm trước khi tiến hành xử lý.
2.2. Xử lý hình ảnh

Chuyển đổi không gian màu:

 Sử dụng các hàm xử lý ảnh của LabVIEW để chuyển đổi hình ảnh từ
không gian màu RGB sang các không gian màu khác như HSV (Hue,
Saturation, Value), giúp việc phân tích màu sắc trở nên dễ dàng hơn.
Ví dụ: Sử dụng hàm IMAQ ColorSpaceConversion để chuyển đổi hình ảnh từ
RGB sang HSV.

Phân đoạn hình ảnh:

 Áp dụng các kỹ thuật phân đoạn để tách các vùng màu sắc khác nhau trong
hình ảnh, giúp nhận diện và phân loại các sản phẩm dựa trên màu sắc.
Ví dụ: Sử dụng hàm IMAQ Threshold để phân đoạn hình ảnh dựa trên ngưỡng
màu sắc cụ thể.

Trích xuất đặc trưng:

 Xác định các đặc trưng màu sắc của từng sản phẩm bằng cách sử dụng các
hàm phân tích thống kê và biểu đồ màu sắc.
Ví dụ: Sử dụng hàm IMAQ ColorHistogram để tạo biểu đồ màu và phân tích tỷ
lệ các màu sắc trong hình ảnh.

24
2.3. Phân loại sản phẩm

Thuật toán phân loại:

Áp dụng các thuật toán phân loại dựa trên đặc trưng màu sắc đã trích xuất, như k-
NN (k-nearest neighbors) hoặc SVM (Support Vector Machine).
 Ví dụ: Sử dụng thuật toán k-NN để phân loại sản phẩm dựa trên khoảng
cách màu sắc trong không gian màu HSV.

Giao diện người dùng:

 Thiết kế giao diện người dùng trực quan để hiển thị kết quả phân loại và
điều khiển hệ thống.
Ví dụ: Tạo bảng điều khiển (dashboard) với các biểu đồ và thông báo để hiển thị
kết quả phân loại sản phẩm theo thời gian thực.
2.4. Điều khiển hệ thống

Giao tiếp với phần cứng điều khiển:

 Sử dụng LabVIEW để điều khiển các thiết bị ngoại vi như băng chuyền,
robot gắp sản phẩm thông qua các giao thức như Modbus, OPC, hoặc giao
tiếp trực tiếp với các PLC (Programmable Logic Controller).
Ví dụ: Sử dụng LabVIEW để điều khiển động cơ băng chuyền và robot gắp sản
phẩm dựa trên kết quả phân loại màu sắc.

3. Ưu điểm của việc sử dụng LabVIEW

Tính trực quan cao:

 Giúp người dùng dễ dàng thiết kế và triển khai các ứng dụng xử lý ảnh mà
không cần nhiều kiến thức về lập trình truyền thống.

Khả năng tích hợp tốt:

LabVIEW cho phép kết nối và giao tiếp với nhiều loại thiết bị khác nhau, giúp
xây dựng hệ thống tự động hóa toàn diện.

Thư viện phong phú:

 Cung cấp nhiều hàm và thư viện xử lý ảnh mạnh mẽ, giúp tiết kiệm thời
gian phát triển.

Khả năng mở rộng và tùy chỉnh:

25
Cho phép người dùng phát triển các ứng dụng phức tạp và tùy chỉnh theo nhu cầu
cụ thể, đồng thời hỗ trợ nhiều loại phần cứng và giao thức giao tiếp.

4. Kết luận

LabVIEW là một công cụ mạnh mẽ và linh hoạt cho các ứng dụng xử lý ảnh và tự
động hóa. Trong dự án phân loại sản phẩm theo màu sắc, LabVIEW không chỉ hỗ
trợ việc thu thập và xử lý dữ liệu hình ảnh mà còn giúp điều khiển hệ thống một
cách hiệu quả. Với khả năng tích hợp phần cứng tốt và giao diện người dùng thân
thiện, LabVIEW là lựa chọn lý tưởng cho các ứng dụng đo lường và điều khiển
hiện đại.

CHƯƠNG 3. KẾT LUẬN, CODE ĐIỀU KHIỂN VÀ TÀI LIỆU


THAM KHẢO
I. Kết luận
1. Những nhiệm vụ đã thực hiện:

- Tìm hiểu được quá trình hình thành và phát triển của Robot.
- Tìm hiểu về arduino.
- Nghiên cứu, tìm hiểu phần cứng của đề tải.
- Sưu tầm, tìm kiếm tài liệu tham khảo phục vụ cho việc nghiên cứu.
- Nghiên cứu, học hỏi các phương pháp lập trình arduino.

2. Những thuận lợi và khó khăn khi thực hiện đề tài:

+ Thuận lợi:
- Được thầy cô và các bạn hỗ trợ hết mình.
- Được tiếp xúc với môi trường năng động ở xưởng thực hành làm tăng niềm đam
mê tìm tòi học hỏi.

+ Khó khăn:

- Vì vừa nghiên cứu vừa đi làm và phải đảm bảo việc hoàn thành đồ án cho kịp
tiến độ nên sự phân bổ thời gian chưa được nhiều.
- Tài liệu chủ yếu về đề tải chủ yếu là tiếng anh nên việc dịch có những chỗ chưa
chuẩn xác
II. Code điều khiển
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

26
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();

#define SERVOMIN 90 // This is the 'minimum' pulse length count (out of


4096)
#define SERVOMAX 600 // This is the 'maximum' pulse length count (out of
4096)
#define USMIN 600 // This is the rounded 'minimum' microsecond length
based on the minimum pulse of 150
#define USMAX 2400 // This is the rounded 'maximum' microsecond length
based on the maximum pulse of 600
#define SERVO_FREQ 60 // Analog servos run at ~50 Hz updates
#define sw1 36
#define sw2 39
#define sw3 34
#define led_red 33
#define led_blue 25
#define led_yellow 32

int vitri = 0;
// our servo # counter
uint8_t servonum = 0;
int x1;
int x2;
int ty1;
int y2;
int z1;
int z2;
int goctha;
int topulse(int goc) //chuyển góc thành xung
{
int xung = map(goc, 0, 180, SERVOMIN, SERVOMAX);
return xung;
}
int topulse1(int goc) //chuyển góc thành xung
{
int xung1 = map(goc, 0, 180, USMIN, USMAX);
return xung1;
} //-------------------------------------------------
void diemcho() {
delay(20);
pwm.writeMicroseconds(3, topulse1(92));//z1
pwm.writeMicroseconds(7, 600);//y2
pwm.writeMicroseconds(8, 900);//y1
pwm.writeMicroseconds(12, 2000);//x2
pwm.writeMicroseconds(15, topulse1(84)); //1.end: vị trí chờ giá trị sw
delay(1000);
} //--------------------------------------
void gapvat() {

27
delay(20);
ty1 = 900;
x2 = 2000;
z1 = topulse1(87);
pwm.setPWM(0, 0, topulse(123)); //mo kep
delay(500);

for (ty1; ty1 < 1680; ty1++) {


pwm.writeMicroseconds(12, x2);
pwm.writeMicroseconds(8, ty1);
x2--;
delay(1);
}
for (x2; x2 > 1550; x2--) {
pwm.writeMicroseconds(12, x2);
delay(3);
}
for (ty1; ty1 > 1430; ty1--) {
pwm.writeMicroseconds(8, ty1);
delay(3);
}

delay(1000);
for (z2; z2 <= topulse(168); z2++) pwm.setPWM(0, 0, z2); //kep vat
delay(1000); // gap vat len
for (ty1; ty1 < 1600; ty1++) {
pwm.writeMicroseconds(8, ty1);
delay(3);
}
for (ty1; ty1 >= 900; ty1--) {
pwm.writeMicroseconds(12, x2);
pwm.writeMicroseconds(8, ty1);
x2++;
delay(1);
}
for (x2; x2 <= 1600; x2++) {
pwm.writeMicroseconds(12, x2);
delay(3);
}
for (x2; x2 <= 2000; x2++) {
pwm.writeMicroseconds(12, x2);
delay(4);
}
} //------------------------------------------------------------------------
void tha_vat_pham(int goc) {
y2 = 600;
delay(20);
x2 = 2000;

28
if (goc > topulse1(87)) { //quay start
delay(20);
for (x1 = topulse1(84); x1 <= goc; x1++) {
pwm.writeMicroseconds(15, x1);
delay(1);
}
} else if (goc < topulse1(87)) {
delay(20);
for (x1 = topulse1(84); x1 >= goc; x1--) {
pwm.writeMicroseconds(15, x1);
delay(1);
}
} //quay end

if (vitri == 1) { //Red
delay(500);
for (x2; x2 >= 1800; x2--) {
pwm.writeMicroseconds(12, x2);
delay(2);
}
for (ty1; ty1 < 1200; ty1++) {
pwm.writeMicroseconds(12, x2);
pwm.writeMicroseconds(8, ty1);
x2--;
delay(1);
}
for (x2; x2 >= 1500; x2--) {
pwm.writeMicroseconds(12, x2);
delay(2);
}
for (y2; y2 <= 650; y2++) {
pwm.writeMicroseconds(8, ty1);
pwm.writeMicroseconds(7, y2);
ty1--;
delay(1);
}
for (ty1; ty1 >= 1000; ty1--) {
pwm.writeMicroseconds(8, ty1);
delay(3);
}
delay(500);
for (z2; z2 > topulse(123); z2--) pwm.setPWM(0, 0, z2); //mo kep
delay(1000);
for (ty1; ty1 <= 1200; ty1++) {
pwm.writeMicroseconds(8, ty1);
delay(4);
}
for (y2; y2 >= 600; y2--) {

29
pwm.writeMicroseconds(8, ty1);
pwm.writeMicroseconds(7, y2);

ty1++;
}
for (x2; x2 <= 1700; x2++) {
pwm.writeMicroseconds(12, x2);
delay(4);
}
for (ty1; ty1 >= 900; ty1--) {
pwm.writeMicroseconds(12, x2);
pwm.writeMicroseconds(8, ty1);
x2++;
delay(3);
}

for (x2; x2 <= 2000; x2++) {


pwm.writeMicroseconds(12, x2);
delay(2);
}
} else if (vitri == 2) { //Blue
delay(500);
for (x2; x2 >= 1800; x2--) {
pwm.writeMicroseconds(12, x2);
delay(2);
}
for (ty1; ty1 < 1430; ty1++) {
pwm.writeMicroseconds(12, x2);
pwm.writeMicroseconds(8, ty1);
x2--;
delay(2);
}

for (ty1; ty1 >= 1280; ty1--) {


pwm.writeMicroseconds(8, ty1);
delay(2);
}
delay(500);
for (z2; z2 > topulse(123); z2--) pwm.setPWM(0, 0, z2); //mo kep
delay(1000);
for (ty1; ty1 <= 1450; ty1++) {
pwm.writeMicroseconds(8, ty1);
delay(2);
}
for (y2; y2 >= 600; y2--) {
pwm.writeMicroseconds(8, ty1);
pwm.writeMicroseconds(7, y2);
ty1++;

30
}
for (x2; x2 <= 1450; x2++) {
pwm.writeMicroseconds(12, x2);
delay(2);
}
for (x2; x2 <= 2000; x2++) {
pwm.writeMicroseconds(8, ty1);
pwm.writeMicroseconds(12, x2);
ty1--;
delay(1);
}
for (ty1; ty1 >= 900; ty1--) {
pwm.writeMicroseconds(8, ty1);
delay(2);
}
} else if (vitri == 3) { //GREEN
for (x2; x2 >= 1850; x2--) {
pwm.writeMicroseconds(12, x2);
delay(3);
}
for (ty1; ty1 <= 1700; ty1++) {
pwm.writeMicroseconds(12, x2);
pwm.writeMicroseconds(8, ty1);
x2--;
delay(1);
}
for (y2; y2 <= 650; y2++) {
pwm.writeMicroseconds(7, y2);
delay(2);
}
for (ty1; ty1 >= 1550; ty1--) {
pwm.writeMicroseconds(8, ty1);
delay(3);
}
delay(500);
for (z2; z2 > topulse(123); z2--) pwm.setPWM(0, 0, z2); //mo kep
delay(1000);
for (ty1; ty1 <= 1800; ty1++) {
pwm.writeMicroseconds(8, ty1);
delay(4);
}
for (y2; y2 >= 600; y2--) {
pwm.writeMicroseconds(8, ty1);
pwm.writeMicroseconds(7, y2);
ty1--;
}
for (ty1; ty1 >= 900; ty1--) {
pwm.writeMicroseconds(12, x2);

31
pwm.writeMicroseconds(8, ty1);
x2++;
}
for (x2; x2 <= 2000; x2++) {
pwm.writeMicroseconds(12, x2);
delay(1);
}
}

digitalWrite(led_red, 0);
digitalWrite(led_yellow, 0);
digitalWrite(led_blue, 0);
if (goc > topulse1(84)) { //quay start
for (x1 = goc; x1 >= topulse1(84); x1--) {
pwm.writeMicroseconds(15, x1);
delay(1);
}
} else if (goc < topulse1(84)) {
for (x1 = goc; x1 <= topulse1(84); x1++) {
pwm.writeMicroseconds(15, x1);
delay(1);
}
} //quay end
} //----------------------------------------------------------------
void setup() {
Serial.begin(9600);
Serial.println("8 channel Servo test!");
pinMode(sw1, INPUT_PULLDOWN);
pinMode(sw2, INPUT_PULLDOWN);
pinMode(sw3, INPUT_PULLDOWN);
pinMode(led_red, OUTPUT);
pinMode(led_blue, OUTPUT);
pinMode(led_yellow, OUTPUT);
pwm.begin();

pwm.setOscillatorFrequency(27000000);
pwm.setPWMFreq(SERVO_FREQ); // Analog servos run at ~50 Hz updates

delay(10);
}
void loop() {

if (digitalRead(sw1) == 1) { //mau1
delay(20);
if (digitalRead(sw1) == 1) {
if (vitri != 1) {
digitalWrite(led_red, 1);
vitri = 1;

32
Serial.println("Red");
diemcho();
gapvat();
tha_vat_pham(430);
}
}
while (digitalRead(sw1) == 1)
;
}

if (digitalRead(sw2) == 1) { //mau2
delay(20);
if (digitalRead(sw2) == 1) {
if (vitri != 2) {
digitalWrite(led_blue, 1);
vitri = 2;
Serial.println("Blue");
diemcho();
gapvat();
tha_vat_pham(430);
}
}
while (digitalRead(sw2) == 1)
;
}

if (digitalRead(sw3) == 1) { //mau3
delay(20);
if (digitalRead(sw3) == 1) {
if (vitri != 3) {
digitalWrite(led_yellow, 1);
vitri = 3;
Serial.println("Green");
diemcho();
gapvat();
tha_vat_pham(430);
}
}
while (digitalRead(sw3) == 1)
;
}
vitri = 0;
}

33
III. Tài liệu tham khảo
https://www.berubco.com.vn/he-thong-phan-loai-san-pham.html

Đề tài: Ứng dụng LabVIEW điều khiển lò nhiệt ghép nối với máy tính

34

You might also like