1. Trang chủ
  2. » Tất cả

MÔN HỌC: VI XỬ LÝ VI ĐIỀU KHIỂN Đề tài nghiên cứu: Thiết kế bộ đếm sản phẩm bằng cảm biến hồng ngoại (LCD)

20 43 3
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Thiết kế bộ đếm sản phẩm bằng cảm biến hồng ngoại (LCD)
Tác giả Vũ Đình Tùng, Đỗ Mạnh Tuấn, Trần Thế Sơn
Người hướng dẫn Thầy Phạm Mạnh Thắng
Trường học Trường Đại học Công nghệ
Chuyên ngành Vi xử lý & vi điều khiển
Thể loại Đề tài nghiên cứu
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 20
Dung lượng 2,66 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHOA CƠ HỌC KỸ THUẬT TỰ ĐỘNG HÓA MÔN HỌC VI XỬ LÝ VI ĐIỀU KHIỂN Đề tài nghiên cứu Thiết kế bộ đếm sản phẩm bằng cảm biến hồng ngoại (LCD) Đề tài mở rộng Nhà để xe thông mi. TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHOA CƠ HỌC KỸ THUẬT TỰ ĐỘNG HÓA MÔN HỌC VI XỬ LÝ VI ĐIỀU KHIỂN Đề tài nghiên cứu Thiết kế bộ đếm sản phẩm bằng cảm biến hồng ngoại (LCD) Đề tài mở rộng Nhà để xe thông mi.TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHOA CƠ HỌC KỸ THUẬT TỰ ĐỘNG HÓA MÔN HỌC VI XỬ LÝ VI ĐIỀU KHIỂN Đề tài nghiên cứu Thiết kế bộ đếm sản phẩm bằng cảm biến hồng ngoại (LCD) Đề tài mở rộng Nhà để xe thông mi.TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHOA CƠ HỌC KỸ THUẬT TỰ ĐỘNG HÓA MÔN HỌC VI XỬ LÝ VI ĐIỀU KHIỂN Đề tài nghiên cứu Thiết kế bộ đếm sản phẩm bằng cảm biến hồng ngoại (LCD) Đề tài mở rộng Nhà để xe thông mi.

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ KHOA CƠ HỌC KỸ THUẬT & TỰ ĐỘNG HÓA

MÔN HỌC: VI XỬ LÝ & VI ĐIỀU KHIỂN

Đề tài nghiên cứu: Thiết kế bộ đếm sản phẩm bằng

cảm biến hồng ngoại (LCD)

Đề tài mở rộng : Nhà để xe thông minh

Giảng viên hướng dẫn : Thầy Phạm Mạnh Thắng

Sinh viên thực hiện : Vũ Đình Tùng (19021132)

Đỗ Mạnh Tuấn (19021129) Trần Thế Sơn (19021104)

Hà Nội, tháng 3 năm 2022

Trang 2

MỤC LỤC

LỜI MỞ ĐẦU 1

PHẦN 1: CƠ SỞ LÝ THUYẾT 2

1.1 Nội dung nghiên cứu 2

1.1.1 Tổng quan về giao tiếp IC2 2

1.1.2 Giới thiệu vi điều khiển PCF8574 2

1.1.3 Tổng quan về vi điều khiển Arduino 3

1.1.4 Màn hình Text LCD kích thước 16x2 5

1.1.5 Cảm biến hồng ngoại IR Infrared Obstacle Avoidance Sensor 5

PHẦN 2: THIẾT KẾ VÀ LẬP TRÌNH HỆ THỐNG 7

2.1 Thiết kế hệ thống 7

2.1.1 Sơ đồ khối của hệ thống 7

2.1.2 Sơ đồ nguyên lý hệ thống 8

2.2 Lập trình hệ thống 8

2.3 Thiết kế phần mềm 9

2.4 Kết quả chế tạo và kiểm thử 9

2.4.1 Kết quả chế tạo 9

2.4.2 Kiểm thử 11

PHẦN 3: KẾT LUẬN VÀ MỞ RỘNG Ý TƯỞNG 13

3.1 Kết luận 13

3.2 Phát triển ý tưởng với nhà để xe thông minh 14

3.2.1 Tóm tắt ý tưởng 14

3.2.1 Cách thức hoạt động kết quả kiểm thử 14

TÀI LIỆU THAM KHẢO 18

Trang 3

LỜI MỞ ĐẦU

Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật điện

từ mà trong đó là kỹ thuật số đóng vai trò quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp tự động hóa, cung cấp thông tin Do đó chúng ta phải nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điện tử nói riêng

Xuất phát từ những bài học thực tập trên lớp và tham quan các doanh nghiệp sản xuất, chúng em đã được thấy nhiều khâu được tự động hóa trong quá trình sản xuất Một trong những khâu đơn giản trong dây chuyển sản xuất tự động hóa đó là số lượng sản phẩm làm ra được đếm một cách tự động

Tuy nhiên đối với những doanh nghiệp vừa và nhỏ thì việc tự động hóa hoàn toản chưa được áp dụng trong những khâu đếm sản phẩm, đóng bao bì mà vẫn còn sử dụng nhân công

Từ những điều đã được thấy và khả năng của chúng em, chúng em muốn làm một điều gì nhỏ để góp phần vào giúp người lao động bớt phần mệt nhọc chân tay mà cho phép tăng hiệu suất lao động lên gấp nhiều lần, đồng thời đảm bảo được độ chính xác Nên chúng em quyết định thiết kế một mạch đếm sản phẩm vì nó rất gần gũi với thực tế Đề làm được mạch này cần thiết kế được hai phần chính là: bộ phận cảm biến

và bộ phận đếm

Bộ phận cảm biến: bộ cảm biến phát và bộ cảm biến thu Thông thường người

ta sử dụng phần phát là LED hồng ngoại đễ phát ra ánh sáng hồng ngoại mục đích để chống nhiễu so với các loại ánh sáng khác, còn phần thu là transistor quang để thu ánh sáng hồng ngoại

Bộ phận đếm có nhiều phương pháp thực thi đó là:

Lắp mạch dùng kỹ thuật số với các IC đếm, chốt, so sánh ghép lại.

Lắp mạch dùng kỹ thuật vi xử lý.

Lắp mạch dùng kỹ thuật vi điều khiển.

Và để mở rộng ý tưởng này, chúng em đã thiết kế một hệ thống nhà xe thông minh tự động đóng mở cửa, đếm số lượng xe, nếu đầy thì sẽ dừng việc mở cửa đón xe mới cho đến khi có xe đi ra khỏi nhà xe

Trang 4

PHẦN 1: CƠ SỞ LÝ THUYẾT

1.1 Nội dung nghiên cứu

1.1.1 Tổng quan về giao tiếp IC2

Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là

I2C I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit Đây là đường Bus giao

tiếp giữa các IC với nhau.

I2C kết hợp các tính năng tốt nhất của SPI và UART Với I2C, bạn có thể kết nối nhiều slave với một master duy nhất (như SPI) và bạn có thể có nhiều master điều

khiển một hoặc nhiều slave Điều này thực sự hữu ích khi ta muốn có nhiều hơn một vi điều khiển ghi dữ liệu vào một thẻ nhớ duy nhất hoặc hiển thị văn bản trên một màn hình LCD

1.1.2 Giới thiệu vi điều khiển PCF8574.

Hình 1 Module PCF8574

LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm

dụng nhiều chân trên vi điều khiển Chính vì vậy module PCF8574 ra đời Thay vì

phải mất 6 chân vi điều khiển để kết nối với LCD 16×2 (RS, EN, D7, D6, D5 và D4)

thì module IC2 bạn chỉ cần tốn 2 chân (SCL, SDA) để kết nối

Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …), nói chung là hầu hết các loại LCD character hiện nay.

Trang 5

Module PCF8574 cũng đươc thiết kế để hàn một cách nhanh chóng vào các loại LCD16x2, 20×4… Khiến việc đấu nối trở nên dễ dàng hơn rất nhiều

1.1.3 Tổng quan về vi điều khiển Arduino.

Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên nước

Ý thiết kế và đưa ra đầu tiên vào năm 2005 Mạch Arduino được sử dụng để cảm nhận

và điều khiển nhiều đối tượng khác nhau Nó có thể thực hiện nhiều nhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác Ngoài ra mạch

còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet

shield, sim900A, 1 ….để tăng khả ứng dụng của mạch.

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,… Hiện phần cứng của Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng nhiều nhất là Arduino

Uno và Arduino Mega.

Phần mềm để lập trình cho mạch Arduino là phần mềm IDE.

Cấu tạo Arduino:

1 Arduino Workshop: A Hands-On Introduction with 65 Projects - Box John

Trang 6

Hình 2 Cấu tạo Arduino Uno R3

Chi tiết phần cứng của Arduino:

Cổng USB: là chân cắm để tải mã lập trình từ PC lên chip điều khiển Đồng

thời đây cũng là cổng giao tiếp serial giúp truyền dữ liệu từ chip điều khiển vào máy tính

Jack nguồn: để chạy Arduino, bạn hoàn toàn có thể nạp nguồn từ cổng USB ở

trên Tuy nhiên không phải lúc nào cũng kết nối với máy tính được Có những

dự án cần thực hiện ngoài trời sẽ cần một nguồn điện khác với mức điện áp từ 9V -12V

Hàng Header: những chân đánh số từ 0 – 12 là hàng digital pin Đây là nơ

truyền – nhận các tín hiệu số Bên cạnh đó sẽ có một pin đất (GND) và pin điện

áp tham chiếu (AREF)

Hàng header thứ 2: chủ yếu liên quan tới điện áp đất, nguồn.

Hàng header thứ 3: đây là các chân để nhập – xuất các tín hiệu analog

Trang 7

Chip điều khiển AVR: bộ phận xử lý trung tâm của toàn bo mạch Với mỗi

mẫu Arduino khác nhau, con chip này sẽ khác nhau Ví dụ trên Arduino Uno thì

sẽ sử dụng ATMega328

1.1.4 Màn hình Text LCD kích thước 16x2

Hình 3 Text LCD 16x2

Màn hình Text LCD 16×2 được chia sẵn thành từng ô và ứng với mỗi ô chỉ có thể hiển thị một ký tự ASCII Mỗi ô của Text LCD bao gồm các “chấm” tinh thể lỏng,

việc kết hợp “ẩn” và “hiện” các chấm này sẽ tạo thành một ký tự cần hiển thị Trong

các Text LCD, các mẫu ký tự được định nghĩa sẵn Kích thước của Text LCD được

định nghĩa bằng số ký tự có thể hiển thị trên 1 dòng và tổng số dòng mà LCD có Màn hình LCD 16×2 là loại có 2 dòng và mỗi dòng có thể hiển thị tối đa 16 ký tự.

Các chân điều khiển việc đọc và ghi dữ liệu của Text LCD bao gồm: RS, R/W

và EN Trong đó:

R/W (chân số 4) là chân lựa chọn giữa việc đọc và ghi

RS (chân số 3) là chân lựa chọn thanh ghi

EN (chân số 5) là chân cho phép LCD hoạt động (Enable)

1.1.5 Cảm biến hồng ngoại IR Infrared Obstacle Avoidance Sensor.

Cảm biến hồng ngoại hay còn được gọi là IR Sensor, chúng là một thiết bị điện tử

Trang 8

có khả năng đo và phát hiện bức xạ hồng ngoại trong môi trường xung quanh Thực ra,

tên tiếng anh của cảm biến hồng ngoại là Passive Infrared, viết tắt là PIR dịch sát nghĩa là “hồng ngoại thụ động” Cảm biến hồng ngoại (IR Sensor) phát ra các tia vô

hình đối với mắt người, vì bước sóng của nó dài hơn ánh sáng khả kiến (mặc dù nó vẫn nằm trên cùng một phổ điện từ) Bất cứ thứ gì phát ra nhiệt (mọi thứ có nhiệt độ trên năm độ Kelvin) đều phát ra bức xạ hồng ngoại

Hình 4 Cảm biến hồng ngoại IR Sensor

Cảm biến vật cản hồng ngoại có khả năng thích nghi với môi trường, có một

cặp truyền và nhận tia hồng ngoại Tia hồng ngoại phát ra một tần số nhất định, khi phát hiện hướng truyền có vật cản (mặt phản xạ), 2

Khoảng cách làm việc hiệu quả 2 ~ 5cm, điện áp làm việc là 3.3 V đến 5V Độ nhạy sáng của cảm biến vật cản hồng ngoại được điều chỉnh bằng chiết áp, cảm biến

dễ lắp ráp, dễ sử dụng,…

Có thể được sử dụng rộng rãi trong robot tránh chướng ngại vật, xe tránh chướng ngại vật và dò đường…

PHẦN 2: THIẾT KẾ VÀ LẬP TRÌNH HỆ THỐNG

2 Thermal Infrared Sensors: Theory, Optimisation and Practice - Helmut Buzier

Trang 9

2.1 Thiết kế hệ thống

2.1.1 Sơ đồ khối của hệ thống

Sử dụng vi điều khiển ATmega328P của Arduino làm xử lý trung tâm, mạch hệ

thống có nguyên lý hoạt động như sau:

- Vi điều khiển đọc giá trị từ bộ cảm biến hồng ngoại, xử lý để nhận dạng có

vật cản (vật cản ở đây có thể là người hoặc sản phẩm) hay không có vật cản từ đó tăng

số đếm khi có vật cản đi qua

- Xuất hiển thị màn hình LCD (hoặc màn hình máy tính) giá trị đếm được.

Khối hiển thị LCD Khối vi điều khiển

Khối cảm biến

Khối nguồn

Trang 10

2.1.2 Sơ đồ nguyên lý hệ thống

Hình 5 Mô phỏng sơ đồ nối chân cụ thể giữa các khối của hệ thống trên thực tế bằng phần

mềm Proteus 8 Professional

2.2 Lập trình hệ thống

Lập trình Arduino Uno bằng phần mềm Arduino Software IDE (Intergrated Development Environment) Hệ thống được lập trình lưu giá trị đếm ngay cả khi mất điện

Trang 11

2.3 Thiết kế phần mềm

Code Arduino (Bọn em để trong file Arduino đính kèm)

2.4 Kết quả chế tạo và kiểm thử

2.4.1 Kết quả chế tạo

Sử dụng phần mềm Proteus 8, bọn em đã lắp rắp các thành phần và được kết quả như hình:

ĐỌC GIÁ TRỊ ĐẾM LƯU TRONG EEPROM

KHỞI TẠO

HIỂN THỊ LCD GIÁ TRỊ ĐẾM

TĂNG GIÁ TRỊ ĐẾM

GHI GIÁ TRỊ ĐẾM VÀO EEPROM

SAI

ĐÚNG

Trang 12

Hình 6 Hệ thống đếm sản phẩm Màn hình LCD sẽ hiển thị số lượng ở mức mặc định là 0

Giá trị cảm biến khi không có vật cản để mặc định ở mức cao ứng với giá trị bằng 1, giá trị cảm biến sẽ bằng 0 khi có vật cản đi qua ứng với mức thấp Nút reset để làm mới chương trình.

Nguyên lý hoạt động

Khi chưa có vật cản đi qua, cảm biến hồng ngoại không nhận được tín hiệu do

đó không có tín hiệu đưa đến vi điều khiển ATmega328P Màn hình LCD trong trường hợp này hiển thị giá trị đếm nhớ trước đó

Khi có vật cản đi qua, LED thu nhận được tín hiệu từ LED phát, mạch cảm biến cấp tín hiệu cho vi điều khiển ATmega328P, vi điều khiển thực hiện tác vụ tăng giá trị đếm và xuất hiển thị giá trị đếm lên mà hình LCD

Trang 13

2.4.2 Kiểm thử

Kết nối nguồn, nạp chương trình, tiến hành chạy kiểm thử hệ thống:

Màn hình LCD hiển thị số đếm ở mức 0

Khi có vật cản đi qua khối cảm biến (Ứng với giá trị 1 tại cảm biến chuyển thành 0) thì màn hình LCD hiển thị số đếm tăng thêm.

Khi đếm số sản phẩm tới số lượng mong muốn (ở đây bọn em đặt là 10) thì hệ thống sẽ dừng đếm sản phẩm và hiện số sản phẩm đã đầy màn hình LCD báo là

“….FULL….”.

Trang 14

Khi muốn làm mới chương trình ta nhấn nút reset khi đó giá trị trên màn hình LCD sẽ trở lại về 0.

Trang 15

PHẦN 3: KẾT LUẬN VÀ MỞ RỘNG Ý TƯỞNG

3.1 Kết luận

Chúng em đã thiết kế và chế tạo thành công bộ đếm kết hợp với cảm biến thực hiện các tác vụ đặt ra ở mục tiêu bài báo Hệ thống đếm có thể được ứng dụng trong các dây chuyền sản xuất vừa và nhỏ, các nhà máy hay các siêu thị, cửa hàng … cần quản lý số lượng sản phẩm, số lượng nhân công, khách hàng… một cách khoa học và

tự động

Tuy nhiên, để nâng cao hơn nữa khả năng triển khai hệ thống trong thực tế, trong thời gian tới chúng em mong muốn có thể tiếp tục một số hướng nghiên cứu tối

ưu như sau:

Nghiên cứu điều chỉnh các khối giao tiếp nhằm tăng độ nhạy cũng như độ gọn

về mặt kích thước cho hệ thống đếm

Nghiên cứu, tối ưu phạm vi làm việc của bộ cảm biến hồng ngoại trong các môi trường và khoảng cách khác nhau.

Nghiên cứu ảnh hưởng của nhiệt độ, ánh sáng đến độ chính xác của bộ cảm biến hồng ngoại

Qua đây chúng ta nhận ra được rằng, so với việc thiết kế hệ thống điều khiển với vi điều khiển thông thường thì sử dụng module Arduino tiện lợi hơn rất nhiều bởi các lý do sau:

Nguồn tài liệu mở hướng dẫn sử dụng Arduino bằng tiếng Anh cũng như tiếng Việt rất phong phú

Module Arduino đã có tích hợp sẵn vi điều khiển với ngôn ngữ lập trình thân thiện với người dùng, sử dụng mã nguồn mở nên thư viện code đa dạng được chia sẻ rộng rãi bởi cộng đồng người dùng Arduino.

Giá thành rẻ (module Arduino Uno R3 hiện có giá khoảng 120.000 đồng).

Trang 16

Hỗ trợ nhiều module mở rộng giúp người thiết kế lắp ráp và kiểm tra mạch nhanh chóng.

3.2 Phát triển ý tưởng với nhà để xe thông minh

3.2.1 Tóm tắt ý tưởng

Bọn em sẽ thiết kế một hệ thống đếm số lượng ra vào nhà xe tự động đơn giản, kèm theo đó là cửa nhà xe tự động đóng mở, hệ thống dễ sử dụng đồng thời vẫn đảm

bảo độ chính xác Hệ thống sử dụng module Arduino Uno R3 tích hợp vi điều khiển

ATmega328P kết hợp với bộ cảm biến hồng ngoại IR1 thực hiện các tác vụ: nhận tín

hiệu khi có vật cản (xe) đi qua cảm biến để đóng mở cửa và hiển thị số lượng (xe) lên màn hình LCD, thông báo và ngừng nhận xe khi nhà xe đã đầy và tự động khóa cửa

3.2.1 Cách thức hoạt động kết quả kiểm thử.

- Mô phỏng Proteus hệ thống nhà để xe thông minh:

Trang 17

Hình 7 Nhà để xe thông minh sau khi lắp ráp các thành phần

Cách thức hoạt động:

Khi chưa có vật cản đi qua lối ra và lối vào , cảm biến hồng ngoại không nhận được tín hiệu do đó không có tín hiệu đưa đến vi điều khiển ATmega328P Màn hình LCD trong trường hợp này hiển thị giá trị đếm nhớ trước đó, động cơ SERVOR chưa được kích hoạt và cửa vẫn đóng

Khi có vật cản đi qua lối vào , LED thu nhận được tín hiệu từ LED phát, mạch cảm biến cấp tín hiệu cho vi điều khiển ATmega328P, vi điều khiển thực hiện tác vụ tăng giá trị đếm và xuất hiển thị giá trị đếm lên mà hình LCD, vi điều khiển kích hoạt động cơ SERVOR làm cửa mở ở lối vào

Tương tự với lối ra, khi có xe ra thì LED phát ở cảm biến bắt tín hiệu gửi cho vi điều khiển Atmega328P, vi điều khiển sẽ giảm giá trị đếm và kích hoạt động cở SERVOR làm mở cửa lối ra

Trang 18

Khi nhà xe đã đầy, mà hình sẽ báo đầy xe và vi điều khiển thực hiện tác vụ không cho xe vào nữa

Kết quả kiểm thử:

Màn hình LCD chạy câu chào và hiển thị số đếm ở mức 0, lúc này cửa nhà xe đóng.

Khi có xe đi qua cảm biến thì màn hình LCD hiển thị số đếm tăng thêm, cửa tự động mở đón xe vào (Hình 8).

Hình 8 Khi có xe vào Khi có xe đi ra cảm biến ở lối ra quét được lúc này thì màn hình LCD hiện số đếm giảm đi, cửa tự động mở ra cho xe đi.

Khi nhà xe đã đầy, màn hình LCD thông báo nhà xe đã đầy (Hình 9) và các cửa tự động khóa lại cho đến khi có xe ra thì mới nhận xe mới.

Trang 19

Hình 9 Nhà xe khi đầy Bên cạnh khi muốn làm mới hệ thống ta nhấn nút RESET BUTTON (Hình 10).

Trang 20

Hình 10 Làm mới nhà xe

TÀI LIỆU THAM KHẢO

1, Boxall, John Arduino Workshop: A Hands-On Introduction with 65 Projects 1st Edition

2 Buzier, Helmut Thermal Infrared Sensors: Theory, Optimisation and Practice

Ngày đăng: 22/11/2022, 20:24

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w