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

Luận văn thạc sĩ kỹ thuật y sinh: Thiết kế hệ thống đo nhiệt độ và xác định vị trí bệnh nhân qua mạng internet

108 44 0

Đ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

Định dạng
Số trang 108
Dung lượng 2,17 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Về mặt ứng dụng thực tiễn hệ thống đƣợc ứng dụng vào lĩnh vực ý tế đó là hệ thống giám sát bệnh nhân từ xa qua mạng internet. Trong các bệnh viện lớn có rất nhiều bệnh nhân mà bác sỹ không thể có mặt thường xuyên tại các phòng bệnh nhân được thì việc thiết kế hệ thống giám sát bệnh nhân qua mạng internet với mục đích giúp cho việc giám sát và theo dõi tình trạng của bệnh nhân từ xa tốt hơn. Ngoài ra hệ thống giúp cho các bệnh nhân vùng sâu vùng xa, dân tộc thiểu số ít ngƣời việc đi lại khó khăn các bác sỹ không thể thường xuyên có mặt trực tiếp để thăm khám bệnh được thì việc khám bệnh từ xa qua mạng internet là cần thiết.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

-

HỒ MẬU VIỆT

THIẾT KẾ HỆ THỐNG ĐO NHIỆT ĐỘ VÀ XÁC ĐỊNH VỊ

TRÍ BỆNH NHÂN QUA MẠNG INTERNET

LUẬN VĂN THẠC SĨ KỸ THUẬT NGÀNH KỸ THUẬT Y SINH GIÁO VIÊN HƯỚNG DẪN: PGS.TS NGUYỄN TIẾN DŨNG

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan cuốn luận văn này do chính tôi nghiên cứu Hệ thống phần cứng và chương trình phần mềm do tôi thiết kế và xây dựng Các thông tin số liệu trong luận văn là hoàn toàn trung thực, chính xác và có nguồn gốc rõ ràng Trong quá trình nghiên cứu tôi có tham khảo mốt số tài liệu, và bài báo có trong danh mục tài liệu tham khảo được liệt kê cuối luận văn

Học viên

Trang 3

MỤC LỤC

LỜI CAM ĐOAN 1

MỤC LỤC 1

DANH MỤC HÌNH ẢNH 4

DANH MỤC BẢNG BIỂU 6

MỞ ĐẦU 9

CHƯƠNG 1: TỔNG QUAN 10

1.1 Mở đầu 10

1.2 Ý tưởng thiết kế 10

1.3 Mục tiêu của đề tài 11

1.4 Yêu cầu hệ thống 11

1.5 Giải pháp thiết kế 12

CHƯƠNG 2: CÔNG NGHỆ ĐỊNH VỊ GPS 14

2.1 Giới thiệu về hệ thống định vị toàn cầu GPS 15

2.2 Phân loại các hệ thống định vị 16

2.3 Cấu trúc của hệ thống định vị toàn cầu 16

2.4 Hoạt động của GPS 18

2.5 Độ chính xác của GPS 18

2.6 Hệ thống vệ tinh GPS 19

2.7 Tín hiệu GPS 19

2.8 Nguồn lỗi của tín hiệu GPS 20

2.9 Nhận xét về khả năng và những ứng dụng của GPS 21

CHƯƠNG 3: KIT VI ĐIỀU KHIỂN ARDUINO 22

3.1 Giới thiệu về kít vi điều khiển Arduino 22

3.2 Phân loại kit Arduino 24

3.2.1 Arduino Uno 24

3.2.2 Arduino Mega 2560 26

3.2.3 Arduino Fio 29

3.3 Lập trình Arduino 31

3.3.1 Giới thiệu môi trường lập trình 31

3.3.2 Giao diện phần mềm lập trình Arduino 33

Trang 4

3.3.3 Nạp chương trình và chạy ứng dụng 34

3.4 Cấu trúc chương trình lập trình Arduino 35

CHƯƠNG 4: THIẾT BỊ ĐỊNH VI GPS SIM548 36

4.1 Lý do lựa chọn module SIM548 36

4.2 Đặc điểm chung SIM548 37

4.3 Cấu trúc phần cứng module SIM548 38

4.4 Phần cứng ứng dụng GSM trong SIM548 40

4.4.1 Chức năng các chân cho GSM 40

4.4.2 Bật ứng dụng GSM của module SIM 548 44

4.4.3 Tắt ứng dụng GSM của module SIM548 45

4.5 Truyền thông nối tiếp trên SIM548 47

4.6 Kết nối với SIM card 48

4.7 Trạng thái của chân STATUS 49

4.8 Phần cứng ứng dụng GPS của module SIM548 50

4.8.1 Chức năng các chân dùng cho ứng dụng GPS 50

4.8.2 Bật ứng dụng GPS 51

4.8.3 Mạch kết nối cho chân VRTC 51

4.8.4 Mạch kết nối cho chân RESET 51

4.8.5 Chuẩn giao tiếp nối tiếp của ứng dụng GPS 52

4.9 Ứng dụng GPS của module SIM548 52

4.9.1 GPS Hệ thống định vị toàn cầu 52

4.9.2 Kỹ thuật DGPS 54

4.10 Chuẩn giao tiếp NMEA 55

4.10.1 Dữ liệu đầu ra 55

4.10.2 Dữ liệu đầu vào 57

CHƯƠNG 5: THIẾT KẾ HỆ THỐNG ĐO NHIỆT ĐỘ VÀ XÁC ĐỊNH VỊ TRÍ BỆNH NHÂN 61

5.1 Giới thiệu 61

5.1 Sơ đồ khôi hệ thống 61

5.1.1 Arduino Mega 2560 62

5.1.2 Khối giao chức năng GSM và GPS 63

Trang 5

5.1.3 Khối giao tiếp GPS và GSM 64

5.1.4 Module SIM 66

5.1.5 Cảm biến nhiệt độ 66

5.2 Sơ đồ nguyên lý tổng thể hệ thống 68

5.3 Lưu đồ thuật toán điều khiển hệ thống 69

5.4 Thiết kế hệ thống phần mềm giám sát 70

5.4.1 Yêu cầu và mục đích của hệ thống phần mềm 70

5.4.2 Câu trúc và sơ đồ giải thuật 71

5.5 Xây dựng phần mềm server quản lý dùng giao thức TCP/IP 73

5.5.1 Ứng dụng giao thức TCP/IP trong việc liên kết các người dùng qua mạng 73

5.6 Giải pháp ứng dụng của module Sim548 trong việc kết nối server 74

5.6.1 Đối với server 74

5.6.2 Yêu cầu phần mềm Server 74

5.7 Giải pháp GPRS 75

5.8 Phần mềm thiết kế webserver Netbeans 75

5.9 Thiết kế phần mềm hiển thị cho máy Client 77

5.10 Mở cổng modem cho máy chủ webserver 78

5.11 Kết quả đạt được 79

5.12 Đánh giá kết quả 84

5.13 Kết luận 85

TÀI LIỆU THAM KHẢO 86

PHỤ LỤC 87

Trang 6

DANH MỤC HÌNH ẢNH

Hình 2.1: Hệ thống vệ tinh cho GPS 15

Hình 3.1: Hình ảnh kit vi điều khiểnt Arduino 22

Hình 3.2: Cấu trúc phần cứng của Arduino Uno 24

Hình 3.3: Arduino Mega 2560 26

Hình 3.4: Arduino Mega Fio 29

Hình 3.5: Link download phần mềm Arduino 32

Hình 3.6: Giao diện lập trình Arduino 32

Hình 3.7: Giao diện lập trình Arduino 33

Hình 3.8: Lấy ví dụ có sẵn trong Arduino 34

Hình 3.9: Nạp chương trình cho Arduino 34

Hình 4.1: Hình ảnh module Sim548 37

Hình 4.2: Các thiết bị đi kèm module SIM548 38

Hình 4.3: Sơ đồ khối SIM548 39

Hìnhn 4.4: Dùng chân PWMRKEY để bật ứng dụng GSM 44

Hình 4.5: Dùng chân PWRKEY để tắt ứng dụng GSM 46

Hình 4.6: Chuẩn giao tiếp nối tiếp của SIM548 47

Hình 4.7: Kết nối SIM card 6 chân 48

Hình 4.8: Kết nối với chân NETLIGHT 49

Hình 4.9: Bật ứng dụng GPS 51

Hình 4.10 Kết nối với chân VRTC 51

Hình 4.11: Kết nối với chân RESET 52

Hình 4.12: Vệ tinh GPS 53

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

Hình 5.2: Khối xử lý trung tâm 62

Hình 5.3: Sơ đồ cấu trúc khối giao tiếp vô tuyến 64

Hình 5.4: Anten thu phát GPRS 64

Hình 5.5: Anten thu phát GPS 65

Hình 5.6: Sim kết nối mạng GSM/ GPRS 66

Trang 7

Hình 5.7: Hình ảnh cấu tạo cảm biến nhiệt độ 67

Hình 5.8: Sơ đồ mạch nguyên lý hệ thống 68

Hình 5.9: Lưu đồ thuật toán điều khiển hệ thống 69

Hình 5.10: Sơ đồ phần mềm theo lớp 71

Hình 5.11: Sơ đồ giải thuật 72

Hình 5.12: Giao diện phần mềm lập trình Java Netbeans 76

Hình 5.13: Giao diện phần mềm webserver 76

Hình 5.14: Giao diện phần mềm Visua Studio 2012 77

Hình 5.15: Giao diện phần mềm hiển thị cho máy Client 78

Hình: 5.16: Mở port trên modem 79

Hình 5.17: Thiết lập thông số cho port mới 79

Hình 5.18: Các thiết bị trong hệ thống 80

Hình 5.19: Hệ thống ghép nối hoàn chỉnh 80

Hình 5.20: Hệ thống hoàn thanh cuối cùng 81

Hình 5.201: Thông tin về tọa độ vị trí của bệnh nhân 82

Hình 5.22: Thông tin về nhiệt độ 82

Hình 5.23: Kết quả khi chạy phần mềm webserver 83

Hình 5.24: Kết quả khi chạy phần mềm hiện thị 83

Hình 5.25: Thông tin vị trí và nhiệt độ đo được từ bệnh nhân 84

Trang 8

DANH MỤC BẢNG BIỂU

Bảng 4.1 Chức năng các chân GSM 40

Bảng 4.2 Miêu tả chức năng các chân 41

Bảng 4.4 Chức năng các chân SIM 49

Bảng 4.5 Trạng thái chân STATUS 49

Bảng 4.6 Chức năng các chân GPS 50

Bảng 4.7 Dạng ký hiệu thông tin định vị 55

Bảng 4.8 Thông tin chuỗi bảng tin nhận đƣợc 56

Bảng 4.9 Thông báo trạng thái kết nối 56

Bảng 4.10 Cấu hình module 57

Bảng 4.11 Tham số cấu hình module 57

Bảng 4.12 Thông số cáu hình PORT A 58

Bảng 4.13 Thông tin khởi tạo ứng dụng GPS 58

Bảng 4.14 Thông tin cấu hình nối tiếp 59

Bảng 4.15 Thông tin định dạng đầu ra 59

Bảng 4.16 Thông tin khởi tạo thời gian 60

Trang 9

DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết tắt Tên tiếng anh Tên tiếng việt

ommunications

Hệ thống thông tin di động toàn cầu

ces

Dịch vụ vô tuyến gói chung

ol

Giao thức ứng dụng mạng đơn giản

col/User Datagram Protocol

Giao thức điều khiển truyền dẫn/Giao thức dữ liệu gói người sửdụng

Environment

Môi trường biên dịch

Environment

Môi trường biên dịch

Trang 10

SPI Serial Peripheral Interface chuẩn đồng bộ nối tiếp truyền dữ liệu

chế độ song công toàn phần

chủ động đến thiết bị bị động

bị bị động đến thiết bị chủ động

tăctơ dành cho thiết bị bị động

serial Reveiver and Transmitter

thức truyền thông không đồng bộ

Trang 11

MỞ ĐẦU

Lĩnh vực công nghệ thông tin ngày càng phát triển và ngày càng được ứng dụng rộng rãi trong các lĩnh vực của cuộc sống xã hội Việc hội nhập, tiếp thu kiến thức để áp dụng vào cuộc sống luôn là vấn đề được mọi người quan tâm Con người ngày càng sáng chế ra nhiều loại máy móc, phương tiện hữu ích để phục vụ cho con người, nhằm giảm đi công sức mà con người phải bỏ ra, giúp cho công việc đạt hiệu quả hơn

Trong luận văn này, em đã thiết kế và thử nghiệm thành công thiết bị xác định nhiệt độ và xác định vị trí của bệnh nhân qua mạng internet, có chức năng hỗ trợ cho việc chẩn đoán và giám sát bệnh nhân từ xa Hệ thống có thể tích hợp nhiều chức năng như đo nhịp tim, đo nhiệt độ, huyết áp, có thể gắn camera để truyền hình ảnh, tuy nhiên vì thời gian có hạn cho nên trong đề tài luận văn này tác giải chỉ tích hợp một số chức năng như đo nhiệt độ và xác định vị trí bệnh nhân Hệ thống có sử dụng module SIM548 có tích hợp chức năng GPS và GSM kết hợp với kít vi điều khiển Arduimo Mega 2560 là bộ xử lý trung tâm Hệ thống này có thể áp dụng vào trong lĩnh vực y tế như quản lý giám sát các chỉ số quan trọng của bệnh nhân và có thể xây dựng mô hình khám và chẩn đoán bệnh từ xa qua mạng intennet

Đề tài luận văn được chia làm năm chương, mỗi chương được đề cập đến một vấn đề trong luận văn

Chương I: Tổng quan Chương II: Công nghệ định vị GPS Chương III: KIT vi điều khiển Arduino Mega 2560 Chương IV: Thiết bị định vị GPS SIM548

Chương IV: Thiết kế hệ thống đo nhiệt độ và xác định vị trí bệnh nhân

Trang 12

CHƯƠNG 1: TỔNG QUAN 1.1 Mở đầu

Trong các bệnh viện lớn hiện nay người ta đang đầu tư xây dựng các hệ thống giám sát để quản lý các hoạt động trong bệnh viện Điển hình đó là hệ thống camera giám sát trong bệnh viện Hệ thống camera giám sát bệnh viện với mục tiêu đảm bảo an toàn, an ninh bệnh viện Hệ thống Camera giám sát tài sản, quan sát phòng bệnh nhân, ghi hình quá trình làm việc của đội ngũ bác sĩ, y tá một cách hiệu quả, chính xác các hoạt động, mọi lúc, mọi nơi Hỗ trợ kỹ thuật online từ các bệnh viện tuyến trên xuống bệnh viện tuyến dưới Hỗ trợ kỹ thuật online từ các bệnh viện khác trên thế giới Hỗ trợ chứng cứ cho việc xác định: bệnh nhân tử vong trước hay sau khi nhập viện, thông tin về bệnh nhân Hỗ trợ thân nhân xem quá trình phẫu thuật, nhìn người thân trong bệnh viện từ xa tại nhà hay từ nước ngoài Kết hợp được với mục đích an ninh bệnh viện Ngoài ra còn có các hệ thống như:

- Hệ thống giám sát SPO2 từ xa, có chức năng kiểm tra nồng độ oxy trong máu

- Hệ thống giám sát mức độ nhiệm khuẩn ở bệnh viện

- Hệ thống kết nối bệnh nhân với bác sĩ từ xa qua mạng internet Bệnh nhân ngồi ở nhà đo các chỉ số huyết áp, tim mạch, hô hấp rồi gửi cho bác sĩ qua mạng Bác sĩ sẽ chỉ định cho bệnh nhân đến viện điều trị hay không

1.2 Ý tưởng thiết kế

Hệ thống đo nhiệt độ và xác định vị trí bệnh nhân qua mạng internet xuất phát từ ý tưởng thiết kế một hệ thống giám sát bệnh nhân khi đang điều trị tại bệnh viện hoặc là thăm khám bệnh từ xa qua mạng Hệ thống giúp cho các bác sỹ chẩn đoán bệnh từ xa mà không cần gặp trược tiếp bệnh nhân vẫn có thể biết được tình trạng của bệnh nhân thông qua các thông số hệ thống thu thập được từ hệ thống gửi

về Một trong những ưu điểm lớn nhất của thiết bị là có thể di chuyển đi tất cả mọi nơi vì hệ thống bắt tín hiệu qua vệ tinh và truyền tín hiệu thông qua mạng điện thoại

di động đang phủ sóng trên toàn bộ lãnh thổ Việt Nam Hệ thống có thể tích hợp nhiều chức năng như đo nhịp tim, huyết áp, nhiệt độ bệnh nhân, xác định vị trí bệnh nhân, camera để quan sát hình ảnh, chuông báo động khi cần thiết tuy nhiên vì thời

Trang 13

gian có hạn nên em chỉ thiết kệ thí điểm hệ thống xác định hai thông số đó là xác định vị trí và đo nhiệt độ bệnh nhân Với hệ thống này thì các bệnh nhân ở vùng sâu vùng xa các dân tộc thiểu số ít người có thể dùng được mà bác sỹ không cần đến tận nơi mà chỉ cần ngồi ở văn phòng làm việc của mình vẫn có thể nắm được tình hình của các bệnh nhân và có thể chẩn đoán được tình trạng sức khỏe của bệnh nhân

1.3 Mục tiêu của đề tài

Xuất phát từ ý tưởng đã nêu, đề tài luận văn của em thực hiện với những mục tiêu chính sau đây:

 Đối với bản thân em thì đề tài luận văn là cơ hội để em tìm hiểu, nghiên cứu và thiết kế hệ thống đo nhiệt độ và xác định vị có ứng dụng chức năng định vị GPS thông qua mạng điện thoại di động GPRS đây là một lĩnh vực mới đang được nhiều người quan tâm tuy nhiên cũng chưa có nhiều đề tài nghiên cứu sâu về lĩnh vực này Cho nên mục tiêu của đề tài là rèn luyện tác phong, tinh thần khoa học, cũng như hoàn thiện phương pháp, tư duy nghiên cứu, giải quyết một vấn đề thực tiễn Quan trọng hơn là tích lũy và nâng cao trình độ chuyên môn cho bản thân

 Về mặt ứng dụng thực tiễn hệ thống được ứng dụng vào lĩnh vực ý tế đó là

hệ thống giám sát bệnh nhân từ xa qua mạng internet Trong các bệnh viện lớn có rất nhiều bệnh nhân mà bác sỹ không thể có mặt thường xuyên tại các phòng bệnh nhân được thì việc thiết kế hệ thống giám sát bệnh nhân qua mạng internet với mục đích giúp cho việc giám sát và theo dõi tình trạng của bệnh nhân từ xa tốt hơn Ngoài ra hệ thống giúp cho các bệnh nhân vùng sâu vùng xa, dân tộc thiểu số ít người việc đi lại khó khăn các bác sỹ không thể thường xuyên có mặt trực tiếp để thăm khám bệnh được thì việc khám bệnh từ xa qua mạng internet là cần thiết

 Ngoài ra đề tài còn giúp cho em có cơ hội tiếp cận với nên khoa học hiện đại hiện nay

1.4 Yêu cầu hệ thống

Thiết kế hệ thống đo nhiệt độ và xác định ví trí bệnh nhân thông qua mạng internet bằng kit vi điều khiển Arduino Mega 2560 và module SIM548 cần phải đáp ứng được các yêu cầu sau:

Trang 14

 Hệ thống kết nối đƣợc với mạng Ethernet

 Hệ thống xác định đƣợc vị trí bệnh nhân

 Hệ thống đo đƣợc nhiệt độ bệnh nhân

 Hệ thống có thể tích hợp thêm các chức năng khác nhƣ camera, đo huyết

áp, nhịp tim, vv…

 Giá thành và chi phí thiết kế hệ thống thấp

 Ngôn ngữ lập trình đơn giản dễ hiểu và có khả năng mở rộng cao

 Hệ thống hoạt động ổn định chính xác

 Hệ thống dễ vận hành sử dụng

 Yêu cầu độ chính xác về nhiệt độ cho phép sai số 0.5 độ

 Yêu cầu độ chính xác vị trí cho phép sai số 10-15 m

Các thiết bị phần cứng:

 1 module Arduino Mega 2560

Trang 15

 Phầm mềm thiết kế giao diện Websever dùng ngôn ngữ Java,

 Phần mêm thiết kế giao diện hiển thị Visual Studio 2010,

 Phần mềm lập trình và biên dịch cho Arduino ngôn ngữ C

Từ các phân tích trên, mô hình đề xuất của hệ thống đo nhiệt độ và giám sát

vị trí bệnh nhân qua mạng Internet đƣợc mô tả trong (Hình 1.1)

Group of names

GPS

PTS DATA GPRS

BỆNH NHÂN Arduino Mega 2560 Module SIM548

Hình 1.1: Sơ đồ tổng quan hệ thống

Trang 16

KẾT LUẬN CHƯƠNG

Trong chương tác giả đã đưa ra ý tưởng thiết kế hệ thống phù hợp với yêu cầu đề tài Từ đó xác định các yêu cầu, mục đích của hệ thống để làm cơ sở cho việc thiết kế hệ thống sau nay Xuất phát từ yêu cầu và mục đích của đề tài tác giả

đã đưa ra được mô hình tổng quan của cả hệ thống để từ đó lám cơ sở cho việc chọn lựa thiết bị và thiết kế và đánh giá hệ thống

Trang 17

CHƯƠNG 2 : CÔNG NGHỆ ĐỊNH VỊ GPS 2.1 Giới thiệu về hệ thống định vị toàn cầu GPS

Hệ thống định vị toàn cầu là hệ thống xác định vị trí dựa trên vị trí của các vệ tinh nhân tạo [1][2] Trong cùng một thời điểm, ở một vị trí trên mặt đất nếu xác định được khoảng cách đến ba vệ tinh (tối thiểu) thì sẽ tính được toạ độ của vị trí

đó Nếu là bốn vệ tinh ta còn có thể xác định được cả độ cao Hệ thống định vị toàn cầu của Mỹ là hệ dẫn đường dựa trên một mạng lưới 24 vệ tinh được Bộ Quốc phòng Hoa Kỳ đặt trên quỹ đạo không gian (tổng cộng tất cả có 27 quả vệ tinh, 3 quả được dùng làm dự phòng)[1][2] Vì thế bất kỳ vị trí nào trên mặt đất cũng có thể nhìn thấy ít nhất ba vệ tinh nên có thể định được vị trí trên mặt đất

Hình 2.1: Hệ thống vệ tinh cho GPS

GPS được thiết kế và quản lý bởi Bộ Quốc phòng Hoa Kỳ, nhưng chính phủ Hoa Kỳ cho phép mọi người sử dụng nó miễn phí, bất kể quốc tịch, vị trí, chỉ cần người dùng có thiết bị thu tín hiệu GPS mà vệ tinh phát thì có thể định vị được vị trí

Những năm gần đây, các nước trong Liên minh châu Âu đang xây dựng Hệ thống định vị Galileo, có tính năng giống như GPS của Hoa Kỳ, nó bắt đầu hoạt động vào năm 2010.[1]

Trang 18

2.2 Phân loại các hệ thống định vị

Các hệ thống định vị, dẫn đường truyền thống hoạt động dựa trên các trạm phát tín hiệu vô tuyến điện Được biết nhiều nhất là các hệ thống có tên gọi LORAN (LOng RAnge Navigation) hoạt động ở dải tần 90-100 KHz chủ yếu dùng cho hàng hải, hay TACAN (TACtical Air Navigation) dùng cho quân đội Mỹ và biến thể với

độ chính xác thấp VOR/DME – VHF (Omnidirectional Range/Distance Measuring Equipment) dùng cho hàng không dân dụng [1][2] Gần như đồng thời với lúc Mỹ phát triển GPS, Liên Xô cũng phát triển một hệ thống tương tự với tên gọi GLONAS Hiện nay Cộng đồng Châu Âu đang phát triển hệ dẫn đường vệ tinh của mình mang tên Galileo.[2]

Ta cần chú ý rằng cả GPS và GLONAS đều được phát triển trước hết cho mục đích quân sự Nên mặc dù chúng có cho dùng dân sự nhưng không hệ nào đưa

ra sự đảm bảo tồn tại liên tục và độ chính xác Vì thế chúng không thoả mãn được những yêu cầu an toàn cho dẫn đường dân sự hàng không và hàng hải, đặc biệt là tại những vùng và tại những thời điểm có hoạt động quân sự của những quốc gia sở hữu các hệ thống đó Chỉ có hệ thống dẫn đường vệ tinh châu Âu GALILEO (đang được xây dựng) ngay từ đầu đã đáp ứng các yêu cầu nghiêm ngặt của dẫn đường và định vị dân sự.[1]

GPS ban đầu chỉ dành cho các mục đích quân sự, nhưng từ năm 1980 chính phủ Mỹ cho phép sử dụng dân sự GPS hoạt động trong mọi điều kiện thời tiết, mọi nơi trên trái đất, 24 giờ một ngày Không mất phí thuê bao hoặc mất tiền trả cho việc thiết lập sử dụng GPS [1][2]

2.3 Cấu trúc của hệ thống định vị toàn cầu

Hệ thống định vị toàn cầu GPS bao gồm 3 phần[1][2]:

- Phần vũ trụ (Space Segment): gồm 24 vệ tinh quay xung quanh trái đất hai

lần trong ngày với quỹ đạo rất chính xác Độ cao vệ tinh so với mặt đất là 20183

km, chu kỳ quay quanh trái đất là 11giờ 57 phút 58 giây Phần này sẽ đảm bảo cho bất kỳ vị trí nào trên quả đất đều có thể quan sát được 4 vệ tinh ở góc trên 15 độ, nếu ở góc ngưỡng 10 độ thì có thể quan sát được 10 vệ tinh và ở góc ngưỡng 5 độ

Trang 19

có thể quan sát được 12 vệ tinh Các vệ tinh làm nhiệm vụ ghi nhận và lưu trữ các thông tin được truyền đi từ phần điều khiển, xử lý dữ liệu có chọn lọc trên vệ tinh, duy trì độ chính xác cao của thời gian bằng các đồng đồ nguyên tử, chuyển tiếp thông tin đến người sử dụng, thay đổi quỹ đạo bay của vệ tinh theo sự điều khiển từ mặt đất

- Phần điều khiển (Control Segment): gồm một trạm điều khiển chính, năm

trạm thu số liệu, ba trạm truyền số liệu

- Trạm điều khiển chính đặt tại Colorade Springs (Mỹ) có nhiệm vụ thu thập các dữ liệu theo dõi vệ tinh từ các trạm thu số liệu để xử lý

- Năm trạm thu số liệu được đặt tại Hawai, Colorade Springs, Ascension (Nam Đại Tây Dương), Diago Garia (Ấn Độ Dương), Kwayalein (Nam Thái Bình Dương) Có nhiệm vụ theo dõi các tín hiệu vệ tinh để kiểm soát và dự tính quỹ đạo của chúng Mỗi trạm được trang bị những máy thu P-Code để thu các tín hiệu của

vệ tinh sau đó truyền về trạm điều khiển chính.[2]

- Ba trạm truyền số liệu được đặt tại Ascension, Diago Garia, Kwayalein có khả năng chuyển số liệu lên vệ tinh gồm lịch thiên văn mới, hiệu chỉnh đồng hồ, các thông điệp cần phát, các lệnh điều khiển từ xa

- Phần sử dụng (Use Segment): gồm những máy thu tín hiệu GPS có anten

riêng (máy định vị), các thiết bị tự ghi (bộ ghi số liệu) và máy tính (phần mềm xử lý

Trang 20

bằng kỹ thuật phân sai Phần mềm xử lý số liệu GPS còn có chức năng biên tập hoặc vẽ Phần mềm này cũng hỗ trợ thu thập các yếu tố địa lý và thông tin thuộc tính cho GPS hoặc các cơ sở dữ liệu khác [2]

2.4 Hoạt động của GPS

Các vệ tinh GPS bay vòng quanh trái đất hai lần trong một ngày theo một quỹ đạo rất chính xác và phát tín hiệu có thông tin xuống trái đất Các máy thu GPS nhận thông tin này và bằng phép tính lượng giác tính được chính xác vị trí của người dùng Về bản chất máy thu GPS so sánh thời gian tín hiệu được phát đi từ vệ tinh với thời gian nhận được chúng Sai lệch về thời gian cho biết máy thu GPS ở cách vệ tinh bao xa Rồi với nhiều quãng cách đo được tới nhiều vệ tinh máy thu có thể tính được vị trí của người dùng và hiển thị lên bản đồ điện tử của máy Máy thu GPS phải khoá được với tín hiệu của ít nhất ba quả vệ tinh để tính ra vị trí hai chiều (2D, kinh độ và vĩ độ) và để theo dõi được chuyển động Với bốn hay nhiều hơn số quả vệ tinh trong tầm nhìn thì máy thu có thể tính được vị trí ba chiều (3D, kinh độ,

vĩ độ và độ cao) Một khi vị trí người dùng đã tính được thì máy thu GPS có thể tính các thông tin khác, như tốc độ, hướng chuyển động, bám sát di chuyển, khoảng hành trình, quãng cách tới điểm đến, thời gian mặt trời mọc, lặn và nhiều thứ khác nữa.[16]

2.5 Độ chính xác của GPS

Các máy thu GPS ngày nay cực kì chính xác, nhờ vào thiết kế nhiều kênh hoạt động song song của chúng Các máy thu 12 kênh song song (của Garmin) nhanh chóng khoá vào các quả vệ tinh khi mới bật lên và chúng duy trì chắc chắn liên hệ này, thậm chí trong tán lá rậm rạp hoặc thành phố với các toà nhà cao tầng Tình trạng nhất định của khí quyển và các nguồn gây sai số khác có thể ảnh hưởng tới độ chính xác của máy thu GPS Các máy thu GPS có độ chính xác trung bình trong khoảng 15 mét

Các máy thu mới hơn với khả năng WAAS (Hệ Tăng Vùng Rộng, Wide Area Augmentation System) có thể tăng độ chính xác trung bình tới dưới 3 mét Không cần thêm thiết bị hay mất phí để có được ưu điểm của WAAS Người dùng

Trang 21

cũng có thể có độ chính xác tốt hơn với GPS Vi sai (Differential GPS, DGPS) sửa lỗi các tín hiệu GPS để có độ chính xác trong khoảng 3 đến 5 mét Cục Phòng vệ bờ biển Mỹ vận hành dịch vụ sửa lỗi này Hệ thống bao gồm một mạng các đài thu tín hiệu GPS và phát tín hiệu đã sửa lỗi bằng các máy phát hiệu Để thu được tín hiệu

đã sửa lỗi, người dùng phải có máy thu tín hiệu vi sai bao gồm cả ăn-ten để dùng với máy thu GPS của họ [16]

2.6 Hệ thống vệ tinh GPS

Hai mươi tư quả vệ tinh làm nên vùng không gian GPS trên quỹ đạo 12 nghìn dặm cách bề mặt trái đất Chúng chuyển động ổn định, hai vòng quỹ đạo trong khoảng thời gian gần 24 giờ Các vệ tinh này chuyển động với vận tốc khủng khiếp 7 nghìn dặm một giờ

Các vệ tinh được nuôi bằng năng lượng mặt trời Chúng có các nguồn pin dự phòng để duy trì hoạt động khi chạy khuất vào vùng không có ánh sáng mặt trời Các tên lửa nhỏ gắn ở mỗi quả vệ tinh giữ chúng bay đúng quỹ đạo đã định Dưới đây là một số thông tin đáng chú ý về các vệ tinh GPS (còn gọi là NAVSTAR, tên gọi chính thức của Bộ Quốc phòng Mỹ cho GPS):

- Vệ tinh GPS đầu tiên được phóng năm 1978

- Hoàn chỉnh đầy đủ 24 vệ tinh vào năm 1994

- Mỗi vệ tinh được làm để hoạt động tối đa là 10 năm

- Vệ tinh GPS có trọng lượng khoảng 2 nghìn cân Anh (900kg) và dài khoảng 17 bộ (5m) với các tấm mặt trời mở

- Công suất phát bằng hoặc dưới 50 watts [1]

2.7 Tín hiệu GPS

Các vệ tinh GPS phát hai tín hiệu vô tuyến công suất thấp giải L1 và L2 (Giải L là phần sóng cực ngắn của phổ điện từ trải rộng từ 0.39 tới 1.55GHz) GPS dân sự dùng tần số L1 1575.42 MHz trong giải UHF Tín hiệu truyền trực thị, có nghĩa là chúng sẽ xuyên qua mây, thuỷ tinh và nhựa nhưng không qua phần lớn các đối tượng cứng như núi và nhà

Trang 22

Tín hiệu GPS chứa ba mẩu thông tin khác nhau – mã giả ngẫu nhiên, dữ liệu thiên văn và dữ liệu lịch Mã giả ngẫu nhiên đơn giản chỉ là mã định danh để xác định được quả vệ tinh nào là phát thông tin nào (Có thể nhìn số hiệu của các quả vệ tinh trên trang vệ tinh của máy thu Garmin để biết nó nhận được tín hiệu của quả nào.)

Dữ liệu thiên văn cho máy thu GPS biết quả vệ tinh ở đâu trên quỹ đạo ở mỗi thời điểm trong ngày Mỗi quả vệ tinh phát dữ liệu thiên văn chỉ ra thông tin quỹ đạo cho vệ tinh đó và mỗi vệ tinh khác trong hệ thống Dữ liệu lịch được phát đều đặn bởi mỗi quả vệ tinh, chứa thông tin quan trọng về trạng thái của vệ tinh (lành mạnh hay không), ngày giờ hiện tại Phần này của tín hiệu là cốt lõi để phát hiện ra

vị trí [1]

2.8 Nguồn lỗi của tín hiệu GPS

Những điều có thể làm giảm tín hiệu GPS và vì thế ảnh hưởng tới chính xác bao gồm:

- Giữ chậm của tầng đối lưu và tầng ion làm tín hiệu vệ tinh bị chậm đi khi xuyên qua tầng khí quyển

- Tín hiệu đa đường (multi path) điều này xảy ra khi tín hiệu phản xạ từ nhà hay các đối tượng khác trước khi tới máy thu, do đó tại máy thu tín hiệu sẽ bị thăng giáng rất mạnh

- Lỗi đồng hồ máy thu đồng hồ có trong máy thu không chính xác như đồng

hồ nguyên tử trên các vệ tinh GPS

- Lỗi quỹ đạo cũng được biết như lỗi thiên văn, do vệ tinh thông báo vị trí không chính xác

- Số lượng vệ tinh nhìn thấy càng nhiều quả vệ tinh được máy thu GPS nhìn thấy thì càng chính xác Nhà cao tầng, địa hình, nhiễu loạn điện tử hoặc đôi khi thậm chí tán lá dày có thể chặn thu nhận tín hiệu, gây lỗi định vị hoặc không định vị được Nói chung máy thu GPS không làm việc trong nhà, dưới nước, hoặc dưới đất

- Hình học che khuất điều này liên quan tới vị trí tương đối của các vệ tinh ở thời điểm bất kì Phân bố vệ tinh lí tưởng là khi các quả vệ tinh ở vị trí góc rộng với

Trang 23

nhau Phân bố xấu xảy ra khi các quả vệ tinh ở trên một đường thẳng hoặc cụm thành nhóm

- Sự giảm có chủ tâm tín hiệu vệ tinh là sự làm giảm tín hiệu cố ý do sự áp đặt của Bộ Quốc phòng Mỹ, nhằm chống lại việc đối thủ quân sự dùng tín hiệu GPS chính xác cao Chính phủ (Mỹ) đã ngừng việc này từ tháng 5 năm 2000, làm tăng đáng kể độ chính xác của máy thu GPS dân sự (Tuy nhiên biện pháp này hoàn toàn

có thể được sử dụng lại trong những điều kiện cụ thể để đảm bảo Chính điều này là tiềm ẩn hạn chế an toàn cho dẫn đường và định vị dân sự.)[2]

2.9 Nhận xét về khả năng và những ứng dụng của GPS

Với công nghệ ngày càng hiện đại, các máy thu GPS cho độ chính xác ngày càng cao, vì thế các máy thu GPS này ngày càng được ứng dụng rộng rãi trong các thiết bị hỗ trợ cho việc định vị hay các hệ thống dẫn đường

Ở Việt Nam, những năm gần đây đã có một số công ty đang nghiên cứu và triển khai cung cấp các sản phẩm liên quan đến các hệ thông định vị toàn cầu Trong tương lai không xa, chắc chắn công nghệ GPS sẽ còn nhiều ảnh hưởng cho các lĩnh vực công nghệ, trắc địa, lĩnh vực y tế Ứng dụng công nghệ định vị GPS vào lĩnh vực y tế là một đề tài còn khá mới mẻ trong khoa và nói chung là ở Việt Nam Trong đề tài luận văn này, tác giả đã ứng dụng công nghệ định vị GPS vào lĩnh vực y tế

KẾT LUẬN CHƯƠNG

Hiện nay nên khoa học kỹ thuật, đặc biệt là lĩnh vực công nghệ thông đang phát triển mãnh mẽ, việc ứng dụng kỹ thuật định vị GPS là điều rất cần thiết Hiện nay các thiết bị công nghệ thông tin hiện đại đều có chức năng định vị xác định vị trí và tìm đường Như vậy chung ta thấy được tầm quan trọng của việc nghiên cứu hệ thống định vị GPS

Công nghệ định vị GPS được ứng dụng rất rỗng rãi trong các lĩnh vực như ,giao thông, quân sự, hàng hải, hàng không, Như vậy việc nghiên cứu hệ thống định vị GPS là rất cần thiết và phù hợp với nhu cầu phát triển

Trang 24

CHƯƠNG 3: KIT VI ĐIỀU KHIỂN ARDUINO 3.1 Giới thiệu về kít vi điều khiển Arduino

Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, và ngày càng chứng tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong cộng đồng nguồn mở (open-source) Tuy nhiên tại Việt Nam Arduino vẫn còn chưa được biết đến nhiều

Hình 3.1: Hình ảnh kit vi điều khiểnt Arduino

Arduino cơ bản là một nền tảng tạo mẫu mở về điện tử (open-source electronics prototyping platform) được tạo thành từ phần cứng lẫn phần mềm Về mặt kĩ thuật, có thể coi Arduino là một bộ điều khiển logic có thể lập trình được Đơn giản hơn, Arduino là một thiết bị có thể tương tác với thế giới bên ngoài thông qua các cảm biến và hành vi được lập trình sẵn Với thiết bị này, việc lắp ráp và điều khiển các thiết bị điện tử sẽ dễ dàng hơn bao giờ hết Một điều không hề dễ dàng cho những ai đam mê công nghệ và điều khiển mà không có nhiều thời gian để tìm hiểu sâu hơn về về kĩ thuật lập trình và cơ điện tử

Hiện tại có rất nhiều loại vi điều khiển và đa số được lập trình bằng ngôn ngữ C/C++ hoặc Assembly nên rất khó khăn cho những người có ít kiến thức sâu về điện tử và lập trình Nó là trở ngại cho mọi người muốn tạo riêng cho mình một món đồ mang tính công nghệ Do vậy, đó là lí do Arduino được phát triển nhằm đơn giản hóa việc thiết kế, lắp ráp linh kiện điện tử cũng như lập trình trên vi xử lí và mọi người có thể tiếp cận dễ dàng hơn với thiết bị điện tử mà không cần nhiều về

Trang 25

kiến thức điện tử và thời gian Sau đây là những thế mạnh của Arduino so với các nền tảng vi điều khiển khác:

- Chạy trên đa nền tảng: Việc lập trình Arduino có thể thể thực hiện trên các

hệ điều hành khác nhau như Windows, Mac Os, Linux trên Desktop, Android trên

di động

- Ngôn ngữ lập trình đơn giản dễ hiểu

- Nền tảng mở: Arduino được phát triển dựa trên nguồn mở nên phần mềm chạy trên Arduino được chia sẻ dễ dàng và tích hợp vào các nền tảng khác nhau

- Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng module nên việc mở rộng phần cứng cũng dễ dàng hơn

- Đơn giản và nhanh: Rất dễ dàng lắp ráp, lập trình và sử dụng thiết bị

- Dễ dàng chia sẻ: Mọi người dễ dàng chia sẻ mã nguồn với nhau mà không

lo lắng về ngôn ngữ hay hệ điều hành mình đang sử dụng

Arduino có rất nhiều module, mỗi module được phát triển cho một ứng dụng

Về mặt chức năng, các bo mạch Arduino được chia thành hai loại: loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau Một số bo có trang

bị thêm các tính năng kết nối như Ethernet và Bluetooth Các bo mở rộng chủ yếu

mở rộng thêm một số tính năng cho bo mạch chính Ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ

Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn giản đến phức tạp Trong số đó có một vài ứng dụng thực sự chứng tỏ khả năng vượt trội của Arduino do chúng có khả năng thực hiện nhiều nhiệm vụ rất phức tạp Sau đây là danh sách một số ứng dụng nổi bật của Arduino như trong công nghệ in 3D, robot

dò đường theo hướng có nguồn nhiệt, tạo một thiết bị nhấp nháy theo âm thanh và đèn laser hay là một thiết bị báo cho khách hàng biết khi nào bánh mì ra lò.[10]

Trang 26

3.2 Phân loại kit Arduino

3.2.1 Arduino Uno

3.2.1.1 Cấu trúc chung

Hình 3.2: Cấu trúc phần cứng của Arduino Uno

Arduino Uno là một bo mạch vi điều khiển dựa trên chip Atmega328 Nó có

14 chân vào ra bằng tín hiệu số, trong đó có 6 chân có thể sử dụng để điều chế độ rộng xung Có 6 chân đầu vào tín hiệu tương tự cho phép chúng ta kết nối với các

bộ cảm biến bên ngoài để thu thập số liệu, sử dụng một dao động thạch anh với tần

số dao động 16MHz, có một cổng kết nối bằng chuẩn USB để chúng ta nạp chương trình vào bo mạch và một chân cấp nguồn cho mạch, một ICSP header, một nút reset Nó chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, nguồn cung cấp cho Arduino có thể là từ máy tính thông qua cổng USB hoặc là từ bộ nguồn chuyên dụng được biến đổi từ xoay chiều sang một chiều hoặc là nguồn lấy từ pin Chip Atmega328 có 32KB (với 0,5KB sử dụng cho bootloader) Nó còn có 2KB SRAM

và 1KB EEPROM.[10]

3.2.1.2 Khối nguồn

Arduino có thể được hỗ trợ thông qua kết nối USB hoặc với một nguồn cung

cấp điện bên ngoài Các nguồn năng lượng được lựa chọn tự động Hệ thống vi điều

khiển có thể hoạt động bằng một nguồn cung cấp bên ngoài từ 6V đến 20V Tuy nhiên, nếu cung cấp với ít hơn 7V, chân 5V có thể cung cấp ít hơn 5V và hệ thống vi

Trang 27

điều khiển có thể không ổn định Nếu cấp nhiều hơn 12V, bộ điều chỉnh điện áp có

thể quá nóng và gây nguy hiểm cho bo mạch Phạm vi khuyến nghị là 7V đến 12V

- Chân Vin: Điện áp đầu vào Arduino khi chúng ta dùng nguồn điện bên ngoài (khác với nguồn 5V lấy từ USB hoặc nguồn thông qua jack cắm nguồn riêng) Chúng ta có thể cung cấp nguồn thông qua chân này

- Chân 5V: Cung cấp nguồn vi điều khiển và các bộ phận khác trên bo mạch

và cung cấp nguồn cho các thiết bị ngoại vi khi kết nối tới bo mạch

- Chân 3,3V: Cung cấp nguồn cho các thiết bị cảm biến

- Chân GND: Chân nối đất

- Chân Aref: Tham chiếu điện áp đầu vào analog

- Chân IOREF: Cung cấp điện áp cho các vi điều khiển hoạt động Một

shield được cấu hình đúng có thể đọc điện áp chân IOREF và lựa chọn nguồn thích hợp hoặc kích hoạt bộ chuyển đổi điện áp để là việc ở mức 5V hoặc 3,3V

3.2.1.3 Chân vào ra

Aduino Uno có 14 chân digital (chân 0 đến 13) và 6 chân analog (chân A0 đên A5) Các chân digital chúng ta có thể cấu hình để làm chân nhận dữ liệu vào từ các thiết bị ngoại vi hoặc làm chân để truyền tín hiệu ra các thiết bị ngoại vi Bằng

cách sử dụng các hàm pinMode(), digitalWrite() và digitalRead() Mỗi chân có thể

cung cấp hoặc nhận một dòng điện tối đa 40mA và có một điện trở kéo nội (mặc định không nối) 20 - 50 KOhms Ngoài ra có một số chân có chức năng đặc biệt:

- Chân 0 (Rx): Chân được dùng để nhận dữ liệu nối tiếp

- Chân 1 (Tx): Chân được dùng để truyền dữ liệu nối tiếp

- Chân 2 và 3: Chân ngắt ngoài

- Chân 3, 5, 6, 9, 10 và 11: Chân vào/ra số hoặc để điều chế độ rộng xung (chân

13 được nối với một LED đơn, sáng tắt tương ứng với mức logic của chân này)

- Chân 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): Chuẩn giao tiếp SPI

Các chân analog có độ phân giải 10 bit (tương ứng với 1024 mức giá trị khác nhau) ứng với mức từ 0 – 5V Ngoài ra một số chân có các chức năng đặc biệt:

- Chân A4 (SDA) và A5 (SCL): Hỗ trợ truyền thông TWI

Trang 28

là nguồn lấy từ pin Arduino Mega tương thích với hầu hết các shield thiết kế cho Arduino Arduino Mega 2560 là bản cập nhật từ Arduino Mega

Arduino Mega 2560 khác so với các bo mạch trước đó ở chỗ nó không sử dụng chip điều khiển FTDI USB-to-serial Thay vào đó, các tính năng của Atmega16U2 (ATmega8U2 trong phiên bản 1 và phiên bản 2 bảng) được lập trình như một bộ chuyển đổi USB-to-serial

Phiên bản 2 của bo mạch Mega2560 có 1 điện trở kéo đường 8U2 HWB xuống đất, làm cho nó dễ đặt chế độ DFU hơn

Phiên bản 3 của bo mạch có các đặc tính mới sau:

- Thêm chân SDA và SCL gần chân AREF và 2 chân mới được đặt gần chân RESET, IOREF cho phép các shield tương thích với điện áp được cung cấp từ bo mạch Trong tương lai, các shield sẽ tương thích với cả hai bo mạch sử dụng AVR

Trang 29

mà hoạt động với nguồn 5V và Arduino Due hoạt động ở mức 3,3V Chân thứ 2 không kết nối dành cho các mục đích sau này.

- Atmega 16U2 thay cho 8U2

3.2.2.2 Đặc điểm Arduino Mega 2560

Điện áp dới hạn hoạt động 6-20V

Chân tín hiệu số vào ra 54 trong đó có 15 chân điều khiển độ rộng xung Chân tín hiệu số đầu vào 16

Dòng điện tại các chân vào ra 40 mA

Các chân cấp nguồn nhƣ sau:

Trang 30

- Chân VIN: Điện áp vào mạch Arduino khi nó sử dụng nguồn ngoài (khác

với nguồn 5V từ kết nối USB hoặc nguồn khác) Ta có thể cấp nguồn qua chân này

hoặc cấp thông qua jack cắm nguồn

- Chân 5V: Chân cấp điện áp ra 5V từ bộ điều chỉnh điện áp của bo mạch.

- Chân 3,3V: Chân cấp điện áp ra 3,3V từ bộ điều chỉnh điện áp.

- Chân GND: Chân nối đất.

- Chân IOREF: Chân này cấp điện áp tham chiếu cho vi điều khiển hoạt động

Một shield đƣợc cấu hình đúng có thể đọc điện áp chân IOREF và chọn nguồn điện phù hợp hoặc cho phép biến đổi điện áp để làm việc vơi 5,5V hoặc 3,3V

3.2.2.4 Chân vào ra

Arduino Mega 2560 bao gồm 54 chân vào ra tín hiệu số có thể sử dụng làm

chân input hoặc output, bằng cách sử dụng hàm pinMode(), digitalWrite(),

digitalRead() Chúng hoạt động ở 5V Mỗi chân có thể cấp hoặc nhận tối đa 40mA

và có một trở kéo nội (mặc định không nối) từ 20 – 50Kohm Ngoài ra, một số chân

có các chức năng đặc biệt sau:

Trang 31

- Chân AREF: Tham chiếu điện áp cho đầu vào analog Sử dụng hàm

analogReference()

- Chân RESET: Nối đường dây xuống LOW để reset vi xử lý

3.2.3 Arduino Fio

3.2.3.1 Cấu trúc chung

Hình 3.4: Arduino Mega Fio

Arduino Fio là một bo mạch vi điều khiển được xây dựng dựa trên chip ATmega328P Bao gồm có 14 chân vào ra số (trong đó có 6 chân có thể sử dụng để điều chế độ rộng xung), có 8 chân vào vào tương tự, trên board sử dụng một bộ cộng hưởng, một công tắc Reset, và lỗ để cắm chân Header Nó có kết nối với bộ Lithium Polymer và mạch nguồn qua cổng USB Có sẵn ổ cắm XBee ở phía dưới của board

Arduino Fio dùng cho ứng dụng không dây Người dùng có thể nạp dữ liệu thông qua cáp FTDI hoặc bo mạch cải tiến Sparkfun Ngoài ra, bằng cách sử dụng USB-to-Xbee như Xbee Exploer USB, người dùng có thể nạp dữ liệu qua mạng không dây

Arduino Fio được thiết kế bởi Shigeru Kobayashi và Sparkfun Electronics,

và được sản xuất bởi Sparkfun Electronics

3.2.3.2 Đặc điểm Arduino Fio

- Dùng vi điều khiển ATmega328P

- Điện áp hoạt động là 3.3V

- Điện áp đầu vào trong khoảng từ 3,35V-12V

- Điện áp xạc phin 3.7V-7V

Trang 32

- Chân vào ra tín hiệu số 14 trong đó có 6 chân điều khiển độ rộng xung PWM

- Chân đầu vào tương tự gồm có 8 chân

- Dòng điện hoạt động trên các chân là 40mA

- Bộ nhớ Flash là 32KB trong đó có 2KB sử dụng bằng bootloader

Các chân nguồn:

- Chân BAT: Cung cấp Pin Lithium Polymer cho board mạch

- Chân 3V3: Nguồn chuẩn 3.3V để cung cấp cho các chân

- Chân GND: Chân nối đất

3.2.3.4 Chân vào ra

Arduino Fio có 14 chân số có thể sử dụng như chân vào hoặc ra dữ liệu bằng

cách sử dụng các hàm pinMode(), digitalWrite() và digitalRead() Các chân này

hoạt động ở mức điện áp 3.3V Mỗi chân có thể cũng cấp hoặc nhận một dòng điện tối đa 40mA và có một điện trở Pull-up (mặc định không nối) có giá trị khoảng 20-

50 kOhms Ngoài ra, một số chân còn có chức năng đặc biệt:

- Serial: RXI (D0) và TX0 (D1): Được sử dụng để nhận (RX) và truyền (TX)

dữ liệu nối tiếp TTL

- Ngắt ngoài (chân 2 và 3): Các chân này có thể được cấu hình để kích hoạt một ngắt ở mức thấp, sườn lên hoặc sườn xuống hoặc là thay đổi giá trị Có thể xem

chi tiết ở hàm chức năng attachInterrupt()

- PWM (chân 3, 5, 6, 9, 10, và 11): Điều chế độ rộng xung 8 bit bằng hàm

analogWrite()

Trang 33

- SPI: 10 (SS), 11(MOSI), 12 (MISO), 13 (SCK) Những chân này hỗ trợ truyền thông SPI Mặc dù được cung cấp phần cứng cơ bản nhưng hiện nay nó chưa

có trong ngôn ngữ Arduino

- Có một LED được nối với chân digital 13 Khi chân này ở mức cao thì LED

sáng, ở mức thấp thì tắt

- Fio có 8 chân vào Analog, mỗi chân có độ phân giải 10 bit (được chia thành

1024 mức) Các chân đầu vào analog đo từ Ground đến Vcc Ngoài ra, một số chân

có chức năng đặc biệt:

- I2C: 4 (SDA) và 5 (SCL) Hỗ trợ truyền thông I2

C (TWI) sử dụng thư viện

Write

Có một cặp chân khác trên board mạch:

- AREF: Tham chiếu điện áp đầu vào analog Sử dụng hàm

analogReference()

- DTR Đặt dòng điện ở mức LOW để khởi động lại vi điều khiển

Ngoài ra còn còn 8 lỗ Unsoldered trên board:

- BAT+ và BAT-: Được kết nối với một nguồn Pin

- CHG 5V và CHG-: Dùng để kết nối với thiết bị đầu cuối có tổn hao

- SW: Dùng để kết nối với công tắc nguồn trên board

- CTS: Dùng để kết nối với chân #CTS/DIO7 của ổ cắm Xbee

- DTR: Dùng để kết nối với chân #DTR/SLEEP_RQ/DI8 của ổ cắm XBee

3.3 Lập trình Arduino

3.3.1 Giới thiệu môi trường lập trình

Để có môi trường lập trình Arduino thì bước đầu tiên chúng ta phải có file phần mềm biên dịch do nhà sản xuất Arduino cung cấp được download tại trang chủ theo link sau: http://arduino.cc/en/Main/Software

Trang 34

Hình 3.5: Link download phần mềm Arduino

Sau khi giải nén chạy Arduino.exe ta đƣợc giao diện phần mềm lập trình Arduino nhƣ sau:

Trang 35

3.3.2 Giao diện phần mềm lập trình Arduino

Khi muốn lập trình chúng ta phải khởi động giao diện lập trình trên giao diện

có các chức năng được mô tả như sau:

Hình 3.7: Giao diện lập trình Arduino

Trong giao diện lập trình căn bản khi lập trình cần chú ý các bước:

- Bước 1: Tạo file biên dịch mới

- Bước 2: Lưu file code

- Bước 3: Lập trình code điều khiển

- Bước 4: Biên dịch file để kiểm tra lỗi

- Bước 5: Nạp chương trình vào Board Trong Arduino hỗ trợ các thư viện và ví dụ mở với các chủ đề khác nhau, muốn dùng ví dụ nào có thể thao tác như hình bên dưới:

Trang 36

Hình 3.8: Lấy ví dụ có sẵn trong Arduino

3.3.3 Nạp chương trình và chạy ứng dụng

Để nạp chương trình vào kit, ta kết nối cáp nạp USB vào Board và máy tính kiểm tra trạng thái có cổng kết nối chưa tại phần Tools>Serial Port để chọn cổng COM kết nối và Tool> Board để chọn board Arduino sử dụng Sau đó nhấn Upload chương trình được nạp vào và chạy ứng dụng

Trang 37

3.4 Cấu trúc chương trình lập trình Arduino

Cũng như các ngôn ngữ lập trình khác, ngôn ngữ trong Arduino sử dụng ngôn ngữ C Cấu trúc một chương trình Arduino bao gồm 2 phần chính :

Hàm setup( ) được sử dụng để khởi tạo giá trị các biến, chế độ chân, bắt đầu

sử dụng các thư viện Hàm setup( ) chỉ thực hiện một lần khi cấp nguồn hoặc reset

Arduino

Hàm loop( ) được hiểu như là chương trình chính, thực hiện các chức năng

được lập trình và có tính lặp lại liên tục

KẾT LUẬN CHƯƠNG

Arduino có rất nhiều module, mỗi module được phát triển cho một ứng dụng

Về mặt chức năng, các bo mạch Arduino được chia thành hai loại: loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau năng kết nối Ethernet, Wireless, điều khiển động cơ

Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn giản đến phức tạp Trong số đó có một vài ứng dụng thực sự chứng tỏ khả năng vượt trội của Arduino

do chúng có khả năng thực hiện nhiều nhiệm vụ rất phức tạp Sau đây là danh sách một số ứng dụng nổi bật của Arduino như trong công nghệ in 3D, robot dò đường theo hướng có nguồn nhiệt, tạo một thiết bị nhấp nháy theo âm thanh và đèn laser hay là một thiết bị báo cho khách hàng biết khi nào bánh mì ra lò

Trang 38

CHƯƠNG 4: THIẾT BỊ ĐỊNH VI GPS SIM548 4.1 Lý do lựa chọn module SIM548

Công nghệ GPS ngày càng phát triển, trên thế giới ngày càng có nhiều công

ty điện tử tung ra thị trường các sản phẩm, các module GPS để phục vụ cho công việc nghiên cứu cũng như phát triển các sản phẩm liên quan đến GPS Tuỳ thuộc vào giá thành, chất lượng (độ chính xác trong định vị) của các module là khác nhau đáp ứng cho người dùng tuỳ thuộc vào yêu cầu Tuy nhiên tất cả các module có thể đáp ứng được về độ chính xác dùng trong dân sự, với sai số ở trong khoảng 15 mét Một số Module có chức năng GPS có trên thị trường Việt Nam:

● Module GPS Skynab GB10

- Kích thước khá nhỏ gọn, 71 x 40 x 6.5 mm

- Công suất tiêu thụ nhỏ: 60mAh*3.3V

- Độ tin cậy tương đối tốt

- Giá thành thấp (40$)

- Có nhiều trên thị trường Việt Nam

- Dễ sử dụng, giao tiếp qua UART, theo chuẩn NMEA – 0183

● Module GPS-GSM Sim508

- Kích thước rất nhỏ gọn: 40 x 22 x 3.1 mm

- Công suất tiêu thụ nhỏ hơn: 35mAh*3.3V

- Độ tin cậy cao

- Giá thành cao hơn (85$)

- Có rất ít trên thị trường Việt Nam

● Module GPS-GSM Sim548

- Kích thước rất nhỏ gọn: 55 x 34 x 3.0 mm

- Công suất tiêu thụ nhỏ hơn: 25mAh*3.3V

- Độ tin cậy cao

- Giá thành thấp (50$)

- Có rất nhiều trên thị trường Việt Nam

Trang 39

Các loại máy thu GPS khác cũng có ở Việt Nam nhưng gần như rất hiếm Hầu hết các Module GPS đều giao tiếp qua cổng UART và theo chuẩn NMEA –

0183 nên cũng khá giống nhau Trong đề tài luận văn này, em đã lựa chọn module SIM548, do những ưu điểm của nó: có nhiều trên thị trường Việt Nam, rẻ và tiết kiệm năng lượng, đáp ứng được yêu cầu luận văn

4.2 Đặc điểm chung SIM548

Module SIM548 là một thiết bị có chức năng GSM và hỗ trợ chức năng định

vị GPS của hãng SIMCOM

Hình 4.1: Hình ảnh module Sim548

Module SIM 548 có thể hoạt động với các tần số sau GSM 850MHz, 900 MHz, DCS 1800MHz và PCS 1900MHz và cũng hỗ trợ kỹ thuật GPS định vị vị trí bằng vệ tinh Với kích thước nhỏ 55mm x 34mm x 3.0 mm, module này có thể sử dụng cho các ứng dụng như Smart phone, PDA phone, thiết bị định vị GPS cầm tay hay điện thoại

Chúng ta có thể giao tiếp với module thông qua đế chuẩn 60 chân dành riêng cho module SIM548 Thông qua đế chuẩn 60 chân này,chúng ta có thể sử dụng module với các mục đích :

- Bàn phím, bảng nút nhấn hay SPI LCD

Trang 40

- Một port giao tiếp nối tiếp dành cho GSM và hai port nối tiếp dành cho GPS giúp cho việc thiết kế và phát triển ứng dụng một cách dễ dàng hơn thông qua việc giao tiếp bằng tập lệnh AT

- Các ngõ vào ra dành cho chức năng nghe, gọi, và xử lý âm thanh

- Các ngõ vào của bộ chuyển đổi AD

Để sử dụng đƣợc module SIM548, cần phải có các thiết bị đi kèm:

Hình 4.2: Các thiết bị đi kèm module SIM548

F: Cáp giao tiếp nối tiếp

4.3 Cấu trúc phần cứng module SIM548

Sim548 có hai khối tách biệt: phần GSM/GPRS và phần GPS

Phần GSM:

- Khối trung tâm GSM: GSM baseband engine

- Khối bộ nhớ: Flash and SRAM

- Phần GSM radio frequyency

Ngày đăng: 17/08/2020, 21:22

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Wikipedia, Hệ thống định vị toàn cầu ( 10/07/2010) Khác
[2] Nguyễn Trung Chính (2009-09-10), Thu thập dữ liệu qua GPRS Khác
[3] Đoàn Văn Ban, Lập trình hướng đối tượng với JAVA, NXB khoa học kỹthuật [4] Phạm Hữu Khánh, lập trình windows form, NXB lao động xã hội Khác
[5] Micbael Margolis, Arduino Cookbook Khác
[15] www.developers.google.com/maps/documentation/javascript/ Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w