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ỘI

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 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 4

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

2 Relay(R -le): ơ 8

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

4 Đ ng c Servo: ộ ơ 10

5 B ng m ch điếều khiếến Adruino UNO R3 ả ạ 11

PHẦN II NGUYÊN LÝ HOẠT ĐỘNG 16

1 Nguyến lí 16

2 S đồề m ch ơ ạ 16

3 Code ch ươ ng trình 17

PHẦN III VIDEO SẢN PHẨM 24

PHẦN IV KẾT QUẢ 25

1 Đã đ t đ ạ ượ 25 c 2 Ch a đ t đ ư ạ ượ 25 c PHẦN V TÀI LIỆU THAM KHẢO 25

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, trongcô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âncô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 đượccao 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ảnphẩ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 theomộ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ảnxuấ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ồngngoại nhận biết vật cản, relay trung gian, động cơ servo, vi điều khiển ArduinoUNO 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ườnggầ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ểmmàu Bên trong là một bộ dao động tạo ra sóng vuông ở ngõ ra tỉ lệ vớicườ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 1mà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 ánhsá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ăngchia 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 chocá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 ~ 500kHz Tần số ngõ ra có dạng xung vuông với tần số khác nhau tương ứng vớimà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ácdụ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ơnnhiề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, đượcthiế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ẽ baogồ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úngthà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 trunggian, 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íchhoạt nam châm điện, tạo ra từ trường, tín hiệu Từ trường này sẽ thuhú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ángmô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ốivớ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 electrontrong 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ácthiết bị điện tử điều khiển trong servo, dựa trên tỷ số nhiệm vụ (dutyratio) 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ằngcá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 đượcgử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 đổitù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ácthiế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ớikhoả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đổi từ 0 độ đến 180 độ Bạn có thể đặt trục động cơ ở bất kỳ góc độnào mà bạn mong muốn bằng cách điều chỉnh độ rộng xung cho phùhợp

5 Bảng mạch điều khiến Adruino UNO R3

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

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ồnngoà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ấpnguồ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ữngchâ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à

500mA

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

50mA

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ânGND

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ạnkhô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ạnphải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trướckhi cấp cho Arduino UNO Việc làm chập mạch nguồn vào củaArduino UNO sẽ biến nó thành một miếng nhựa chặn giấy mìnhkhuyê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 racho 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ấpnguồn sai vị trí có thể làm hỏng board Điều này không được nhà sảnxuất khuyến khích

 Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện ápdướ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ủaArduino 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 ArduinoUNO 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ủaArduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển Do đó nếukhông dùng để truyền nhận dữ liệu, bạn phải mắc một điện trở hạndò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 KBtrong số này sẽ được dùng cho bootloader nhưng đừng lo, bạn hiếmkhi 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ếnthì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khinà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 Only Memory): đâ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ệngiố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ó 2mứ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ỗichân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiểnATmega328 (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ớithiết bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nóinôm na chính là kết nối Serial không dây Nếu không cần giao tiếpSerial, 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ềuchỉ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ềnphá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 trongkhoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit.

2 Sơ đồ mạch

Trang 18

int g_array[3]; // store the RGB value

int g_flag = 0; // filter of RGB queue

floatg_SF[3]; // save the RGB Scale factor

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://www.youtube.com/watch?v=AGRZ_69O2nE&t=122s

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