Đồ án HCMUTE: Giám sát và phân loại sản phẩm theo màu sắc sử dụng Arduino

Đồ án nghiên cứu hcmute giám sát và phân loại sản phẩm theo màu sắc dùng kit arduino, thiết kế chi tiết, tính toán kỹ thuật theo tiêu chuẩn, đánh giá tính khả thi dự án.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2016

65
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

TÓM TẮT

1. CHƯƠNG 1: DẪN NHẬP

1.1. NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

1.2. ĐẶT VẤN ĐỀ

1.3. LÝ DO CHỌN ĐỀ TÀI

1.4. NỘI DUNG NGHIÊN CỨU

1.5. GIỚI HẠN

1.6. BỐ CỤC ĐỀ TÀI

2. CHƯƠNG 2: CƠ SỞ LÍ THUYẾT

2.1. Giới thiệu về arduino

2.2. Thông số kỹ thuật Arduino Mega 2560

2.3. Các chân ngõ ra ngõ vào của Arduino mega 2560

2.4. Tổng quan về ngôn ngữ lập trình Arduino IDE

3. CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG

4. CHƯƠNG 4: THIẾT KẾ PHẦN MỀM

5. CHƯƠNG 5: KẾT QUẢ NGHIÊN CỨU

6. CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Giới thiệu chung

Đề tài 'Giám sát và phân loại sản phẩm theo màu sắc bằng Arduino tại HCMUTE' tập trung vào việc ứng dụng công nghệ Arduino để tự động hóa quy trình phân loại sản phẩm trong sản xuất. Giám sát sản phẩmphân loại sản phẩm theo màu sắc là một phần quan trọng trong dây chuyền sản xuất hiện đại. Việc sử dụng Arduino giúp giảm thiểu sức lao động và tăng hiệu quả sản xuất. Mô hình này sử dụng cảm biến màu sắc TCS3200 để nhận diện màu sắc của sản phẩm, từ đó phân loại thành các nhóm đạt chuẩn và không đạt chuẩn dựa trên khối lượng. Hệ thống này không chỉ giúp tiết kiệm thời gian mà còn nâng cao độ chính xác trong quá trình phân loại.

1.1. Mục tiêu nghiên cứu

Mục tiêu chính của đề tài là thiết kế và thi công một mô hình phân loại sản phẩm tự động dựa trên màu sắc và khối lượng. Sản phẩm sẽ được phân loại thành hai loại chính: màu xanh và màu đỏ, với hai tiêu chí đạt chuẩn và không đạt chuẩn. Hệ thống sẽ hiển thị số lượng sản phẩm trên webserver, giúp người quản lý dễ dàng theo dõi và giám sát. Việc ứng dụng cảm biến màu sắcmạch điều khiển từ Arduino không chỉ mang lại hiệu quả cao mà còn tạo điều kiện cho việc tự động hóa trong các doanh nghiệp vừa và nhỏ, nơi mà việc áp dụng công nghệ tự động hóa còn hạn chế.

II. Cơ sở lý thuyết

Chương này trình bày các khái niệm cơ bản về cảm biến màu sắc, mạch công suất, và các thiết bị điều khiển trong hệ thống. Cảm biến màu sắc TCS3200 là thiết bị chính được sử dụng để nhận diện màu sắc của sản phẩm. Thiết bị này hoạt động dựa trên nguyên lý phát hiện ánh sáng phản xạ từ sản phẩm và chuyển đổi thành tín hiệu điện. Mạch công suất được thiết kế để điều khiển động cơ và băng tải, đảm bảo quá trình vận chuyển sản phẩm diễn ra liên tục và hiệu quả. Việc hiểu rõ về các thành phần này là rất quan trọng để thiết kế một hệ thống phân loại sản phẩm hoàn chỉnh và hiệu quả.

2.1. Cảm biến màu sắc TCS3200

Cảm biến TCS3200 có khả năng phát hiện và phân tích màu sắc của sản phẩm thông qua việc đo lường tỷ lệ phản xạ của ánh sáng. Thiết bị này sử dụng các đèn LED để chiếu sáng sản phẩm và cảm biến để thu thập dữ liệu phản xạ. Dữ liệu này sau đó được xử lý bởi Arduino, cho phép hệ thống phân loại sản phẩm theo màu sắc một cách chính xác. Việc sử dụng cảm biến màu sắc giúp tăng cường khả năng tự động hóa trong quy trình sản xuất, giảm thiểu sai sót do con người gây ra.

III. Thiết kế và thi công hệ thống

Chương này mô tả quy trình thiết kế và thi công mô hình phân loại sản phẩm. Hệ thống được xây dựng dựa trên các thành phần chính như Arduino, cảm biến màu sắc, và mạch điều khiển. Mô hình sử dụng băng tải để di chuyển sản phẩm qua các cảm biến, từ đó thực hiện phân loại. Các động cơ DC được điều khiển để thực hiện các thao tác như đẩy sản phẩm vào thùng phân loại. Hệ thống cũng được kết nối với webserver để hiển thị thông tin về số lượng sản phẩm đã phân loại, giúp người quản lý dễ dàng theo dõi và giám sát quy trình.

3.1. Quy trình hoạt động của hệ thống

Khi nhấn nút START, hệ thống sẽ cấp điện cho các động cơ và băng tải bắt đầu hoạt động. Sản phẩm sẽ được đưa lên bàn cân để đo khối lượng. Sau đó, cảm biến màu sắc sẽ xác định màu của sản phẩm và điều khiển động cơ để phân loại sản phẩm vào thùng tương ứng. Nếu sản phẩm là màu đỏ, động cơ gạt 1 sẽ hoạt động, ngược lại nếu là màu xanh, động cơ gạt 2 sẽ được kích hoạt. Hệ thống cũng có khả năng dừng hoạt động khi nhấn nút STOP, đảm bảo an toàn trong quá trình vận hành.

IV. Kết quả nghiên cứu

Kết quả nghiên cứu cho thấy mô hình phân loại sản phẩm theo màu sắc bằng Arduino hoạt động hiệu quả trong việc tự động hóa quy trình sản xuất. Hệ thống đã chứng minh được khả năng phân loại chính xác các sản phẩm dựa trên màu sắc và khối lượng. Số liệu thu thập được từ hệ thống cho thấy năng suất sản xuất tăng lên đáng kể so với phương pháp thủ công. Việc ứng dụng công nghệ này không chỉ giúp tiết kiệm chi phí nhân công mà còn nâng cao chất lượng sản phẩm, đáp ứng nhu cầu ngày càng cao của thị trường.

4.1. Đánh giá hiệu quả của hệ thống

Hệ thống đã cho thấy sự cải thiện rõ rệt trong quy trình phân loại sản phẩm. Thời gian phân loại giảm đi đáng kể, từ đó tăng năng suất sản xuất. Các doanh nghiệp có thể áp dụng mô hình này để tối ưu hóa quy trình sản xuất của mình. Việc sử dụng công nghệ cảm biếnArduino không chỉ mang lại lợi ích về mặt kinh tế mà còn góp phần vào việc hiện đại hóa ngành sản xuất trong nước.

01/02/2025

Trích đoạn nội dung tài liệu

Chương 1: Dẫn nhập 3 do an ĐỒ ÁN TỐT NGHIỆP Chƣơng 2: CƠ SỞ LÍ THUYẾT 2. Giới thiệu về arduino  Arduino là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm.

Chỉ với khoảng 200.000 VND người dùng đã có thể sở hữu một board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị.  Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụng FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB. Ngoài ra, Arduino Mega2560 cơ bản vẫn giống Arduino Uno R3, chỉ khác số lượng chân và nhiều tính năng mạnh mẽ hơn, nên các bạn vẫn có thể lập trình cho con vi điều khiển này bằng chương trình lập trình cho Arduino Uno R3.

Giới thiệu về arduino 2560 Chương 2: Cơ sỡ lý thuyết 4 do an ĐỒ ÁN TỐT NGHIỆP Hình 2.1: Board Arduino Mega 2560. [4] Arduino Mega 2560 là 1 bo mạch thiết kế với bộ xử lý trung tâm là vi điểu khiển AVR Atmega2560. Cấu tạo chính của Arduino Mega 2560 bao gồm các phần sau:  Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính.

 Jack nguồn: để chạy Arduino thỉ có thể lấy nguồn từ cổng USB ở trên, nhưng không phải lúc nào cũng có thể cắm với máy tính được. Lúc đó ta cần một nguồn từ 9V đến 12V.  Có 54 chân vào/ra số đánh số thứ tự từ 0 đến 53, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF).  Vi điều khiển AVR: đây là bộ xử lý trung tâm của toàn bo mạch.

Với mỗi mẫu Arduino khác nhau thì con chip là khác nhau. Ở con Arduino Mega2560 này thì sử dụng ATMega2560. Thông sô kỹ thuật: Vi xử lý: 5V Điện áp hoạt động: 5-7V Điện áp đầu vào: 6-20V Chân vào/ra (I/O) số: 54 chân (15 chân đầu ra PWM) Chân vào tương tự: 16 Dòng điện trong mỗi chân I/O: 40mA Dòng điện Chân nguồn 3.3V: 50mA Bộ nhớ trong: 256KB SRAM: 8KB EEPROM: 4KB Xung nhịp: 16MHz Chip xử lí: Atmega2560 Các Mega 2560 có 16 đầu vào tương tự, mỗi ngõ vào tương tự đều có độ phân giải 10 bit (tức là 1024 giá trị khác nhau). Theo mặc định đo từ 0 đến 5 volts, mặc dù Chương 2: Cơ sỡ lý thuyết 5 do an ĐỒ ÁN TỐT NGHIỆP là nó có thể thay đổi phần trên của phạm vi bằng cách sử dụng chân Aref và analogReference) chức năng.

Các Atmega 2560 có 256 KB bộ nhớ flash để lưu trữ mã (trong đó có 8 KB được sử dụng cho bộ nạp khởi động), 8 KB SRAM và 4 KB của EEPROM.2: Sơ đồ chân Arduino Mega 2560 [4] Chương 2: Cơ sỡ lý thuyết 6 do an ĐỒ ÁN TỐT NGHIỆP Hình 2.3: Sơ đồ chân của chip Atmega2560.1: Bảng số chân, tên chân, tên chân trên board của arduino mega 2560. Pin Number Pin Name Mapped Pin Name 1 PG5 ( OC0B ) Digital pin 4 (PWM) 2 PE0 ( RXD0/PCINT8 ) Digital pin 0 (RX0) 3 PE1 ( TXD0 ) Digital pin 1 (TX0) 4 PE2 ( XCK0/AIN0 ) 5 PE3 ( OC3A/AIN1 ) Digital pin 5 (PWM) 6 PE4 ( OC3B/INT4 ) Digital pin 2 (PWM) 7 PE5 ( OC3C/INT5 ) Digital pin 3 (PWM) 8 PE6 ( T3/INT6 ) 9 PE7 ( CLKO/ICP3/INT7 ) 10 VCC VCC 11 GND GND 12 PH0 ( RXD2 ) Digital pin 17 (RX2) 13 PH1 ( TXD2 ) Digital pin 16 (TX2) 14 PH2 ( XCK2 ) Chương 2: Cơ sỡ lý thuyết 7 do an ĐỒ ÁN TỐT NGHIỆP 15 PH3 ( OC4A ) Digital pin 6 (PWM) 16 PH4 ( OC4B ) Digital pin 7 (PWM) 17 PH5 ( OC4C ) Digital pin 8 (PWM) 18 PH6 ( OC2B ) Digital pin 9 (PWM) 19 PB0 ( SS/PCINT0 ) Digital pin 53 (SS) 20 PB1 ( SCK/PCINT1 ) Digital pin 52 (SCK) 21 PB2 ( MOSI/PCINT2 ) Digital pin 51 (MOSI) 22 PB3 ( MISO/PCINT3 ) Digital pin 50 (MISO) 23 PB4 ( OC2A/PCINT4 ) Digital pin 10 (PWM) 24 PB5 ( OC1A/PCINT5 ) Digital pin 11 (PWM) 25 PB6 ( OC1B/PCINT6 ) Digital pin 12 (PWM) 26 PB7 ( OC0A/OC1C/PCINT7 ) Digital pin 13 (PWM) 27 PH7 ( T4 ) 28 PG3 ( TOSC2 ) 29 PG4 ( TOSC1 ) 30 RESET RESET 31 VCC VCC 32 GND GND 33 XTAL2 XTAL2 34 XTAL1 XTAL1 35 PL0 ( ICP4 ) Digital pin 49 36 PL1 ( ICP5 ) Digital pin 48 37 PL2 ( T5 ) Digital pin 47 38 PL3 ( OC5A ) Digital pin 46 (PWM) 39 PL4 ( OC5B ) Digital pin 45 (PWM) 40 PL5 ( OC5C ) Digital pin 44 (PWM) 41 PL6 Digital pin 43 42 PL7 Digital pin 42 43 PD0 ( SCL/INT0 ) Digital pin 21 (SCL) 44 PD1 ( SDA/INT1 ) Digital pin 20 (SDA) 45 PD2 ( RXDI/INT2 ) Digital pin 19 (RX1) Chương 2: Cơ sỡ lý thuyết 8 do an ĐỒ ÁN TỐT NGHIỆP 46 PD3 ( TXD1/INT3 ) Digital pin 18 (TX1) 47 PD4 ( ICP1 ) 48 PD5 ( XCK1 ) 49 PD6 ( T1 ) 50 PD7 ( T0 ) Digital pin 38 51 PG0 ( WR ) Digital pin 41 52 PG1 ( RD ) Digital pin 40 53 PC0 ( A8 ) Digital pin 37 54 PC1 ( A9 ) Digital pin 36 55 PC2 ( A10 ) Digital pin 35 56 PC3 ( A11 ) Digital pin 34 57 PC4 ( A12 ) Digital pin 33 58 PC5 ( A13 ) Digital pin 32 59 PC6 ( A14 ) Digital pin 31 60 PC7 ( A15 ) Digital pin 30 61 VCC VCC 62 GND GND 63 PJ0 ( RXD3/PCINT9 ) Digital pin 15 (RX3) 64 PJ1 ( TXD3/PCINT10 ) Digital pin 14 (TX3) 65 PJ2 ( XCK3/PCINT11 ) 66 PJ3 ( PCINT12 ) 67 PJ4 ( PCINT13 ) 68 PJ5 ( PCINT14 ) 69 PJ6 ( PCINT 15 ) 70 PG2 ( ALE ) Digital pin 39 71 PA7 ( AD7 ) Digital pin 29 72 PA6 ( AD6 ) Digital pin 28 73 PA5 ( AD5 ) Digital pin 27 74 PA4 ( AD4 ) Digital pin 26 75 PA3 ( AD3 ) Digital pin 25 76 PA2 ( AD2 ) Digital pin 24 Chương 2: Cơ sỡ lý thuyết 9 do an ĐỒ ÁN TỐT NGHIỆP 77 PA1 ( AD1 ) Digital pin 23 78 PA0 ( AD0 ) Digital pin 22 79 PJ7 80 VCC VCC 81 GND GND 82 PK7 ( ADC15/PCINT23 ) Analog pin 15 83 PK6 ( ADC14/PCINT22 ) Analog pin 14 84 PK5 ( ADC13/PCINT21 ) Analog pin 13 85 PK4 ( ADC12/PCINT20 ) Analog pin 12 86 PK3 ( ADC11/PCINT19 ) Analog pin 11 87 PK2 ( ADC10/PCINT18 ) Analog pin 10 88 PK1 ( ADC9/PCINT17 ) Analog pin 9 89 PK0 ( ADC8/PCINT16 ) Analog pin 8 90 PF7 ( ADC7 ) Analog pin 7 91 PF6 ( ADC6 ) Analog pin 6 92 PF5 ( ADC5/TMS ) Analog pin 5 93 PF4 ( ADC4/TMK ) Analog pin 4 94 PF3 ( ADC3 ) Analog pin 3 95 PF2 ( ADC2 ) Analog pin 2 96 PF1 ( ADC1 ) Analog pin 1 97 PF0 ( ADC0 ) Analog pin 0 98 AREF Analog Reference 99 GND GND 100 AVCC VCC Các chân ngõ ra ngõ vào của Arduino mega 2560: Mỗi board có 54 chân kỹ thuật trên Mega có thể được sử dụng như một đầu vào hoặc đầu ra. Nó hoạt động với điện áp 5 volts. Mỗi chân có thể cung cấp hoặc nhận được tối đa 40 mA và có một điện trở kéo lên bên trong (ngắt kết nối theo mặc định) 20-50 kOhms.

Ngoài ra, một số chân có chức năng chuyên ngành:  Serial 0: 0 (RX) và 1 (TX); Serial 1: 19 (RX) và 18 (TX); Serial: 17 (RX) và 16 (TX); Serial 3: 15 (RX) và 14 (TX). Được sử dụng để nhận (RX) và truyền (TX) Chương 2: Cơ sỡ lý thuyết 10 do an ĐỒ ÁN TỐT NGHIỆP TTL dữ liệu nối tiếp. Chân 0 và 1 cũng được kết nối với các chân tương ứng của FTDI USB-to-TTL nối tiếp chip.  Ngắt ngoài: 2 (ngắ t 0), 3 (ngắ t 1), 18 (ngắ t 5), 19 (ngắ t 4), 20 (ngắ t 3) và 21 (ngắ t 2) Các chân này có thể được cấu hình để kích hoạt một ngắt trên một giá trị thấp, một góc lên và xuống, hoặc một sự thay đổi trong giá trị.

 PWM: 2-13 và 44 đến 46. Cung cấp 8-bit đầu ra PWM  SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) Các chân này hỗ trợ SPI truyền thông, trong đó, mặc dù được cung cấp bởi các phần cứng cơ bản, hiện không có trong ngôn ngữ Arduino. Các chân SPI cũng được chia ra trên tiêu đề ICSP, đó là chất tương thích với các Duemilanove và Diecimila. Có một built-in LED kết nối với chân kỹ thuật số 13.

Khi chân là giá trị cao, đèn LED là sáng, khi chân là LOW, đèn LED tắ t. Mang dòng LOW này để thiết lập lại các vi điều khiển. Thường được sử dụng để thêm một nút reset để lá chắn ngăn chặn sự một trên bảng. Tổng quan về ngôn ngữ lập trình Arduino IDE Chương 2: Cơ sỡ lý thuyết 11 do an ĐỒ ÁN TỐT NGHIỆP Hình 2.4: Giao diện phần mềm Arduino IDE.

Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn. Arduino IDE là phần mềm dùng để lập trình cho Arduino.

Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh osx và Linux. Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm. Chương 2: Cơ sỡ lý thuyết 12 do an ĐỒ ÁN TỐT NGHIỆP Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++. Và do ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ c của AVR nên người dùng hoàn toàn có thể nhúng thêm code viết bằng AVR vào chương trình nếu muốn.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Giám sát và phân loại sản phẩm theo màu sắc bằng Arduino tại HCMUTE" trình bày một phương pháp hiệu quả để giám sát và phân loại sản phẩm dựa trên màu sắc sử dụng công nghệ Arduino. Nội dung bài viết không chỉ giúp người đọc hiểu rõ về quy trình và kỹ thuật thực hiện mà còn nhấn mạnh tầm quan trọng của việc tự động hóa trong sản xuất hiện đại. Việc áp dụng công nghệ này không chỉ nâng cao hiệu suất làm việc mà còn giảm thiểu sai sót trong quá trình phân loại sản phẩm.

Để mở rộng kiến thức về tự động hóa và điều khiển, bạn có thể tham khảo thêm bài viết Luận văn thạc sĩ tự động hóa điều khiển và truyền thông sử dụng modbus tcp và gsm, nơi bạn sẽ tìm thấy những ứng dụng khác của tự động hóa trong điều khiển và truyền thông. Ngoài ra, bài viết Giáo trình phần tử tự động và cảm biến sẽ cung cấp cho bạn cái nhìn sâu sắc hơn về các thành phần tự động và cảm biến, rất hữu ích cho việc phát triển các dự án tương tự. Cuối cùng, bạn có thể khám phá Luận văn thạc sĩ tự động hóa nghiên cứu thiết kế bộ điều khiển neuralplc trong công nghiệp để tìm hiểu về các công nghệ điều khiển tiên tiến trong lĩnh vực tự động hóa công nghiệp. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và ứng dụng trong lĩnh vực tự động hóa.