Mục tiêu nghiên cứu của đề tài là tìm hiểu và xây dựng được mô hình hệ thống phân loại hàng hoá bằng màu sắc sử dụng arduino. Mời các bạn cùng tham khảo!
Trang 1TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN
Đà Nẵng, 06/2019
Trang 3MỞ ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của khoa học kỹ thuật Đặc biệt trong lĩnh vực tự động hóa đã tạo nên một động lực thúc đẩy và phát triển các ngành công nghiệp khác nhằm phục vụ và đáp ứng được nhu cầu của con người trong cuộc sống Con người với sự trợ giúp của máy móc, những công cụ thông minh đã không phải trực tiếp làm việc, hay những công việc mà con người không thể làm được với khả năng của minh mà chỉ việc điều khiển chúng hay chúng làm việc hoàn toàn tự động đã mang lại những lợi ích hết sức to lớn, giảm nhẹ và tối ưu hóa công việc Với sự tiến bộ này đã đáp ứng được những nhu cầu của con người trong cuộc sống hiện đại nói chung và trong sự phát triển của khoa học kỹ thuật nói riêng
Trong nhiều lĩnh vực được quan tâm, có một lĩnh vực về vi điều khiển được quan tâm rất nhiều hiện nay đó là vi điều khiển AVR Một trong số những biến thể phổ biến của AVR là Arduino Việc tìm hiểu và ứng dụng hết khả năng của nhiều loại Arduino là cả một quá trình dài lý thú và hữu ích, vì sự thuận tiện, tinh gọn, khả năng phát triển cũng như sự đa dạng các dòng sản phẩm phù hợp nhiều quy mô ứng dụng của nó
Một ý tưởng khác được quan tâm đông đảo trên các diễn đàn học tập ngành điện tử và tự động hóa, nhưng chưa có một tài liệu chính thống phổ biến hướng dẫn hay cung cấp thông tin về nó, cũng như chưa được giảng dạy ở nhiều trung tâm đó là ứng dụng Arduino trong sản xuất
Trước thực tiễn ấy, tôi đã quyết định chọn đề tài này nhằm tìm hiểu về vấn đề phân loại sản phẩm bằng màu sắc qua ứng dụng của Arduino
Sau đây em xin tìm hiểu về Arduino cũng như thiết kế một
Trang 4ứng dụng thực tế là ―Thiết kế hệ thống phân loại sản phẩm dựa vào màu sắc sử dụng Arduino‖ Đây là cơ sở để thiết kế những hệ thống
tự động hóa đơn giản, cũng như phức tạp được ứng dụng rộng rãi trong khoa học và đời sống
1 Lý do chọn đề tài
Ngày nay, công nghệ ngày càng phát triển, các hệ thống thông minh và tự động hoá sử dụng phổ biến ở khắp mọi nơi và trong mọi lĩnh vực bởi vì sự tiện lợi, chuẩn xác, giúp tiết kiệm thời gian và công sức
Nhưng hiện tại, ở nước ta hệ thống tự động hoá chỉ được sử dụng ở các xí nghiệp lớn và các xí nghiệp liên doanh nước ngoài, còn các ngành sản xuất đa số chỉ dừng ở mức độ thủ công, vì vậy làm chậm quá trình sản xuất đồng thời làm giảm năng suất Từ đó em đề suất ra ý tưởng xây dựng hệ thống phân loại sản phẩm bằng màu sắc
sử dụng vi điều khiển Arduino
2 Mục tiêu và nhiệm vụ nguyên cứu
Mục tiêu : Tìm hiểu và xây dựng được mô hình hệ thống phân loại hàng hoá bằng màu sắc sử dụng arduino
Nhiệm vụ nguyên cứu :
- Chuẩn bị các tài liệu và thiết bị liên quan
- Lập trình vi điều khiển Arduino dựa vào ý tưởng để xuất
- Hoàn thành đồ án dưới sự hướng dẫn của giảng viên hướng dẫn
3 Đối tƣợng và phạm vi nguyên cứu
Đối tượng : Cảm biến màu sắc TCS2300, vi điều khiểnArduino nano, động cơ servo SG90
Phạm vi nguyên cứu : Ứng dụng vào các công ty, xí nghiệp sản xuất sản phẩm
Trang 54 Phương pháp nguyên cứu
- Kết hợp giữa nghiên cứu lý thuyết và mô hình thực tế để làm
rõ nội dung đề tài Cụ thể như sau:
+ Thu thập, phân tích các tài liệu và thông tin liên quan đến đề tài
+ Vận dụng những kiến thức cơ bản đã học về điện tử truyền thông
+ Tìm hiểu qua tài liệu internet và sách báo và nhu cầu đời sống xã hội
+ Sử dụng phần mềm chuyên dụng (arduino IDE) để thực hiện viết code và nạp code
+ Tìm hiểu các đồ án có đề tài liên quan
+ Sử dụng các phần mềm vẽ mô phỏng và lập trình
5 Kết quả
Mô hình hoạt động ổn định và hiệu quả
Có thêm các kiến thức chuyên ngành và thực tiễn
6 Ý nghĩa khoa học và thực tiễn
Mô hình nếu được ứng dụng thực tế thì sẽ giảm tải nguồn nhân công, tăng năng suất lao động và có tính chính xác cao
7 Nội dung báo cáo đồ án tốt nghiệp
Gồm 3 chương như sau:
Chương 1: Tổng quan về Arduino
Chương 2: Phân tích các khối module trong mạch
Chương 3: Xây dựng mô hình thực tế
Trang 6CHƯƠNG I: TỔNG QUAN VỀ ARDUINO
1.1 GIỚI THIỆU VỀ VI ĐIỀU KHIỂN ARDUINO
Arduino là một board mạch vi xử lý được sinh ra tại thị trấn
Ivrea ở Ý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau
Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, và ngày càng chứng tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong cộng đồng nguồn mở (open- source)
Sau đây là nhưng thế mạnh của Arduino so với các nền tảng
vi điều khiển khác:
- Chạy trên đa nền tảng
- Ngôn ngữ lập trình đơn giản dễ hiểu
- Nền tảng mở
- Mở rộng phần cứng
- Đơn giản và nhanh
- Dễ dàng chia sẻ
Trang 7Hình 1.1 Các loại Arduino
1.2 LỊCH SỬ PHÁT TRIỂN
Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea) tại Ivrea, Italy Vào thời điểm đó các sinh viên sử dụng một "BASIC Stamp" (con tem Cơ Bản) có giá khoảng $100, xem như giá dành cho sinh viên Massimo Banzi, một trong những người sáng lập, giảng dạy tại Ivrea Cái tên "Arduino" đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của dự án này thường xuyên gặp mặt Bản thân quán bar này có được lấy tên là Arduino,
Bá tước của Ivrea, và là vua của Italy từ năm 1002 đến 1014
Lý thuyết phần cứng được đóng góp bởi một sinh viên người Colombia tên là Hernando Barragan Sau khi nền tảng Wiring hoàn thành, các nhà nghiên cứu đã làm việc với nhau để giúp nó nhẹ hơn,
rẻ hơn, và khả dụng đối với cộng đồng mã nguồn mở Trường này
Trang 8cuối cùng bị đóng cửa, vì vậy các nhà nghiên cứu, một trong số đó là David Cuarlielles, đã phổ biến ý tưởng này
6 Vi điều khiển AVR
1.3.1 Một số loại chip AVR
Vi điều khiển AVR
Họ vi điều khiển AVR là dòng sản phẩm được phát triển bởi hảng Atmel (1996), nó được chế tạo dựa trên cấu trúc AVR RISC (Reduced Instruction Set Computer) đồng thời AVR là một trong những họ vi điều khiển đầu tiên sử dụng bộ nhớ Flash để lưu trữ chương trình Có thể thấy rằng trong những năm gần đây Atmel đã trở thành nhà tiên phong trên thế giới về phát triển kỹ thuật bộ nhớ
Trang 9Flash (không biến đổi, có thể xóa bằng điện và lập trình lại bộ nhớ,
Họ AVR thường được sử dụng trong các sản phẩm như Camera số, board chủ PC…
1.3.2 Đọc tín hiệu cảm biến ngõ vào:
Các board Arduino và Arduino-compatible sử dụng
các shield— các board mạch in mở rộng được dùng bằng cách cắm
vào các chân header của Arduino Các shield có thể là module điều khiển cho động cơ, GPS, ethernet, LCD, hoặc cũng có thể là breadboard Một số lượng lớn các shield cũng có thể được chế tạo bởi DIY (những người thích tự làm lấy các ứng dụng cho riêng họ)
1.5 SỰ PHÁT TRIỂN
Arduino là một nền tảng phần cứng mã nguồn mở: Các thiết
kế phần cứng tham khảo của Arduino được phân phối dưới dạng Creative CommonsAttribution Share-Alike 2.5 license và có sẵn trên website của Arduino Một vài phiên bản phần cứng của Arduino còn đưa lên cả file Layout và thành phẩm Mã nguồn cho IDE này cũng
Trang 10khả dụng và được xuất bản dưới dạng GNU General Public License, version 2
ra TV có thể chứa một thư viện năm ngàn cuốn sách (ví dụ như các biên soạn offline Wikipedia) trên một thẻ nhớ microSD
Ardupilot: software / hardware máy bay không người lái ArduinoPhone
Trang 11CHƯƠNG 2 : PHÂN TÍCH CÁC MODULE TRONG MẠCH 2.1 YÊU CẦU ĐỀ TÀI
Dùng module cảm biến màu sắc TCS3200 để nhận biết màu sắc và phân loại sản phẩm Hệ thống phát hiện màu và đưa từng skittle đến vị trí cụ thể, hệ thống có thể được áp dụng để phân loại hàng hoá trong các công ty, xí nghiệp
2.2 GIẢI PHÁP THIẾT KẾ
2.2.1 Sơ đồ khối
Hình 2.1 Sơ đồ hệ thống phân loại sản phẩm bằng màu sắc
2.2.2 Phân tích chức năng các khối
- Khối cấp nguồn
- Khối skittle
- Khối điều khiển
- Khối động cơ điều khiển
2.2.3 Nguyên lý hoạt động của hệ thống
Từng skittle sẽ được một động cơ sevor đưa đến trước cảm biến màu sắc TCS3200 để được đọc màu Cảm biến màu sắc TCS3200 sẽ gửi dữ liệu về bộ vi sử lý Động cơ sevor thứ 2 có nhiệm
vụ phân loại từng skittle đã được đọc màu sang vị trí được chỉ định
2.3 LỰA CHỌN LINH KIỆN
2.3.1 Khối điều khiển
Trang 122.3.1.1 Bo mạch Arduino nano
Hình 2.2 Arduino nano
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
Bảng 2.1 Đặc điểm kỹ thuật Arduino Nano
Bộ nhớ Flash 32 KB of which 2 KB used by Bootloader
Trang 1417 3V3 Đầu ra Đầu ra 3.3V (từ FTDI)
19 A0 Đầu vào Kênh đầu vào tương tự kênh 0
20 A1 Đầu vào Kênh đầu vào tương tự kênh 1
21 A2 Đầu vào Kênh đầu vào tương tự kênh 2
22 A3 Đầu vào Kênh đầu vào tương tự kênh 3
23 A4 Đầu vào Kênh đầu vào tương tự kênh 4
24 A5 Đầu vào Kênh đầu vào tương tự kênh 5
25 A6 Đầu vào Kênh đầu vào tương tự kênh 6
26 A7 Đầu vào Kênh đầu vào tương tự kênh 7
Đầu ra hoặc đầu vào
+ Đầu ra 5V (từ bộ điều chỉnh On-board) hoặc + 5V (đầu vào từ nguồn điện
bên ngoài)
28 RESET Đầu vào Chân đặt lại, hoạt động ở mức
thấp
2.3.2 Khối cảm biến màu
Cảm biến màu sắc TCS3200
Cảm biến màu TCS3200 tích hợp dãy bộ dò ánh sáng quang bên trong, với mỗi cảm biến ứng với các màu đỏ, xanh lá, xanh dương Các bộ lọc của mỗi màu được phân bố đều khắp cảm biến để loại bỏ sai lệch vị trí giữa các màu sắc Bên trong cảm biến có bộ dao động tạo ra sóng vuông có tần số là tỷ lệ thuận với cường độ của màu sắc được chọn
Trang 15Ta có thể lựa chọn tỉ lệ tần số đầu ra ở các mức khác nhau như bảng trên cho phù hợp với phần cứng đo tần số
2.3.2.4 Nguyên lý hoạt động của linh kiện điện tử TCS 3200
Ánh sáng trắng là hỗn hợp rất nhiều ánh sáng có bước sóng màu sắc khác nhau
Khi ta chiếu ánh sáng trắng vào một vật thể bất kì Tại bề mặt vật thể sẽ xảy ra hiện tượng hấp thụ và phản xạ ánh sáng
Dựa trên nguyên lý sự phản xạ, hấp thụ ánh sáng trắng của vật thể và sự phối trộn màu sắc bởi 3 màu cơ bản Blue,Green,Red thì
Trang 16TCS3200 có cấu tạo là 4 bộ lọc photodiode Blue,Green,Red và clear
để nhận biết màu sắc cụ thể
2.3.2.5 Mạch sơ đồ nguyên lý module cảm biến màu sắc
Hình 2.5 Sơ đồ nguyên lý cảm biến màu sắc TCS3200
Bảng 2.4 Sơ đồ nối chân với Arduino Nano
Trang 17Hì 2.6 độ cơ servo
2.3.3.1 Giới thiệu động cơ servo
Servo là một dạng động cơ điện đặc biệt Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM) với góc quay nằm trong
khoảng bất kì từ 0o - 180o
Hình 2.7 Cấu tạo cơ bản của một độ cơ (motor) servo
1 Motor
2 Electronics Board
3 Positive Power Wire (Red)
4 Signal Wire (Yellow or White)
5 Negative or Ground Wire (Black)
Trang 186 Potentiometer
7 Output Shaft/Gear
8 Servo Attachment Horn/Wheel/Arm
9 Servo Case
10.Integrated Control Chip
Để quay động cơ, tín hiệu số được gới tới mạch điều khiển Tín hiệu này khởi động động cơ, thông qua chuỗi bánh răng, nối với vôn kế Vị trí của trục vôn kế cho biết vị trí trục ra của servo Khi vôn kế đạt được vị trí mong muốn, mạch điều khiển sẽ tắt động cơ Mặc dù ta có thể chỉnh quay liên tục nhưng công dụng chính của động cơ servo là đạt được góc quay chính xác trong khoảng giới hạn
Trang 19khiển servo
Tần số thông thường có giá trị trong khoảng 50Hz (20 mili
giây)
Thời gian xung ở mức cao chỉ từ 1ms đến 2ms
Hình 2.10 Thời gian xung ở mức c o quy định góc quay của RC
servo
Với thời gian 1ms mức cao, góc quay của servo là 0, 1.5ms
góc quay 90 và 2ms góc quay là 180 Các góc khác từ 0-180 được
xác định trong khoảng thời gian 1 2ms
2.3.3.4 Điều biến độ rộng xung
2.3.4 Nguồn Adapter 5V1A
Hình 2.12 Nguồn Adapter 5V1A
Trang 20CHƯƠNG 3: XÂY DỰNG MÔ HÌNH THỰC TẾ
3.1 THIẾT KẾ PHẦN CỨNG
Sơ đồ nguyên lý
Khi khởi động động cơ servo ở trên sẽ đưa khối skittle đến chỗ cảm biến màu Cảm biến màu TCS3200 sẽ cảm biến màu và đưa thông tin đến Arduino Nano, Arduino Nano sẽ điều khiển động cơ servo ở dưới quay đến ô chứa màu sắc của skittle đó
Hì 3.1 Sơ đồ nguyên lý
3.2 MÔ PHỎNG BẰNG PHẦN MỀM
Mô phỏng bằng phần mềm Fritzing
Hình 3.2 Mô phỏng bằng phần mềm Fritzing
Trang 213.3 MÔ HÌNH THỰC TẾ
Hình 3.3 Mô hình thực tế
Trang 22có rất nhiều lợi ích như :
- Có tính chính xác cao
- Giúp giảm nguồn nhân công, tăng năng xuất
- Có thể được áp dụng ở nhiều nơi
Ngoài ra có thể ứng dụng thêm các công nghệ để phân loại sản phẩm theo chiều cao hoặc cân nặng vào hệ thống