Có rất nhiều hướng nghiên cứu sử dụng đến FPGA và đạt được các thành tựu không nhỏ trong đời sống và sản xuất.. Chính vì thế, nhóm chúng em, những sinh viên bách khoa được thầy và nhà tr
Trang 1ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG ĐIỆN-ĐIỆN TỬ
ĐỀ TÀI: Đo khí gas, cảnh báo bằng led và gửi dữ liệu lên web
Giảng viên hướng dẫn: TS NGUYỄN ĐẠI DƯƠNG
Nhóm 28:
Nguyễn Quang Huy MSSV: 20191894
Trang 2
LỜI NÓI ĐẦU
Trong thời đại công nghệ 4.0 phát triển như hiện nay, xu hướng về công nghệ liên tục thay đổi và phát triển, trong đó ứng dụng FPGA trong các lĩnh vực ngày càng được ưu tiên và coi trọng Có rất nhiều hướng nghiên cứu sử dụng đến FPGA và đạt được các thành tựu không nhỏ trong đời sống và sản xuất Chính vì thế, nhóm chúng em, những sinh viên bách khoa được thầy và nhà trường giảng dạy cho về bộ môn “ FPGA và ứng dụng ” để có thể hiểu rõ thêm về phần quan trọng này và áp dụng vào thực tiễn sau này khi ra trường
Nhóm chúng em xin chân thành cảm ơn thầy Nguyễn Đại Dương đã hướng dẫn và truyền đạt cho chúng em kiến thức, kinh nghiệm để có thể hoàn thành môn học cũng như
là đề tài này Do đây là lần đầu bọn em tiếp cận đến lĩnh vực này dù rất cố gắng nhưng cũng sẽ không thể tránh khỏi sai sót, khuyết điểm, rất mong thầy chỉ bảo thêm để bọn em
có thể hoàn thiện hơn trong tương lai
Nhóm em xin chân thành cảm ơn!
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 2
MỤC LỤC 3
I CƠ SỞ LÝ THUYẾT 5
1 Giới thiệu về FPGA 5
2 Giới thiệu về ngôn ngữ VHDL 5
II TỔNG QUAN ĐỀ TÀI 6
1 Giới thiệu đề tài 6
2 Công việc cụ thể 6
III LỰA CHỌN PHẦN CỨNG 7
1 Kit Altera EMP240 v1 7
1.1 Giới thiệu 7
1.2 Thông số 7
2 ESP 8266 8
2.1 Giới thiệu 8
2.2 Tính năng 9
3 Cảm biến khí gas MQ2 9
3.1 Giới thiệu 9
3.2 Thông số 10
4 IC ADC 0808 10
4.1 Giới thiệu 11
4.2 Thông số 11
IV THIẾT KẾ 14
1 Sơ đồ khối 14
2 Lưu đồ thuật toán 15
2.1 Khối ADC 15
2.2 Khối div_clk 16
2.3 Khối pwm 16
Trang 42.4 State machine của khối uart 18
V KẾT LUẬN 19
1 Kết quả đạt được 19
2 Kết luận 20
Trang 5I CƠ SỞ LÝ THUYẾT
1 Giới thiệu về FPGA
Field-programmable gate array ( FPGA ) là một loại mạch tích hợp cỡ lỡn dùng cấu trúc mảng phần tử logic mà người dùng có thể lập trình được Chữ field ở đây muốn chỉ đến khả năng tái lập trình “ bên ngoài ” của người sử dụng, không phụ thuộc vào dây chuyền sản xuất phức tạp của nhà máy bán dẫn Vi mạch FPGA được cấu thành từ các bộ phận:
- Các khối logic cơ bản lập trình được ( logic block )
- Hệ thống mạch liên kết lập trình được
- Khối vào/ra ( IO Pads )
- Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý…
2 Giới thiệu về ngôn ngữ VHDL
VHDL ( VHSIC – HDL, Very High – Speed Integrated Circuit Hardware Description Language, tạm dịch: Ngôn ngữ mô tả phần cứng, dùng trong thiết kế điện tử tự động để mô tả những hệ thống điện tử và bản điện tử như FPGA và các
vi mạch tích hợp VHDL còn được dùng như là một ngôn ngữ đa dụng trong lập trình song song
Tất cả các chương trình VHDL bao gồm ít nhất ba thành phần cơ bản sau đây: Khai báo thư viện ( LIBRARY ): Chứa danh sách tất cả các thư viện sẽ được sử dụng trong thiết kế Ví dụ: ieee, std, work, v.v
ENTITY ( thực thể ): Entity dùng để khai báo tên của thực thể, các port của thực thế và các thông tin liên quan đến thực thể
ARCHITECTURE ( kiến trúc ): Kiến trúc mô tả chức năng cơ bản của thực thể và chứa nhiều phát biểu mô tả hành vi của thực thể Kiến trúc luôn luôn
có liên quan đến thực thể và các mô tả hành vi của thực thể
Trang 6II TỔNG QUAN ĐỀ TÀI
1 Giới thiệu đề tài
Trong thời đại công nghệ và công nghiệp phát triển như hiện nay, vấn đề năng lượng luôn là một vấn đề cấp thiết cần được quan tâm và phát triển, đặc biệt là về việc an toàn khi sử dụng năng lượng, ở quy mô lớn cũng như quy mô nhỏ
Ở Việt Nam hiện nay khí gas đóng vai trò cực kì quan trọng trong đời sống
Từ gia đình nấu nướng đến khu công nghiệp sản xuất, nơi nào cũng cần đến gas Đã có rất nhiều vụ việc đáng tiếc xảy ra do gas bị rò rỉ ra bên ngoài mà không được xử lý kịp thời gây ra hậu quả nghiêm trọng về cả tài sản và tính mạng con người
Chính vì lý do đó, nhóm 28 bọn em quyết định chọn đề tài “ Đo khí gas, cảnh báo bằng led và gửi dữ liệu lên web ”
2 Công việc cụ thể
Đo được, hiển thị, gửi cảnh báo lên web để kiểm soát, led báo nháy khi khí gas vượt ngưỡng cho phép
Trang 7III LỰA CHỌN PHẦN CỨNG
1 Kit Altera EMP240 v1
1.1 Giới thiệu
Bộ kit sản xuất nhằm mục đích học tập và nghiên cứu FPGA, VHDL là chính Với
số lượng Logic Elements là 240 thì đã đáp ứng được như vầu của đề tài cộng thêm
sự phổ biến và giá thành rẻ nên nhóm đã quyết định sử dụng bộ kit này
Hình 1 Kit Altera EMP240 v1
1.2 Thông số
- Sử dụng Chip: EPM240T100CSN TQFP100
Trang 8- Điện áp: DC5V
- Tương thích mạch nạp USB Blaster
- Giao tiếp LCD 1602, LCD12864
- Giao tiếp UART
- Giao tiếp Key Đơn
- Giao tiếp Led Đơn
- Hỗ trợ Công IO
2 ESP 8266
2.1 Giới thiệu
ESP8266 là một hệ thống trên chip (SoC), do công ty Espressif của Trung Quốc sản xuất Nó bao gồm bộ vi điều khiển Tensilica L106 32-bit (MCU) và bộ thu phát Wi-Fi Nó có 11 chân GPIO (Chân đầu vào / đầu ra đa dụng) và một đầu vào analog, có nghĩa là bạn có thể lập trình nó giống như với Arduino hoặc vi điều khiển khác Bản thân chip ESP8266 có 17 chân GPIO, nhưng 6 trong số các chân này (6-11) được sử dụng để giao tiếp với chip nhớ flash trên bo mạch
Hình 2 ESP 8266
Trang 92.2 Tính năng
Bộ xử lý: Lõi vi xử lý L106 32-bit RISC dựa trên Tiêu chuẩn Tensilica Xtensa Diamond,hoạt động ở tần số 80 MHz và SRAM trên chip
Bộ nhớ nội: Bộ nhớ nội của ESP8266EX bao gồm SRAM và ROM ESP8266EX có thể truy xuất các bộ nhớ này thông qua các interface iBus, dBus, và AHB Kích thước SRAM nhỏ hơn 36kB khi ESP8266EX hoạt động ở chế độ station ROM của ESP8266EX không lập trình được nên chương trình được lưu trong Flash ngoại
Flash ngoại: ESP8266EX sử dụng flash ngoại để lưu trữ chương trình và boot trực tiếp chương trình từ bus SPI Kích thước flash ngoại mặc định sẽ khác nhau với từng loại module ESP8266, như ESP-01 có kích thước flash ngoại là 1MB, ESP-12E có kích thước flash ngoại là 16MB Nếu chương trình sử dụng kích thước lớn hơn kích thước mặc định thì bộ flash ngoại với kích thước lớn hơn phải được sử dụng tuy nhiên kích thước flash ngoại tối đa về mặt lý thuyết cho phép là 16 MB Kích thước bộ nhớ flash nhỏ nhất có thể là 512 kB (tắt chế độ OTA) hoặc 1 MB (bật chế độ OTA) IEEE 802.11 b/g/n Wi-Fi: Tích hợp TR switch, balun, LNA, bộ khuếch đại công suất và mạng kết hợp và xác thực WEP hoặc WPA/WPA2 hoặc mạng
mở không có password
17 chân GPIO: Các chân có thể được dồn kênh cho các chức năng I²C, I2S, UART, PWM, IR - điều khiển từ xa,
2 hardware timer 23 bit: FRC1 và FRC2
3 SPI: general Slave/Master SPI, Slave SDIO/SPI và general Slave/Master HSPI
I²C: Hỗ trợ 1 I²C hoạt động được ở cả chế độ master và slave Vì các GPIO đều có thể được cấu hình ở chế độ cực máng hở nên các GPIO đều có thể được cấu hình cho các chân SDA hay SCL của I²C bằng phần mềm Giao diện I²S với DMA (sử dụng chung chân với GPIO)
UART: Hỗ trợ 2 UART là UART0 và UART1 UART0 sử dụng GPIO3 và GPIO1 UART1 sử dụng GPIO2 và GPIO8 Tuy nhiên GPIO8 được dùng
để kết nối bộ nhớ flash của chip nên UART1 chỉ sử dụng được GPIO2 để truyền dữ liệu
ADC 10 bit
3 Cảm biến khí gas MQ2
3.1 Giới thiệu
Cảm biến khí gas MQ-2 sử dụng phần tử SnO2 có độ dẫn điện thấp hơn trong không khí sạch, khi khí dễ cháy tồn tại, cảm biến có độ dẫn điện cao hơn, nồng độ chất dễ cháy càng cao thì độ dẫn điện của SnO2 sẽ càng cao và được tương ứng chuyển đổi thành mức tín hiệu điện Cảm biến khí gas MQ-2 là cảm biến khí có
độ nhạy cao với LPG, Propane và Hydrogen, Methane và hơi dễ bắt lửa khác, với
Trang 10chi phí thấp và phù hợp cho các ứng dụng khác nhau Cảm biến xuất ra cả hai dạng tín hiệu là Analog và Digital, tín hiệu Digital có thể điều chỉnh mức báo bằng biến trở
3.2 Thông số
- Điện áp hoạt động 3.3-5V
- Dòng tiêu thụ: 150mA
- Có 2 dạng tín hiệu đầu ra: Analog và Digital
- Điều chỉnh độ nhạy bằng biến trở
- Các chân của MQ2:
Vcc: Chân nguồn cho cảm biến phát hiện khí, nó được kết nối với 5V
GND: Chân nối đất của cảm biến
Dout: Chân đầu ra kỹ thuật số cho biết sự hiện diện của khí
Nó có thể xuất ra ở trạng thái như 1 và 0
Aout: Chân analog output cho biết sự hiện diện của khí bằng tín hiệu tương tự Dữ liệu đầu ra cho giá trị liên tục giữa Vcc
và GND dựa trên mức khí được phát hiện
Hình 3 Cảm biến khí gas MQ2
4 IC ADC 0808
4.1 Giới thiệu
IC ADC0808 là một vi mạch tích hợp có chức năng chuyển đổi tín hiệu tương tự sang kỹ thuật số (Analog to Digital Converters), độ phân giải của bộ ADC là 8bit
Trang 11tức nó sẽ chuyển đổi tín hiệu điện tương tự sang 256 mức điện áp so với Vref cấp vào bộ chuyển đổi
4.2 Thông số
- Kiểu chân: DIP28
- Độ rộng: 8bit
- Công suất: 1000mW tối đa
- Điện áp: 5VDC to 15VDC
- Thời gian chuyển đổi: 100us
- Dải nhiệt độ: -65C to 150C
- Điện áp ở mọi chân: GND to Vcc
Sơ đồ đấu chân
Hình 4 ADC0808
1 đến 5, 27, 28
Kênh Analog 1 đến 5
7 chân này là chân đầu vào điện áp Analog (từ cảm biến)
Là chân đầu vào, nếu được cấp mức logic cao sẽ bắt đầu quá trình chuyển đổi tín hiệu
Trang 12End of Conversion (EOC)
Là chân đầu ra, sẽ có mức logic cao khi quá trình chuyển đổi tín hiệu kết thúc
8,14,15,18,19,20,21 Output (2-1 đến 27) Các chân đầu ra digital xuất kết quả chuyển đổi ADC
Cấp mức logic cao vào chân này để
có tín hiệu đầu ra trên các chân đầu ra
(0V-5V) khoảng 20Mhz
12 V ref (+) Chân điện áp tham chiếu, thường dùng điện áp+ 5V
22
Address Latch Enable (ALE)
Chân được kích tạm thời lên mức logic cao để chọn kênh ADC
23,24,25
ADD A, ADD B, ADD C
Ba chân này được sử dụng để chọn kênh
Biểu đồ thời gian của ADC 0808
Trang 14IV THIẾT KẾ
1 Sơ đồ khối
Các khối trong chương trình gồm các khối: khối ADC, khối div_clk, khối pwm, khối uart_tx
Hình 5 Sơ đồ khối chung của hệ thống
Trang 152 Lưu đồ thuật toán
2.1 Khối ADC
Hình 6 Khối ADC
Trang 162.2 Khối div_clk
Hình 7 Khối div_clk
2.3 Khối pwm
Trang 17Hình 8 Khối pwm
Trang 182 4 State machine của khối uart
Hình 9 State machine của khối uart
Trang 19V KẾT LUẬN
1 Kết quả đạt được
Hình 10 Thông số cảm biến ghi được
Trang 20Hình 11 Hình ảnh phần cứng
Nhóm đã thiết kế được mạch hoàn chỉnh, nạp code VHDL và chạy thành công: Sản phẩm đã đo được lượng khí gas và gửi thông số lên máy tính Đèn led đã sáng cảnh báo khi có rò rỉ khí gas ra ngoài
Truyền thông được thông số lên trên web qua thinkspeak
Như vậy đã đạt được mục tiêu ban đầu đã đề ra
2 Kết luận
Thông qua trao đổi và làm việc trong thời gian vừa qua, nhóm em đã rút ra được nhiều điều và cũng đã thực hiện khá thành công mục tiêu đề tài đặt ra, học hỏi thêm được nhiều điều trong quá trình làm để rút kinh nghiệm Đây là một trải nghiệm vô cùng quý giá cho nhóm bọn em cho con đường sau này
Chính vì thế, nhóm em xin một lần nữa gửi lời cảm ơn chân thành đến thầy Nguyễn Đại Dương vì đã giúp đỡ chúng em rất nhiều trong quá trình học tập cũng như thực hiện đề tài này Chúng em rất mong sẽ được thầy góp ý và chỉ bảo thêm trong tương lai để hoàn thiện hơn!