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

Báo cáo project phân biệt sản phẩm dựa theo màu sắc

26 0 0

Đ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

Tiêu đề Phân biệt sản phẩm dựa theo màu sắc
Tác giả Trịnh Hoàng Anh, Lê Trường Sơn, Nguyễn Ngọc Huy, Nguyễn Trường An, Hoàng Văn Thoan
Người hướng dẫn Bùi Thanh Lâm
Trường học Trường Đại học Công nghiệp Hà Nội
Chuyên ngành Cơ khí
Thể loại Project
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 26
Dung lượng 598,46 KB

Nội dung

 Khối tiếp thu - Nơi tiếp nhận tín hiệu đầu vào và chuyển đổi chúng thành đại lượng cần thiết, cung cấp tín hiệu cho khối trung gian. Khối trung gian - Cơ cấu tiếp nhận tín hiệu thông

Trang 1

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘIKHOA CƠ KHÍ

- -

BÁO CÁO PROJECT

PHÂN BIỆT SẢN PHẨM DỰATHEO MÀU SẮC

Học phần: Cảm biến và hệ thống đo GVHD: Bùi Thanh Lâm

Sinh viên thực hiện

Trịnh Hoàng Anh ( Trường nhóm )

Khóa: K16

Mã lớp: 20221ME6001003

Năm học: 2022 - 2023

Trang 2

MỞ ĐẦU 3

PHẦN ICÁCH LẮP ĐẶT VÀ CẤU TẠO, NGUYÊN LÝ HOẠT ĐỘNG CỦA CÁC BỘ PHẬN ĐƯỢC SỬ DỤNG TRONG PROJECT 4

1Module c m biếến màu TCS 3200ả 4

Trang 3

MỞ ĐẦU

Trong các nhà máy, phân xưởng, xí nghiệp, nơi có số lượng hàng hóa lớn, trong công việc phân loại sản phẩm, nếu dùng theo cách thông thường là cho các nhân công phân loại sản phẩm thì sẽ tốn rất nhiều nhân công và hiệu quả sẽ không được cao Vậy cho nên chúng em đã tìm hiểu, nghiên cứu, phương pháp phân loại sản phẩm dựa theo màu sắc giúp cho việc phân loại sản phẩm sẽ được thực hiện theo một cách máy móc, công nghiệp, giảm nhân lực và tăng năng xuất cho việc sản xuất

Bài nghiên cứu sử dụng cảm biến TCS 3200 nhận biết màu sắc , cảm biến hồng ngoại nhận biết vật cản, relay trung gian, động cơ servo, vi điều khiển Arduino UNO R3 trên môi trường code Arduino mô phỏng quy trình vận hành của dự án

Trang 4

PHẦN I CÁCH LẮP ĐẶT VÀ CẤU TẠO, NGUYÊN LÝ HOẠT ĐỘNG CỦA CÁC BỘ PHẬN ĐƯỢC SỬ DỤNG TRONG PROJECT

1 Module cảm biến màu TCS 3200

Module cảm biến màu TCS3200 là một module cảm biến phát hiện đầy đủ màu sắc, bao gồm cả cảm biến TCS3200 với khả năng nhận biết 3 màu cơ bản RGB và 4 led màu trắng Các TCS3200 có thể phát hiện và đo lường gần như tất cả màu sắc có thể nhìn thấy Các bộ lọc màu bên trong TCS3200 được phân bố đều khắp các mảng để loại bỏ sai lệch vị trí giữa các điểm màu Bên trong là một bộ dao động tạo ra sóng vuông ở ngõ ra tỉ lệ với cường độ màu sắc

Trang 6

VDD (5) Chân cấp nguồn (2,7 – 5,5V)

S2, S3 (7,8) Ngõ vào chọn loại photodiode

giản là một linh kiện bán dẫn chuyển đổi ánh sáng thành dòng điện.

khác nhau Khi lựa chọn một bộ lọc màu nào nó sẽ cho phép chỉ nhận biết 1 màu và các màu khác sẽ bị chặn Ví dụ, khi lựa chọn bộ lọc màu xanh lá (green) thì chỉ có ánh sáng tới màu xanh lá mới có thể được thông qua, màu đỏ và màu xanh dương sẽ bị chặn lại như hình minh họa bên dưới Vì vậy, chúng ta có thể nhận được cường độ ánh sáng màu xanh lá Tương tự như

Trang 7

vậy, khi lựa chọn các bộ lọc màu khác thì chúng ta có thể nhận được ánh sáng màu đỏ (red) hoặc màu xanh dương (blue).

được thực hiện thông qua 2 chân S2 và S3 như bảng dưới đây.

tần số Các giá trị đọc từ photodiode được chuyển đổi thành sóng vuông có tần số tỷ lệ thuận với cường độ ánh sáng phản xạ khỏi bề mặt của vật thể.

quả màu sắc.

chia tỷ lệ thành các giá trị đặt trước sau: 2%, 20% hoặc 100% Các bộ vi điều khiển khác nhau có cấu hình cho bộ định thời khác nhau Chức năng chia tỷ lệ tần số về cơ bản cho phép ngõ ra của cảm biến được tối ưu hóa cho các bộ vi điều khiển khác nhau.

Trang 8

 Tần số ngõ ra của module cảm biến màu TCS3200 trong khoảng 2 Hz ~ 500 kHz Tần số ngõ ra có dạng xung vuông với tần số khác nhau tương ứng với màu sắc và cường độ sáng là khác nhau.

trên cho phù hợp với phần cứng đo tần số

2 Relay(Rơ-le):

Là công tắc điện tử có khả năng bật tắt một dòng có cường độ lớn hơn nhiều so

với dòng đang vận hành Có thể hiểu đơn giản, relay như một đòn bẩy điện, có tác dụng chuyển mạch Relay được bật vận hành bằng 1 dòng điện có cường độ nhỏ nhưng có khả năng bật giúp các thiết bị khác sử dụng dòng có cường độ lớn hơn nhiều so với dòng hiện hành

 Cấu tạo:

Bản chất của relay là 1 nam châm điện và hệ thống các tiếp điểm đóng cắt, được thiết kế theo kiểu modem dễ dàng lắp đặt sử dụng Cấu tạo cơ bản của relay sẽ bao gồm 3 khối cơ bản:

Trang 9

 Khối tiếp thu - Nơi tiếp nhận tín hiệu đầu vào và chuyển đổi chúng thành đại lượng cần thiết, cung cấp tín hiệu cho khối trung gian.

 Khối trung gian - Cơ cấu tiếp nhận tín hiệu thông tin từ khối tiếp thu và biến chúng thành đại lượng cần thiết cho relay tác động

 Khối chấp hành - Khối thực hiện nhiệm vụ được cấp từ khối trung gian, phát tín hiệu cho mạch điều khiển.

 Nguyên lý hoạt động:

 Khi dòng điện công suất nhỏ chạy qua mạch điện thứ nhất sẽ kích hoạt nam châm điện, tạo ra từ trường, tín hiệu Từ trường này sẽ thu hút 1 tiếp điểm để kích hoạt mạch điện thứ 2, cho phép thiết bị kết nối sử dụng dòng có cường độ lớn hơn rất nhiều.

 Khi dòng điện bị ngắt, nam châm ngừng hoạt động, không tạo ra thị trường Lúc này, tiếp điểm sẽ bị lực kéo của lò xo ban đầu kéo về vị trí cũ, tương ứng với mạch điện thứ 2 bị ngắt.

3 Cảm biến ánh sáng:

Cảm biến ánh sáng là một thiết bị có khả năng phát hiện và đo lượng ánh sáng môi trường xung quanh.

Trang 10

 Cấu tạo: Cảm biến CDS bao gồm hai tấm kim loại dẫn điện được nối với một tấm CdS CdS là một chất bán dẫn có khả năng điện trở biến đổi theo mức độ chiếu sáng.

 Nguyên lý hoạt động:-

 Khi ánh sáng chiếu vào tấm CdS, độ dẫn điện của nó thay đổi Điều này là do photons trong ánh sáng kích thích các electron trong CdS, tăng cường sự di chuyển của chúng và làm tăng số lượng electron tự do Do đó, độ dẫn điện của CdS tăng lên và điện trở của nó giảm.

 Khi cảm biến CDS được kết nối với một mạch điện, sự thay đổi điện trở của CdS sẽ dẫn đến sự thay đổi điện áp trên nó Mạch điện sử dụng thông số này để tính toán mức độ chiếu sáng.

4 Động cơ Servo:

 Cấu tạo và nguyên lý hoạt động:

-Động cơ servo yêu cầu ta phải cấp nguồn (2 dây) và nhận điều khiển từ mạch chính (1 dây), mỗi dây thường được đánh màu như sau:

Trang 11

· Đỏ: nhận điện nguồn, tuỳ vào loại động cơ mà giá trị này có thể

khác nhau

-Động cơ servo là sự kết hợp của động cơ DC, hệ thống điều khiển vị trí, bánh răng Vị trí của trục của động cơ DC được điều chỉnh bởi các thiết bị điện tử điều khiển trong servo, dựa trên tỷ số nhiệm vụ (duty ratio) của tín hiệu PWM ở chân SIGNAL.

-Nói một cách đơn giản điện tử điều khiển điều chỉnh vị trí trục bằng cách điều khiển động cơ DC Dữ liệu liên quan đến vị trí của trục được gửi qua chân SIGNAL Dữ liệu vị trí để điều khiển phải được gửi dưới dạng tín hiệu PWM thông qua chân tín hiệu (SIGNAL) của động cơ servo.

-Tần số của tín hiệu PWM (Pulse Width Modulated) có thể thay đổi tùy theo loại mô tơ servo Điều quan trọng ở đây là hệ số nhiệm vụ (DUTY RATIO) của tín hiệu PWM Dựa trên hệ số nhiệm vụ này, các thiết bị điện tử điều khiển điều chỉnh trục.

-Trong một mô tơ servo analog thông thường, tín hiệu PWM với khoảng thời gian 20 ms được sử dụng để điều khiển động cơ Tín hiệu 20 ms có tần số 50 Hz.

-Chiều rộng của xung được thay đổi giữa 1 và 2 ms để điều khiển vị trí trục động cơ.

· Độ rộng xung 1ms sẽ làm cho trục servo dừng ở vị trí 0 độ · Độ rộng xung 1,5ms sẽ khiến trục servo được đặt ở vị trí 90 độ, vị trí chính giữa hành trình của nó.

· Độ rộng xung 2ms sẽ khiến trục servo nằm ở vị trí 180 độ Thay đổi độ rộng xung giữa 1ms và 2ms sẽ di chuyển trục servo thay

Trang 12

 Cấu tạo và nguyên lý hoạt động:

 Một vài thông số của Arduino UNO R3

Trang 13

Dòng tối đa trên mỗi chân

Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328 Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác mà

Năng lượng

Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V Thường thì cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO.

Các chân năng lượng

GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi

bạn dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau.

5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là

3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là

Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối

cực dương của nguồn với chân này và cực âm của nguồn với chân GND.

Trang 14

IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có

thể được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn.

RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương

đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.

Lưu ý:

 Arduino UNO không có bảo vệ cắm ngược nguồn vào Do đó bạn phải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặn giấy mình khuyên bạn nên dùng nguồn từ cổng USB nếu có thể.

 Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí có thể làm hỏng board Điều này không được nhà sản xuất khuyến khích.

 Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board.

 Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển ATmega328.

 Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.

 Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm hỏng vi điều khiển.

 Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển Do đó nếu không dùng để truyền nhận dữ liệu, bạn phải mắc một điện trở hạn dòng.

Bộ nhớ

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ

trong bộ nhớ Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu.

Trang 15

2KB cho SRAM (Static Random Access Memory): giá trị các biến

bạn khai báo khi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất.

1KB cho EEPROM (Electrically Eraseble Programmable Read OnlyMemory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc

và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.

Các cổng vào/ra

Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối).

Một số chân digital có các chức năng đặc biệt như sau:

2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận

(receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết

Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung

PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite() Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.

Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)

Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.

LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L).

Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng.

Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín

Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu

khi sử dụng các chân analog Tức là nếu bạn cấp điện áp 2.5V vào

Trang 16

chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit.

Khi có vật cản đi qua cảm biến ánh sáng, 1 đèn của cảm biến sẽ tắt ( đã phát hiện vật cản) sau đó cảm biến ánh sáng sẽ gửi thông tin về arduino, Aruino tiếp nhận thông tin truyền đến Relay trung gian ( đèn xanh relay sáng) để kích hoạt cảm biến màu sắc TCS3200, lúc này 4 led đơn trắng của TCS 3200 sẽ sáng và bắt đầu phân tích mẫu vật trước mặt Sau khi đã phân tích xong 4 led đơn của nó sẽ tắt, tín hiệu được truyền về arduino Arduino nhận tín hiệu xác định màu sắc theo dải màu đã được code sẵn và hiện lên màn hình, đồng thời gửi tín hiệu đến động cơ servo góc quay theo màu sắc mà nó nhận biết được Và sau một thời gian Servo sẽ quay trở lại vị trí ban đầu để tiếp tục chuẩn bị cho lần hoạt động tới.

2 Sơ đồ mạch

Trang 18

int g_array[3]; // store the RGB

unsignedchar ketqua = 0;

unsignedchar black = 0, white = 0, other = 0; pinMode(OUT, INPUT);

digitalWrite(S1, HIGH);

// Select the filter color

void TSC_FilterColor(int Level01, intLevel02)

Trang 20

pinMode(IR2, INPUT);

pinMode(RELAY, OUTPUT); pinMode(LED, OUTPUT);

servo2.attach(11); // ket noi servo vao chan 10

Timer1.attachInterrupt(TSC_Callback); // gan ham vao ngat tran timer1

attachInterrupt(0, TSC_Count, RISING); //gan ham vao ngat canh len chan out cua cam bien mau

Trang 21

g_SF[1] = 255.0/ g_array[1] ; //G lay thong so moi truong g_SF[2] = 255.0/ g_array[2] ; //B lay thong so moi truong

Serial.println("R");Serial.println(g_array[0] ; Serial.println("G");Serial.println(g_array[1] ; Serial.println("B");Serial.println(g_array[2] ; Serial.println(digitalRead(IR2));

if(g_array[0]> 200 && g_array[0]< 500 && g_array[0] > (g_array[1] &&

g_array[0] < g_array[2] {

//black++; //black_servo(); servo2.write(30); goc = servo2.read();

Serial.print("Góc hiện tại: "); Serial.println(goc); ketqua = 1;

Trang 22

goc = servo2.read();

Serial.print("Góc hiện tại: "); Serial.println(goc);

Trang 25

PHẦN IV KẾT QUẢ 1 Đã đạt được

Dựng được code để khởi chạy cho sản phẩm

Sản phẩm chạy đúng theo quy trình, nguyên lí hoạt động, cảm biến màu sắc TCS 3200 nhận biết màu đúng theo dải màu đã được quy định

2 Chưa đạt được

Động cơ servo chưa hoạt động đúng theo code chương trình đã được khởi tạo sẵn

PHẦN V TÀI LIỆU THAM KHẢO

https://mualinhkien.vn/huong-dan-su-dung-module-cam-bien-mau-sac-tcs3200

Trang 26

https://www.studocu.com/vn/document/truong-cao-dang-cong-nghe-bach-khoa-ha-noi/matm25hshhdhbhsbkzbhz-n-zhhs/he-thong-dem-va-phan-loai-san-pham-theo-mau-sac/39657673?fbclid=IwAR1d9L9RI40eAN_xDmc-4XjKeXcW5LLBfuFM5iIiR13LZ-kAn9bizyLCWf0

Ngày đăng: 29/03/2024, 22:22

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

TÀI LIỆU LIÊN QUAN

w