TRƯỜNG ĐẠI HỌC TIỀN GIANG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA KỸ THUẬT CÔNG NGHIỆP Độc lập - Tự do - Hạnh phúc BỘ MÔN ĐIỆN – ĐIỆN TỬ Tiền Giang, ngày tháng năm 2018 NHẬN XÉT CỦA CÁN
Trang 1TRƯỜNG ĐẠI HỌC TIỀN GIANG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA KỸ THUẬT CÔNG NGHIỆP Độc lập - Tự do - Hạnh phúc
BỘ MÔN ĐIỆN – ĐIỆN TỬ
Tiền Giang, ngày tháng năm 2018
NHIỆM VỤ ĐỒ ÁN
Họ và tên sinh viên
I TÊN ĐỀ TÀI: Hệ thống đếm và phân loại sản phẩm theo chiều cao
II NHIÊM VỤ VÀ NỘI DUNG:
III NGÀY GIAO NHIỆM VỤ:
IV NGÀY HOÀN THÀNH:
V GVHD KHOA HỌC:………
VI GVHD CHUYÊN MÔN: Phan Thị Thùy Mỹ CÁN BỘ HƯỚNG DẪN TRƯỞNG BỘ MÔN
Trang 2LỜI CAM ĐOAN
Đề tài này là do chúng em tự thực hiện dựa vào một số tài liệu và không saochép từ tài liệu hay công trình đã có trước đó Nếu có sao chép chúng em hoàntoàn chịu trách nhiệm
Trang 3TRƯỜNG ĐẠI HỌC TIỀN GIANG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA KỸ THUẬT CÔNG NGHIỆP Độc lập - Tự do - Hạnh phúc
BỘ MÔN ĐIỆN – ĐIỆN TỬ
Tiền Giang, ngày tháng năm 2018
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN Tên đề tài: Hệ thống đếm và phân loại sản phẩm theo chiều cao
Họ và tên sinh viên 1: Nguyễn Phước Toàn
Họ và tên sinh viên 2: Đinh Quốc Thuận
Họ và tên sinh viên 3: Huỳnh Văn Quốc Thuận Lớp: CĐ Điện-điện tử 16
Họ và tên CBHD: Phan Thị Thùy Mỹ Chức vụ, đơn vị công tác: Giảng viên bộ môn điện tử khoa kỹ thuật công
nghiệp trường Đại học Tiền Giang
I CẤU TRÚC ĐỀ TÀI:
II PHẦN NHẬN XÉT 2.1 Nhận xét về chuyên môn - Tính cấp thiết của đề tài:
- Mục tiêu của đề tài:
- Hình thức trình bày nội dung đề tài:
Trang 4
- Giá trị khoa học và thực tiễn của đề tài:
- Mức độ đáp ứng nhiệm vụ đề tài đặt ra:
2.2 Nhận xét về tác phong a Khả năng thực hiện theo kế hoạch và đề cương đã đề ra:
b Tính chuyên cần và tuân thủ lịch trình làm việc với CBHD:
III ĐÁNH GIÁ CHUNG VÀ ĐỀ NGHỊ 3.1 Đánh giá chung:
3.2 Đề nghị:
CÁN BỘ HƯỚNG DẪN
Trang 5TRƯỜNG ĐẠI HỌC TIỀN GIANG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA KỸ THUẬT CÔNG NGHIỆP Độc lập - Tự do - Hạnh phúc
BỘ MÔN ĐIỆN – ĐIỆN TỬ
Tiền Giang, ngày tháng năm 2018
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN Tên đề tài: Hệ thống đếm và phân loại sản phẩm theo chiều cao Lớp: CĐ Điện-điện tử 16
Họ và tên GVPB:
Chức vụ, đơn vị công tác:
I CẤU TRÚC ĐỀ TÀI:
II PHẦN NHẬN XÉT - Tính cấp thiết của đề tài:
- Mục tiêu của đề tài:
- Hình thức trình bày nội dung đề tài:
- Giá trị khoa học và thực tiễn của đề tài:
Trang 6
- Mức độ đáp ứng nhiệm vụ đề tài đặt ra:
III ĐÁNH GIÁ CHUNG VÀ ĐỀ NGHỊ / CÂU HỎI PHẢN BIỆN 3.1 Đánh giá chung:
3.2 Đề nghị / Câu hỏi phản biện:
GIẢNG VIÊN PHẢN BIỆN
Trang 7LỜI CẢM ƠN
Đầu tiên xin gửi lời cảm ơn đến Cô Phan Thị Thùy Mỹ - trên cương vị làgiảng viên hướng dẫn đề tài đã nhiệt tình chỉ bảo, hướng dẫn, giảng giải tận tình
về các vướng mắc trong quá trình tìm hiểu đề tài
Cảm ơn quý thầy cô trường Đại học Tiền Giang đã hỗ trợ tận tình về trangthiết bị, phần mềm, cơ sở vật chất tạo điều kiện hoàn thành đồ án
Cảm ơn Cô Mỹ cùng các giảng viên bộ môn đã cung cấp, bổ sung về mặtkiến thức; góp phần nâng cao vốn hiểu biết về ngành học tạo tiền đề cơ bản đểthực hiện đề tài thuận lợi hơn
Xin cảm ơn các bạn cùng khóa, cùng Khoa đã động viên, khích lệ ủng hộ vềnhiều mặt góp phần làm nên thành công của đồ án này
XIN CHÂN THÀNH CẢM ƠN!
Trang 8TRƯỜNG ĐẠI HỌC TIỀN GIANG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Bộ Môn Điện - Điện Tử
Tiền Giang, ngày tháng năm 2018
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN MÔN HỌC
Lớp: CD CNKT Điện-Điện tử 16
Tên đề tài: Hệ thống đếm và phân loại sản phẩm theo chiều cao
Nghiên cứu đề tài hệ thống đến
và phân loại sản phẩm theo chiều cao
Lựa chọn linh kiện
Vẽ mạch, mô phỏng
Thi công
Viết báo cáo
GVHD CHUYÊN MÔN
Trang 9MỤC LỤC
NHIỆM VỤ ĐỒ ÁN………1
LỜI CAM ĐOAN………2
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN……… 3
NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN……… 5
LỜI CẢM ƠN……… 7
LỊCH TRÌNH THỰC HIỆN ĐỔ ÁN MÔN HỌC………8
MỤC LỤC……… 9
DANH MỤC HÌNH VẼ……… 11
A MỞ ĐẦU 1 Đặt vấn đề……….12
2 Lý do chọn đề tài……… 12
3 Mục tiêu nghiên cứu……….12
4 Đối tượng nghiên cứu……… 12
5 Phạm vi đề tài……… 13
6 Cấu trúc đề tài……… 13
B NỘI DUNG Chương 1: Tổng quan……… 14
1 Giới thiệu tổng quan về hệ thống đếm và phân loại sản phẩm……….14
2 Giới thiệu về Arduino UNO……… 14
3 Giới thiệu về LCD……… 19
4 Giới thiệu về I2C……… 21
5 Giới thiệu về cảm biến quang E18-D80NK……… 23
6 Giới thiệu về motor DC……… 25
7 Giới thiệu về motor Servo……… 26
Chương 2: Thiết kế mạch……… 29
1 Sơ đồ khối tổng quan của hệ thống……… 29
2 Thiết kế mạch và mô phỏng……… 29
Chương 3: Thiết kế phần mềm và kết quả thực hiện……… .33
1 Thiết kế phần mềm……… 33
Trang 102 Kết quả thực hiện……… 34
C KẾT LUẬN VÀ KIỀN NGHỊ……… 35 PHỤ LỤC……… 36
Trang 11DANH MỤC HÌNH VẼ CHƯƠNG 1: TỔNG QUAN
Hình 2.1 Những phiên bản của Arduino
Hình 2.2 Arduino Uno
Hình 2.3 Vi điều khiển Atmega 8
Hình 2.4 Vi điểu khiển Atmega 168
Hình 2.5 Vi điều khiển Atmega 328P
Hình 2.6 Arduino Uno Atmega 328P
Hình 3.1 Hình dáng và sơ đồ chân của LCD
Hình 7.2 Cấu tạo cơ bản của động cơ servo
Hình 7.3 Kích thước động cơ servo
CHƯƠNG 2: THIẾT KẾ MẠCH
Hình 1.1 Sơ đồ khối mô hình đếm và phân loại sản phẩm
Hình 2.1 Mạch điều khiển
Hình 2.2 Mạch hiển thị dùng LCD
Hình 2.3 Sơ đồ nguyên lý hoạt động
Hình 2.4 Khi chưa có vật tác động vào E18-D80NK1
Hình 2.5 Khi có vật tác động vào E18-D80NK1
CHƯƠNG 3: THIẾT KẾ PHẦN MỀM VÀ KẾT QUẢ THỰC HIỆN Hình 1.1 Lưu đồ giải thuật của chương trình
Hình 2.1 Mô hình hệ thống đếm và phân loại sản phẩm
Trang 12BẢNG VIẾT TẮT
SRAM: Static Random Accescc Memory
EEPROM: Electrically Eraseble Programmable Read Only Memory.LCD: Liquid Crystal Display
I2C: Inter Intergrated Circuit
SDA: Serial Data
SCL: Serial Clock
Trang 13A MỞ ĐẦU
1 Đặt vấn đề
Ngày nay, nền công nghiệp nước ta ngày càng phát triển gắn liền với các
hệ thống tự động thay thế cho sức người Nhưng phần lớn các tủ điều khiển cònkhá lớn và phức tạp
Để góp phần thay thế các tủ điều khiển lớn và phức tạp, sau một thời giandưới sự giảng dạy của thầy cô trường Đại Học Tiền Giang, đồng thời được sựgiúp đỡ nhiệt tình của cô Phan Thị Thùy Mỹ và các bạn cùng lớp, chúng em đã
thiết kế và chế tạo “Mô hình đếm và phân loại sản phẩm theo chiều cao dùng mạch ARDUINO ’’.
2 Lý do chọn đề tài
Với sự phát triển của xã hội, khoa học kỹ thuật nói chung và vi điều khiểnnói riêng ngày càng được ứng dụng ở hầu hết các lĩnh vực 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ệnnay 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ộtquá 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ểncũng như sự đa dạng các dòng sản phẩm phù hợp nhiều mô hình ứng dụng củanó
Một ý tưởng khác được quan tâm đông đảo, nhưng chưa được áp dụngnhiều đó là ứng dụng Arduino trong sản xuất
Chính vì vậy, chúng em đã quyết định chọn đề tài này nhằm tìm hiểu vềvấn đề đếm và phân loại sản phẩm qua ứng dụng Arduino
3 Mục tiêu nghiên cứu
Mục tiêu nghiên cứu là thông qua đề tài để tìm hiểu về ứng dụng đếm vàphân loại sản phẩm nên nhiệm vụ nghiên cứu bao gồm:
- Tìm hiểu cơ chế hoạt động
- Phân tích sơ đồ nguyên lý
- Nâng cao kỹ năng lập trình vi điều khiển, làm sản phẩm điện tử
- Phát triển khả năng tư duy cho sinh viên trong quá trình nghiên cứu
4 Đối tượng nghiên cứu
Hệ thống đếm và phân loại sản phẩm dùng Arduino
Trang 145 Phạm vi đề tài
Trong phạm vi đồ án này, chúng em xin trình bày sơ lược về cấu tạo vànguyên lý hoạt động của mô hình đếm và phân loại sản phẩm theo chiều cao sửdụng Arduino UNO, LCD, I2C,…
3 Mục tiêu nghiên cứu
4 Đối tượng nghiên cứu
5 Phạm vi đề tài
6 Cấu trúc đề tài
B NỘI DUNG
CHƯƠNG 1 TỔNG QUANG
1 Giới thiệu tổng quan về hệ thống đếm và phân loại sản phẩm
2 Giới thiệu về Arduino Uno
3 Giới thiệu về LCD
4 Giới thiệu về I2C
5 Giới thiệu về Cảm Biến Quang
6 Giới thiệu về Motor DC
7 Giới thiệu về Motor Servo
Trang 15B NỘI DUNG CHƯƠNG 1: TỔNG QUAN
1 Giới thiệu tổng quan về hệ thống đếm và phân loại sản phẩm
Ngày nay cùng với sự tiến bộ của khoa học kĩ thuật công nghệ điện tử đãđang và sẽ phát triển ngày càng rộng rãi, trong đó có thể nói đến là vi điều khiển.Các ứng dụng của vi điều khiển như làm Robot, máy bay không người lái,điềukhiển tín hiệu đèn giao thông, làm hiệu ứng đèn led nhấp nháy trên các bảnquảng cáo, điều khiển các thiết bị cảm ứng ánh sáng, âm thanh,… Trong cáccông ty xí nghiệp ứng dụng hệ thống đếm và phân loại sản phẩm rất phổ biển
Băng tải được ứng dụng và lắp đặt trong các quy trình sản xuất của nhiềungành nghề như khai thác khoáng sản, chế biến thực phẩm, đồ uống dược phẩm,phân loại rác thải, ứng dụng trong các thiết bị nâng và bốc dỡ vật liệu kết hợpphân loại sản phẩm,… Trong đó phần lớn các tủ điều khiển hệ thống băng tải đểđếm và phân loại sản phẩm còn khá lớn và phức tạp, để giải quyết vấn đề này ta
có thể áp dụng vi điều khiển
2 Giới thiệu về Arduino Uno
2.1 Gới thiệu về Arduino
Arduino được khởi động vào năm 2005 như là một dự án dành cho sinhviên trại Interactino Design Instiute Ivrea (Viện thiết kế tương tác Ivrea) tại Ivrea,Italy
Arduino là một nền tảng mà mọi phần cứng đều được làm sẵn và chuẩnhóa Người dung chỉ cần chọn những thứ mình cần, ráp lại và viết chương trình
là có thể chạy được Arduino cung cấp cho bạn module điều khiển động cơ cósẵn, mạch điều khiển có sẵn, mạch thu phát sóng không dây có sẵn,…
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn ngữ riêng.Ngôn ngữ này được dựa trên ngôn ngữ Wiring được viết cho phần cứng nóichung trên một môi trường phát triển tích hợp (IDE) chạy trên máy tính cá nhân,
và Wiring lại là một biến thể của C/C++ Một số người gọi nó là Wiring, một sốkhác thì gọi là C hay C/C++
Phần cứng Arduino gốc được sản xuất bởi công ty Italy tên là SmartProjects Một vài board dẫn suất từ Arduino cũng được thiết kế bởi công ty của
Mỹ tên là SparkFun Electronics Nhiều phiên bản Arduino được sản suất phù hợpcho nhiều mục đích sử dụng:
Trang 16Hình 2.1 Những phiên bản của Arduino 2.2 Arduino Uno
“Uno” có nghĩa là 1 bằng tiếng Ý và được đặt tên để đánh dấu việc pháthành sắp tới của Arduino 1.0 Uno và phiên bản 1.0 sẽ là phiên bản tài liệu thamkhảo của Arduino Uno là mới nhất trong các loại board Arduino, và các mô hìnhtham chiếu cho các nền tảng Arduino
Arduino Uno là một “hội đồng quản trị” dựa trên Atmega 328 Nó có 14chân đầu vào/ đầu ra, 6 đầu vào Analog, tần số hoạt động là 16 MHz, kết nốiUSB, một jack cắm điện và một nút reset Nó chứa tất cả mọi thứ cần thiết để hỗtrợ các vi điều khiển, chỉ cần kết nối nó với máy tính bằng cáp USB hoặc cấpđiện cho nó để bắt đầu
Trang 17Arduino Uno khác với tất cả các phiên bản trước ở chổ nó không sử dụngcác FTDI chip điều khiển USB-to-serial Thay vào đó, nó có tính năng Atmega16U2 lập trình như là một công cụ chuyển đổi USB-to-serial.
Phiên bản 2 (R2) của Arduino Uno sử dụng Atmega 8U2 có một điện trởkéo dòng 8U2 HWB xuống đất, làm cho nó dễ dàng hơn để đưa vào chế độ DFU
Phiên bản 3 (R3) của Arduino Uno có các tính năng mới sau đây:
- Thêm SDA và SCL gần với pin Aref và hai chân mới được đặt gần vớipin RESET, các IROEF cho phép thích ứng với các điện áp cung cấp
- Đặt lại mạnh khỏe hơn
- Atmega 16U2 thay thế 8U2
2.3 Cấu trúc và thông số kỹ thuật
Điện áp hoạt động 5VDC (chỉ được cấp qua cổng USB)
Số chân Analog 6 chân độ phân giải 10 bit
Trang 18a Vi điều khiển và bộ nhớ
Arduino Uno có thể sử dụng 3 vi điều khiển họ 8 bít AVR là Atmega 8,Atmega 168, Atmega 328 Bộ não này có thể xử lí những tác dụng cơ bả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ộttrạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,…
32 Kb bộ nhớ Flash: những đoạn lệnh 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, hiếm khi nào cần quá 20 Kb bộ nhớ này
2 Kb bộ nhớ SRAM (Static Random Accescc Memory): giá trị các biếnkhai báo khi lập trình sẽ được lưu ở đây Khai báo càng nhiều biến thì càng cầnnhiều bộ nhớ SRAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ SRAM lạitrở thành thứ phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất
1 Kb cho EEPROM (Electrically Eraseble Programmable Read OnlyMemory): đây giống như một chiếc ổ cứng mini là nơi có thể đọc và ghi dữ liệuvào mà không phải lo bị mất khi mất điện giống như dữ liệu trên SRAM
b Cấu tạo
Một board Arduino UNO gồm một cổng giao tiếp USB (Góc trên bênphải) và một con chip Atmega328P (Màu đen nằm ở giữa board), 14 chân I/Onằm phía trên và 6 chân Analog đầu vào nằm ở phía dưới bên phải
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụngcho những mạch ngoài Arduino Uno đưa ra 14 chân I/O kỹ thuật số, trong đó có
6 chân có thể tạo xung PWM và 6 chân INPUT Analog
Hình 2.3 Vi điều khiển Atmega 8.
Hình 2.4 Vi điểu khiển Atmega 168
Hình 2.5 Vi điều khiển Atmega 328P
Trang 19Hình 2.6 Arduino Uno Atmega328P
c Vị trí và chức năng các chân
Nếu không có sẵn nguồn USB, có thể cấp nguồn cho Arduino Uno từ mộtnguồn chuyển đổi từ AC sang DC hoặc pin Các bộ chuyển đổi có thể kết nốibằng một plus 2.1mm trung tâm tích cực vào jack cắm điện
Các chân năng lượng:
- GND: Cực âm của nguồn điện áp cấp cho Arduino Uno Khi dùng cácthiết bị sử dụng những nguồn điện riêng thì những chân này phải được nối vớinhau
- 5V: Cấp điện áp 5V đầu ra, dòng tối đa cho phép ở chân này là 500 mA
- 3.3V: Cấp điện áp 3.3V đầu ra Dòng tối đa ở chân này là 50 mA
- Vin: Để cấp nguồn ngoài cho Arduino, nối cực dương của nguồn với chânnày và cực âm với chân GND
- 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 biến trở 10KΩ
- Chân PWM (~): 3,5,6,9,10,11 cho phép bạn xuất ra xung PWM bằng hàm
analogWrite() Nói một cách đơn giản, có thể điều chỉnh được điện áp ra ở chânnày từ mức 0-5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác
Trang 20- Chân giao tiếp SPI: 10 (SS), 11 (MOSI),12 (MISO), 13 (SCK) Ngoài cácchức năng thông thường, 4 chân này còn dùng để phát dữ liệu bằng giao thức SPIvới các thiết bị khác.
- Led 13: Trên Arduino Uno có 1 đèn led màu cam (ký hiệu L) Khi bầmnút reset, ta sẽ thấy đèn này nhấp nháy để báo hiệu Nó được kết nối với chân số
13 Khi chân này được người dùng sử dụng thì LED sẽ sáng
Arduino Uno có 6 chân analog (A0-A5) dùng để cung cấp độ phân giải tínhiệu để đọc giá trị điện áp trong khoảng 0v-5v Với chân AREF trên board, ta cóthể đưa vào điện áp tham chiếu khi sử dụng chân analog Nghĩa là nếu ta cấp điện
áp 3.3V vào chân này thì ta có thể dùng các chân analog để đo điện áp trongkhoảng 0-3.3V Đặc biệt Arduino Uno có 2 chân A4 (SDA) và A5 (SCL) hỗ trợgiao tiếp I2C/TWI với các thiết bị khác
3 Giới thiệu về LCD 16x2 (LCD HD44780)
Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng rấtnhiều trong các ứng dụng của vi điều khiển LCD có rất nhiều ưu điểm so với cácdạng hiển thị khác: Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và
kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng với nhiều giao thức giao tiếp khácnhau, tốn rất ít tài nguyên hệ thống và giá thành rẽ,…
Hình 3.1 Hình dáng và sơ đồ chân của LCD.