1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống nhúng hệ thống cảnh báo rò rỉ khí gas

27 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Hệ Thống Nhúng Hệ Thống Cảnh Báo Rò Rỉ Khí Gas
Tác giả Lại Cao Trí, Huỳnh Thanh Ty, Lờ Liờu Quốc Phỳ, Vừ Quốc Sơn
Người hướng dẫn Giảng Viên Hướng Dẫn Nguyễn Minh Ngọc
Trường học Industrial University of Hochiminh City
Thể loại tiểu luận
Năm xuất bản 2023
Thành phố TPHCM
Định dạng
Số trang 27
Dung lượng 2,83 MB

Nội dung

Tình hình nghiên cứu thiết kế Hệ thống nhúng cho các ứng dụng hiện nay 3 1.3 Phương pháp nghiên CỨU...-... Tình hình nghiên cứu thiết kế Hệ thống nhúng cho các ứng dụng biện nay Hiện n

Trang 1

TRUONG DAI HOC CONG NGHIEP TP HO CHi MINH BO CONG THUONG

KHOA CONG NGHE DIEN - DIEN TU

HOCHIMINH CITY

INDUSTRIAL

HE THONG NHUNG

HE THONG CANH BAO RO RI KHI GAS

Giảng viên hướng Nhóm 13 thực hiện

2 Huỳnh Thanh Ty MSSV:20053871

3 Lê Liêu Quốc Phú

Trang 2

Phu lu

1.2 Tình hình nghiên cứu thiết kế Hệ thống nhúng cho các ứng dụng hiện nay 3

1.3 Phương pháp nghiên CỨU - .- (<< 3S 9 So ng nh 3

3.1.2 Sơ đồ nguyên lý -.s- sec cscse + +xEExkteErExEeeEkEreerererxrrsrsrrsrerree 8

3.2 Thiết kế phần mềm s- 2 «£ +*£©++#£E#£EEx££ExEE+xEEx# xe eEErkerxee 8

3.2.1 Lựa chọn phần mềm và ngôn ngữ lập trình - s- 25.55 ses 8

4, Dan gid VA dé XUAt i iccccssscsscsssessessssssesssssscssssssessssssessssssessssssesssssscsessssessesssssssess 26

Trang 3

1 Téng quan va dat van dé

1.1 Vai trò, ý nghĩa của việc làm tiểu luận

1.2

13

1.4

Một bài tiêu luận được dựa trên công sức của cá nhóm Đầu tiên, làm một bải tiéu

luận là để tong hop lai kiến thức trên lĩnh vực mình đã học, cũng như là đề hiểu thêm về I đự án phải làm theo các bước và quy trình như thế nào Tiểu luận giúp cho mỗi người biết về vai trò giỏi nhất của bản thân, xây dựng tinh than tự giác,

tự tìm hiểu những điều liên quan đến | dự á án Nhìn nhận một vấn đề vẻ nhiêu khí cạnh, làm rõ một đự án Làm quen dần về cách nhận và làm một dự án là như thế nảo

Tình hình nghiên cứu thiết kế Hệ thống nhúng cho các ứng dụng biện nay

Hiện nay, nghiên cứu và thiết kế hệ thông nhúng cho các ứng dụng đang được quan tâm rất nhiều bởi vì hệ thống nhúng có thê được tích hợp vào nhiều loại thiết

bị, từ các thiết bị di động nhỏ như điện thoại thông minh, máy tính bảng cho đến

các thiết bị lớn hơn như ô tô, máy bay và các hệ thống công nghiệp

Một trong những xu hướng nghiên cứu và thiết kế hệ thông nhúng là việc tích hợp trí tuệ nhân tạo và học sâu vào các thiết bị nhúng Điều này cho phép các thiết bị

có khả năng học tập và tự động tối ưu hóa hiệu suất của chúng theo thời gian, tăng khả năng tương tác và phản hồi với người dùng

Các ứng dụng của hệ thông nhúng cũng đang mở rộng sang nhiều lĩnh vực khác nhau, bao gồm y tế, đô thị thông minh, năng lượng, môi trường và an ninh Các hệ thống nhúng cho các ứng dụng y tế, chăng hạn như các thiết bị giám sát sức khỏe,

có thê giúp theo đõi sức khỏe của người dùng và cung cấp dữ liệu cho các nhà cung cấp dịch vụ y tế dé cải thiện chăm sóc sức khỏe Trong lĩnh vực đô thị thông minh, các hệ thong nhung có thé giup quan lý giao thông và đèn đường, giảm thiểu sự cố tai nạn và giảm thiều ùn tắc giao thông

Ngoài ra, các nhà nghiên cứu cũng đang tập trung vào việc phát triển các hệ thông nhúng có khá năng tiết kiệm năng lượng và bảo vệ môi trường, giúp giảm thiểu tác động của các thiết bị điện tử đến môi trường Các hệ thống nhúng cũng đang được áp dụng rộng rãi trong lĩnh vực an ninh, bao gồm giảm sát và kiêm soát truy

cập vào các khu vực nhạy cảm

Tóm lại, nghiên cứu và thiết kế hệ thống nhúng cho các ứng dụng đang phát triển rất nhanh chóng

Phương pháp nghiên cứu

Phương pháp thu thập số liệu

Hệ thống cánh báo rò rỉ khí gas: Là hệ thống có khả năng tự động phát hiện

ra nông độ khí gas trong nhà có đang vượt mức cho phép hay không Nếu có

thì hệ thống tự động cảnh báo bằng âm thanh qua loa, đèn Đồng thời hệ

thống quạt tự động mở đưa khí rò rỉ ra bên ngoài.

Trang 4

2.2_ Các thành phan

Khí gas chứa chủ yếu các thành phân chính: Propane (C 3H s), butane (C 4H 10) va một số thành phần khác Đề tạo mùi cho gas nhà sản xuất đã pha trộn thêm chất tạo mùi đặc trưng như methanethiol (CH ;SH), có mùi giống tỏi, hành tây Trong thành phân khí gas, tỉ lệ hòa trộn phổ biến của propane: butane theo thứ tự là 30 : 70 đến 50 : 50,

Vi điều khiển STM32F103C§T6

o_ Tốc độ tối đa 72Mhz

6_ Có các mode: ngủ, ngừng hoạt động hoặc hoạt động ở chế độ chờ

o Điện áp cấp 5VDC qua cổng Micro USB sẽ được chuyên đổi thành 3.3VDC qua IC nguồn và cấp cho Vi điều khiên chính

Ôn định khi sử dụng trong thời gian dai

- _ Van điện từ Solenid Valve

©_ Là dòng van điện từ cho khí gas thường đóng

o Ap suat Max: 360 mbar, Class A - Group 2

© Loai bao vé: IP 65

o Hop chuan theo tiêu chuan Directive ATEX (II 3G - II 3D)

© Dién ap cung cap 24 VDC

o Loa mau do, gan tường

Trang 5

o Dién ap hoat déng: DC 24V, dong dién hoat déng: 20 MA

Quạt thông gió 2 chiều Tico TC-25AV6

2.2.1 Hồ sơ đặc tả (specifcatfion) của quy trình thiết kế hệ thống

TT | Specification Description (M6 ta)

(Thông sô kỹ

thuật)

1 Product Hệ thông có:

specification - Kha nang canh bao khi phát hiện khi CH4 bi ro ri

- Kha nang phát tín hiệu ra loa và dén khi co tin hiéu cảnh báo từ MQ2

-_ Khả năng tự động ngắt van gas khi khí rò rỉ

2 Engineering | Input: cam biên nhiệt MQ2, vị điệu khiên STM32, tín hiệu

specifcation | đồng hồ thời gian thực

Output: điều khiển van tự động đóng, rờ le điều khiển quạt

User interface: LCD, coi báo 12VDC, đẻn báo cháy to, loa

12VDC, quạt thông gió 2 chiều

+5V +3.3V +1/8V +12V

Trang 6

- _ Hoạt động liên tục, báo hiệu ở chế độ auto

- Cảm biến có điều kiện

- Giao tiép UART và hiện lên LCD

Test Platform: vi diéu khién STM32

specification | Tién trinh kiém tra:

- Kiém tra hoat động của LCD, loa

- = Kiểm tra hoạt động của cảm biến nhiệt

- Kiểm tra hoạt động của mạch điều khiển

- Kiểm tra hoạt động của giải thuật điều khiển

- _ Kiểm tra nguồn điện cung cấp

- _ Kiểm tra đường dẫn khí

- Kiểm tra môi trường hoạt động

Funtions © Cảm biên MQ2 phát hiện rò ri

khí gas và phát tín hiệu ra led

với loa

© Gửi tín hiệu cánh báo về cho

người dùng khi phát hiện sự

chặn sự lây lan

Real-time system e Hé thong yêu câu xử lý thời

Trang 7

Thiền thị đèn báo và loa

Reactive system ® Hệ thông hoạt động liên tục

khi hệ thống không phát hiện

khí lỏng tôn tại

Mô tả chức năng, thành phần và nguyên lý hoạt động của hệ thống nhúng

Hệ thông nhúng cảnh báo rò rỉ khí gas là một hệ thông bảo vệ an toàn đề phát

hiện và cảnh báo người dùng về nguy cơ rò rỉ khí gas, đặc biệt là khí gas tự nhiên (chủ yêu là khí metan) Hệ thông này thường được sử dụng trong các nhà máy, nhà ở, hoặc nơi có nguy cơ cao về rò ri khí gas

Các thành phần chính của hệ thông nhúng cảnh báo rò rỉ khí gas bao gồm: o_ Cảm biến khí gas: thiết bị phát hiện mức độ khí gas có trong không khí

o Dau dò khí gas: kết nối với cảm biến khí gas để chuyên đôi tín hiệu từ cảm

biến thành tín hiệu điện tử đề xử lý

eo Bộ điều khiển: thiết bị điện tử đọc tín hiệu từ đầu dò va phân tích đữ liệu

dé xác định xem có rò ri khí gas hay không

thanh cánh báo

Nguyên lý hoạt động của hệ thông nhúng cánh báo rò rí khí gas là dựa trên việc phát hiện mức độ khí gas trong không khí Cảm biến khí gas được đặt ở vị trí có nguy cơ cao về rò rỉ khí gas, và sẽ phát hiện mức độ khí gas có trong không khí Dau dò khí gas kết nỗi với cảm biến khí gas đê chuyên đôi tín hiệu từ cảm biến

thành tín hiệu điện tử đề xử lý bởi bộ điều khiên Bộ điều khiên phân tích đữ liệu

từ đầu đò khí gas để xác định xem có rò ri khí gas hay không Nếu hệ thống phát

hiện có rò rỉ khí gas, nó sẽ kích hoạt đèn báo và âm thanh cảnh báo để cảnh báo

Trang 9

Phần mềm STM32CubeMX là một công cụ hỗ trợ việc cấu hình các

chức năng cho các dòng vi điều khiển STM32 qua các giao diện đồ họa, và sinh code từ các cấu hình đó

KeilC là 1 IDE giúp lập trình viên viết Code, Debug, Load chương trình

xuống vi điều khiển

sử dụng 2 ngôn ngữ chính đó là C và C++

Câu hình chân PA1: input analog

'Cầu hình chân PA2_5: output digital Cầu hình chân PA9: UART TX Cầu hình chân PA10.UART RX

Lưu đồ giải thuật

Khai báo thư viện

Khai báo thư viện LCD 16x2 Khai báo adcvai =0

Khai báo biến cảnh báo = 1024;

Cấu hình UART 9690, 8N1

Cho phép ADC hoạt động 'Gán giá trị ADC vào adcval

Cho phép LCD hoạt động Hiển thị giá trị adcval lên màn hình

Cho phép còi cảnh báo

LED đỏ sáng UART truyền dữ liệu cảnh báo về PC

Trang 10

* in the root directory of this software component

Trang 11

/* Private define

—————-—-—-—-—-—-—-—-—-—-—-—-—-—-————————-—T————-——T——-—————————————-———-—-—-—-—-—-—-——— xf

/* USER CODE BEGIN PD */

/* USER CODE END PD */

/* USER CODE BEGIN PM */

/* USER CODE END PM */

/* Private variables

ADC_HandleTypeDef hadcl;

UART_ HandleTypeDef huartl;

/* USER CODE BEGIN PV */

/* USER CODE END PV */

/* Private function prototypes

void SystemClock Config(void);

static void MX_GPIO_Init (void);

static void MX_USART1_UART_Init(void);

static void MX_ADC1_Init (void);

/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code

/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

/**x

* @brief The application entry point

Trang 12

int main(void)

{

/* USER CODE BEGIN 1 */

bool flag receive = 0;

/* USER CODE END Init */

/* Configure the system clock */

SystemClock_Config();

/* USER CODE BEGIN SysInit */

/* USER CODE END SysInit */

/* Initialize all configured peripherals */

MX_GPIO_Init();

MX_USART1_UART_Init();

MX_ADC1_Init();

/* USER CODE BEGIN 2 */

/* Infinite loop */

/* USER CODE BEGIN WHILE */

while (1)

Trang 13

/* USER CODE END WHILE */

HAL _GPIO WritePin(BUZZ_GPIO_Port,BUZZ_Pin,1);

HAL _GPIO WritePin(LEDG_GPIO_ Port, LEDG_Pin,1); HAL _GPIO WritePin(LEDR_GPIO_ Port, LEDR_Pin,0);

}

{

HAL _GPIO WritePin(BUZZ_GPIO_Port,BUZZ_Pin,0);

HAL _GPIO WritePin(LEDR_GPIO_Port, LEDR_Pin,1); HAL _GPIO WritePin(LEDG_GPIO_Port, LEDG_Pin,0);

HAL UART Transmit (&huartl, &édata[0],sizeof(data),100);

Trang 14

/** Tnitializes the RCC Oscillators according to the specified

parameters

*/

RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON;

RCC_OscInitStruct.HSICalibrationValue =

RCC_HSICALIBRATION DEFAULT;

RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;

RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;

Trang 15

/* USER CODE BEGIN ADCl Tnit 0 */

/* USER CODE END ADC1_Init 0 */

ADcC_ChannelConfTypeDef sConfig = {0};

/* USER CODE BEGIN ADC1_ Init 1 */

/* USER CODE END ADC1_Init 1 */

hadel.Init.ExternalTrigConv = ADC_SOFTWARE START;

hadcl.Init.DataAlign = ADC_DATAALIGN RIGHT;

sConfig.SamplingTime = ADC _SAMPLETIME 7CYCLES 5;

Trang 16

/* USER CODE END ADC1_Init 2 */

/* USER CODE END USART1_Init 1 */

huartl.Instance = USART1;

huartl.Init.BaudRate = 9600;

huartl.Init.WordLength = UART_WORDLENGTH_ 8B; huartl.Init.StopBits = UART_STOPBITS_1;

huartl.Init Parity = UART_PARITY_ NONE;

/* USER CODE END USART1_Init 2 */

/**x

* @brief GPIO Initialization Function

* @param None

* @retval None

Trang 17

{

GPTO TnitTypeDef GPTO TnitStruct = {0};

/* USER CODE BEGIN MX GPIO Tnit 1 */

/* USER CODE END MX_GPIO_Init_1 */

/* GPIO Ports Clock Enable */

HAL_RCC_GPIOA_CLK_ENABLE();

HAL_RCC_GPIOB_CLK_ENABLE();

/*Configure GPIO pin Output Level */

HAL _GPIO WritePin(GPIOA, LEDR_Pin|FAN_Pin|BUZZ_Pin|LEDG_Pin, GPIO_PIN_RESET);

/*Configure GPIO pin Output Level */

HAL _GPIO WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_1/GPIO_PIN_2| GPIO_PIN 3

|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN 6, GPIO_PIN_RESET);

/*Configure GPIO pins : LEDR_Pin FAN Pin BUZZ Pin LEDG Pin */

GPIO_InitStruct.Pin = LEDR_ Pin|FAN Pin|BUZZ Pin|LEDG Pin;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_InitStruct.Pull = GPIO_NOPULL;

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

/*Configure GPIO pins : PBO PBl PB2 PB3

HAL GPIO Init (GPIOB, &GPIO InitStruct);

/* USER CODE BEGIN MX GPIO Init 2 */

/* USER CODE END MX_GPIO_Init_2 */

}

/* USER CODE BEGIN 4 */

Trang 18

/* USER CODE BEGIN Error Handler Debug */

/* User can add his own implementation to report the HAL error return state */

disable_irgq();

{

}

/* USER CODE END Error Handler Debug */

[**

line number

* where the assert param error has occurred

* @param file: pointer to the source file name

* @retval None

*/

void assert_failed(uint8_t *file, uint32_t line)

{

/* USER CODE BEGIN 6 */

/* User can add his own implementation to report the file name

and line number,

ex: printf ("Wrong parameters value: file %s on line $d\r\n", file, line) */

/* USER CODE END 6 */

Trang 19

Fee Ak eek ee eke eee ke eee ke oe ek ke oe eke oe oe oe ke oe de ek oe oe /

static void led_write data( uint8_t data);

static void led_write command (uint8 t command) ;

static void led_write( uint8_t data, uint8_t LENG);

Led_PortType ports[4] = { D4_GPIO_ Port, D5_GPIO Port,

Do _GPIO Port, D7 _GPIO Port};

[KK ek ee ek ee eke ee ek ee kk ee ke ee eke eee ke eek ke oe eke oe oe eke oe oe eke oe ee ke oe oe ke oe de ke oe oe oe ke oe tek eek ok ek ok ek ek kk kk ok ek ek kk ok de de

Trang 20

// 4-bit mode

// Clear screen

lcd_write_command (DISPLAY_ON_OFF_CONTROL | OPT_D);

// ILcd-on, cursor-off, no-blink

Trang 21

// Set CGRAM address

lcd_write_command(SET_CGRAM_ ADDRESS | (location << 3));

// Write 8 bytes custom char pattern

for (i = 0; i < 8; itt)

{

Trang 22

/x*/

⁄/

Trang 23

⁄/

Trang 24

GPIO_InitStruct Pull = GPIO_NOPULL;

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_ HIGH;

HAL_GPIO_Init(EN_GPIO_ Port, &GPIO_InitStruct);

//Configure RW_PIN

GPTO TnitStruct.Pin = RW Pin;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_InitStruct Pull = GPIO_NOPULL;

HAL _GPIO_Init(RW_GPIO Port, &GPIO_InitStruct); HAI, _GPIO WritePin(RW_GPTO_Port,RW Pin,GPIO_PIN_RESET);

// Configure D4_PIN

GPTO TnitStruct.Pin = D4 Pin;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

GPIO_InitStruct Pull = GPIO_NOPULL;

HAL _GPIO Init (D4 _GPIO_ Port, &GPIO_InitStruct);

// Configure D5 PIN

GPTO TnitStruct.Pin = D5 Pin;

GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

HAL _GPIO Init(D5 GPIO_ Port, &GPIO_InitStruct);

Ngày đăng: 02/01/2025, 21:55