TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG

Một phần của tài liệu Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh (Trang 44)

3.2.1.Thiết kế sơ đồ khối hệ thống

Hình 3.1: Sơ đồ khối hệ thống

3.2.2.Chức năng từng khối a. Khối nguồn

Đây là mạch nguồn thiết kế chính có thể lấy ra được nguồn 5V, 3,3V cấp cho vi xử lý và tất cả các khối hoạt động. Nguyên lý hoạt động bắt đầu cấp nguồn 12V một chiều qua Jack DC, led L1 báo nguồn 12V được cấp qua một điện trở 1k hạn dòng cho

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 36 led. Hai IC ổn áp LM2576 5V và LM2576 3,3V sử dụng nguồn vào 12V để tạo ra điện áp 5V và 3,3V, dòng tối đa là 3A cho mỗi nguồn. Hai tụ 100f ổn định đầu vào cho IC ổn áp. Ngõ ra của IC ổn áp sử dụng diode zener ổn áp và mạch cộng hưởng LC giúp ổn định ngõ ra DC lọc bỏ triệt để dao động. Hai led D21 và D18 báo nguồn 5V và 3,3V đã hoạt động, điện trở 220 hạn dòng cho led báo 5V, điện trở 100 hạn dòng cho led báo 3,3V.

Hình 3.2: Sơ đồ nguyên lý mạch nguồn

Mạch sử dụng relay 12V 10A dòng điện điều khiển 30mA để làm khoá bảo vệ. Hai transistor để tạo trạng thái đóng ngắt cho relay. Transistor được chọn là C1815 thuộc loại NPN dễ dàng điều khiển đóng ngắt với dòng Ic tối đa 150mA đủ để tạo dòng cho relay. Hai transistor Q1 và Q2 được mắc nối tiếp với nhau, cực E của Q1 kết nối với cực C của Q2, cực B của Q1 điểu khiển bởi nguồn 5V, cực B của Q2 điều khiển bởi nguồn 3,3V. Điều này tạo nên bộ khoá chỉ khi 2 nguồn 5V và 3,3V tồn tại thì Q1 và Q2 dẫn tạo nên dòng điện điều khiển relay đóng. Chỉ cần ít nhất một trong 2 nguồn 5V hoặc 3,3V bị ngắt (đoản mạch, quá dòng), lập tức hệ thống Q1 và Q2 sẽ bị ngắt ngay lập tức.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 37

b. Khối LED đơn

Gồm 8 Led đơn được nối vào 8 chân từ PA0 tới PA7. Có chức năng là dùng để kiểm tra, hiển thị, ứng dụng thay thế trong các bài tập như thực hành các bài led đơn, cảm biến…

Các led được điểu khiển trực tiếp từ ngõ ra của VĐK với mức điện áp 3,3V. Led được sử dụng là led 0805 màu đỏ với các thông số như sau:

− Điện áp hoạt động (Uled): 2,1÷2,6V

− Dòng tối đa (Iled): 10mA

Công thức tính điện trở hạn dòng như sau:

R =U

I =3,3−Uled

Iled = 70 ÷ 120 () (3.1)

Chọn sử dụng điện trở 100

Hình 3.3: Sơ đồ nguyên lý khối LED đơn

c. Khối ma trận phím

Khối ma trận phím gồm ma trận phím 4x4 và 4 nút nhấn đơn được nối trực tiếp đến các chân I/O của VĐK với 4 chân xuất tín hiệu và 4 chân thu tín hiệu. Bốn đèn led báo hiệu nút đã được nhấn, dùng điện trở 100 hạn dòng cho led như trình bày bên trên. Các nút nhấn đơn được kết nối với nguồn 3,3V. Ma trận phím sử dụng dược sắp xếp thành 4 hàng và 4 cột, các chân trên cùng một hàng hoặc trên cùng một cột sẽ được nối với nhau. Ta được 4 đường tín tín hiệu theo hàng và 4 đường theo cột để kết nối với VĐK.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 38

Hình 3.4: Sơ đồ nguyên lý khối ma trận phím

d. Khối cảm biến nhiệt độ LM35

Khối nhiệt độ LM35 chuyển đổi nhiệt độ thành tín hiệu điện, truyền cho VDK xử lý và hiển thị lên các khối hiển thị và LCD.

Hình 3.5: Sơ đồ nguyên lý khối nhiệt độ LM35

Khối sử dụng 2 cảm biến LM35 được nối tách biệt với nhau và nối đến một bộ Switch chung. Một tụ điện 10uf được nối đến chân tín hiệu của LM35 đến đảm bảo ổn định ngõ ra tín hiệu nhiệt độ của cảm biến. Khi sử dụng, trong một khoảng khắc chỉ sử dụng 1 trong 2 cảm biến LM35 bằng cách bật tắc switch. Việc làm như vậy có thể so sánh sử dụng giữ 2 cảm biến LM35 khác nhau.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 39

e. Khối cảm biến nhiệt độ DS18B20

Tương tự như khối nhiệt độ LM35 khối nhiệt độ DS18B20 cũng có chức năng đo nhiệt độ môi trường chính xác.

Sử dụng nguồn 3,3V để cấp cho cảm biến hoạt động. Tín hiệu ngõ ra là tín hiệu dạng số, truyền bằng một đường dây nên cần cho đường tín hiệu này bằng một điện trở 4,7k.

Hình 3. 1: Sơ đồ nguyên lý khối nhiệt độ DS18B20

f. Khối cảm biến nhịp tim

Sử dụng cảm biến nhịp tim dạng quang Pulse Sensor sử dụng nguyên lý đo nhịp tim bằng ánh sáng với kích thước nhỏ gọn được nối đến chân PC1. Có chức năng đo được nhịp tim và dạng sóng của nhịp tim hiển thị trên màng hình LCD. Giúp nguyên cứu và ứng dụng sử dụng về sau này.

Hình 3.6:Sơ đồ nguyên lý khối cảm biến nhịp tim

Cảm biến sử dụng nguồn 3,3V, tín hiệu tương tự điện áp quanh mức 1,65V phù hợp với điện áp cho phép tại chân I/O của VĐK.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 40

g. Khối cảm biến siêu âm

Sử dụng cảm biến siêu âm Ultrasonic HC-SR04. Có chức năng sử dụng để nhận biết khoảng cách từ vật thể đến cảm biến nhờ sóng siêu âm.

Chân TRIG nhận tín hiệu điều khiển phát sóng. Điều khiển với tín hiệu mức thấp nên cần phải nối qua một điện trở 10k để khi không có tín hiệu điều khiển thì cảm biến ở trạng thái không phát sóng. Chân ECHO xuất tín hiệu thu nhận sóng trả về đến chân I/O của VĐK. Cả 2 chân TRIG và ECHO đều được nối qua điện trở 100 hạn dòng cho chân điều khiển cảm biến.

Hình 3.7:Sơ đồ nguyên lý khối cảm biến siêu âm

h. Khối cảm biến nhịp tim và SPO2

Sử dụng cảm biến nhịp tim và oxy trong máu MAX30100 được sử dụng để đo nhịp tim và nồng độ Oxy trong máu, thích hợp cho nhiều ứng dụng liên quan đến y sinh. Có chức năng giúp lập trình tìm hiểu rõ về nhịp tim.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 41 Sử dụng cảm biến nồng độ cồn MQ-3, có chức năng đo thể hiện giá trị nồng độ cồn hiển thị lên các khối hiển thị và LCD. Tín hiệu được xuất ra tại ngõ ra của cảm biến là tín hiệu analog. Cảm biến sử dụng nguồn 5V, ngõ ra tương tự với điện áp đỉnh là 5V. Tuy nhiên điện áp cho phép tại chân I/O của VĐK là 3,3V, nên cần có một mạch chia áp để giới hạn lại điện áp trước khi đến chân thu tín hiệu của cảm biến.

Sử dụng mạch chia áp 2K nối tiếp 3K, điện áp tại chân tín hiệu đến cảm biến sẽ như sau:

VMQ−3 =2

3 . Vout (3.2) Sử dụng một diode zener 3,3V mắc song song với điện trở 3K, tạo ra điện áp ổn định ở mức 3,3V nếu sảy ra quá áp bảo vệ chân I/O của VĐK.

Hình 3.9:Sơ đồ nguyên lý khối nồng độ cồn

i. Khối LCD TFT

Khối LCD TFT là một màn hình hiển thị có kích thước 2,2inch, độ phân giải 240x320 điểm ảnh, với 65536 màu. LCD được kết nối theo giao tiếp SPI với 3 chân tín hiệu và 3 chân cho phép. Nguồn cấp là 3,3V và không có khả năng điều chỉnh độ sáng của màn hình.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 42

Hình 3.10:Sơ đồ nguyên lý khối LCD TFT

3.3.THI CÔNG HỆ THỐNG 3.3.1.Thi công board mạch 3.3.1.Thi công board mạch

Các bước thi công phần cứng

− Mạch in được thiết kế trên phần mềm Proteus

− Thực hiện thi công mạch và tiến hành thi công board mạch.

− Sau khi thi công sẽ dùng đồng hồ để kiểm tra ngõ vào, ngõ ra, thông mạch và ngắn mạch để xem có lỗi trong lúc thực hiện hay không.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 43

Hình 3.11: Sơ đồ bố trí linh kiện của KIT

Trong Hình 3.11, sơ đồ bao gồm: ở trung tâm là nơi gắn board mạch STM32F407VE và LCD TFT, xung quanh là các khối chức năng: khối led đơn, khối led 7 đoạn quét, khối LCD, khối ma trận phím, khối nút nhấn, khối thời gian thực, khối điều khiển tốc độ động cơ, cảm biến SPO2, cảm biến nhịp tim, cảm biến nồng độ cồn, cảm biến nhiệt độ LM35, cảm biến nhiệt độ DS18B20, cảm biến siêu âm

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 44

Hình 3.13:Sơ đồ mạch in PCB mặt dưới

Hình 3.123.13 là sơ đồ mạch in dùng để làm mạch cho kit. ➢ Thống kê linh kiện sử dụng trong hệ thống

Bảng 3.1:Danh sách các linh kiện

STT Tên linh kiện Số lượng

1 Kit STM32F407 1

2 LCD TFT 1

3 Cảm biến siêu âm 1

4 Cảm biến MAX30100 1

5 Cảm biến nhịp tim Pluse sensor 1

6 Cảm biến nồng độ cồn MQ3 1

7 Cảm biến nhiệt độ LM35 2

8 Cảm biến nhiệt độ DS18B20 2

9 IC L298 1

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 45 11 Transistor A1013 8 12 IC DS3231 1 13 Transistor 2SC1815 2 14 IC LM2576-5 1 15 IC LM2576-3.3 1 16 RELAY 24V 1 17 Động cơ DC 1 18 Nút nhấn 20

19 Trở, tụ , led, diot

Trong bảng 3.1 liệt kê linh kiện để tránh những thiếu sót trong quá trình thi công board mạch nên sẽ liệt kê tất cả các linh kiện được sử dụng trong mạch để tiến hành thi công mạch như trong bảng.

3.3.2.Lắp ráp thi công mô hình

Tiến hành hàn linh kiện vào mạch khi làm mạch.

Hình 3.14:Mạch sau khi thi công

Hình 3.14 thể hiện vị trí các linh kiện trên board mạch - Vị trí số 1: Khối nguồn. 8 9 5 6 7 10 11 12 4 13 2 14 3 1

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 46 - Vị trí số 2: Khối vi xử lý.

- Vị trí số 3: Khối LED. - Vị trí số 4: Khối LCD TFT.

- Vị trí số 5: Khối cảm biến nhiệt độ LM35. - Vị trí số 6: Khối cảm biến nhiệt độ DS18B20. - Vị trí số 7: Khối động cơ DC.

- Vị trí số 8: Khối ma trận phím.

- Vị trí số 9: Khối cảm biến nhịp tim và SpO2. - Vị trí số 10: Khối cảm biến nhịp tim Pluse sensor. - Vị trí sô 11: Khối cảm biến siêu âm.

- Vị trí số 12: Khối cảm biến nồng độ cồn MQ3. - Vị trí số 13: Khối module thời gian thực DS3231. - Vị trí số 14: Khối LED đơn.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 47

Chương 4. THIẾT KẾ CÁC BÀI THỰC HÀNH

Chương này trình bày về các bài thực hành cho các module của kit thực hành như 8 led đơn, nút nhấn, màn hình LCD TFT, các cảm biến,… Bài thực hành gồm các phần mục: sơ đồ phần cứng, cấu hình chân cho vi điều khiển, các hàm cơ bản, các thư viện sử dụng, các bài tập mẫu và các bài tập ứng dụng.

4.1.PHẦN MỀM LẬP TRÌNH STM32CUBEIDE 4.1.1.Giới thiệu 4.1.1.Giới thiệu

Phần mềm lập trình cho các dòng vi điều khiển STM32 có nhiều chương trình khác nhau, trong đề tài sử dụng phần mềm STM32CubeIDE. Đây là phần mềm miễn phí do hãng ST tạo ra, hỗ trợ cho các dòng vi điều khiển STM32 bao gồm cả chip STM32F4VET6 mà kit thực hành sử dụng, trong phần mềm có tích hợp các công cụ sinh code, soạn thảo, biên dịch và nạp chương trình cho vi điều khiển, rất đơn giản và dễ sử dụng.

Biểu tượng phần mềm STM32CubeIDE sau khi cài đặt xong xuất hiện trong màn hình desktop như sau.

Hình 4.1:Biểu tượng phần mềm STM32CubeIDE

4.1.2.Hướng dẫn sử dụng phần mềm

Phần mềm lập trình cho các dòng vi điều khiển STM32 có nhiều chương trình khác nhau, trong đề tài sử dụng phần mềm STM32CubeIDE. Đây là phần mềm miễn phí do hãng ST tạo ra, trong phần mềm có tích hợp các công cụ sinh code, soạn thảo code và nạp code cho vi điều khiển, rất đơn giản và dễ sử dụng.

Biểu tượng phần mềm STM32CubeIDE sau khi cài đặt xong xuất hiện trong màn hình desktop như sau.

Bước 1: Khởi động phần mềm, giao diện xuất hiện như Hình 4.2. Chọn mục Start New STM32 project.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 48

Hình 4.2:Giao diện khi khởi động phần mềm

Hình 4.3:Chọn họ vi điều khiển

Bước 2: Giao diện phần chọn Target như hình 4.3. Tìm vi điều khiển STM32F407VET6 bằng cách gõ vào ô tìm kiếm được đánh dấu số 1. Phần đánh dấu số 2 là họ vi điều khiển STM32F4VETx. Chọn “Next” (số 2).

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 49 Bước 3: Hình 4.4 là cửa sổ gõ tên Project, gõ tên và chọn “Finish” theo thứ tự 1, 2 trong hình.

Bước 4: Hình 4.5 là giao diện của file.ioc tức là file cấu hình các chân của vi điều khiển. Ở đây ta để cấu hình mặc định và không chỉnh sửa gì thêm. Tiến hành sinh code bằng cách nhấn Ctr+S và chọn “yes” khi cửa sổ Question hiện lên như Hình 4.6.

Hình 4.4:Gõ tên của Project

Bước 5: Biên dịch cho chương trình như hình 4.7 minh họa. Chọn file main.c theo đường dẫn Core>Src (số 2) thuộc project “cau_hinh” (số 1). Nhấn biểu tượng cây búa (số 3) hình 4.7. Kết quả biên dịch thành công và dung lượng bộ nhớ vi điều khiển sử dụng sẽ hiển thị lần lượt 1,2 trong Hình 4.8.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 50

Hình 4.5: Giao diện file.ioc cấu hình chân cho vi điều khiển

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 51

Hình 4.7:Cửa sổ soạn thảo chương trình của STM32CubeIDE

Hình 4.8:Cửa sổ hiển thị khi biên dịch xong

Bước 6: Nạp code cho vào bộ nhớ Flash của vi điều khiển bằng công cụ Debugger tích hợp sẵn trong phần mềm STM32CubeIDE, nhấn vào biểu tượng đánh dấu số 3 trong hình 4.8. Sau đó, xuất hiện cửa sổ cấu hình Debugger như hình 4. 9 và chọn “OK”.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 52

Hình 4.9:Cửa sổ cấu hình Debugger

Hình 4.10:Cửa sổ hiển thị nạp code thành công

4.1.3.Cấu trúc chương trình main.c

Khi sử dụng phần mềm sinh code ta sẽ được phần code như bên dưới. Khi viết chương trình ứng dụng ta sẽ viết các phần vào đúng vị trí comment dành riêng cho nó để khi chinh sửa file cấu hình port.ioc và sinh code lại thì những phần code đó sẽ không bị xóa mất. Sau đây là các mục comment tương ứng với các phần code.

Phần khai báo thư viện /* USER CODE BEGIN Includes */

Phần khai báo define và macro /* USER CODE BEGIN PM */

Phần khai báo biến /* USER CODE BEGIN PV */

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53 Phần chương trình trước vòng lặp while (1) /* USER CODE BEGIN 2 */

Phần trương trình trong vòng lặp while (1) /* USER CODE BEGIN 3 */

Trong các bài thực hành sẽ chỉ nêu nhưng đoạn code chính để phần trình bày được ngắn gọn và tránh lặp lại, chúng ta phải viết lại bằng cách thêm những đoạn code chính này vào đúng các mục comment dành cho nó.

/* USER CODE BEGIN Header */ /**

************************************************************** * @file : main.c

* @brief : Main program body

************************************************************* * @attention

*

* <h2><center>&copy; Copyright (c) 2020 STMicroelectronics. * All rights reserved.</center></h2>

*

* This software component is licensed by ST under BSD 3-Clause license,

* the "License"; You may not use this file except in compliance with the

* License. You may obtain a copy of the License at:

* opensource.org/licenses/BSD-3-Clause *

******************************************* */

/* USER CODE END Header */

/* Includes ---*/

Một phần của tài liệu Thiết kế và thi công KIT lập trình vi điều khiển ARM kết hợp cảm biến y sinh (Trang 44)

Tải bản đầy đủ (PDF)

(118 trang)