Đề tài Thiết kế mạch đo nhịp tim hr sử dụng cảm biến hồng ngoại đặt tại đầu ngón tay
Khối cảm biến
Đây là khối vô cùng quan trọng bởi chức năng là thu nhận tín hiệu ánh sáng và
chuyển đổi thành tín hiệu điện áp cho các khối xử lý tương tự tiếp theo.
Cảm biến chúng em sử dụng ở đây là con RPR-359F.Đây là bộ cảm biến quang phản
xạ, cực Emiter của photodiode được làm bằng hợp chất bán dẫn GaAs do vậy đây là
bộ cảm biến có độ nhạy rất cao. Hơn nữa nó được được bao kín bằng hợp chấtt nhựa
plastic có khả năng lọc ánh sáng nhiễu từ bên ngoài.
Hình 3.1 Sơ đồ nguyên lý khối Sensor
Trong khối này được kết nối với một chân của vi điều khiển RA3 dùng để điều khiển
hoạt động của cảm biến thông qua Transistor QB1. Tín hiệu ra tại chân số 4 của led
thu hồng ngoại như hình vẽ.
Chức năng của khối cảm biến : phát hiện nhịp đập của tim.
Nguyên lý hoạt động:Hình 3.2 Vị trí của ngón tay trong mạch phát hiện nhịp đập
Đầu tiên Optical Signal Transmitter (LED) sẽ phát ra ánh sáng xuyên qua ngón tay
và đi tới Optical Signal Receiver (sensor).
Nhịp đập của tim được phát hiện thông qua sự thay đổi của lưu lượng máu ở đầu
ngón tay, mỗi nhịp đập thì lưu lượng máu từ tim sẽ được bơm khắp toàn bộ cơ thể
khiến cho mật độ máu tại các đầu ngón tay sẽ tăng lên và sẽ gây ra sự sụt giảm mạnh
cường độ ánh sáng đi tới sensor từ LED. Sensor sẽ nhận được cường độ tín hiệu ánh
sáng thay đổi tuần hoàn theo từng mỗi nhịp đập của tim. Vì sensor có nhiệm vụ
chuyển tín hiệu ánh sáng sang tín hiệu điện nên tại đầu ra của photo-sensor, điện áp
sẽ bị thay đổi theo cường độ ánh sáng. Giá trị điện áp ở đầu ra sensor sẽ trong khoảng
0-10 mV. Giá trị điện áp này sẽ tiếp tục được xử lý tại khối lọc và khuếch đại.
27 trang |
Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 507 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế mạch đo nhịp tim hr sử dụng cảm biến hồng ngoại đặt tại đầu ngón tay, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÁO CÁO
ĐỒ ÁN 2
Đề tài:
THIẾT KẾ MẠCH ĐO NHỊP TIM HR SỬ DỤNG CẢM
BIẾN HỒNG NGOẠI ĐẶT TẠI ĐẦU NGÓN TAY
Giảng viên hướng dẫn: TS. Vũ Duy Hải
Sinh viên thực hiện:
Hoàng Anh Tuấn ĐTVT 07-K55 20102418
Phương Văn Tưởng ĐTVT 03-K55 20102536
Lê Thế Tuấn ĐTVT 01-K55 20104840
Mobile: 0167 902 6585
Email: hoanganhtuanbkhn@gmail.com
Hà Nội, 1/2014
Mục Lục
Lời mở đầu ........................................................................................................................... 3
Chương 1. Giới thiệu đề tài ................................................................................................... 4
1. Tên đề tài ...................................................................................................................... 4
2. Khái quát chung............................................................................................................. 4
1.2.1Giới thiệu về dòng vi xử lý MSP430 ....................................................................... 4
1.2.2 Các sản phẩm đã có trên thị trường ...................................................................... 5
1.2.3 Các chỉ tiêu kỹ thuật của sản phẩm ....................................................................... 6
Chương II. Phân tích yêu cầu và lập kế hoạch...................................................................... 7
2.1 Phân tích thiết kế mạch ............................................................................................... 7
2.1.1 Sơ đồ phân cấp chức năng của hệ thống.............................................................. 7
2.1.2 Sơ đồ khối của mạch ............................................................................................ 8
2.1.3 Pha hoạt động của mạch ...................................................................................... 9
2.2 Lập kế hoạch ............................................................................................................. 11
2.3 Nhiệm vụ và công việc của các thành viên ................................................................ 13
2.2.1 Hoàng Anh Tuấn ................................................................................................. 13
2.2.2 Phương Văn Tưởng ............................................................................................ 13
2.2.3 Lê Thế Tuấn........................................................................................................ 13
Chương III. Thiết kế từng khối ............................................................................................ 14
3.1 Khối cảm biến ............................................................................................................ 14
3.2 Khối lọc nhiễu tín hiệu. .............................................................................................. 15
3.3 Khối khuyếch đại ....................................................................................................... 16
3.4 Khối vi xử lý ............................................................................................................... 16
3.5 Khối hiển thị ............................................................................................................... 17
3.6 Khối nguồn ................................................................................................................ 18
Chương IV. Triển khai và các kết quả đạt được .................................................................. 19
4.1 Đo và hiệu chỉnh giá trị tín hiệu trên oscilloscope cho khối cảm biến ......................... 19
4.2 Mạch hoàn chỉnh sau khi thực hiện ghép các khối ..................................................... 21
Chương V. Kết luận và hướng phát triển đề tài ................................................................... 22
Tài liệu tham khảo ............................................................................................................... 23
Phụ lục ................................................................................................................................ 24
Lời mở đầu
Tim là bộ phận quan trọng trong hệ tuần hoàn của động vật, với chức vụ bơm đều
đặn để đẩy máu theo các động mạch và đem dưỡng khí và các chất dinh dưỡng đến
toàn bộ cơ thể. Chính vì vậy đo nhịp tim là một trong những điều rất quan trọng của
hệ thống tim mạch con người. Nhịp tim nhanh hay chậm là phụ thuộc vào thể trạng,
trạng thái của cơ thể. Ví dụ như nhịp tim của một người trưởng thành khi đang ở trạng
thái nghỉ bình thường là 72 nhịp mỗi phút (bpm). Vận động viên thường có nhịp đập
thấp hơn những người bình thường, những người ít hoạt động hơn. Trẻ em thì lại có
nhịp tim nhanh hơn, khoảng 120 bpm, trong khi trẻ em lớn tuổi, hay là trẻ vị thành
niên lại có nhịp tim vào khoảng 90 bpm. Khi chúng ta tập thể dục, làm việc nặng nhọc
thì nhịp tim sẽ tăng và sẽ trở về mức bình thường khi chúng ta nghỉ ngơi. Nếu như
nhịp tim của bạn mà thấp hơn người bình thường thì đó là dấu hiệu của tình trạng
được gọi là nhịp tim chậm và ngược lại.
Từ thời xa xưa, việc đo nhịp tim đã trở nên vô cùng quan trọng nhưng có điều nó
rất kém chính xác và thủ công bằng cách là bắt mạch ở cổ tay Cách này chỉ mang
tính ước lượng, theo kinh nghiệm là chủ yếu và dễ có sai sót. Nhưng ngày nay, với sự
phát triển của công nghệ thì các máy đo nhịp tim ra đời, rất gọn nhẹ và tiện dụng. Ví
dụ: máy đo điện tim (ECG) là một thiết bị hết sức thông dụng tại các cơ sở y tế, cho
kết quả rất chính xác, và còn rất nhiều máy đo thông dụng trên thị trường như: Máy
đo nồng độ Oxy trong máu và nhịp tim Maxcare, máy đo đeo tay Nymi của công ty
Byonim
Nhưng với giá thành không hề rẻ chút nào, vào khoảng 2 triệu đồng cho 1 sản
phẩm, thì đây không phải ai cũng có thể sở hữu nó được, nhất là đối với những bạn
sinh viên và những người có thu nhập thấp. Chính vì vậy nhóm em đã lựa chọn đề tài:
với hi vọng sẽ thiết kế được một thiết bị có khả năng đưa ra kết quả chính xác, gọn
nhẹ, dễ dàng sử dụng, chi phí thấp nhất có thể để hướng tới tất cả người dùng.
Chương 1. Giới thiệu đề tài
1. Tên đề tài
Đề tài: Thiết kế mạch đo nhịp tim sử dụng cảm biến hồng ngoại đặt tại đầu ngón
tay hiển thị trên màn hình LCD. Yêu cầu sử dụng dòng vi điều khiển MSP430 của
hãng IT.
Phân tích đề tài: Mục đích của project là thiết kế máy đo nhịp tim nhỏ gọn với mức
tiêu hao năng lượng thấp nhưng có độ chính xác cao. Hơn nữa, phải dễ dàng sử dụng,
mang theo người và có chi phí sản xuất thấp nhất. Máy đo sử dụng Led và photo-
sensor để phát hiện sự thay đổi lượng máu tại đầu ngón tay.
2. Khái quát chung
1.2.1Giới thiệu về dòng vi xử lý MSP430
MSP430 là một sự kết hợp chặt chẽ của một CPU RISC 16 bit, những khối ngoại vi,
và hệ thống xung linh hoạt. MSP430 đã đưa ra được những giải pháp tốt cho những
nhu cầu ứng dụng với nhiều phiên bản khác nhau. MSP430 có một số phiên bản như:
MSP430x1xx, MSP430x2xx, MSP430x3xx, MSP430x4xx, MSP430x5xx.
Dưới đây là một số đặc tính của họ vi xử lý MSP430:
Kiến trúc nguồn điện cực thấp để mở rộng tuổi thọ của Pin.
- 1uA duy trì RAM
- 0.8 uA chế độ xung thời gian thực
- 250 uA/MIPS tích cực
Xử lý tín hiệu tương tự với hiệu xuất cao
- 12-bit hoặc 10-bit ADC – 200Kbps, cảm biến nhiệt, V(Ref).
- 12-bit kép ADC.
16 bit RISC CPU cho phép được nhiều ứng dụng, thể hiện một phần ở khích thước
code lập trình.
- Thanh ghi lớn nên loại trừ được những trường hợp tắc nghẽn tập tin khi đang làm
việc.
- Thiết kế nhỏ gọn làm giảm lượng tiêu thụ điện và giảm giá thành.
- Tối ưu hóa cho những chương trình ngôn ngữ bậc cao như C, C++
- Có 7 chế độ địa chỉ thanh ghi
- Khả năng ngắt theo véc tơ lớn
Trong lập trình cho bộ nhớ Flash cho phép thay đổi code một cách linh hoạt, phạm vi
rộng, bộ nhớ flash còn có thể lưu lại được nhật ký dữ liệu.
1.2.2 Các sản phẩm đã có trên thị trường
Hiện nay trong khuôn khổ các project nhỏ được sử dụng trong các môn học về Vi
xử lý, đã có rất nhiều các sản phẩm tương tự dùng các dòng vi xử lý khác như PIC,
8051, Tất cả đều thành công với các độ chính xác trong giới hạn cho phép của thiết
bị. Tuy nhiên với việc sử dụng Vi điều khiển MSP430, chúng em hy vọng sẽ tạo ra
một mạch đo nhịp tim có độ chính các vượt trội.
1.2.3 Các chỉ tiêu kỹ thuật của sản phẩm
Yêu cầu chức năng của mạch
Đo nhịp tim.
Hiển thị ra kết quả trên LCD và từ đó đưa ra lời kết luận cho người sử dụng.
Yêu cầu phi chức năng của mạch
Kết quả đo khá chính xác, với độ lệch + - 1 nhịp.
Gọn nhẹ, thân thiện với người dùng, dễ dàng sử dụng.
Tiêu thụ ít điện năng nhờ sử dụng chip MSP430 của TI.
Có thể sử dụng được 2 nguồn điện:
Nguồn pin.
Nguồn từ bên ngoài.
Có nhiều chế độ đo cho người dùng lựa chọn.
Giá thành thấp (khoảng 350.000 đồng ).
Có thể đo được với tất cả các ngón tay.
Các tiêu chí, thông số kỹ thuật của mach cần đạt được
- Đối tượng sử dụng:
Tất cả mọi người đều có thể sử dụng.
- Tiêu thụ điện năng, công suất:
Sử dụng nguồn pin hoặc nguồn bên ngoài 5V.
- Môi trường hoạt động.
Thiết bị sẽ hoạt động được trong môi trường có dải nhiệt từ -30º C to 80º C.
- Độ chính xác:
Sai lệch tối đa 1 nhịp trên một lần đo.
- Chi phí cho sản phẩm:
Tiền linh kiện: 200.000 -300.000 vnd
Thời gian: 8 tuần.
- Tính lâu bền của sản phẩm:
Từ 2-3 năm.
- Đóng gói sản phẩm:
Gọn, nhẹ, đóng gói hoàn toàn, có hướng dẫn sử dụng.
Chương II. Phân tích yêu cầu và lập kế hoạch
2.1 Phân tích thiết kế mạch
2.1.1 Sơ đồ phân cấp chức năng của hệ thống
Chức năng chính của mạch là đo nhịp tim, nhưng ở đây người dùng có thể chọn 1
trong 2 chế độ đo:
Chế độ 1 là đo nhanh: Ở chế độ này, người dùng đặt ngón tay bất kỳ lên sensor
sau một khoảng thời gian lấy mẫu xác định thì máy sẽ đếm nhịp tim và hiện thị
trên khối hiển thị.
Chế độ 2 là chế độ đo nâng cao:
Về bản chất ở chế độ này cũng vẫn chỉ là đo và hiện thị nhưng nó tiện ích hơn ở
chế độ 1 đó là sau khi đo xong nó sẽ đưa ra kết quả và kết luận về nhịp tim của
Máy đo nhịp tim
Lựa chọn chế độ đo
Đo nhanh Đo nâng cao
Đo theo độ tuổi
người lón trẻ nhỏ người già
Đo theo trạng thái
người dùng
người bình thường
sau khi hoạt
động mạnh
Nhận xét kết quả
đo
người dùng ra màn hình hiển thị bằng việc so sánh các giá trị chuẩn đối với lứa
tuổi và thể trạng mà khoa học đã chứng minh.
Ví dụ: như nếu một người trưởng thành, đang ở trạng thái nghỉ khi đo cho kết quả
khoảng 50 nhịp đập/ 1 phút, khi so sánh với chuẩn là 72 nhịp đập/ 1 phút đối với
người bình thường thì mức chênh lệch so với chuẩn lớn so với mức cho phép nên
thiết bị sẽ kết luận là nhịp tim chậm, và đưa lời gợi ý tới bác sĩ cũng như lời khuyên
cho người đo.
Để tăng tính đa năng của sản phẩm cũng như không lãng phí tài nguyên khi sử dụng
chip msp430 của TI, thì chúng em sẽ có thêm một chức năng phụ thêm vào hệ thống
đó là phần hiển thị thời gian thực, hẹn giờ, báo thức
Sản phẩm không chỉ là một thiết bị đo nhịp tim mà còn là một chiếc đồng hồ gọn nhẹ
và tiện dụng, rất phù hợp với các vận động viên.
2.1.2 Sơ đồ khối của mạch
Cấu tạo mạch gồm 5 khối chính:
Optical transmitter and receiving circuit.
Sử dụng một LED hồng ngoại và một photodiode sensor
Low pass filter and amplifier:
Gồm các mạch lọc thông thấp, và các tầng khuếch đại tín hiệu.
Key pad:
Bao gồm các phím ấn dùng để giao tiếp với người dùng
MCU:
Một con vi điều khiển kết nối với các khối trong mạch có chức năng đếm và xử
lý tín hiệu. Đây là khối quan trọng nhất của mạch.
Display:
Khối này được thiết kế gồm: một LCD hoặc các led 7 thanh, ngoài ra còn 1 led
nháy và 1 còi báo(buzzer).
Ngoài ra, nhóm chúng em cũng thiết kế khối nguồn cho mạch, với mục tiêu đảm bảo
nguồn ổn định cho mạch hoạt động bình thường.
2.1.3 Pha hoạt động của mạch
Bước 1. Lấy tín hiệu từ Sensor (chi tiết được thiết kế ở khối cảm biến).
Bước 2: Lọc tín hiệu
Đây là một trong những bước rất quan trọng vì tín hiệu đầu ra của photodiode bị nhiễu
không chỉ bởi có ánh sáng đi từ LED mà còn có các ánh sáng khác từ bên ngoài đi tới
sensor, và làm tín hiệu bị biến dạng. Nếu chúng ta không lọc tín hiệu thì kết quả đếm
sẽ rất dễ bị sai.
Ví dụ như đây là tín hiệu ở đầu ra của sensor:
Hình 2.2.3 Tín hiệu đầu ra của photo-sensor
Sau khi nó đi qua bộ lọc thông thấp và kết quả của sẽ là:
Hình 2.2.4 Tín hiệu đầu ra sau khi đi qua bộ lọc thông thấp
Bước 3: Số hóa tín hiệu
Vì sử dụng vi xử lý để đếm tín hiệu nên tín hiệu phải được số hóa. Sau khi tín hiệu
được lọc ở bước 2 nó sẽ đi qua mạch so sánh để đưa tín hiệu về dạng xung clock như
hình bên dưới:
Hình 2.3.5 Tín hiệu đầu ra sau khi đi qua bộ so sánh.
Bước 4: Đếm nhịp đập (Micro – controller)
Sau khi tín hiệu được số hóa thì nó đưa vào một chân của Vi Điều Khiển để đếm.
Thời gian giữa 2 đỉnh của xung sẽ được đo bởi Vi Điều Khiển vì vậy nhịp tim sẽ được
đo trong khoảng thời gian ngắn mà không phải đặt tay đến 1 phút.
Bước 5: Hiển thị kết quả
Sau khi vi xử lý thực hiện xong quá trình đếm thì kết quả cuối cùng sẽ được hiển thị
trên khối hiển thị, đối với mạch của chúng em sẽ gắn thêm 1 led và 1 còi báo, cứ mỗi
lần có tín hiệu vào thì đèn sẽ nháy sáng và còi sẽ báo.
2.2 Lập kế hoạch
BẢNG 2.1. KẾ HOẠCH THỰC HIỆN
Mục Công việc Mô tả Thời gian Người thực
hiện
1 Tìm hiểu
đề tài
-Tìm hiểu về dòng vi xử lý
MSP430
-Tìm hiểu về công cụ phần mềm
hỗ trợ:
+ Code Composer Studio 5.5.0
+ Altium
+ Proteus
2 tuần Mỗi thành viên
trong nhóm
2 Phân tích
yêu cầu
- Phân tích chức năng, yêu cầu
của mạch và lựa chọn phương
án giải quyết
1 tuần Cả nhóm
3 Tìm hiểu
các khối
chức năng
- Tìm hiểu và xây dững các khối
chức năng của mạch.
2 tuần Hoàng Tuấn
Tưởng
4 Triển khai
mạch
Cắm link kiện lên board và
kiểm tra chức năng từng khối
2 ngày Thế Tuấn
5 Ghép nối
các khối và
Ghép nối các khối thành mạch
hoàn chỉnh và vẽ mạch in cho
3 ngày Hoàng Tuấn
lập trình
cho vi điều
khiển
toàn mạch Tưởng
6 Hàn mạch Hàn chân linh kiện lên mạch in
và cấp nguồn để test mạch đồng
thời xử lí lỗi nếu có.
2 ngày Thế Tuấn
7 Báo cáo
sản phẩm
Viết báo cáo và bảo vệ Đồ án
trước thầy
1 ngày Cả nhóm
2.3 Nhiệm vụ và công việc của các thành viên
2.2.1 Hoàng Anh Tuấn
Tìm hiểu và học dòng vi xử lý MSP430 của hãng IT
Ứng dụng mạch tương tự vào xử lí tín hiêu đầu vào chip
Tìm hiểu về LCD
Tham gia viết code cho Project: Code cho phần xử lý nút bấm
2.2.2 Phương Văn Tưởng
Tìm hiểu và học dòng vi xử lý MSP430 của hãng IT
Ứng dụng mạch tương tự vào xử lí tín hiêu đầu vào chip
Tìm hiểu về LCD
Tham gia viết code cho Project: Code cho phần đếm sườn tín hiệu vào sử
dụng ADC trong MSP430
2.2.3 Lê Thế Tuấn
Học cách sử dụng phần mềm vẽ mạch Altium
Thiết kế mạch in cho Project
Tìm hiểu cảm biến TRT5000
Chương III. Thiết kế từng khối
3.1 Khối cảm biến
Đây là khối vô cùng quan trọng bởi chức năng là thu nhận tín hiệu ánh sáng và
chuyển đổi thành tín hiệu điện áp cho các khối xử lý tương tự tiếp theo.
Cảm biến chúng em sử dụng ở đây là con RPR-359F.Đây là bộ cảm biến quang phản
xạ, cực Emiter của photodiode được làm bằng hợp chất bán dẫn GaAs do vậy đây là
bộ cảm biến có độ nhạy rất cao. Hơn nữa nó được được bao kín bằng hợp chấtt nhựa
plastic có khả năng lọc ánh sáng nhiễu từ bên ngoài.
Hình 3.1 Sơ đồ nguyên lý khối Sensor
Trong khối này được kết nối với một chân của vi điều khiển RA3 dùng để điều khiển
hoạt động của cảm biến thông qua Transistor QB1. Tín hiệu ra tại chân số 4 của led
thu hồng ngoại như hình vẽ.
Chức năng của khối cảm biến : phát hiện nhịp đập của tim.
Nguyên lý hoạt động:
Hình 3.2 Vị trí của ngón tay trong mạch phát hiện nhịp đập
Đầu tiên Optical Signal Transmitter (LED) sẽ phát ra ánh sáng xuyên qua ngón tay
và đi tới Optical Signal Receiver (sensor).
Nhịp đập của tim được phát hiện thông qua sự thay đổi của lưu lượng máu ở đầu
ngón tay, mỗi nhịp đập thì lưu lượng máu từ tim sẽ được bơm khắp toàn bộ cơ thể
khiến cho mật độ máu tại các đầu ngón tay sẽ tăng lên và sẽ gây ra sự sụt giảm mạnh
cường độ ánh sáng đi tới sensor từ LED. Sensor sẽ nhận được cường độ tín hiệu ánh
sáng thay đổi tuần hoàn theo từng mỗi nhịp đập của tim. Vì sensor có nhiệm vụ
chuyển tín hiệu ánh sáng sang tín hiệu điện nên tại đầu ra của photo-sensor, điện áp
sẽ bị thay đổi theo cường độ ánh sáng. Giá trị điện áp ở đầu ra sensor sẽ trong khoảng
0-10 mV. Giá trị điện áp này sẽ tiếp tục được xử lý tại khối lọc và khuếch đại.
3.2 Khối lọc nhiễu tín hiệu.
Vì tín hiệu bị nhiễu rất nhiều do các ánh sánh bên ngoài tác động vào con cảm biến
nên cần lọc nhiễu cho tín hiệu ra ở sensor, như vậy khi đo kết quả sẽ chính xác hơn
Vì nhịp tim của con người dao động ở mức 60-12o nên tần số dao động ở mức 1-2hz
nên sử dụng mạch lọc thông thấp để lọc nhiễu tín hiệu với tần số cắt là: ܨܿ =
ଵ
ଶ∗గ √ୖେ
3.3 Khối khuyếch đại
Hình 3.2 Sơ đồ nguyên lý khối khuếch đại
Đây là khối khuếch đại kèm theo bộ lọc tín hiệu một chiều:
Khối khếch đại gồm hai IC ghép nối tiếp nhau, mỗi IC có hệ số khuếch đại
101 lần. Do vậy tổng hệ số khuếch đại của cả khối là xấp xỉ 10000 lần.
Mạch sử dụng bộ lọc tín hiệu 1 chiều (R4,C2) có tác dụng khử thành phần
1 chiều trước khi đưa vào tầng khuếch đại.
IC khuếch đại chúng em sử dụng là con LM358 có một số đặc tính thông số như sau:
- Là IC có 8 chân
- Hoạt động trong dải tần rộng.
- Dải điện áp từ 3V-32V(nguồn đơn) và từ ±5 V to ±1.6 V(nguồn đôi).
- Nhiệt độ hoạt động của IC là từ 0°C to 70°C.
3.4 Khối vi xử lý
Khối vi xử lí được kết nối với các khối khác và hoạt động theo code lập trình.Sau
đây là lưu đồ thuật toán:
Hình 3.3 Lưu đồ thuật toán của khối vi xử lí
3.5 Khối hiển thị
Khối hiển thị sử dụng màn hình LCD 16x2, với chức năng hiển thị kết quả đo nhịp
tim mà vi điều khiển tính toán lên cho người dùng xem.
3.6 Khối nguồn
Đây là khối nguồn được thiết kế từ cổng USB chuẩn mức điện áp 5V qua IC
LM1117 để tạo ra nguồn Vcc = 3.5V cung cấp cho mạch.
Chương IV. Triển khai và các kết quả đạt được
Sau khi thiết kế chi tiết từng khối cho mạch, chúng em bắt đầu đo xác định giá trị tín
hiệu đồng thời hiệu chỉnh kịp thời để các khối thực hiện đúng chức năng đã đề ra.
4.1 Đo và hiệu chỉnh giá trị tín hiệu trên oscilloscope cho khối cảm biến
Tín hiệu điện áp thu được từ sensor được lọc nhiễu và khuếch đại lên ta được điện
tâm đồ hiển thị trên oscilloscope:
Hình 4.1 Điện tâm đồ được đo bằng sensor
Giá trị tín hiệu đo được tại đầu ra của khối sensor:
Tín hiệu Giá trị
Usensor(max) 0.016V
Usensor(min) 0.012V
Độ biến thiên điện áp đầu ra sensor là 4 mV là rất nhỏ do vậy ta phải khuếch đại
lên và khử tín hiệu một chiều đồng thời khử nhiễu bằng các bộ lọc thông thấp.
4.2 Mạch hoàn chỉnh sau khi thực hiện ghép các khối
Chương V. Kết luận và hướng phát triển đề tài
Đây thực sự là một đề tài hay và đầy ý nghĩa. Nó mang lại cho chúng em một trải
nghiệm vô cùng lý thú. Qua môn học project 2, giúp chúng em không chỉ vận dụng
kiến thức học được từ nhà trường vào thực nghiệm mà còn rèn luyện các kĩ năng cần
thiết khác trong học tập và xa hơn là trong công việc sau này. Kết quả đạt được này
không chỉ nhờ sự đoàn kết tương trợ giữa các thành viên trong nhóm mà còn phải
nhắc đến sự hướng dẫn nhiệt tình của thầy Vũ Duy Hải.
Đây là Project thứ 2 chúng em làm, cũng như project 1 một phần quan trọng sau mỗi
môn học thực hành này chúng em phải đúc kết ra những bài học quý báu đồng thời đề
ra được hướng phát triển cho đề tài. Trong đề tài này, chúng em muốn xử lý thêm
phần âm thanh để đưa ra những lời khuyên về sức khỏe sau mỗi lần đo dựa trên kết
quả đo được.
Cuối cùng, dù đã cố gắng nhưng không tránh khỏi những sai sót, chúng em mong
nhận được những lời đánh giá và nhận xét quý báu từ thầy để chúng em tiến bộ hơn
nữa.
Tài liệu tham khảo
[1] Website:
[2] S. Edwards., “Heart rate Monitor Book”, Leisure systems international, Dec.
1993.
[3] Web site:
[4] Dr. Joseph Picone., “Design of A Heart Monitor”, Department of Electrical and
Computer Engineering. Mississippi State University.
[5] ECG Library,
Phụ lục
/*
* Code cho hàm main.c
*
* Created on: Oct 24, 2013
* Author : Nhóm 3-TS.Vũ Duy Hải
* university: Hanoi University OF Science And Technology.
* Class : Electronic telecommunications.
* Course : 55
*/
#include "main.h"
#include "var.h"
void main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
uint8_t str[16],k;
LCD_Init();
sprintf(str,"PUT YOUR FINGER");
LCD_Puts(str);
//_delay_cycles(150);
LCD_Gotoxy(0,1);
sprintf(str,"ON THE SENSOR:");
LCD_Puts(str);
_delay_cycles(1500001);
//ADC
ADC10CTL0 = SREF_1 + ADC10SHT_2 + REFON + REF2_5V + ADC10ON + ADC10IE;
ADC10CTL1 = INCH_1; // input A1
ADC10AE0 |= 0x02; // PA.1 ADC option select
P2DIR |=(BIT3+BIT4+BIT5);
P1IE |=(BIT6+BIT7);
P1IES |=(BIT6+BIT7);//high -> low is selected with IES.x =1.
P1REN |=(BIT6+BIT7);
while(1)
{
_BIS_SR(GIE +LPM0_bits);//turn on the interuff and set up the save power mode LPMO;
}
}
#pragma vector =PORT1_VECTOR
__interrupt void P1_interrupt(void)
{
uint8_t str[16];
uint8_t k=0;
if ((P1IN&BIT7)!=BIT7)
{
P1IES ^=BIT7;
//P2OUT ^= BIT3;
LCD_Clear();
sprintf (str,"PLEASE WAIT:");
LCD_Puts(str);
LCD_Gotoxy(0,1);
ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start
__bis_SR_register(CPUOFF + GIE); // LPM0, ADC10_ISR will force exit
if (ADC10MEM > 0x377) // ADC10MEM = A1 > 0.2V?
{
P2OUT ^= BIT5; // Clear P1.0 LED off
k++;
}
else P2OUT |= BIT5; // Set P1.0 LED on
P1IFG &=~BIT7;
}
else if((P1IN&BIT6) !=BIT6)
{
LCD_Clear();
P1IES ^=BIT6;
sprintf(str,"PUT YOUR FINGER");
LCD_Puts(str);
LCD_Gotoxy(0,1);
sprintf(str,"ON THE SENSOR:");
LCD_Puts(str);
_delay_cycles(1500001);
P1IFG &=~BIT6;
}
return;
}
// ADC10 interrupt service routine
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR (void)
{
__bic_SR_register_on_exit(CPUOFF); // Clear CPUOFF bit from 0(SR)
}
/*
* Code cho thư viện lcd16x2.c
*
* Created on: Oct 24, 2013
* Author : Nhóm 3-TS.Vũ Duy Hải
* university: Ha noi University OF Science And Technology.
* Class : Electronic telecommunications.
* Course : 55
*
*
* MSP430F2011 LCD_Module
P1_0 D4
P1_1 D5
P1_2 D6
P1_3 D7
P1_4 RS
P1_5 RW
P1_6 EN
**************************************************************/
#include"lcd16x2.h"
/***************************************************************
* Noi dung : Gui tin hieu Enable toi LCD
* Tham Bien : Khong
* Tra ve : Khong
**************************************************************/
void LCD_Enable(void)
{
//LCD_EN=1;
P1OUT = (P1OUT | 0x20);
//P1OUT = BIT5;
//delay_us(3);
_delay_cycles(3);
//LCD_EN=0;
P1OUT = (P1OUT & 0xDF);
//delay_us(50);
_delay_cycles(50);
}
/***************************************************************
* Noi dung : Gui 4 bt du lieu toi LCD
* Tham Bien : Data: 4 bit thap cua Data chua 4 bit du lieu can gui
* Tra ve : Khong
**************************************************************/
void LCD_Send4Bit( uint8_t Data)
{
P1OUT = (( P1OUT | 0x0F) & (0xF0 | Data));//4 BIT THAP
}
/*******************************************************************************
Noi Dung : Gui 1 byte du lieu den LCD.
Tham Bien : command: byte du lieu can gui.
Tra Ve : Khong.
********************************************************************************/
void LCD_SendCommand (uint8_t command )
{
LCD_Send4Bit ( command >>4 ); /* Send 4 high bit */
LCD_Enable () ;
LCD_Send4Bit ( command ); /* Send 4 low bit*/
LCD_Enable () ;
}
/*******************************************************************************
Noi Dung : Khoi tao LCD.
Tham Bien : Khong.
Tra Ve : Khong.
********************************************************************************/
void LCD_Init ( void )
{
P1DIR = 0x3F;
LCD_Send4Bit(0x00);
//delay_ms(20);
_delay_cycles(40000);
//LCD_RS=0;
P1OUT=(P1OUT & 0xEF);
//LCD_RW=0;
P1OUT=(P1OUT & 0xDF);
LCD_Send4Bit(0x03);
LCD_Enable();
//delay_ms(5);
_delay_cycles(10000);
LCD_Enable();
//delay_us(100);
_delay_cycles(100);
LCD_Enable();
LCD_Send4Bit(0x02);
LCD_Enable();
LCD_SendCommand( 0x28 ); // giao thuc 4 bit, hien thi 2 hang, ki tu 5x8
LCD_SendCommand( 0x0c); // cho phep hien thi man hinh
LCD_SendCommand( 0x06 ); // tang ID, khong dich khung hinh
LCD_Clear(); // xoa toan bo khung hinh
}
/*******************************************************************************
Noi Dung : Thiet lap vi tri con tro LCD.
Tham Bien : x: vi tri cot cua con tro. x = 0 - 15.
y: vi tri hang cua con tro. y= 0,1.
Tra Ve : Khong.
********************************************************************************/
void LCD_Gotoxy(uint8_t x, uint8_t y)
{
uint8_t address;
if(!y)
address = (0x80+x);
else
address = (0xC0+x);
//delay_ms(1);
_delay_cycles(2000);
LCD_SendCommand(address);
//delay_ms(5);
_delay_cycles(10000);
}
/*******************************************************************************
Noi Dung : Xoa noi dung hien thi tren LCD.
Tham Bien : Khong.
Tra Ve : Khong.
********************************************************************************/
void LCD_Clear(void)
{
LCD_SendCommand(0x01);
//delay_ms(5);
_delay_cycles(10000);
}
/*******************************************************************************
Noi Dung : Viet 1 ki tu len LCD.
Tham Bien : Khong.
Tra Ve : Khong.
********************************************************************************/
void LCD_PutChar ( uint8_t Data )
{
//LCD_RS=1;
P1OUT=(P1OUT | 0x10);
LCD_SendCommand( Data );
//LCD_RS=0;
P1OUT=(P1OUT & 0xEF);
}
/*******************************************************************************
Noi Dung : Viet 1 chuoi ki tu len LCD.
Tham Bien : Khong.
Tra Ve : Khong.
********************************************************************************/
void LCD_Puts (uint8_t *s)
{
while (*s)
{
LCD_PutChar(*s);
s++;
}
}
/****************************END FILE********************************************/
Các file đính kèm theo tài liệu này:
- de_tai_thiet_ke_mach_do_nhip_tim_hr_su_dung_cam_bien_hong_ng.pdf