Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
4,12 MB
Nội dung
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG KHOA CƠNG NGHỆ TỰ ĐỘNG HĨA BÁO CÁO BÀI TẬP LỚN BỘ MÔN KỸ THUẬT VI ĐIỀU KHIỂN VÀ ỨNG DỤNG Đề tài : THIẾT KẾ MẠCH ĐẾM SẢN PHẨM SỬ DỤNG LED HỒNG NGOẠI HIỂN THỊ TRÊN LCD SINH VIÊN THỰC HIỆN LỚP GIÁO VIÊN HƯỚNG DẪN : NGUYỄN TRUNG KIÊN PHẠM HUY HIỆU LƯƠNG ĐÌNH TÀI TRẦN VĂN KIÊN : TỰ ĐỘNG HÓA K14 : MAI THỊ KIM ANH Thái Nguyên, Ngày 08 tháng 04 năm 2019 MỤC LỤC LỜI NÓI ĐẦU PHẦN 1: PHÂN TÍCH BÀI TỐN 1.1 Yêu cầu toán 1.2 Giải pháp thiết kế 1.2.1 Sơ đồ khối 1.2.2 Phân tích chức nhiệm vụ khối 1.3 Lựa chọn linh kiện 1.3.1 Arduino UNO R3 1.3.2 Cảm biến LED hồng ngoại .10 1.3.3 Màn hình hiển thị LCD 16x2 11 PHẦN 2: THIẾT KẾ VÀ THỰC THI .13 2.1 Thiết kế phần cứng 13 2.2 Lưu đồ thuật toán 14 2.3 Thiết kế phần mềm 16 2.4 Một số hình ảnh sản phẩm 17 TÀI LIỆU THAM KHẢO 19 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Giáo viên hướng dẫn Mai Thị Kim Anh Ký Tên LỜI NÓI ĐẦU Ngày với phát triển mạnh mẽ giới mặt, khoa khoa học cơng nghệ nói chung ngành công ngh ệ kỹ thu ật điện tử nói riêng có nhiều phát triển vượt bậc, góp ph ần làm cho th ế gi ới ngày đại văn minh Sự phát triển kỹ thuật điện t tạo hàng loạt thiết bị với đặc điểm xác cao, t ốc độ nhanh, gọn nhẹ hoạt động ổn định Là yếu tố cần thiết làm cho hoạt động người đạt hiệu cao Việc sản suất hàng loạt sản phẩm với số lượng lớn đòi hỏi người cần có cơng cụ cần thiết để kiểm sốt số lượng sản ph ẩm Chính nhóm em chọn đề tài “Thiết kế mạch đếm sản phẩm sử dụng LED hồng ngoại hiển thị LCD” Nội dung báo cáo gồm phần: Phần 1: Phân tích tốn Phần 2: Thiết kế phần cứng thực thi Mặc dù cố gắng hoàn thành báo cáo nh ưng v ẫn không tránh khỏi thiếu sót mong q thầy, bạn đóng góp ý ki ến đ ể đ án hồn thiện Cuối nhóm em xin chân thành cảm ơn cô Mai Th ị Kim Anh nhiệt tình hướng dẫn giúp đỡ nhóm em suốt thời gian làm báo cáo để nhóm em hồn thành với thời gian sớm hồn chỉnh PHẦN 1: PHÂN TÍCH BÀI TỐN 1.1 u cầu tốn Đề tài: Thiết kế mạch đếm sản phẩm sử dụng LED hồng ngoại hiển thị LCD Khi có sản phẩm qua mắt hồng ngoại gồm m ột phát m ột thu (quang trở đèn phát ánh sáng trắng) đưa tín hiệu vi x lý hiển thị lên LCD 1.2 Giải pháp thiết kế Nhóm em sử dụng Arduino UNO R3 đảm nhiệm nhiệm vụ xử lý tín hiệu từ cảm biến LM 393 ( Phân tích tốn) 1.2.1.Sơ đồ khối Khối nguồn Khối cảm biến Khối xử lý Khối hiển thị 1.2.2.Phân tích chức nhiệm vụ khối a) Khối nguồn: Khối nguồn cung cấp dòng điện cho tồn mạch - Nguồn cho Arduino: - Nguồn cho LCD: - Nguồn cho cảm biến: b) Khối cảm biến: Khối cảm biến LED hồng ngoại LM 393 có nhiệm vụ phát vật cản đưa tín hiệu đến khối xử lý c) Khối xử lý: Khối xử lý Arduino UNO R3 có nhiệm vụ xử lý tín hiệu t cảm bi ến đưa tín hiệu đến khối hiển thị d) Khối hiển thị: Khối hiển thị hình LCD 16x2 có nhiệm vụ hiển thị tín hiệu dạng số 1.3 Lựa chọn linh kiện 1.3.1.Arduino UNO R3 a) Khái niệm Arduino thật bo mạch vi xử lý dụng đ ể l ập trình tương tác với thiết bị phần cứng cảm biến, động cơ, đền thiết bị khác Đặc điểm bật Arduino môi tr ường phát tri ển ứng dụng dễ sử dụng, với ngơn ngữ lập trình có th ể học m ột cách nhanh chóng ngày với người am hiểu điện tử lập trình Và điều làm nên tượng Arduino mức giá th ấp tính ch ất ngu ồn m từ phần cứng tới phần mềm Hình 1.1: Arduino UNO R3 b) Thông số Arduino Uno sử dụng c híp Atemega328, có 14 chân digital I/O, chân đầu vào (input) analog, thach anh dao động 16Mhz M ột s ố thông s ố kỹ thuật sau: Vi điều khiển Điện áp hoạt động Tần số hoạt động Dòng tiêu thụ Điện áp vào khuyên dùng Điện áp vào giới hạn Số chân Digital I/O Số chân Analog Dòng tối đa chân I/O Dòng tối đa (5V) Dòng tối đa (3.3V) Bộ nhớ flash SRAM Atmega328 họ 8bit 5V DC (chỉ cấp qua cổng USB) 16 MHz khoảng 30mA 7-12V DC 6-20V DC 14 (6 chân hardware PWM) (độ phân giải 10bit) 30 mA 500 mA 50 mA 32 KB (Atmega328) với 0.5KB dùng bootloader KB (Atmega328) c) Năng lượng Arduino UNO cấp nguồn 5V thơng qua cổng USB cấp nguồn ngồi với điện áp khuyên dùng 7-12V DC gi ới hạn 6-20V Thường cấp nguồn pin vng 9V hợp lí bạn khơng có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt ngưỡng giới hạn trên, bạn làm hỏng Arduino UNO Các chân lượng: + GND (Ground): cực âm nguồn điện cấp cho Arduino UNO Khi bạn dùng thiết bị sử dụng nguồn điện riêng biệt chân phải nối với + 5V: cấp điện áp 5V đầu Dòng tối đa cho phép chân 500mA + 3.3V: cấp điện áp 3.3V đầu Dòng tối đa cho phép chân 50mA + V in (Voltage Input): để cấp nguồn cho Arduino UNO, bạn n ối cực dương nguồn với chân cực âm nguồn v ới chân GND + IOREF: điện áp hoạt động vi điều khiển Arduino UNO đo chân Và dĩ nhiên ln 5V M ặc dù v ậy b ạn không lấy nguồn 5V từ chân để sử dụng chức khơng phải cấp nguồn + RESET: việc nhấn nút Reset board để reset vi điều khiển tương đương với việc chân RESET nối với GND qua điện tr 10KΩ d) Các cổng vào Arduino UNO có 14 chân digital dùng để đọc xuất tín hiệu Chúng có mức điện áp 0V 5V v ới dòng vào/ra t ối đa m ỗi chân 40mA Ở chân có điện trở pull-up t cài đ ặt vi điều khiển Atmega328 (mặc định điện tr khơng đ ược kết nối) Một số chân digital có chức đặc biệt sau: + Chân Serial: (RX) (TX): dùng để gửi (transmit – TX) nh ận (receive – RX) liệu TTL Serial Arduino Uno có th ể giao ti ếp v ới thiết bị khác thông qua chân Kết nối bluetooth thường th nói nơm na 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 chân không c ần thi ết + Chân PWM (~): 3, 5, 6, 9, 10, 11: cho phép bạn xuất xung PWM với độ phân giải 8bit (giá trị từ → 28-1 tương ứng với 0V → 5V) hàm analogWrite() Nói cách đơn giản, bạn điều chỉnh điện áp chân từ mức 0V đến 5V thay ch ỉ c ố định mức 0V 5V chân khác + Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngồi chức thơng thường, chân dùng để truyền phát d ữ liệu giao thức SPI với thiết bị khác + LED 13: Arduino UNO có đèn led màu cam (kí hiệu ch ữ L) Khi bấm nút Reset, bạn thấy đèn nhấp nháy để báo hiệu Nó đ ược nối với chân số 13 Khi chân người dùng sử dụng, LED sáng Arduino UNO có chân analog (A0 → A5) cung cấp đ ộ phân gi ải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp khoảng 0V → 5V Với chân AREF board, bạn để đưa vào điện áp tham chi ếu sử dụng chân analog Tức bạn cấp điện áp 2.5V vào chân bạn dùng chân analog để đo điện áp kho ảng t 0V → 2.5V với độ phân giải 10bit Đặc biệt, Arduino UNO có chân A4 (SDA) A5 (SCL) h ỗ tr ợ giao tiếp I2C/TWI với thiết bị khác e) Lập trình cho Arduino Các thiết bị dựa tảng Arduino lập trình ngơn riêng Ngơn ngữ dựa ngôn ngữ Wiring viết cho phần c ứng nói chung Và Wiring lại biến thể C/C++ Một số người gọi Wiring, số khác gọi C hay C/C++ Riêng gọi “ ngơn ngữ Arduino”, đội ngũ phát triển Arduino gọi Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến dễ học, dễ hiểu Nếu học tốt chương trình Tin học 11 việc lập trình Arduino r ất d ễ thở bạn Để lập trình gửi lệnh nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án cấp đến cho ng ười dùng m ột môi trường lập trình Arduino gọi Arduino IDE (Intergrated Development Environment) hình đây: Hình 1.2: phần mềm Arduino IDE 1.3.2.Cảm biến LED hồng ngoại Cảm biến có khả nhận biết vật cản môi trường với m ột c ặp LED thu phát hồng ngoại để truyền nhận liệu hồng ngoại Tia h ồng ngoại phát với tần số định, có vật cản đ ường truy ền c LED phát phản xạ vào LED thu hồng ngoại, LED báo v ật c ản module sáng, khơng có vật cản, LED tắt Với khả phát vật cản khoảng ~ 30cm kho ảng cách điều chỉnh thơng qua chiết áp cảm biến cho thích h ợp với ứng dụng cụ thể như: xe dò line, xe tránh vật cản, Hình 1.3: Cảm biến hồng ngoại Thông số kỹ thuật: – IC so sánh : LM393 – Điện áp : 3.3V – 6DVC – DÒng tiêu thụ: + Vcc = 3.3V : 23mA + Vcc = 5.0V: 43mA – Góc hoạt động : 35° – Khoảng cách phát vật : ~ 30cm – LED báo ngn LED báo tín hiệu ngõ – Mức logic ngõ ra: + Mức thấp – 0V: Khi có vật cản + Mức cao – 5V: Khi khơng có vật cản – Kích thước : 3.2cm x 1.4cm 1.3.3.Màn hình hiển thị LCD 16x2 Ngày này, thiết bị hiển thị LCD (Liquid Crystal Display) s dụng nhiều ứng dụng Vi điều khiển, LCD có nhiều ưu ểm so với dạng hiển thị khác; Nó có khả hiển th ị kí t ự đa d ạng, tr ực 10 quan (chữ, số ký tự đồ 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 tài nguyên hệ th ống giá thành rẻ Hình 1.4: Màn hình LCD 16x2 Cách chân cảu LCD: Chân Kí Mơ tả hiệu Vss VDD Vo Chân nối đất cho LCD, thiết kế mạch ta nối chân với GND mạch điều khiển Chân cấp nguồn cho LCD, thiết kế mạch ta nối chân với VCC=5V mạch điều khiển Điều chỉnh độ tương phản LCD Chân chọn ghi (Register select) Nối chân RS với logic “0” (GND) logic “1” (VCC) để chọn ghi + Logic “0”: Bus DB0-DB7 nối với ghi lệnh IR RS LCD (ở chế độ “ghi” - write) nối với đếm địa LCD (ở chế độ “đọc” - read) + Logic “1”: Bus DB0-DB7 nối với ghi liệu DR bên LCD Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W R/W với logic “0” để LCD hoạt động chế độ ghi, nối với logic “1” để LCD chế độ đọc 11 Chân cho phép (Enable) Sau tín hiệu đặt lên bus DB0-DB7, lệnh chấp nhận có xung cho phép chân E + Ở chế độ ghi: Dữ liệu bus LCD chuy ển vào(chấp nhận) ghi bên phát E xung (high-to-low transition) tín hiệu chân E + Ở chế độ đọc: Dữ liệu LCD xuất DB0-DB7 phát cạnh lên (low-to-high transition) chân E LCD giữ bus đến chân E 7-14 DO – D7 15 16 A K xuống mức thấp Tám đường bus liệu dùng để trao đổi thơng tin với MPU Có chế độ sử dụng đường bus : + Chế độ bit : Dữ liệu truyền đường, với bit MSB bit DB7 + Chế độ bit : Dữ liệu truyền đường t DB4 tới DB7, bit MSB DB7 Nguồn dương cho đèn GND cho đèn 12 PHẦN 2: THIẾT KẾ VÀ THỰC THI 2.1 Thiết kế phần cứng Sơ đồ nguyên lý: Hình 2.1: Sơ đồ nối dây Giải thích sơ đồ: Modul hình LCD Arduino (16x2) GND GND Vcc 5V SDA A4 SCL A5 13 2.2 Lưu đồ thuật toán BEGIN Khởi tạo LCD Gán số vật cản a=0 N >1 N=n+1 Hiển thị n lên LCD LCD 14 *Giải thích lưu đồ thuật tốn Khi bắt đầu chương trình, cấp nguồn cho toàn mạch Sau cấp nguồn, LCD khởi tạo Với giá trị ban đầu, sản phẩm được gán a = Nếu : + Có sản phẩm qua, cảm biến nhận tín hiệu đưa giá tr ị sản phẩm: a = a+1 hiển thị LCD kết thúc ch ương trình + Khơng có sản phẩm qua, cảm biến khơng nhận đ ược tín hiệu giữ nguyên giá trị lúc ban đầu hiển thị LCD kết thúc chương trình 2.3 Thiết kế phần mềm Code Arduino: 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 a 26 27 a b c 28 29 #include #include LiquidCrystal_I2C lcd(0x27,16,2); int a = 0; void setup() { // pinMode(13, OUTPUT); pinMode(A0,INPUT_PULLUP); Serial.begin(9600); lcd.init(); lcd.backlight(); } void loop() { int button = digitalRead(A0); lcd.clear(); lcd.setCursor(3, 1); lcd.print(a); lcd.setCursor(1,0); lcd.print("so san pham la"); if (button == 0) /// co san pham di qua { a= a+1; lcd.setCursor(3, 1); lcd.print(a); delay(1000); } else{ lcd.setCursor(3,1); lcd.print(a); delay (1000); } } 2.4 Một số hình ảnh sản phẩm 15 Hình 2.2: Màn hình hiển thị LCD 16x2 Hình 2.3: Cảm biến LED hồng ngoại LM 393 16 Hình 2.4: Adruino UNO R3 Hình 2.5: Mạch đếm sản phẩm sử dụng cảm biến LED hồng ngoại hiển thị LCD TÀI LIỆU THAM KHẢO 17 [1] Mai Thị Kim Anh, (2016), Bài giảng kĩ thuật vi điều khiển ứng dụng, Đại Học Công nghệ thông tin Truyền thông Thái Nguyên [2] https://tailieu.vn/tim-kiem/dem+san+pham.html [3] https://arduino.vn 18 ... hiệu cao Việc sản suất hàng loạt sản phẩm với số lượng lớn đòi hỏi người cần có cơng cụ cần thiết để kiểm sốt số lượng sản ph ẩm Chính nhóm em chọn đề tài “Thiết kế mạch đếm sản phẩm sử dụng LED... trình, cấp nguồn cho toàn mạch Sau cấp nguồn, LCD khởi tạo Với giá trị ban đầu, sản phẩm được gán a = Nếu : + Có sản phẩm qua, cảm biến nhận tín hiệu đưa giá tr ị sản phẩm: a = a+1 hiển thị LCD... chỉnh PHẦN 1: PHÂN TÍCH BÀI TỐN 1.1 u cầu tốn Đề tài: Thiết kế mạch đếm sản phẩm sử dụng LED hồng ngoại hiển thị LCD Khi có sản phẩm qua mắt hồng ngoại gồm m ột phát m ột thu (quang trở đèn phát