CHƯƠNG III:XÂY DỰNG HỆ THỐNG TRUYỀN THÔNG Y TẾ SỬ DỤNG BLE
3.2. Phân tích thiết kế hệ thống truyền thông y tế sử dụng BLE
3.2.2. Chức năng của các khối phần cứng
Khối điều khiển là module Arduino Mega328 có nhiệm vụ nhận dữ liệu cảm biến nhiệt độ trên cơ thể, và số nhịp tim mỗi phút của người bệnh để phân tích và đưa về máy tính hoặc gửi về điện thoại.
Hình 3.4. Sơ đồ chân trong ATmega 328
Chân VCC (chân số 7): Chân cung cấp điện áp dương nguồn 5V.
Chân GND (chân số 8): Chân đất chung.
Chân AREF (chân 21): Là chân tham chiếu để chuyển đổi tín hiệu tương tự sang số.
Chân AVCC (chân 20): Chân cung cấp điện áp cho quá trình chuyển đổi ADC.
Cổng B (chân 14 - chân 19, chân 9, chân 10): Bao gồm có 8 chân I/O từ (PB0÷PB7).
Cổng C (chân 23 – chân 28, chân 1): Bao gồm có 7 chân I/O từ (PC0÷PC6) trong đó chân PC6 (chân số 1) làm chân reset.
Cổng D (chân 2 – chân 6, chân 11 – chân 13): Bao gồm có 8 chân I/O từ chân (PD0÷PD7).
Các thông số cơ bản của Arduino ATmega328
Điện áp hoạt động 5V
Điện áp đầu vào (được đề nghị) 7-12V Điện áp đầu vào (giới hạn) 6-20V
Digital I / O Pins 14 (trong đó có 6 cung cấp đầu ra PWM)
Analog Input Pins 6
DC hiện tại mỗi I / O Pin 40 mA DC hiện tại cho 3.3V Pin 50 mA
Bộ nhớ flash 32 KB ( ATmega328 ) trong đó 0,5 KB sử dụng bởi bộ nạp khởi động
SRAM 2 KB ( ATmega328 )
EEPROM 1 KB ( ATmega328 )
Clock Speed 16 MHz
b. Khối cảm biến
Cảm biến nhiệt độ TMP006
TMP006 là cảm biến nhiệt độ đo nhiệt độ hồng ngoại. Cảm biến này sử dụng một pin nhiệt điện để hấp thụ hồng ngoại năng lượng phát ra từ các đối tượng được đovà sử dụng sự thay đổi tương ứng về điện áp pin nhiệt điện để xác định nhiệt độ đốitượng.
Hình 3.5. Cảm biến nhiệt độ TMP006
Các tính năng của cảm biến nhiệt độ TMP006:
Cảm biến điện áp: 7 uv/c
Giải nhiệt độ hoạt động: -400C đến +1250C
Điện áp cung cấp: 3.7v ~ 5.0v
Nhiệt độ độ phân giải: 14 bit
Giao diện tương thích: I2C, SBMus
Độ chính xác cảm biến từ xa ( tối đa)( +/- c): 3
Độ chính xác cảm biến ( tối đa)( +/- c): 1 Cấu hình chân TMP006:
Hinh 3.6. Sơ đồ chân TMP006 A1: DGND: chân đất số
A2: AGND: chân đất tương tự
A3: V+: Nguồn dương (2.2V đến 5.5V) B1: ADR1:chân chọn địa chỉ.
B3: SCL:Đường dây đồng hồ nối tiếp cho SMBus, mở cổng; yêu cầu một điện trở kéo lên v+.
C1: ADR0:chân chọn địa chỉ.
C2: DRDY: Dữ liệu đã sẵn sàng, tích cực mức thấp, mở cổng; yêu cầu một điện trở kéo lên V+
C3: SDA: Đường dây đồng hồ nối tiếp cho SMBus, mở cổng; yêu cầu một điện trở kéo lên v+.
Cảm biến nhịp tim XD-58C
Cảm biến nhịp tim XD- 58C (XD-58C Pulsesensor Pulse / Heart Rate Sensor cho Arduino) được sử dụng để kiểm tra nhịp tim xây dựng trên mạch cảm biến xung bằng hồng ngoại.
Hình 3.7. Cảm biến XD-58C
Về bản chất một cảm biến nhịp tim đã tích hợp bộ khuếch đại quang học và loại bỏ tiếng ồn mạch.Vị trí đặt cảm biến tại các vị trí bắp tay, khuỷu tay, đùi, khuỷu chân là tốt nhất, do có lợi là áp suất trong động mạch biến động rất lớn lại không được khuyến khích đó là do khi ánh sáng chiếu qua do lớp mô, xương dày nên ánh sáng bị hấp thụ hết, nên việc chọn vị trí cũng rất quan trọng. Cảm biến được sử dụng trong mạch là cảm biến xung, bên trong cảm biến đã tích hợp các bộ lọc, bộ khuếch đại rất thuận tiện cho việc xử lý tín hiệu.
Với phiên bản mới của cảm biến xung được bổ sung thêm diode bảo vệ diode trên đường dây, thêm bộ lọc tích cực, bộ khuếch đại nên khi có tín hiệu khi tim co lại, áp suất máu lớn ánh sáng phản xạ thay đổi khi máu bơm qua mô, làm cho các tín hiệu dao động xung quang điểm tham chiếu, khi không có tín hiệu khi tim giãn ra áp suất máu nhỏ thì các tín hiệu dao động quanh điểm giữa của điện áp (hoặc V/2 ) như vậy thì việc tìm ra đỉnh xung là đơn giản hơn.
Cảm biến xung (Sensor Pulse) là một cảm biến nhịp tim cắm vào là chạy được thiết kế cho Arduino. Được sử dụng cho các sinh viên, nghệ sĩ, vận động viên, các nhà sản xuất, trò chơi & phát triển điện thoại di động những người muốn dễ dàng kết hợp dữ liệu nhịp tim vào các dự án của họ. Kẹp cảm biến lên một ngón tay hay dái tai và kết nối với kit Arduino với một số cáp jump.
Hình 3.8. Sơ đồ nguyên lý XD-58C Các linh kiện sử dụng các mạch XD-58 gồm có:
APDS-9008 U1 Sensor
MCP6001 U2 Op Amp
RevMntLED D1 Reverse Mount LED
Schottkey D2 Powerline Diode
CAP 4.7uF
0603 C1,C2,C3 4.7uF
Capacitor, Surface Mount Multi-Layer Ceramic
CAP 0.1uF
0603 C4,C5 2.2uF
Capacitor, Surface Mount Multi-Layer Ceramic
R 470 0603 R1 470K SMT Resistor R 100 0603 R2 12K SMT Resistor R 13K 0603 R3,R4 100K SMT Resistor R 13K 0603 R5 10K SMT Resistor R 13K 0603 R6 3.3M SMT Resistor
c. Khối BLE HM-10
Khối BLE là module HM-10 có tác dụng nhận lấy dữ liệu từ khối điều khiển Arduino Uno rồi đưa dữ liệu nhận được sẽ gửi cho Bluetooth liên kết với nó gần nhất nếu trong phạm vi phủ sóng theo thuật toán trong hình 3.9.
Như phân tích trong chương 2, có 3 chế độ tiết kiệm năng lượng trong BLE là chế độ Hold, Sniff và Park. Với bài toán trong chương 3 này, các thông số y tế cần giám sát liên tục định kỳ, do vậy chúng ta có thể xác định một khoảng thời gian tuần hoàn để thu thập và truyền các thông số y tế. Chế độ Hold sử dụng sẽ không phù hợp do chu kỳ gửi / nhận dữ liệu là tuần hoàn, không cần xác định lịch trình gửi cố định với khoảng thời gian nghỉ thay đổi mỗi lần. Ngoài ra chế độ Hold cũng không phải chế độ tiết kiệm năng lượng hiệu quả của BLE. Vì vậy, luận văn chỉ thử nghiệm chế độ Park và chế độ Sniff với chu kỳ nghỉ cố định, trong đó chúng tôi đặt cố định khoảng thời gian nghỉ bằng thực nghiệm là 1s.
Hình 3.9. Module BLE HM-10
Module BLE HM-10 master/ slave dùng để thiết lập kết nối giữa 2 thiết bị bằng sóng Bluetooth theo chế độ năng lượng thấp BLE. Module HM-10 hoạt động ở 2 chế độ: Master hoặc Slave.
- Chế độ Master: Có thể nối cặp với bất kỳ thiết bị làm Slave nào.
Không phụ trợ thêm phần ghi nhớ thiết bị kết nối cuối cùng.
- Chế độ Slave: cần thiết lập kết nối từ smartphone, laptop, usb Bluetooth để dò tìm module. Sau đó, pair với mã PIN là 000000. Sau khi kết nối cặp thành công sẽ có 1 cổng serial từ xa hoạt động ở tốc độ 9600bps.
Khi kết nối: Thiết bị Master không chỉ có thể kết nối với các thiết bị Bluetooth có địa chỉ riêng khác mà còn có thể tự động tìm kiếm và nối cặp với thiết bị Slave.
Tốc độ giao tiếp mặc định: 9600, N, 8, 1.
Tên: HMSoft.
Mã PIN mặc định: 000000
Hình 3.10. Sơ đồ chân module BLE HM-10
Bảng 3.1. Bảng mô tả chức năng của các chân trong BLE HM-10
STT Tên chân Mô tả
1 UART-TX Giao tiếp UART
2 UART-RX Giao tiếp UART
3 UART-CTS Giao tiếp UART
4 UART-RTS Giao tiếp UART
5 NC NC
6 NC NC
7 NC NC
8 NC NC
9 NC NC
10 NC NC
11 RESETB Reset nếu cao hơn 100ms
12 VCC 3.3V
13 GND GND
14 GND GND
15 USB-D- Giao tiếp USB
16 NC NC
17 NC NC
18 NC NC
19 NC NC
20 USB-D+ Giao tiếp USB
21 GND GND
22 GND GND
23 PIO0 Hệ thống Key
24 PIO1 Hệ thống LED
25 PIO2 Vào/ ra lập trình được
26 PIO3 Vào/ ra lập trình được
27 PIO4 Vào/ ra lập trình được
28 PIO5 Vào/ ra lập trình được
29 PIO6 Vào/ ra lập trình được
30 PIO7 Vào/ ra lập trình được
31 PIO8 Vào/ ra lập trình được
32 PIO9 Vào/ ra lập trình được
33 PIO10 Vào/ ra lập trình được
34 PIO11 Vào/ ra lập trình được
d. Khối giao tiếp máy tính
Khối này sử dụng IC FT232RL để giao tiếp với máy tính, có chức năng nạp code chương trình, theo dõi và lưu kết quả trực tiếp vào máy tính.
Hình 3.11. Hình ảnh thực tế chip FT232RL