Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
2,64 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI -oOo - VIỆN ĐIỆN BÁO CÁO MÔN HỌC FPGA Đề tài: “Thiết kế mạch cảnh báo khí gas hiển thị nhiệt độ sử dụng FPGA.” Giảng viên hướng dẫn: TS Nguyễn Đại Dương Nhóm 16: Ngơ Hữu Hồng 20173911 Nguyễn Thị Khởi 20173988 Vũ Thị Thanh Mai 20174040 Nguyễn Văn Quang 20174138 Hà Nội, 6/2021 MỤC LỤC CHƯƠNG 1: CƠ SỞ LÍ THUYẾT .4 1.1 Tổng quan 1.2 Sơ đồ mạch đo linh kiện mạch 1.2.1 Kit FPGA 1.2.2 Cảm biến khói MQ6 1.2.3 Cảm biến nhiệt độ LM35 1.2.4 Arduino Uno CHƯƠNG 2: THIẾT KẾ MẠCH ĐO .10 2.1 Sơ đồ thuật toán 10 2.1.1 Khối tạo xung 10 2.1.2 Khối Receiver .10 2.1.3 Khối so sánh 11 2.1.4 Khối chuyển đổi số BCD sang mã led (Code) 11 2.1.5 Khối hiển thị khí gas .12 2.1.6 Khối hiển thị nhiệt độ 12 2.1.7 Khối còi báo động 12 2.1.8 Các khối nhớ 13 2.2 Mạch mô 13 CHƯƠNG 3: KẾT LUẬN 14 3.1 Đánh giá, phân tích 14 3.2 Định hướng phát triển đề tài 14 TÀI LIỆU THAM KHẢO 15 DANH SÁCH HÌNH Ả Hình 1 Sơ đồ mạch đo .4 Hình Kit FPGA Hình Cảm biến khí Gas MQ6 .5 Hình Cảm biến nhiệt độ LM35 .6 Hình Các chân Arduino Uno Hình Giao tiếp UART Hình Frame truyền UART YHình Sơ đồ khối tổng quát .10 Hình 2 Khối tạo xung 10 Hình Khối nhận 10 Hình Khối so sánh 11 Hình Khối chuyển đổi BCD sang led .11 Hình Khối hiển thị khí Gas 12 Hình Khối hiển thị nhiệt độ 12 Hình Khối cịi báo động .13 Hình Các khối nhớ .13 Hình 10 Mạch mơ .13 DANH SÁCH BẢNG Bảng Đặc điểm Arduino Uno .7 CHƯƠNG 1: CƠ SỞ LÍ THUYẾT 1.1Tổng quan Ngày khoa học kỹ thuật phát triển nhanh đặc biệt điện-điện tử Gắn liền với phát triển điện tử phát triển vi xử lý, vi điều khiển vi mạch điện tử Và vi điều khiển có nhảy vọt đánh dấu đời vi điều khiển PIC, AVR, FPGA Các vi điều khiển ngày đươc ứng dụng rộng rãi phổ biến Để nghiên cứu FPGA nhóm em lựa chọn đề tài “Đo nồng độ khí Gas đo nhiệt độ ” Đây đề tài không đề tài giúp chúng em hiểu biết thêm cấu trúc bên trong, cách hoạt động cảm biến cách lập trình FPGA Trong đề tài nhóm em hướng tới giải vấn đề sau: Đo nồng độ khí gas qua Arduino Uno truyền liệu từ Arduino lên FPGA ( ban đầu dự kiến liệu đọc từ cảm biến xử lý qua ADC truyền lên FPGA trình vạn chuyển, ADC bị gãy chân nên nhóm em chuyển qua hướng này) Các linh kiện sử dụng đề tài: Kit FPGA Altera EPM240 Arduino Uno Cảm biến khí gas MQ6 Cảm biến nhiệt độ LM35 1.2 Sơ đồ mạch đo linh kiện mạch Hình 1 Sơ đồ mạch đo 1.2.1 Kit FPGA Hình Kit FPGA FPGA viết tắt thuật ngữ tiếng anh “Field Programmable Gate Array” dịch sang tiếng việt loại vi mạch dùng cấu trúc mảng phần tử logic lập trình Hay hiểu nơm na loại chip trắng cho phép người dùng tái cấu hình lại kiến trúc theo ý người dùng để thực thi chức cụ thể Để dễ hình dung hơn, biết lập trình vi điều khiển ARM, vi điều khiển (AT89/PIC/MSP430, …) ARM SoC (STM32, …) loại chip thiết kế công nghệ ASIC, tức kiến trúc phần cứng nhà sản xuất thiết kế cố định trình sản xuất, người dùng thay đổi chỉnh sửa Người kĩ sư lập trình ứng dụng lập trình firmware phải nghiên cứu nắm vững kiến trúc loại VĐK để phát triển phần mềm, giải thuật tương ứng Do đó, lập trình vi điều khiển cịn hiểu lập trình phần mềm dựa phần cứng có sẵn Cịn FPGA, người dùng tự thiết kế lại kiến trúc phần cứng theo ý muốn, kèm theo xây dựng driver tương ứng để phát triển phần mềm ứng dụng giải thuất tối ưu Như vậy, ưu điểm thứ FPGA tính linh động người dùng, giúp phát triển giải pháp tốt mà không phụ thuộc vào phần cứng nhà sản xuất Chúng ta sử dụng FPGA để thiết kế lập trình hầu hết chức mạng số Việc so sánh ưu điểm, khuyết điểm công nghệ FPGA ASIC thảo luận chuyên mục sau Cũng giống vi điều khiển, số lần nạp FPGA khơng giới hạn Dữ liệu (chương trình) nạp cho FPGA bị mất nguồn (điện) giống RAM máy tính Nếu muốn lưu giữ lại file nạp cần phải có nhớ ngồi Flash/ ROM (do đặc tính loại nhớ lưu liệu cho dù có nguồn) để lần bật nguồn, file dạng binary tự động nạp lại vào FPGA 1.2.2 Cảm biến khói MQ6 Cảm biến khói MQ-6 [ CITATION HAN \l 1033 ]được ứng dụng thiết bị phát rị rỉ khí gas Trong dân dụng công nghiệp cảm biến có khả phát khí thiên nhiên, khí than Tránh tác nhân gây nhiễu rượu, khói nấu ăn khói thuốc Độ nhạy cảm biến điều chỉnh biến trở tinh chỉnh Hình Cảm biến khí Gas MQ6 Đặc tính: -Nguồn cung cấp: 2.5V ~ 5V -Tích hợp MQ –6 gas Sensor -Kích thước: 40mm * 21mm -Led báo hiệu -Đáp ứng nhanh -Cảm biến hoạt động ổn định bền -Sử dụng đơn giản 1.2.3 Cảm biến nhiệt độ LM35 Hình Cảm biến nhiệt độ LM35 LM35 cảm biến nhiệt độ giá rẻ thường tiêu dùng mang thể sử dụng để đo nhiệt độ (theo ℃) Nó đo nhiệt độ xác so với điện trở nhiệt (thermistor) tầm giá Cảm biến tạo điện áp có đầu cao cặp nhiệt điện khơng cần điện áp đầu khuếch đại LM35 có điện áp đầu tỉ lệ thuận có nhiệt độ Celsius Hệ số tỉ lệ 0.01V/℃ LM35 có độ chuẩn xác 0,4 ° C nhiệt độ phịng bình thường 0,8 ° C khoảng ° C đến + 100 ° C Một đặc tính quan trọng cảm biến thu 60 microamps từ nguồn cung ứng có khả tự sưởi ấm thấp Một số tính chất cảm biến LM35: -Đầu cảm biến nhiệt độ lm35 thay đổi diễn tả tuyến tính -Điện áp o / p cảm biến IC tỉ lệ với nhiệt độ Celsius -Điện áp hoạt động từ -55˚ đến + 150˚C -Được vận hành tới 30 vôn 1.2.4 Arduino Uno -Một số đặc điểm Arduino Uno: Hình Các chân Arduino Uno Bảng Đặc điểm Arduino Uno Vi điều khiển Điện áp hoạt động Tần số hoạt động Dòng tiêu thụkhoảng Đ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 EEPROM ATmega328 họ 8bit 5V DC (chỉ cấp qua cổng USB) 16 MHz 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 KB (ATmega328) -Giao tiếp UART: Các tên đầy đủ UART “Universal Asynchronous Receiver / Transmitter”, vi mạch sẵn có vi điều khiển không giống giao thức truyền thông (I2C & SPI) Chức UART truyền liệu nối tiếp Trong UART, giao tiếp hai thiết bị thực theo hai cách giao tiếp liệu nối tiếp giao tiếp liệu song song Hình Giao tiếp UART Trong giao tiếp này, có hai loại UART có sẵn truyền UART nhận UART giao tiếp hai loại thực trực tiếp với Đối với điều này, cần hai cáp để giao tiếp hai UART Luồng liệu từ hai chân truyền (Tx) nhận (Rx) UARTs Trong UART, việc truyền liệu từ Tx UART sang Rx UART thực khơng đồng (khơng có tín hiệu CLK để đồng hóa bit o / p) Việc truyền liệu UART thực cách sử dụng bus liệu dạng song song thiết bị khác vi điều khiển, nhớ, CPU, v.v Sau nhận liệu song song từ bus, tạo thành gói liệu cách thêm ba bit bắt đầu, dừng lại trung bình Nó đọc bit gói liệu chuyển đổi liệu nhận thành dạng song song để loại bỏ ba bit gói liệu Tóm lại, gói liệu nhận UART chuyển song song phía bus liệu đầu nhận Hình Frame truyền UART Start bit Start-bit gọi bit đồng hóa đặt trước liệu thực tế Nói chung, đường truyền liệu khơng hoạt động điều khiển mức điện áp cao Để bắt đầu truyền liệu, truyền UART kéo đường liệu từ mức điện áp cao (1) xuống mức điện áp thấp (0) UART thu thông báo chuyển đổi từ mức cao sang mức thấp qua đường liệu bắt đầu hiểu liệu thực Nói chung, có start-bit Bit dừng Bit dừng đặt phần cuối gói liệu Thơng thường, bit dài 2bit thường sử dụng bit Để dừng sóng, UART giữ đường liệu mức điện áp cao Bit chẵn lẻ Bit chẵn lẻ cho phép người nhận đảm bảo liệu liệu thu thập có hay khơng Đây hệ thống kiểm tra lỗi cấp thấp & bit chẵn lẻ có sẵn hai phạm vi Chẵn lẻ – chẵn lẻ Chẵn lẻ – lẻ Trên thực tế, bit không sử dụng rộng rãi nên không bắt buộc Dữ liệu bit khung liệu Các bit liệu bao gồm liệu thực truyền từ người gửi đến người nhận Độ dài khung liệu nằm khoảng & Nếu bit chẵn lẻ khơng sử dụng chiều dài khung liệu dài bit Nói chung, LSB liệu truyền trước tiên sau hữu ích cho việc truyền CHƯƠNG 2: THIẾT KẾ MẠCH ĐO 2.1 Sơ đồ thuật tốn Hình Sơ đồ khối tổng quát 2.1.1 Khối tạo xung Hình 2 Khối tạo xung Chức năng: Điều chế xung thời gian phục vụ hoạt động khối chức khác -Đầu vào: Xung “clk” với ���� = 2.5 ms (50MHz) -Đầu ra: • Xung “clock” với ���oc� = 2,5 ms • Xung “clk_400Hz”: tín hiệu clock với tần số 400Hz 2.1.2 Khối Receiver Hình Khối nhận Chức năng: Nhận tín hiệu từ khung truyền tin tới -Đầu vào: • RX: Nhận liệu truyền vào từ Arduino • Clock : Xung cấp với tần số 400 Hz -Đầu ra: • Control: Tín hiệu điều khiển khối so sánh khí gas khối hiển thị led • Dta1, dta2, dta3, dta4: số thứ 1,2,3,4 nhận để hiển thị lên led 2.1.3 Khối so sánh Hình Khối so sánh Chức năng: So sánh giá trị nhận với giá trị đặt ban đầu (400) để đưa tín hiệu cảnh báo -Đầu vào: • Digit1: liệu hàng nghìn khí gas • Digit2: liệu hàng trăm khí gas • Digit3: liệu hàng chục khí gas • Digit4: liệu hàng đơn vị khí gas -Đầu ra: Alarm: tín hiệu cảnh báo alarm =’0’ 2.1.4 Khối chuyển đổi số BCD sang mã led (Code) Hình Khối chuyển đổi BCD sang led -Đầu vào: Dữ liệu hiển thị • Hexa1: Chữ số hàng nghìn khí gas, hàng trăm nhiệt độ • Hexa2: Chữ số hàng trăm khí gas, hàng chục nhiệt độ • Hexa3: Chữ số hàng chục khí gas, hang đơn vị nhiệt độ • Hexa4: Chữ số hàng đơn vị khí gas, phần lẻ nhiệt độ -Đầu ra: Code1, code2, code3, code 4: mã hiển thị led tương ứng với mã hexa 1, hexa2, hexa3, hexa4 2.1.5 Khối hiển thị khí gas Hình Khối hiển thị khí Gas Chức năng: Hiển thị liệu khí gas Led -Đầu vào: • Data1, data2, data3, data4: mã 8bit hiển thị led liệu khí gas - Đầu ra: • Data: liệu 8bit hiển thị led vào thời điểm xét tương ứng với led bật sáng • Led: tín hiệu 4bit cho phép chọn led tương ứng sáng vào thời điểm 2.1.6 Khối hiển thị nhiệt độ Hình Khối hiển thị nhiệt độ Chức năng: Hiển thị giá trị nhiệt độ lên Led -Đầu vào: • Data1, data2, data3, data4: mã 8bit hiển thị led liệu nhiệt độ • Clk: xung có tần số 400Hz để thực quét led -Đầu ra: • Data: liệu bit hiển thị led vào thời điểm xét tương ứng với led bật sáng • Led: tín hiệu 4bit cho phép chọn led tương ứng sáng vào thời điểm 2.1.7 Khối cịi báo động Hình Khối còi báo động Chức năng: Phát tin hiệu âm nhận tín hiệu cảnh báo -Đầu vào: • Act: Nhận tín hiệu từ khối cảnh báo alarm trước • Clk: Xung 400 Hz cấp cho cịi chíp hoạt động -Đầu ra: Bell: Tín hiệu nối đến cịi chíp 2.1.8 Các khối nhớ Hình Các khối nhớ -Cấu tạo: Bao gồm D-FlipFlop -Chức năng: Bộ đệm dùng để tạo trễ cho tín hiệu điều khiển liệu cần hiển thị Khối memory V5 liệu thay đổi có tín hiệu điều khiển xung sườn lên Tín hiệu control từ receiver đưa vào chân ena V5 Khối memory V6 liệu thay đổi có tín hiệu điều khiển xung sườn xuống 2.2 Mạch mơ Hình 10 Mạch mơ CHƯƠNG 3: KẾT LUẬN 3.1 Đánh giá, phân tích -Mô đáp ứng yêu cầu đề -Mạch hoạt động tương đối tốt ổn định 3.2 Định hướng phát triển đề tài Hướng tới hệ thống cảnh báo cháy vào rỉ khí gas truyền thông không dây Khắc phục xử lý liệu truyền từ cảm biến ADC thay dùng Arduino truyền tin UART TÀI LIỆU THAM KHẢO [1] MQ6 DATASHEET, "https://www.sparkfun.com," [Online] Available: https://www.sparkfun.com/datasheets/Sensors/Biometric/MQ-6.pdf [2] Giao tiếp UART [Trực tuyến] Available: https://advancecad.edu.vn/khai-niem-co-banve-truyen-thong-uart-so-do-khoi-ung-dung/ [3] LM35 DATASHEET, "https://www.ti.com," [Online] Available: https://www.ti.com/lit/ds/symlink/lm35.pdf [4] Nguyễn Đại Dương,Giáo trình FPGA ứng dụng,2019