Bối cảnh và vấn đề nghiên cứu
Té ngã ở người cao tuổi là một vấn đề y tế cộng đồng nghiêm trọng, dẫn đến nhiều tổn thương thực thể nặng nề như gãy xương, chấn thương sọ não, tai biến mạch máu não, tàn phế hoặc thậm chí tử vong nếu không được phát hiện và sơ cứu kịp thời. Theo số liệu từ Hội đồng Lão khoa Quốc gia Hoa Kỳ (NCOA), trung bình cứ bốn người từ 65 tuổi trở lên thì có một người bị ngã mỗi năm. Nghiên cứu của Altman và cộng sự chỉ ra tỷ lệ té ngã hàng năm dao động từ 28% – 35% ở nhóm 65 tuổi trở lên và tăng lên 32% – 42% ở nhóm trên 75 tuổi; trong đó hơn 15% người từng ngã bị ngã tái diễn ít nhất hai lần trong năm. Tại Việt Nam, ước tính có khoảng 1,9 triệu người cao tuổi bị ngã mỗi năm với 5% trường hợp phải nhập viện điều trị. Theo báo cáo từ Trung tâm Kiểm soát và Phòng ngừa Dịch bệnh Hoa Kỳ (CDC), các vụ té ngã gây ra hơn 3 triệu lượt cấp cứu, hơn 800.000 ca nhập viện và hơn 32.000 trường hợp tử vong hàng năm.
Để giải quyết vấn đề này, các nghiên cứu trước đây đã áp dụng nhiều giải pháp công nghệ nhưng đều tồn tại các giới hạn nhất định:
- Phương pháp sử dụng camera (nghiên cứu của Lê Thanh Hà và cộng sự, Miao Yu và cộng sự, Khawandi và cộng sự, Miaou và cộng sự, Foroughi và cộng sự): Đạt độ chính xác nhận dạng tư thế cao (97,08% theo Miao Yu) nhưng phạm vi giám sát bị giới hạn trong không gian lắp đặt cố định, xuất hiện điểm mù, gặp khó khăn khi có nhiều đối tượng di chuyển gây chồng ảnh và ảnh hưởng đến quyền riêng tư cá nhân.
- Phương pháp sử dụng cảm biến âm thanh và rung sàn (nghiên cứu của Popescu và cộng sự, Alwan và cộng sự, Yun Li và cộng sự): Chi phí thiết bị tương đối thấp nhưng dễ bị ảnh hưởng bởi tạp âm môi trường, tỷ lệ báo động giả cao (lên tới 5 lần/giờ theo Popescu) và chỉ hoạt động trên các bề mặt vật liệu sàn tương thích.
- Phương pháp dựa trên động học (nghiên cứu của Qiang Li và cộng sự, Igual và cộng sự, Lina Tong và cộng sự, Ying-Wen Bai và cộng sự, Bourke và cộng sự): Sử dụng cảm biến gia tốc và con quay hồi chuyển gắn trên cơ thể để nhận diện chuyển động. Phương pháp này khắc phục được giới hạn về không gian, có thể hoạt động cả trong nhà lẫn ngoài trời với chi phí phần cứng thấp. Thí nghiệm của Bourke chỉ ra vị trí gắn cảm biến ở ngực hoặc bụng là tối ưu nhất nhằm tránh các gia tốc tuyến tính cục bộ thường xuất hiện ở tay và đùi trong quá trình đi lại.
Từ cơ sở thực tiễn trên, khóa luận tốt nghiệp ngành Kỹ thuật Y sinh tại Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh thực hiện đề tài "Thiết kế và thi công thiết bị phát hiện và cảnh báo té ngã cho người cao tuổi" do sinh viên Trần Minh Luân và Phạm Kiếm Nhi thực hiện dưới sự hướng dẫn của TS. Trần Vi Đô.
Mục tiêu nghiên cứu:
Thiết kế và thi công hoàn chỉnh mô hình thiết bị đeo cá nhân có khả năng tự động nhận diện các hành vi té ngã (ngã về phía trước, ngã ra sau, ngã nghiêng sang trái/phải), kích hoạt hệ thống còi báo động tại chỗ, định vị tọa độ địa lý thông qua GPS và tự động gửi tin nhắn SMS cảnh báo kèm liên kết vị trí tới số điện thoại người thân. Đồng thời, thiết bị hỗ trợ nút bấm gọi điện khẩn cấp khi người dùng cần trợ giúp thủ công.
Nhiệm vụ nghiên cứu:
- Nghiên cứu các phương pháp phát hiện té ngã và thuật toán phân tích động học cơ thể.
- Lựa chọn phương pháp phát hiện và thiết kế sơ đồ khối toàn hệ thống.
- Lựa chọn các linh kiện, module điện tử phù hợp với yêu cầu kỹ thuật.
- Nghiên cứu, kết nối phần cứng và xây dựng giải thuật thu thập dữ liệu chuyển động.
- Nghiên cứu, kết nối khối cảnh báo còi, module GPS và truyền thông qua mạng di động.
- Thi công mạch phần cứng, lắp ráp và thiết kế vỏ hộp thiết bị.
- Chạy thử nghiệm thực tế trên các tư thế ngã và hiệu chỉnh hệ thống.
- Viết báo cáo tổng kết kết quả nghiên cứu.
- Bảo vệ khóa luận tốt nghiệp trước hội đồng chuyên môn.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Dữ liệu động học cơ thể người (gia tốc 3 trục, vận tốc góc 3 trục) và quy trình xử lý tín hiệu cảnh báo tai nạn té ngã.
- Phạm vi không gian: Thiết bị dạng hộp đeo trước ngực hoặc bụng, kích thước 10 x 8 cm, hoạt động tốt nhất trong môi trường ngoài trời (thu tín hiệu GPS tối ưu).
- Phạm vi thời gian: Đề tài được triển khai thực hiện từ ngày 25/02/2022 đến ngày 15/06/2022.
Cơ sở lý thuyết và phương pháp
Khung lý thuyết chuyển động không gian và góc Euler
Để mô tả hướng và trạng thái chuyển động của cơ thể người trong không gian 3 chiều ($Oxyz$), tác giả áp dụng hệ tọa độ Descartes và hệ góc Euler bao gồm ba góc chuyển động cơ bản:
- Góc Roll ($\theta$ - góc nghiêng): Chuyển động xoay quanh trục $X$, tương ứng với tư thế nghiêng người sang trái hoặc sang phải.
- Góc Pitch ($\alpha$ - góc chúc/gập): Chuyển động xoay quanh trục $Y$, tương ứng với hành vi ngã hoặc gập người về phía trước và ngả ra phía sau.
- Góc Yaw ($\beta$ - góc quay): Chuyển động xoay quanh trục $Z$, tương ứng với chuyển động quay ngang thân người.
Độ lớn vector tổng gia tốc không gian của cơ thể được xác định bằng công thức:
$$|\vec{a}| = \sqrt{a_x^2 + a_y^2 + a_z^2}$$
Trong đó $a_x, a_y, a_z$ là các thành phần gia tốc đo được dọc theo ba trục tọa độ ($1\text{g} = 9{,}81\text{ m/s}^2$).
Thuật toán lọc bù (Complementary Filter) và hiệu chỉnh cảm biến
Cảm biến đo lường quán tính MPU-6050 cung cấp dữ liệu thô từ cảm biến gia tốc (Accelerometer) và con quay hồi chuyển (Gyroscope):
- Cảm biến gia tốc: Đo gia tốc trọng trường, cho độ chính xác cao ở trạng thái tĩnh nhưng dễ bị nhiễu do lực quán tính trong các chuyển động động học. Góc nghiêng $\theta$ và góc chúc $\alpha$ được tính toán sơ bộ qua hàm lượng giác:
$$\theta = \arctan\left(\frac{accX}{\sqrt{accY^2 + accZ^2}}\right)$$
$$\alpha = \arctan\left(\frac{accY}{\sqrt{accX^2 + accZ^2}}\right)$$
- Con quay hồi chuyển: Đo vận tốc góc tức thời, phản ứng nhanh nhưng xảy ra hiện tượng trôi dạt điểm không (zero-drift) theo thời gian khi lấy tích phân ($angle = angle + gyroData \times dt$), chiếm khoảng 1% dải đo mỗi giây trên thang đo $\pm 2000^\circ/\text{s}$.
Nhóm tác giả đã triển khai thuật toán lọc bù để kết hợp ưu điểm của cả hai loại cảm biến:
$$angle = a \cdot (angle + gyroData \times dt) + (1 - a) \cdot accData$$
Trong đó:
- $dt$: Chu kỳ lấy mẫu dữ liệu ($dt = 0{,}004\text{ s}$, tương ứng tần số lấy mẫu $250\text{ Hz}$).
- $\tau$: Hằng số thời gian của bộ lọc, được chọn $\tau = 0{,}3\text{ s} < 1\text{ s}$.
- $a$: Hệ số trọng số bộ lọc, tính theo công thức $a = \frac{\tau}{\tau + dt} = \frac{0{,}3}{0{,}3 + 0{,}004} \approx 0{,}986$ (trong lập trình thực nghiệm sử dụng hệ số xấp xỉ $0{,}98$).
Trước khi đưa vào tính toán, cảm biến được hiệu chuẩn triệt tiêu sai số tĩnh (Offset) bằng thuật toán lấy mẫu trung bình qua 3000 lần đọc ở trạng thái đứng yên:
$$Offset = \frac{\sum_{i=1}^{3000} G(i)}{3000}; \quad Gy = Gy_{raw} - Offset$$
Thiết kế và triển khai
Hệ thống cảnh báo té ngã được xây dựng dưới dạng một thiết bị nhúng khép kín, bao gồm 4 khối chức năng chính:
+-------------------------------------------------------------------+
| KHỐI NGUỒN |
| (3 cell pin Li-ion 18650 mắc nối tiếp, 6800mAh) |
+---------------------------------+---------------------------------+
|
+---------------------------------v---------------------------------+
| KHỐI XỬ LÝ & ĐIỀU KHIỂN |
| (Bo mạch vi điều khiển Arduino Uno) |
+-------------------+-----------------------------+-----------------+
^ |
| Giao tiếp I2C | UART / GPIO
+-------------------+---------------+ +-----------v-----------------+
| KHỐI CẢM BIẾN | | KHỐI CẢNH BÁO |
| (Cảm biến quán tính MPU-6050: | | - Module GSM/GPRS SIM800L |
| 3 trục gia tốc + 3 trục gyro) | | - Module GPS NEO-7M |
| | | - Còi báo động Buzzer 5V |
| | | - Nút nhấn gọi khẩn cấp |
+-----------------------------------+ +-----------------------------+
So sánh và lựa chọn bộ vi điều khiển trung tâm
Để tối ưu hóa chi phí, khả năng lập trình và tính tương thích với các module phần cứng, nhóm nghiên cứu đã tiến hành so sánh ba dòng vi điều khiển/máy tính nhúng phổ biến:
| Tiêu chí |
PIC 16F887 |
Arduino Uno (ATmega328P) |
Raspberry Pi 3 |
| Giá thành |
~80.000 VNĐ |
~120.000 VNĐ |
~1.200.000 VNĐ |
| Ngôn ngữ lập trình |
C / Assembly |
C / C++ (Arduino IDE) |
Python, C/C++, Java |
| Ưu điểm |
Giá rẻ, tập lệnh đơn giản (35 lệnh cơ bản), tiêu thụ điện năng thấp. |
Giá rẻ, nạp code trực tiếp qua USB, cộng đồng hỗ trợ lớn, thư viện phong phú. |
Cấu hình mạnh, đa nhiệm, hỗ trợ nhiều giao tiếp ngoại vi tốc độ cao. |
| Nhược điểm |
Cần mạch nạp rời, cấu hình phần cứng hạn chế cho các thuật toán mở rộng. |
Bộ nhớ và tốc độ xử lý ở mức trung bình (Flash 32KB, SRAM 2KB). |
Giá thành cao, tiêu thụ điện lớn, kích thước cồng kềnh cho thiết bị đeo. |
Nhóm tác giả chọn vi điều khiển Arduino Uno R3 do đáp ứng đầy đủ yêu cầu tính toán thời gian thực của thuật toán lọc bù, tương thích giao tiếp $I^2C$ và UART, kích thước phù hợp và dễ lập trình.
Bảng thông số kỹ thuật các linh kiện trong hệ thống
| Tên linh kiện / Module |
Thông số kỹ thuật chính |
Vai trò trong hệ thống |
| Arduino Uno R3 |
Vi điều khiển ATmega328P 8-bit, 16 MHz, Flash 32KB, SRAM 2KB, 14 chân Digital I/O, 6 chân Analog. |
Khối xử lý trung tâm, tiếp nhận tín hiệu cảm biến và điều khiển cảnh báo. |
| Module MPU-6050 |
3 trục Accelerometer ($\pm 2\text{g} \to \pm 16\text{g}$), 3 trục Gyroscope ($\pm 250^\circ/\text{s} \to \pm 2000^\circ/\text{s}$), ADC 16-bit, giao tiếp $I^2C$. |
Thu thập vector gia tốc và vận tốc góc để nhận diện hành vi té ngã. |
| Module SIM800L |
Quad-band GSM/GPRS (850/900/1800/1900 MHz), dòng đỉnh 1A - 2A, điều khiển bằng tập lệnh AT. |
Gửi tin nhắn SMS cảnh báo vị trí và thực hiện cuộc gọi khẩn cấp. |
| Module GPS NEO-7M |
Độ nhạy thu $-161\text{ dBm}$, ăng-ten gốm, tốc độ baud 9600, hỗ trợ định vị sai số $< 1\text{ m}$. |
Thu thập tọa độ kinh độ, vĩ độ của người sử dụng qua vệ tinh. |
| Còi Buzzer 5VDC |
Biên độ âm thanh $> 80\text{ dB}$, tần số cộng hưởng $2300\text{ Hz} \pm 500\text{ Hz}$, dòng tiêu thụ $< 25\text{ mA}$. |
Phát âm thanh báo động tại chỗ khi xảy ra va đập/té ngã. |
| Khối nguồn Pin |
3 cell pin Li-ion 18650 dung lượng $6800\text{ mAh}$ mắc nối tiếp, tích hợp mạch sạc và bảo vệ. |
Cung cấp nguồn điện di động duy trì hoạt động cho toàn bộ thiết bị. |
Quy trình thi công và lập trình điều khiển
- Phần cứng: Mạch nguyên lý được thiết kế và kiểm tra mô phỏng trên phần mềm Proteus trước khi gia công, hàn linh kiện lên board đồng. Mạch được đóng gói trong hộp bảo vệ kích thước 10 x 8 cm, mặt trước bố trí nút bấm "KHẨN CẤP", còi buzzer và các khe thoát âm, kèm dây đai cố định trước ngực/bụng.
- Phần mềm: Chương trình được biên dịch và nạp qua phần mềm Arduino IDE. Lưu đồ giải thuật bao gồm:
- Khởi tạo các ngoại vi (UART cho SIM800L và NEO-7M, $I^2C$ cho MPU-6050 ở tần số 400 kHz).
- Đo đạc và tính toán 3000 mẫu ban đầu để xác định giá trị bù Offset cho con quay hồi chuyển.
- Đọc dữ liệu gia tốc 3 trục và tốc độ góc liên tục theo chu kỳ $dt = 4\text{ ms}$, tính toán góc nghiêng qua bộ lọc bù.
- So sánh tổng vector gia tốc $|\vec{a}|$ và độ biến thiên góc nghiêng với ngưỡng kích hoạt té ngã.
- Khi xác nhận trạng thái ngã: Kích hoạt còi buzzer $> 80\text{ dB}$, đọc dữ liệu kinh độ/vĩ độ từ GPS NEO-7M, gửi tin nhắn SMS chứa liên kết bản đồ tới số điện thoại người giám hộ.
- Xử lý ngắt nút nhấn khẩn cấp: Tự động thực hiện cuộc gọi trực tiếp đến số điện thoại đã lưu trong mã nguồn.
Nội dung chính theo từng chương
Chương 1. Tổng quan
Trình bày tính cấp thiết của đề tài dựa trên các nghiên cứu dịch tễ về chấn thương té ngã ở người già tại Việt Nam và trên thế giới. Tác giả phân tích ưu - nhược điểm của ba nhóm giải pháp công nghệ chính (camera, âm thanh/rung sàn, động học). Từ đó xác định mục tiêu thiết kế thiết bị đeo cá nhân chi phí thấp, đưa ra 9 nội dung nhiệm vụ nghiên cứu, giới hạn kích thước (10 x 8 cm) và bố cục báo cáo gồm 6 chương.
Chương 2. Cơ sở lý thuyết
Tổng quan chi tiết các công trình nghiên cứu phát hiện ngã tiêu biểu trên thế giới. Trình bày lý thuyết hình học không gian 3 chiều, các phép biến đổi góc Euler (Roll, Pitch, Yaw). Giới thiệu cấu tạo, nguyên lý hoạt động và các thông số kỹ thuật chi tiết của cảm biến MPU-6050, bo mạch Arduino Uno R3, module SIM800L, module GPS NEO-7M, còi buzzer và pin cấp nguồn. Hướng dẫn cài đặt và sử dụng môi trường lập trình Arduino IDE.
Chương 3. Tính toán và thiết kế
Xây dựng sơ đồ khối tổng thể của hệ thống gồm 4 khối chức năng. Thực hiện đánh giá, so sánh lựa chọn vi điều khiển (chọn Arduino Uno R3). Trình bày cơ sở toán học của thuật toán lọc bù để khắc phục hiện tượng trôi dạt (drift) của con quay hồi chuyển và hiện tượng nhiễu rung của gia tốc kế; tính toán hằng số thời gian $\tau = 0{,}3\text{ s}$, tần số lấy mẫu $250\text{ Hz}$ và xác định hệ số lọc $a = 0{,}98$. Thiết lập công thức khử sai số tĩnh Offset qua 3000 chu kỳ đọc mẫu và công thức tính tổng vector gia tốc không gian. Tính toán kết nối giao tiếp giữa các khối chức năng.
Chương 4. Thi công hệ thống
Trình bày kết quả thiết kế mạch trên phần mềm Proteus và thi công lắp ráp linh kiện thực tế trên board đồng. Trình bày thiết kế cơ khí của hộp chứa thiết bị và dây nịt đeo trước ngực. Xây dựng các lưu đồ giải thuật chi tiết: chương trình chính, lưu đồ tính Offset, lưu đồ gửi/nhận tin nhắn qua tập lệnh AT, lưu đồ giải mã tọa độ GPS và lưu đồ đọc dữ liệu MPU-6050. Mô phỏng dạng sóng tín hiệu gia tốc và góc nghiêng trên các trục tọa độ ứng với 4 hướng ngã: ngã về sau, ngã về trước, ngã sang trái và ngã sang phải.
Chương 5. Kết quả - Nhận xét - Đánh giá
Trình bày các sản phẩm phần cứng và giao diện vận hành thực tế. Công bố số liệu thử nghiệm thực nghiệm hệ thống qua các bài kiểm tra mô phỏng hành vi ngã 10 lần cho mỗi hướng chuyển động, kiểm tra nút bấm khẩn cấp và các hoạt động sinh hoạt hàng ngày (ngồi, đi bộ, cúi người). Đánh giá sai số đo đạc tọa độ của module GPS NEO-7M ngoài thực địa.
Chương 6. Kết luận và hướng phát triển
Tổng kết mức độ hoàn thành các mục tiêu ban đầu của đề tài. Chỉ ra các hạn chế kỹ thuật hiện hữu của thiết bị và đề xuất các hướng nghiên cứu mở rộng nhằm tối ưu hóa kích thước, tích hợp thêm các cảm biến sinh hiệu và nâng cấp thuật toán nhận dạng.
Kết quả và đóng góp
Kết quả thử nghiệm thực nghiệm
Thiết bị đã được thi công hoàn chỉnh phần cứng và nạp chương trình điều khiển, tiến hành thử nghiệm thực tế với các kịch bản vận động khác nhau:
| Nội dung thử nghiệm |
Số lần thực hiện |
Số lần phát hiện chính xác |
Tỷ lệ thành công |
| Mô phỏng ngã về phía trước |
10 |
10 |
100% |
| Mô phỏng ngã về phía sau |
10 |
10 |
100% |
| Mô phỏng ngã nghiêng sang phải |
10 |
10 |
100% |
| Mô phỏng ngã nghiêng sang trái |
10 |
10 |
100% |
| Kích hoạt nút bấm "KHẨN CẤP" |
10 |
10 |
100% |
| Các hoạt động sinh hoạt thường ngày (Đi lại, ngồi xuống ghế, cúi nhặt đồ) |
Nhiều lần |
Không kích hoạt cảnh báo giả |
Ổn định |
Các tính năng đã đạt được
- Nhận diện té ngã tự động: Phát hiện chính xác sự thay đổi đột ngột của tổng vector gia tốc và góc lệch cơ thể so với phương thẳng đứng khi xảy ra va đập trên cả 4 hướng ngã.
- Cảnh báo đa phương thức:
- Kích hoạt còi báo động tại chỗ ($> 80\text{ dB}$) để thu hút sự chú ý của người xung quanh.
- Gửi tin nhắn SMS tự động chứa thông tin cảnh báo và tọa độ vị trí (kinh độ, vĩ độ) tới số điện thoại người giám hộ.
- Phản hồi vị trí hiện tại khi người thân gửi tin nhắn yêu cầu theo cú pháp định sẵn.
- Gọi điện khẩn cấp: Cho phép người dùng bấm nút thủ công trên thân máy để thực hiện cuộc gọi trực tiếp đến số điện thoại khẩn cấp khi thiết bị chưa đạt ngưỡng tự kích hoạt hoặc người dùng cần hỗ trợ y tế.
- Định vị GPS: Module NEO-7M xác định vị trí với sai số đo đạc ngoài trời nhỏ, liên kết trực tiếp với dữ liệu bản đồ số.
Đóng góp của đề tài
- Chế tạo thành công một thiết bị phần cứng nhúng hoàn chỉnh, chi phí sản xuất thấp, có tính di động cao và không phụ thuộc vào hạ tầng camera hay cảm biến sàn cố định.
- Ứng dụng thành công thuật toán lọc bù (Complementary Filter) kết hợp hiệu chuẩn sai số tĩnh Offset để giải quyết triệt để bài toán trôi dạt điểm không của con quay hồi chuyển và khử nhiễu gia tốc trên module cảm biến MPU-6050.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế được ghi nhận
- Độ nhạy định vị GPS: Thiết bị hoạt động tối ưu trong không gian ngoài trời; khi người dùng ở sâu trong nhà bê tông hoặc các khu vực bị che khuất, khả năng thu nhận tín hiệu vệ tinh của module NEO-7M bị suy giảm, dẫn đến việc lấy tọa độ GPS gặp độ trễ hoặc tăng sai số.
- Kích thước phần cứng: Thiết bị có kích thước $10 \times 8\text{ cm}$, tương đối dày do sử dụng bo mạch phát triển rời (Arduino Uno, các module cắm ngoài) và khối pin 3 cell 18650, gây cồng kềnh khi đeo lâu trên cơ thể người cao tuổi.
- Phạm vi tính năng sinh hiệu: Khóa luận chưa kịp hoàn thiện việc tích hợp module đo nhịp tim vào hệ thống cảnh báo chung như định hướng ban đầu.
Hướng nghiên cứu tiếp
- Thiết kế bo mạch in nguyên khối (PCB sử dụng linh kiện dán SMD) tích hợp vi điều khiển và các cảm biến trên một board mạch duy nhất nhằm thu nhỏ kích thước thiết bị về dạng vòng đeo hoặc thiết bị cài áo nhỏ gọn.
- Tích hợp thêm cảm biến đo nhịp tim và nồng độ oxy trong máu ($SpO_2$) để theo dõi toàn diện các chỉ số sinh hiệu của người cao tuổi.
- Nghiên cứu áp dụng các thuật toán máy học (Machine Learning) nhẹ trên vi điều khiển nhằm phân loại chính xác hơn các hành vi vận động phức tạp (như nhảy lên giường, ngồi nhanh xuống nệm) để giảm thiểu tối đa các cảnh báo sai.
- Bổ sung giải pháp định vị kết hợp (LBS/Wi-Fi Positioning) để cải thiện độ chính xác định vị khi người dùng ở trong nhà.
Giá trị tham khảo
Tài liệu khóa luận có giá trị tham khảo chuyên môn đối với:
- Sinh viên và nghiên cứu sinh ngành Kỹ thuật Y sinh, Điện tử – Viễn thông, Kỹ thuật Máy tính và Tự động hóa: Cung cấp tài liệu chi tiết về phương pháp ghép nối phần cứng vi điều khiển Arduino với cảm biến quán tính 6 bậc tự do (MPU-6050), module viễn thông GSM/GPRS (SIM800L) và module định vị vệ tinh (NEO-7M).
- Người phát triển các hệ thống IoT và thiết bị đeo y tế (Wearable Medical Devices): Tham khảo cơ sở toán học và mã nguồn thực thi thuật toán lọc bù (Complementary Filter), thuật toán xử lý trôi dạt điểm không (Offset Calibration) và kỹ thuật điều khiển modem GSM bằng tập lệnh AT để truyền tin khẩn cấp.
Câu hỏi thường gặp
1. Khóa luận sử dụng những cảm biến và linh kiện phần cứng chính nào để nhận diện chuyển động té ngã và phát tín hiệu cảnh báo?
Khóa luận sử dụng bo mạch vi điều khiển trung tâm Arduino Uno R3 (vi điều khiển ATmega328P), kết hợp với cảm biến quán tính 6 trục MPU-6050 (bao gồm 3 trục gia tốc kế và 3 trục con quay hồi chuyển). Hệ thống cảnh báo gồm có còi Buzzer 5VDC (âm lượng $> 80\text{ dB}$), module GSM/GPRS SIM800L để gửi tin nhắn SMS/gọi điện thoại, module GPS NEO-7M để thu thập tọa độ kinh độ/vĩ độ, nút bấm khẩn cấp và khối nguồn gồm 3 cell pin Li-ion 18650 ($6800\text{ mAh}$).
2. Thuật toán lọc bù (Complementary Filter) trong khóa luận được thiết lập với các thông số cụ thể nào để triệt tiêu sai số trôi dạt của con quay hồi chuyển?
Thuật toán lọc bù được thiết lập với chu kỳ lấy mẫu $dt = 0{,}004\text{ s}$ (tần số $250\text{ Hz}$) và hằng số thời gian $\tau = 0{,}3\text{ s}$. Hệ số lọc được tính toán theo công thức $a = \frac{\tau}{\tau + dt} \approx 0{,}986$ (sử dụng hệ số lập trình $a = 0{,}98$). Phương trình lọc bù có dạng: $angle = 0{,}98 \times (angle + gyroData \times dt) + 0{,}02 \times accData$. Ngoài ra, hệ thống thực hiện đo 3000 mẫu ban đầu ở trạng thái tĩnh để tính giá trị bù sai số tĩnh Offset trước khi đưa vào tính toán.
3. Cơ chế hoạt động của thiết bị khi xảy ra va đập/té ngã hoặc khi người dùng bấm nút khẩn cấp diễn ra như thế nào?
Khi cảm biến ghi nhận tổng vector gia tốc và góc nghiêng vượt ngưỡng cho phép, thiết bị đồng thời kích hoạt còi buzzer phát âm thanh báo động tại chỗ, trích xuất tọa độ địa lý từ module GPS NEO-7M và điều khiển module SIM800L gửi tin nhắn SMS chứa tọa độ vị trí tới số điện thoại người giám hộ đã cài sẵn. Trong trường hợp người dùng cần trợ giúp thủ công hoặc thiết bị không tự kích hoạt, người dùng bấm nút "KHẨN CẤP" trên thân hộp để thiết bị tự động thực hiện cuộc gọi khẩn cấp đến số điện thoại người thân.
4. Vì sao nhóm nghiên cứu lựa chọn vị trí đeo thiết bị ở ngực hoặc bụng thay vì ở tay hoặc chân?
Dựa trên kết quả từ các nghiên cứu trước (đặc biệt là nghiên cứu của Bourke và cộng sự), các bộ phận như đùi hoặc tay thường xuyên chuyển động với gia tốc tuyến tính cục bộ cao trong quá trình đi bộ hoặc chạy bộ, dẫn đến tỷ lệ nhận diện sai rất lớn. Vị trí trước ngực hoặc bụng phản ánh chính xác nhất chuyển động của trọng tâm cơ thể và tư thế của toàn thân, giúp hệ thống phân biệt rõ ràng giữa sinh hoạt thường nhật và tai nạn té ngã.
5. Kết quả thử nghiệm thực tế của thiết bị đối với các hướng ngã đạt độ chính xác ra sao?
Trong các thử nghiệm thực tế với 10 lần lặp lại cho mỗi kịch bản (ngã về phía trước, ngã ra phía sau, ngã nghiêng sang trái, ngã nghiêng sang phải và bấm nút khẩn cấp), thiết bị đạt tỷ lệ phát hiện chính xác 100% (10/10 lần), phát còi báo động và gửi tin nhắn cảnh báo thành công mà không kích hoạt báo động giả trong các hoạt động sinh hoạt thường ngày như đi lại, cúi người hay ngồi xuống.
Kết luận
Khóa luận tốt nghiệp đã thiết kế và thi công thành công nguyên mẫu thiết bị cảnh báo té ngã đeo người dành cho người cao tuổi dựa trên vi điều khiển Arduino Uno và cảm biến quán tính MPU-6050. Bằng việc ứng dụng thuật toán lọc bù và xử lý dữ liệu động học không gian 3 chiều, thiết bị đạt khả năng nhận diện chính xác các hướng ngã, tự động phát còi báo động tại chỗ và truyền tin cảnh báo kèm tọa độ GPS qua mạng di động SIM800L. Kết quả nghiên cứu cung cấp một giải pháp kỹ thuật khả thi, chi phí thấp, đóng góp tư liệu thực nghiệm hữu ích cho việc phát triển các thiết bị hỗ trợ y tế cá nhân trong tương lai.