BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA – VŨNG TÀU VIỆN CNKT - NNCNC ĐỒ ÁN TỐT NGHIỆP MÔ HÌNH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM THEO CHIỀU CAO Trình độ đào tạo : Đại học chính quy Ngành
Trang 1BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÀ RỊA – VŨNG TÀU
VIỆN CNKT - NNCNC
ĐỒ ÁN TỐT NGHIỆP
MÔ HÌNH ĐẾM VÀ PHÂN LOẠI SẢN PHẨM THEO CHIỀU CAO
Trình độ đào tạo : Đại học chính quy
Ngành : Công Nghệ Kỹ Thuật Điện - Điện Tử Chuyên ngành : Điều Khiển và Tự Động Hóa
Giảng viên hướng dẫn : ThS Châu Nguyễn Ngọc Lan
Sinh viên thực hiện : Lưu Văn Thọ - 17032432
Nguyễn Ngọc Hoàng - 17032197
Trang 2KHOA ĐIỆN – ĐIỆN TỬ Độc lập- Tự do- Hạnh phúc
PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP
(Đính kèm Quy định về việc tổ chức, quản lý các hình thức tốt nghiệp ĐH, CĐ ban hành kèm theo Quyết định số 585/QĐ-ĐHBRVT ngày 16/7/2013 của Hiệu trưởng Trường Đại
Trình độ đào tạo : Đại học
Hệ đào tạo : Chính quy
Ngành : Công nghệ kỹ thuật điện-điện tử
Chuyên ngành : Điều khiển và tự động hoá
1 Tên đề tài:
2 Giảng viên hướng dẫn: Th.S Châu Nguyễn Ngọc Lan
3 Ngày giao đề tài:
4 Ngày hoàn thành đồ án/ khoá luận tốt nghiệp:
Vũng Tàu, ngày tháng năm 2021
(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)
Trang 3LỜI CẢM ƠN
Đầu tiên xin gửi lời cảm ơn sâu sắc đến Cô Châu Nguyễn Ngọc Lan 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 Hiệu Trưởng, cùng các quý thầy cô trường Đại học Bà Rịa – Vũng Tàu đã hỗ trợ tận tình về trang thiế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 thầy(cô) chủ nhiệm cùng các giảng viên bộ môn đã cung cấp,
bổ sung về mặt kiế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 4NHẬN XÉT
(Của giáo viên hướng dẫn)
• Thái độ, tác phong và nhận thức trong quá trình thực hiện:
Trang 5NHẬN XÉT
(Của giáo viên phản biện)
• Thái độ, tác phong và nhận thức trong quá trình thực hiện:
Trang 6LỜI MỞ ĐẦU
Ngày nay hệ thống điều khiển tự động không còn quá xa lạ với chúng ta
Nó được ra đời từ rất sớm, nhằm đáp ứng được nhu cầu thiết yếu trong cuộc sống của con người Và đặc biệt trong sản xuất, công nghệ tự động rất phát triển và nó đã giải quyết được rất nhiều vấn đề mà một người bình thường khó
có thể làm được Vì vậy điều khiển tự động đã trở thành một ngành khoa học
kỹ thuật chuyên nghiên cứu và ứng dụng của ngành điều khiển tự động vào lao động sản xuất, đời sống sinh hoạt của con người
Bên cạnh đó kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành
kỹ thuật và trong dân dụng Các bộ vi điều khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip vi mạch nhỏ, nó đã dần thay thế các
tủ điều khiển lớn và phức tạp bằng những mạch điện gọn nhẹ, dễ dàng thao tác sử dụng
Chính vì các lý do trên, việc tìm hiểu, khảo sát vi điều khiển là điều mà các sinh viên ngành điện mà đặc biệt là chuyên ngành Tự động hoá phải hết sức quan tâm Đó chính là một nhu cầu cần thiết và cấp bách đối với mỗi sinh viên, đề tài này được thực hiện chính là đáp ứng nhu cầu đó
Để tìm hiểu rõ hơn về vi xử lý, nhóm chúng em đã chọn đề tài "Mô hình phân loại sản phẩm theo chiều cao dùng vi điều khiển Atmega16L."
Do thời gian, kiến thức và kinh nghiệm của chúng em còn có hạn nên sẽ không thể tránh khỏi những sai sót Chúng em rất mong được sự giúp đỡ và tham khảo ý kiến của thầy cô và các bạn nhằm đóng góp phát triển thêm đề tài
Trang 7MỤC LỤC
PHIẾU GIAO ĐỀ TÀI ĐỒ ÁN TỐT NGHIỆP
LỜI CAM ĐOAN
LỜI CẢM ƠN
NHẬN XÉT
Chương 1: TỔNG QUAN ĐỀ TÀI 11
1.1 Lý do chọn đề tài 11
1.2 Giới hạn đề tài 11
1.3 Nguồn tư liệu 12
1.4 Nhiệm vụ nghiên cứu 12
Chương 2: TỔNG QUAN CÁC LINH KIỆN CHÍNH 13
2.1 Atmega16L 13
2.1.1 Giới thiệu 13
2.1.2 Sơ đồ chân 14
2.1.3 Sơ đồ khối 16
2.1.4 Chức năng Atmega16 17
2.1.5 Đặc trưng 19
2.2 Module LM2596 21
2.2.1 Giới thiệu 21
2.2.2 Thông số kỹ thuật 21
2.2.3 Nguyên lý hoạt động 22
2.3 Cảm biến hồng ngoại 23
2.3.1 Giới thiệu 23
2.3.2 Thông số kỹ thuật 24
2.3.3 Cổng giao tiếp 24
2.4 LCD 16x2 25
2.4.1 Giới thiệu 25
Trang 82.4.3 Chức năng 26
2.5 Motor DC 27
2.5.1 Giới thiệu 27
2.5.2 Thông số kỹ thuật 27
2.5.3 Cấu tạo & Hoạt động 28
2.6 Motor Servo 29
2.6.1 Giới thiệu 29
2.6.2 Hoạt động & Cấu tạo 30
2.6.3 Thông số kỹ thuật 31
2.6.4 Giới hạn quay 31
2.7 Băng tải 31
2.7.1 Cấu tạo 32
2.7.2 Các loại băng tải 32
Chương 3: MÔ HÌNH ĐẾM & PHÂN LOẠI SẢN PHẨM 35
3.1 Giới thiệu 35
3.2 Các phần mềm thiết kế 36
3.2.1 AVR 36
3.2.2 Altium Designer 37
3.3 Sơ đồ khối 39
3.4 Nguyên lý hoạt động 41
3.5 Lưu đồ thuật toán 42
3.6 Code – chương trình 43
Chương 4: KẾT LUẬN 46
4.1 Ưu điểm 46
4.2 Nhược điểm 46
4.3 Hướng phát triển 46
TÀI LIỆU THAM KHẢO 47
Trang 9DANH MỤC HÌNH ẢNH
Hình 1: Sơ đồ chân Amega16
Hình 2: Sơ đồ khối của Atmega16 Hình 3: Module giảm áp
Hình 4: Hướng đi của dòng điện trong LM2596 Hình 5: Cảm biến vật cản hồng ngoại
Hình 6: LCD 16x2 Hình 7: Động Cơ DC Motor 775
Hình 9: Micro Servo 9g Hình 10: Cấu tạo cơ bản của một động cơ (motor) servo Hình 11: Sơ đồ nối dây của Micro Servo
Hình 12: Cấu tạo băng tải Hình 13: Mô hình phân loại sản phẩm theo chiều cao dùng vi điều khiển Atmega16L”
Hình 14: Board mạch điều khiển chính của hệ thống Hình 15: Giao diện chính phần mềm AVR
Hình 16: Phần mềm Altium Designer Hình 17: Giao diện chính phần mềm Altium Designer Hình 18: Mô phỏng mạch trên phần mềm
Hình 19: Sơ đồ khối mô hình đếm & phân loại sản phẩm
Trang 10Hình 20: Nguồn tổ ong Hình 21: LCD 16x2 Hình 22: Các Servo, cảm biến và băng tải Hình 23 :Board mạch điều khiển hệ thống Hình 24: Lưu đồ thuật toán
Trang 11Chương 1: TỔNG QUAN ĐỀ TÀI
Trong quá trình sản xuất thì nhiều khâu được tự động hóa Một trong những khâu đơn giản trong dây chuyền sản xuất tự động hóa đó là phân loại và đếm số lượng sản phẩm làm ra một cách tự động
Trước thực tiễn ấ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 của Atmega16L vì nó rất gần gũi với thực tế
1.2 Giới hạn đề tài:
Trong phạm vi đồ án này, tôi xin trình bày sơ lược về cấu tạo cũng như nguyên lý hoạt động của Mô hình phân loại và đếm sản phẩm theo chiều cao sử dụng : Atmega16L, cảm biến hồng ngoại, LCD16x2
Trang 121.3 Nguồn tư liệu:
Dựa vào mục đích tìm hiểu, phạm vi giới hạn và đối tượng nghiên cứu; trong quá trình thực hiện, đề tài sử dụng nguồn tư liệu như sau:
- Các tài liệu về trang thiết bị điện tử
- Tài liệu về lập trình lập trình, mã hóa vi điều khiển
1.4 Nhiệm vụ nghiên cứu:
Mục đích nghiên cứu thông qua đề tài là 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 gồm:
điện tử
Trang 13Chương 2: TỔNG QUAN CÁC LINH KIỆN CHÍNH
là dòng Mega ( như ATmega 16, Atmega 32, ATmega 128… ) với bộ nhớ có kích thước vài Kbyte đến vài trăm Kb cùng với bộ ngoại vi đa dạng được tích hợp cả bộ LCD trên chip ( dòng LCD AVR)
Tốc độ của dòng Mega cũng cao hơn so với các dòng khác Sự khác nhau cơ bản giữa các đòng chính là cấu trúc ngoại vi, còn nhân thì vẫn như nhau
ATmega16 là một lọai Vi điều khiển có nhìều tính năng đặc biệt thích hợp cho việc giải quyết những bài tóan điều khiển trên nền vi xử lý
+Các lọai vi điều khiển AVR rất phổ biến trên thị trừơng Việt Nam nên không khó khăn trong việc thay thế và sửa chữa hệ thống lúc cần
+Giá thành của dòng Vi Điều Khiển này khá phải chăng
+Các phần mềm lập trình và mã nguồn mở có thể tìm kiếm khá dễ dàng trên mạng
Các thiết kế demo nhiều nên có nhiều gợi ý tốt cho người thiết kế hệ thống.ATmega16 là vi điều khiển 8bit dựa trên kiến trúc RISC
Với khả năng thực hiện mỗi lệnh trong vong một chu kỳ xung clock, Atmega16
có thể đạt được tốc độ 1MIPS trên mỗi MHz( 1triệu lệnh/s/MHz),các lệnh được xử
lý nhanh hơn,tiêu thụ năng lượng thấp
Trang 142.1.2 Sơ đồ chân
Hình 1: Sơ đồ chân Amega16
Atmega16 gồm có 40 chân:
- Chân 1 đến 8 : Cổng nhập xuất dữ liệu song song B ( PORTB ) nó có thể đc
sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu
- Chân 9 : RESET để đưa chip về trạng thái ban đầu
- Chân 10 : VCC cấp nguồn nuôi cho vi điều khiển
- Chân 11,31 : GND 2 chân này đc nối với nhau và nối đất
- Chân 12,13 : 2 chân XTAL2 và XTAL1 dùng để đưa xung nhịp từ bên ngoài vào chip
- Chân 14 đến 21 : Cổng nhập xuất dữ liệu song song D ( PORTD ) nó có thể đc
sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu
- Chân 22 đến 29 : Cổng nhập xuất dữ liệu song song C ( PORTC ) nó có thể đc
sử dụng các chức năng đặc biệt thay vì nhập xuất dữ liệu
- Chân 30 : AVCC cấp điện áp so sánh cho bộ ADC
- Chân 32 : AREF điện áp so sánh tín hiệu vào ADC
- Chân 33 đến 40 : Cổng vào ra dữ liệu song song A ( PORTA ) ngoài ra nó còn
đc tích hợp bộ chuyển đổi tín hiệu tương tự sang tín hiệu số ADC ( analog to digital converter )
Trang 15
Vào ra của vi điều khiển:
PORTA ( PA7 … PA0 ) : là các chân số 33 đến 40 Là cổng vào ra song song 8 bít khi không dùng ở chế độ ADC Bên trong có sẵn các điện trở kéo, khi PORTA
là output thì các điện trở kéo ko hoạt động , khi PORTA là input thì các điện trở kéo đc kích hoạt
PORTB ( PB7 PB0 ) : là các chân số 1 đến 8 Nó tương tự như PORTA khi sử dụng vào ra song song Ngoài ra các chân của PORTB còn có các chức năng đặt biệt sẽ đc nhắc đến sau
PORTC ( PC7 PC0 ) : là các chân 22 đến 30 Cũng giống PORTA và PORTB khi là cổng vào ra song song Nếu giao tiếp JTAG đc bật, các trở treo ở các chân PC5(TDI), PC3(TMS), PC2(TCK) sẽ hoạt động khi sự kiện reset sảy ra Chức năng giao tiếp JTAG và 1 số chức năng đặc biệt khác sẽ đc nghiên cứu sau
PORTD ( PD7 PD0 ) : là các chân 13 đến 21 Cũng là 1 cổng vào ra song song giống các PORT khác, ngoài ra nó còn có 1 số tính năng đặc biệt sẽ đc nghiên cứu sau
Trang 162.1.3 Sơ đồ khối
Atmega16 có tập lệnh phong phú về số lượng với 32 thanh ghi làm việc
đa năng Toàn bộ 32 thanh ghi đều được nối trực tiếp với ALU (Arithmetic Logic Unit), cho phép truy cập 2 thanh ghi độc lập bằng một chu kì xung nhịp
Trang 17Kiến trúc đạt được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC (Complex Intruction Set Computer) thông thường
Khi sử dụng vi điều khiển Atmega16, có rất nhiều phần mềm được dùng
để lập trình bằng nhiều ngôn ngữ khác nhau đó là: Trình dịch Assembly như AVR studio của Atmel, Trình dịch C như win AVR, CodeVisionAVR C, ICCAVR C - CMPPILER của GNU… Trình dịch C đã được nhiều người dụng và đánh giá tương đối mạnh, dễ tiếp cận đối với những người bắt đầu tìm hiểu AVR, đó là trình dịch CodeVisionAVR C Phần mềm này hỗ trợ nhiều ứng dụng và có nhiều hàm có sẵn nên việc lập trình tốt hơn
2.1.4 Chức năng của Atmega16
+131 lệnh, hầu hết được thực thi trong 1 chu kì xung nhịp
+32x8 thanh ghi đa dụng
+Full static operation
+Tốc độ làm việc 16MPIS,với thạch anh 16MHz……
• Bộ nhớ:
+16 KB ISP Flash với khả năng 10.000lần ghi/xóa
+512Byte EEROM +1KB SRAM ngọai
+Khả năng quét toàn diện theo chuẩn JTAG
+Hỗ trợ lập trình Flash,EEROM,fuse…
Trang 18• Ngọai vi:
+2 timer/counter 8 bit với các mode :so sánh và chia tần số
+1 timer/counter 16 bit với các mode:so sánh,chia tần số,capture,PWM +1 timer thời gian thực(Real time clock) với bộ dao động riêng biệt
+4 kênh PWM(họăc nhiều hơn trong các VĐK khác thuộc họ này)
+8 kênh biến đổi ADC 10bit
+Hỗ trợ giao tiếp I2C
+Bộ giao giao tiếp nối tiếp lập trình được USART
+Giao tiếp SPI
+Watch_dog timer với bộ dao động on-chip riêng biệt
• Những thuộc tính đặc biệt:
+Power On reset và Brown-out detection
+chế độ hiệu chỉnh bộ sai số cho bộ dao động RC On-chip
+Các chế độ ngắt ngòai và trong đa dạng
+6 mode sleep:Idle,ADC noise reduction,tiết kiệm năng lượng,power-down, standby,extended standby
• I/O port:
+32 chân I/O(Atmega16) và 21 chân I/O (Atmega8) lập trình được
+vỏ 40 chaân (Atmega16) ,28 chân(Atmega8),64 chân(AT90can128);
2,7->5.5 V với ATmega16L
4.5->5.5V với ATmega16H
Trang 19• Tiêu hao năng lượng:
+Khi họat động tiêu thụ dòng 1,1mA
+Ở mode Idle tiêu thụ dòng 0.35mA
+Ở chế độ Power_down tiêu thụ dòng nhỏ hơn 1uA
AVR,ngoài ra trong các vi điều khiển khác thuộc dòng vi điều khiển này thì thường được hỗ trợ thêm những chức năng đặc biệt
2.1.5 Đặc trưng
Được chế tạo theo kiến trúc RISC hiệu suất cao mà điện năng tiêu thụ thấp:
- Giao diện nối tiếp SPI có thể lập trình ngay trên hệ thống
Trang 20- 32 ngõ I/O lập trình được
Standby và Extended Standby
Trang 212.2 Module LM2596
2.2.1 Giới thiệu
Mạch Giảm Áp LM2596 là module giảm áp có khả năng điều chỉnh được
dòng ra đến 3A Tức là khi cấp nguồn 9v vào module, sau khi giảm áp ta có thể lấp được nguồn 3A < 9v như 5V hay 3.3V
Hình 3: Module giảm áp
2.2.2 Thông số kỹ thuật
• Module nguồn không sử dụng cách ly
• Nguồn đầu vào từ 4V - 35V
• Nguồn đầu ra: 1V - 30V
• Dòng ra Max: 3A
• Kích thước mạch: 53mm x 26mm
• Đầu vào: INPUT +, INPUT-
• Đầu ra: OUTP UT+, OUTP UT-
Trang 222.2.3 Nguyên lý hoạt động
Hình 4: Hướng đi của dòng điện trong LM2596
Khi cấp nguồn thô vào chân INPUT+, INPUT- ta sẽ nhận được nguồn ra
từ chân OUTP UT+, OUTP UT-
Điện áp đầu ra được tùy chỉnh bằng cách vặn biến trở trên module Biến trở trên module này hỗ trợ vặn 14 vòng
nhằm tùy chỉnh tốc độ băng tải hoạt động thông qua động cơ DC
Trang 23Hình 5: Cảm biến vật cản hồng ngoại
Cảm biến hồng ngoại khi hoạt động, 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ạ), phản xạ vào đèn thu hồng ngoại, sau khi so sánh, đèn màu xanh sẽ sáng lên đồng thời đầu cho tín hiệu số đầu
ra (một tín hiệu bậc thấp)
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 được điều chỉnh bằng chiết áp, cảm biến dễ lắp ráp, dễ sử dụng,
Trang 25đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẻ …
Trang 26- Chân số 1 - VSS : chân nối đất cho LCD được nối với GND của mạch điều khiển
của mạch điều khiển
- Chân số 4 - RS : chân chọn thanh ghi, được nối với logic "0" hoặc logic "1":
chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ
lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân này như sau:
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào thanh ghi bên trong khi phát hiện một xung (high-to-low transition) của tín hiệu chân
E
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp
đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này là: Chế
độ 8 bit (dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7)
và Chế độ 4 bit (dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7)