Tải bản đầy đủ (.docx) (70 trang)

Đồ án THIẾT kế CHUYỂN ĐỘNG 3DOF ỨNG DỤNG TRONG VR

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.44 MB, 70 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ VIỄN THÔNG
====o0o====

ĐỒ ÁN
TỐT NGHIỆPĐẠI HỌC
ĐỀ TÀI: NGHIÊN CỨU THIẾT KẾ CHUYỂN
ĐỘNG 3DOF ỨNG DỤNG TRONG VR

Hà Nội, 6/2018


Đồ án tốt nghiệp

Đánh giá quyển đồ án tốt nghiệp
Giảng viên đánh giá:
Họ tên sinh viên :

MSSV:

Tên đồ án: Nghiên cứu và thiết kế chuyển động 3 bậc tự do (3DOF) ứng dụng
trong VR
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
3. Nhận xét thêm của Thầy/Cô (giảng viên hướng dẫn nhận xét về thái độ và tinh
thần làm việc của sinh viên)
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................
.......................................................................................................................................


.......................................................................................................................................
.............................................................................................
Ngày:

/

6

/2018

Người nhận xét
(Ký và ghi rõ họ tên)

Vũ Đức Tuấn KTĐTT06-K58

1


Đồ án tốt nghiệp

Đánh giá quyển đồ án tốt nghiệp
Giảng viên đánh giá:
Họ và tên Sinh viên:

MSSV:

Tên đồ án: Nghiên cứu và thiết kế chuyển động 3 bậc tự do (3DOF) ứng dụng
trong VR
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)

Có sự kết hợp giữa lý thuyết và thực hành (20)
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và
1 các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như

1 2 3 4 5

phạm vi ứng dụng của đồ án
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế) 1 2 3 4 5
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề
1 2 3 4 5
Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả
4
1 2 3 4 5
đạt được
Có khả năng phân tích và đánh giá kết quả (15)
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp
5 thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ 1 2 3 4 5

6

7

thống
Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết
quả đều được phân tích và đánh giá thỏa đáng.
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa
kết quả đạt được và mục tiêu ban đầu đề ra đồng thời cung cấp
lập luận để đề xuất hướng giải quyết có thể thực hiện trong

1 2 3 4 5


1 2 3 4 5

tương lai.
Kỹ năng viết (10)
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương
logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được
8

đánh số thứ tự và được giải thích hay đề cập đến trong đồ án,
có căn lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu
chương và kết luận chương, có liệt kê tài liệu tham khảo và có
trích dẫn đúng quy định

Vũ Đức Tuấn KTĐTT06-K58

2

1 2 3 4 5


Đồ án tốt nghiệp

9

10a

Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa

1 2 3 4 5

học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.)
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải
SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa

5

học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng
phát minh sáng chế
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên

10b

nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở

2

lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và quốc tế

khác về chuyên ngành như TI contest.
10c Không có thành tích về nghiên cứu khoa học
Điểm tổng

0
/50

Điểm tổng quy đổi về thang 10
3. Nhận xét thêm của Thầy/Cô
...............................................................................................................................................................
...............................................................................................................................................................

...............................................................................................................................................................
...............................................................................................................................................................
....................................................................................................................................
Ngày:

/ 6

/2018

Người nhận xét
(Ký và ghi rõ họ tên)

Vũ Đức Tuấn KTĐTT06-K58

3


Đồ án tốt nghiệp

Mục Lục
Mục Lục

4

Danh Sách Hình Ảnh

6

LỜI MỞ ĐẦU


8

TÓM TẮT ĐỒ ÁN

9

Chương 1:Tổng quan về chuyển động 3 bậc tự do (3DOF) và thực tế ảo VR

10

1.1 Giới thiệu về độ tự do

10

1.2 Mục tiêu và nội dung nghiên cứu

11

1.3 Giới thiệu về thực tế ảo VR

12

1.3.1 Công nghệ thực tế ảo

12

1.3.2 Các thành phần của hệ thống thực tế ảo

12


1.3.3 Đặc tính cơ bản của một hệ thống VR

14

1.3.4 Đặc điểm của thực thế ảo

15

1.3.5 Một số ứng dụng

15

Chương 2 : Công nghệ sử dụng và tìm hiểu về phần mềm X-plane
2.1 Công nghệ sử dụng

16
16

2.1.1 Sơ đồ khối hệ thống

16

2.1.2 Cấu trúc vi điều khiển

16

2.1.3 Arduino

18


2.1.4 Động cơ bước và module điều khiển UNL2003

20

a.Động cơ bước

20

b.Mạch điều khiển động cơ bước module UNL2003

22

2.1.5 Ethernet shield

23

2.2 Tổng quan về X-plane

24

2.2.2 Định cấu hình điều khiển chuyến bay

28

2.2.3 Dữ liệu đầu vào và đầu ra từ X-Plane

30

Chương 3 :Thiết kế mạch điều khiển


36

3.1 Thiết kế khung

36

3.2.1 Phần cơ khí ,động lực

36

3.1.2 Phần điều khiển

45

a.Sơ đồ kết nối điều khiển X plane với Arduino

45

b.Phần mềm giao tiếp với X-plane ( ArdSim Plugin)

45

Chương 4: Mô Phỏng

Vũ Đức Tuấn KTĐTT06-K58

49

4



Đồ án tốt nghiệp

4.1 Phần mô phỏng

49

4.2 Lập trình

58

Chương 5 : Kết quả và Đánh giá

66

5.1 Kết quả

66

5.2 Đánh giá

66

Tài Liệu Tham Khảo

68

PHỤ LỤC

Vũ Đức Tuấn KTĐTT06-K58


Error! Bookmark not defined.

5


Đồ án tốt nghiệp

Danh Sách Hình Ảnh
Hình 1: Ví dụ về độ tự do........................................................................................10
Hình 2: Mô hình cung cấp 3 chuyển độn.................................................................11
Hình 3: Hệ thống thực tế ảo.....................................................................................13
Hình 4: Trải nghiệm thực tế ảo................................................................................14
Hình 5: Sơ đồ khối hệ thống....................................................................................16
Hình 6: Cấu trúc vi điều khiển.................................................................................17
Hình 7: Ứng dụng Vi Điều Khiển............................................................................18
Hình 8: Board mạch Arduino...................................................................................20
Hình 9: Động cơ bước.............................................................................................21
Hình 10: Hệ thống điều khiển động cơ bước...........................................................21
Hình 11: Kết nối động cơ bước với arduino............................................................22
Hình 12: Ethernet Sheld..........................................................................................23
Hình 13 :Tất cả các vị trí được chọn để cài đặt sau khi nhấp vào “Chọn tất cả”......26
Hình 14: Không có vị trí nào được chọn để cài đặt sau khi nhấp vào “Chọn Không
có gì”.......................................................................................................................27
Hình 15: Các biểu tượng chương trình đơn.............................................................28
Hình 16: Cửa sổ hiệu chuẩn của màn hình cài đặt Joystick.....................................29
Hình 17: Màn hình cài đặt Joystick, sau khi hiệu chuẩn hoàn tất............................29
Hình 18: Cửa sổ Active Profile của màn hình cài đặt Joystick đã chọn màu cam....30
Hình 19: Cửa sổ Manage Profiles của X-Plane 11...................................................30
Hình 20: Phần Đầu ra dữ liệu của Cài đặt................................................................31

Hình 21: Mô hình....................................................................................................36
Hình 22: Cài đặt khay di động.................................................................................37
Hình 23: Tính chiều cao..........................................................................................38
Hình 24: Nâng tam giác A.......................................................................................39
Hình 25: Vị trí của động cơ.....................................................................................40
Hình 26: Vị trí trục đầu ra hộp số............................................................................40
Hình 27: Mô phỏng dự kiến.....................................................................................41
Hình 28: Tác động từ bên ngoài..............................................................................42

Vũ Đức Tuấn KTĐTT06-K58

6


Đồ án tốt nghiệp

Hình 29: Điểm hỗ trợ...............................................................................................43
Hình 30 : Mô hình 3DOF kín..................................................................................44
Hình 31: Khung hoàn chỉnh.....................................................................................44
Hình 32: Sơ đồ hệ thống điều khiển........................................................................45
Hình 33: Kết nối......................................................................................................46
Hình 34: Thêm thư viện ArdSim.............................................................................48
Hình 35: Cấu hình mạng đang sử dụng...................................................................49
Hình 36: Cấu hình Ethernet.....................................................................................50
Hình 37: Sử dụng thư viện ArdSim.........................................................................51
Hình 38: Lựa chọn Arduino kết nối.........................................................................51
Hình 39: Port cổng COM kết nối.............................................................................52
Hình 40: Nạp code ArdSim cho Arduino va Ethernet Shield...................................52
Hình 41: Giao diện khởi động X-plane....................................................................53
Hình 42: Dữ liệu đầu ra X-plane.............................................................................53

Hình 43: Thiết lập chuyến bay.................................................................................54
Hình 44: Thiết lập kết nối plugins...........................................................................55
Hình 45: Giao diện chờ kết nối................................................................................56
Hình 46: Kết nối X-plane vói Arduino hoàn tất.......................................................56
Hình 47: Dữ liệu được lưu trong tệp data................................................................57
Hình 48: Giao diện điều khiển.................................................................................58
Hình 49: Sản phẩm hoàn thiện.................................................................................66

Vũ Đức Tuấn KTĐTT06-K58

7


Đồ án tốt nghiệp

LỜI MỞ ĐẦU
Ngày nay xã hội phát triển mạnh mẽ , kỹ thuật ngày càng hiện đại nên như
cầu về thông tin giải trí ngày càng cao.Trong những năm gần đây công nghệ về
chuyển động DOF(bậc tự do) được biết đến giúp con người tốt hơn trong việc mô
phỏng lái xe điều khiển ,máy bay UAN..cùng với đó là như cầu giải trí đọc báo,
xem phim, chơi game trên phần mềm thực tế ảo (VR) ngày càng cao. Vì vậy, nhóm
chúng em quyết định nghiên cứu ,tìm hiểu về chuyển động 3 bậc tự do (3DOF) .
Để đề tài được hoàn thành theo đúng thời gian quy định đạt được kết quả đề ra
không chỉ là sự nỗ lực của nhóm thực hiện đề tài mà còn có sự giúp dỡ, sự chỉ bảo
của thầy giáo và sự chia sẻ kinh nghiệm từ các bạn/nhóm khác. Nhóm thực hiện đề
tài xin chân thành cảm ơn:
 Sự chỉ dẫn và góp ý chân thành của thầy NguyễnVăn Khang. Cảm ơn thầy đã
nhiệt tình cung cấp thông tin và hỗ trợ kiểm tra, khắc phục các thông tin
chưa chính xác.
 Các bạn/nhóm đã giúp đỡ rất nhiều về mặt phương tiện, tài liệu, ý kiến,..

Trong quá trình thực hiện đề tài này, mặc dù nhóm thực hiện đã rất cố gắng
song sẽ không tránh khỏi thiếu sót. Rất mong nhận được sự góp ý, phê bình
và chỉ dẫn của quý thầy cô và các ban.
Dưới đây, chúng em xin phép được trình bày về đề tài vừa nêu: Thiết kế mạch
chuyển động 3DOF (3 bậc tự do) ứng dụng trong VR.

Vũ Đức Tuấn KTĐTT06-K58

8


Đồ án tốt nghiệp

TÓM TẮT ĐỒ ÁN
Báo cáo gồm 5 chương :
Chương 1 : Tổng quan về chuyển động 3 DOF và giới thiệu về thực tế ảo VR
Chương 2 : Công nghệ sử dụng và tìm hiểu về phần mềm X- plane
Chương 3 : Thiết kế mạch điều khiển
Chương 4 : Mô phỏng
Chương 5 : Kết quả và Đánh giá

Vũ Đức Tuấn KTĐTT06-K58

9


Đồ án tốt nghiệp

Chương 1:Tổng quan về chuyển động 3 bậc tự do
(3DOF) và thực tế ảo VR

1.1 Giới thiệu về độ tự do
Bất cứ chuyển động nào của vật gì đó trong vật lý được phân tích là tổ hợp của
các chuyển động cơ bản được gọi là bậc tự do. Có tổng cộng tối đa 6 bậc tự do, đó
là các chuyển động tịnh tiến và xoay theo các trục tọa độ x (phương trước- sau), y
(phương trái- phải), z (phương thẳng đứng)
Một số ví dụ về độ tự do:
 Vị trí của một chiếc xe (động cơ) di chuyển dọc theo một đường ray có một
độ tự do vì vị trí của xe được xác định bởi khoảng cách dọc theo đường.
 Hệ gồm 1 chất điểm trong không gian có 3 bậc tự do là vị trí x, y, z

Hình 1: Ví dụ về độ tự do

Mô hình cung cấp 3 chuyển động
 Roll (effect "roll")
 Pitch (effect "pitch")
 Swell (axis "heave")

Vũ Đức Tuấn KTĐTT06-K58

10


Đồ án tốt nghiệp

Hình 2: Mô hình cung cấp 3 chuyển độn

1.2 Mục tiêu và nội dung nghiên cứu
Mục tiêu: Thực hiện được mô phỏng lái máy bay chuyển động 3DOF có thể
giao tiếp với PC, các bậc tự do được điều khiển bởi cơ điện. Các mức độ tự do khác
sẽ được tạo ra, được mô phỏng bởi các phần mềm quản lý. Những chuyển động này

sẽ được thêm vào hoặc không, đối với các trục hoặc hiệu ứng của bộ mô phỏng để
cố những gì máy không làm được.
Để tạo hiệu ứng cho các chuyển động và chương trình mô phỏng của X-plane
nên dùng SimTools. Phần mềm này chạy trên cùng một máy tính như một trò chơi
và thử nghiệm trình mô phỏng thông qua một cáp USB.
Nội dung: Giới thiệu về các chuyển động để chúng ta có thể thiết kế và triển
khai trên nền tảng di động của trình mô phỏng và động cơ của nó. Điều này có
nghĩa rằng bất cứ điều gì có khả năng được cài đặt và gắn liền với chuyển dộng này
để thiết kế.
Góc nghiêng có liên quan: + 10 ° (20 °)
Góc quay của các quay trong chuyển động: 120 °
Cranks với chiều dài cánh tay 70mm
Lưu ý: Vì nhiều lý do, để tránh bất kỳ sự cố nào, các tay quay có khả năng xoay
360 °.

1.3 Giới thiệu về thực tế ảo VR

Vũ Đức Tuấn KTĐTT06-K58

11


Đồ án tốt nghiệp

1.3.1 Công nghệ thực tế ảo
Công nghệ thực tế ảo là một thuật ngữ mới xuất hiện khoảng đầu thập kỷ 90,
nhưng thực sự phát triển mạnh trong vòng vài năm trở lại đây. Theo dự đoán của
Gartner (tổ chức nghiên cứu thị trường toàn cầu), VR đứng đầu danh sách 10 công
nghệ chiến lược năm 2009. Tại Mỹ và châu Âu thực tế ảo (VR) đã và đang trở
thành một công nghệ mũi nhọn nhờ khả năng ứng dụng rộng rãi trong mọi lĩnh vực

(nghiên cứu và công nghiệp, giáo dục và đào tạo, du lịch, dịch vụ bất động sản,
thương mại và giải trí,..) và tiềm năng kinh tế, cũng như tính lưỡng dụng (trong dân
dụng và quân sự) của nó. Trong loạt các bài viết sau, tôi sẽ trình bày có hệ thống về
VR: khái niệm, ứng dụng, phần mềm, phần cứng, mạng liên kết,... nhằm giúp các
bạn trẻ Việt Nam có cái nhìn tổng quát về công nghệ VR trên thế giới, khả năng ứng
dụng phần mềm để thiết kế thế giới ảo và xây dựng hệ thống VR tại Việt Nam.
Thực tế ảo hay còn gọi là thực tại ảo (tiếng Anh là virtual reality, viết tắt là
VR) là thuật ngữ miêu tả một môi trường được giả lập bởi con người. Các môi
trường giả lập này là hình ảnh do con người chủ động thiết kế qua các ứng dụng
phần mềm chuyên dụng, được hiển thị trên màn hình máy tính hoặc thông qua kính
thực tại ảo nhằm đem lại những trải nghiệm thực tế nhất cho người xem như họ
đang ở trong chính không gian đó. Để gia tăng tính trải nghiệm môi trường, các môi
trường giả lập đều được tích hợp thêm giác quan khác như khứu giác (âm thanh).
Thực Tế Ảo là một hệ thống giao diện cấp cao giữa người sử dụng và máy
tính. Hệ thống này mô phỏng các sự vật và hiện tượng theo thời gian thực và tương
tác với người sử dụng qua tổng hợp các kênh cảm giác.
1.3.2 Các thành phần của hệ thống thực tế ảo
Một hệ thống VR tổng quát bao gồm 5 thành phần: phần mềm (SW), phần
cứng (HW), mạng liên kết, người dùng và các ứng dụng. Trong đó 3 thành phần
chính và quan trọng nhất là phần mềm (SW), phần cứng (HW) và các ứng dụng.

Vũ Đức Tuấn KTĐTT06-K58

12


Đồ án tốt nghiệp

Hình 3: Hệ thống thực tế ảo


 Phần mềm
Phần mềm luôn là linh hồn của VR cũng như đối với bất cứ một hệ thống
máy tính hiện đại nào. Về mặt nguyên tắc có thể dùng bất cứ ngôn ngữ lập trình hay
phần mềm đồ họa nào để mô hình hóa (modelling) và mô phỏng (simulation) các
đối tượng của VR. Ví dụ như các ngôn ngữ (có thể tìm miễn phí) OpenGL, C++,
Java3D, VRML, X3D,...hay các phần mềm thương mại như WorldToolKit,
PeopleShop,... Phần mềm của bất kỳ VR nào cũng phải bảo đảm 2 công dụng chính:
Tạo hình vào Mô phỏng. Các đối tượng của VR được mô hình hóa nhờ chính phần
mềm này hay chuyển sang từ các mô hình 3D (thiết kế nhờ các phần mềm CAD
khác như AutoCAD, 3D Studio,..). Sau đó phần mềm VR phải có khả năng mô
phỏng động học, động lực học, và mô phỏng ứng xử của đối tượng.
 Phần cứng
Phần cứng của một hệ thống VT bao gồm: Máy tính (PC hay Workstation với
cấu hình đồ họa mạnh), các thiết bị đầu vào (Input devices) và các thiết bị đầu ra
(Output devices).
-

Các thiết bị đầu vào (Input devices): Chúng bao gồm những thiết bị
đầu ra có khả năng kích thích các giác quan để tạo nên cảm giác về sự
hiện hữu trong thế giới ảo. Chẳng hạn như màn hình đội đầu HMD,
chuột, các tai nghe âm thanh nổi - và những thiết bị đầu vào có khả
năng ghi nhận nơi người sử dụng đang nhìn vào hoặc hướng đang chỉ
tới, như thiết bị theo dõi gắn trên đầu (head-trackers), găng tay hữu
tuyến (wire-gloves).

Vũ Đức Tuấn KTĐTT06-K58

13



Đồ án tốt nghiệp

-

Các thiết bị đầu ra (Output devices): gồm hiển thị đồ họa (như màn
hình, HDM,..) để nhìn được đối tượng 3D. Thiết bị âm thanh (loa) để
nghe được âm thanh vòm (như Hi-Fi, Surround,..). Bộ phản hồi cảm
giác (Haptic feedback như găng tay,..) để tạo xúc giác khi sờ, nắm đối
tượng. Bộ phản hồi xung lực (Force Feedback) để tạo lực tác động
như khi đạp xe, đi đường xóc,...

1.3.3 Đặc tính cơ bản của một hệ thống VR
Một hệ thống thực tế ảo thì tính tương tác, các đồ họa ba chiều thời gian thực
và cảm giác đắm chìm được xem là các đặc tính then chốt.

Hình 4: Trải nghiệm thực tế ảo

Tương tác thời gian thực (real-time interactivity): có nghĩa là máy tính có
khả năng nhận biết được tín hiệu vào của người sử dụng và thay đổi ngay lập tức
thế giới ảo. Người sử dụng nhìn thấy sự vật thay đổi trên màn hình ngay theo ý
muốn của họ và bị thu hút bởi sự mô phỏng này.
Cảm giác đắm chìm (immersion): là một hiệu ứng tạo khả năng tập trung sự
chú ý cao nhất một cách có chọn lọc vào chính những thông tin từ người sử dụng hệ
thống thực tế ảo. Người sử dụng cảm thấy mình là một phần của thế giới ảo, hòa lẫn
vào thế giới đó. VR còn đẩy cảm giác này “thật” hơn nữa nhờ tác động lên các kênh
cảm giác khác. Người dùng không những nhìn thấy đối tượng đồ họa 3D, điều

Vũ Đức Tuấn KTĐTT06-K58

14



Đồ án tốt nghiệp

khiển (xoay, di chuyển..) được đối tượng mà còn sờ và cảm thấy chúng như có thật.
Các nhà nghiên cứu cũng đang tìm cách tạo những cảm giác khác như ngửi, nếm
trong thế giới ảo.
Tính tương tác: có hai khía cạnh của tính tương tác trong một thế giới ảo: sự
du hành bên trong thế giới và động lực học của môi trường. Sự du hành là khả năng
của người dùng để di chuyển khắp nơi một cách độc lập, cứ như là đang ở bên trong
một môi trường thật. Nhà phát triển phần mềm có thể thiết lập những áp đặt đối với
việc truy cập vào những khu vực ảo nhất định, cho phép có được nhiều mức độ tự
do khác nhau (Người sử dụng có thể bay, xuyên tường, đi lại khắp nơi hoặc bơi
lặn…). Một khía cạnh khác của sự du hành là sự định vị điểm nhìn của người dùng.
Sự kiểm soát điểm nhìn là việc người sử dụng tự theo dõi chính họ từ một khoảng
cách, việc quan sát cảnh tượng thông qua đôi mắt của một con người khác, hoặc di
chuyển khắp trong thiết kế của một cao ốc mới như thể đang ngồi trong một chiếc
ghế đẩy… Động lực học của môi trường là những quy tắc về cách thức mà người,
vật và mọi thứ tương tác với nhau trong một trật tự để trao đổi năng lượng hoặc
thông tin.
1.3.4 Đặc điểm của thực thế ảo
Với các phần mềm VR bắt buộc người dùng phải mua thiết bị hỗ trợ như kính
thực tế ảo thì mới có thể sử dụng.Yêu cầu có sự kết hợp tốt giữa người chơi vs
thiết bị trong việc di chuyển (đặc biệt là chuyển động nhanh, chuyển động phần
đầu), nếu không người dùng sẽ có cảm giác chóng mặt, buồn nôn. Bất lợi là không
thể quan sát được những gì đang xảy ra trong Thế giới thực và thường gây ra nhiều
rủi ro, do người dùng không thể nhìn được thế giới thực. Mọi lời nói, di chuyển
hay hành động đều theo quá trình sử dụng.Tuy nhiên do giá tiền của 1 chiếc kính
VR xịn không hề rẻ chút nào cộng thêm vấn đề không gian khá chật hẹp nên VR
chưa thực sự được phát triển và ứng dụng nhiều tại Việt Nam.

1.3.5 Một số ứng dụng
Tại các nước phát triển, chúng ta có thể nhận thấy VR được ứng dụng trong
mọi lĩnh vực: Khoa học kỹ thuật, kiến trúc, quân sự, giải trí, du lịch, địa ốc... và đáp
ứng mọi nhu cầu: Nghiên cứu- Giáo dục- Thương mại-dịch vụ. Y học, du lịch là
lĩnh vực ứng dụng truyền thống của VR. Bên cạnh đó VR cũng được ứng dụng

Vũ Đức Tuấn KTĐTT06-K58

15


Đồ án tốt nghiệp

trong giáo dục, nghệ thuật, giải trí, du lịch ảo (Virtual Tour), bất động sản... Trong
lĩnh vực quân sự, VR cũng được ứng dụng rất nhiều ở các nước phát triển. Bên cạnh
các ứng dụng truyền thống ở trên, cũng có một số ứng dụng mới nổi lên trong thời
gian gần đây của VR như: giả lập môi trường game, tương tác ảo. Như hệ
thống Headset chơi game thực tế ảo Oculus Rift do nhóm Oculus VR phát triển từ
khi được giới thiệu lần đầu tiên đã thu được những phản hồi hết sức tích cực. Khi
đeo loại kính này, các game thủ sẽ thấy mình như được hòa mình vào thế giới không
gian 3D với góc nhìn rộng lên tới 110 độ, thật hơn rất nhiều so với khi chúng ta
ngồi trước màn hình máy tính với góc nhìn chỉ 45 độ. Bạn sẽ cảm thấy choáng ngợp
đặc biệt khi chơi các game nhập vai hay FPS.

Chương 2 : Công nghệ sử dụng và tìm hiểu về phần
mềm X-plane
2.1 Công nghệ sử dụng
2.1.1 Sơ đồ khối hệ thống

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


2.1.2 Cấu trúc vi điều khiển
Vi điều khiển là một hệ thống nhúng khép kín với các thiết bị ngoại vi, bộ xử
lý và bộ nhớ. Ngày nay, phần lớn hệ thống nhúng của vi điều khiển được lập trình
để ứng dụng trong các thiết bị điện tử tiêu dùng, bao gồm cả máy móc, điện thoại,

Vũ Đức Tuấn KTĐTT06-K58

16


Đồ án tốt nghiệp

thiết bị ngoại vi, xe hơi, đồ dùng điện lạnh trong gia đình… Do đó, vi điều khiển
còn có tên gọi khác là “Bộ điều khiển nhúng”.
Nhìn chung, có một số loại vi điều khiển với hệ thống nhúng được thiết kế tinh vi,
trong khi những loại khác lại được lập trình khá đơn giản với bộ nhớ, thời gian lập
trình và các phần mềm ít phức tạp.

Hình 6: Cấu trúc vi điều khiển

Ứng dụng:
Vi điều khiển vốn được lập trình để sử dụng cho các ứng dụng nhúng, không
giống như các bộ vi xử lý trong máy tính cá nhân. Vi điều khiển thường được sử
dụng trong các thiết bị điều khiển tự động bao gồm các công cụ điện, đồ chơi, thiết
bị y tế cấy dưới da, máy móc văn phòng, hệ thống điều khiển động cơ, thiết bị, điều
khiển từ xa và hàng loạt các hệ thống nhúng khác.

Vũ Đức Tuấn KTĐTT06-K58


17


Đồ án tốt nghiệp

Hình 7: Ứng dụng Vi Điều Khiển

2.1.3 Arduino
Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác
với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board
mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM
Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6
chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng
khác nhau.
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ
sung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác. Một khía cạnh
quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép người dùng kết
nối với CPU của board với các module thêm vào có thể dễ dàng chuyển đổi, được
gọi là shield. Vài shield truyền thông với board Arduino trực tiếp thông qua các
chân khách nhau, nhưng nhiều shield được định địa chỉ thông qua serial bus I²Cnhiều shield có thể được xếp chồng và sử dụng dưới dạng song song. Arduino chính
thức thường sử dụng các dòng chip megaAVR, đặc biệt là ATmega8, ATmega168,
ATmega328, ATmega1280, và ATmega2560. Một vài các bộ vi xử lý khác cũng
được sử dụng bởi các mạch Aquino tương thích. Hầu hết các mạch gồm một bộ điều
chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc bộ cộng hưởng

Vũ Đức Tuấn KTĐTT06-K58

18



Đồ án tốt nghiệp

ceramic trong một vài biến thể), mặc dù một vài thiết kế như LilyPad chạy tại 8
MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ thiết bị. Một
vi điều khiển Arduino cũng có thể được lập trình sẵn với một boot loader cho phép
đơn giản là upload chương trình vào bộ nhớ flash on-chip, so với các thiết bị khác
thường phải cần một bộ nạp bên ngoài. Điều này giúp cho việc sử dụng Arduino
được trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc như là một bộ nạp
chương trình.
Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board
được lập trình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy
thuộc vào đời phần cứng. Các board Serial Arduino có chứa một mạch chuyển đổi
giữa RS232 sang TTL. Các board Arduino hiện tại được lập trình thông qua cổng
USB, thực hiện thông qua chip chuyển đổi USB-to-serial như là FTDI FT232. Vài
biến thể, như Arduino Mini và Boarduino không chính thức, sử dụng một board
adapter hoặc cáp nối USB-to-serial có thể tháo rời được, Bluetooth hoặc các
phương thức khác. (Khi sử dụng một công cụ lập trình vi điều khiển truyền thống
thay vì ArduinoIDE, công cụ lập trình AVR ISP tiêu chuẩn sẽ được sử dụng.)
Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng
cho những mạch ngoài. Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân
I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6
chân input analog, có thể được sử dụng như là 6 chân I/O số. Những chân này được
thiết kế nằm phía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm).
Nhiều shield ứng dụng plug-in cũng được thương mại hóa. Các board Arduino
Nano, và Arduino-compatible Bare Bones Board và Boarduino có thể cung cấp các
chân header đực ở mặt trên của board dùng để cắm vào các breadboard. Có nhiều
biến thể như Arduino-compatible và Arduino-derived. Một vài trong số đó có chức
năng tương đương với Arduino và có thể sử dụng để thay thế qua lại. Nhiều mở
rộng cho Arduino được thực thiện bằng cách thêm vào các driver đầu ra, thường sử
dụng trong các trường học để đơn giản hóa các cấu trúc của các 'con rệp' và các

robot nhỏ. Những board khác thường tương đương về điện nhưng có thay đổi về
hình dạng-đôi khi còn duy trì độ tương thích với các shield, đôi khi không. Vài biến
thể sử dụng bộ vi xử lý hoàn toàn khác biệt, với các mức độ tương thích khác nhau.

Vũ Đức Tuấn KTĐTT06-K58

19


Đồ án tốt nghiệp

Hình 8: Board mạch Arduino

Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng
cho những mạch ngoài. Diecimila, Duemilanove, và bây giờ là Uno đưa ra 14 chân
I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6
chân input analog, có thể được sử dụng như là 6 chân I/O số. Những chân này được
thiết kế nằm phía trên mặt board, thông qua các header cái 0.10-inch (2.5 mm).
Nhiều shield ứng dụng plug-in cũng được thương mại hóa. Các board Arduino
Nano, và Arduino-compatible Bare Bones Board và Boarduino có thể cung cấp các
chân header đực ở mặt trên của board dùng để cắm vào các breadboard.
2.1.4 Động cơ bước và module điều khiển UNL2003
a.Động cơ bước
Động cơ bước thực chất là một động cơ đồng bộ dùng để biến đổi các tín
hiệu điều khiển dưới dạng các xung điện rời rạc kế tiếp nhau thành các chuyển động
góc quay hoặc các chuyển động của roto và có khả năng cố định roto vào những vị
trí cần thiết. Động cơ bước làm việc được là nhờ có bộ chuyển mạch điện tử đưa
các tín hiệu điều khiển vào stato theo một thứ tự và một tần số nhất định. Tổng số
góc quay của roto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc
độ quay của roto, phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi. Khi một

xung điện áp đặt vào cuộn dây stato (phần ứng) của động cơ bước thì roto (phần
cảm) của động cơ sẽ quay đi một góc nhất định, góc ấy là một bước quay của động

Vũ Đức Tuấn KTĐTT06-K58

20


Đồ án tốt nghiệp

cơ. Khi các xung điện áp đặt vào các cuộn dây phần ứng thay đổi liên tục thì roto sẽ
quay liên tục. (Nhưng thực chất chuyển động đó vẫn là theo các bước rời rạc)

Hình 9: Động cơ bước

Hệ thống điều khiển động cơ bước

Hình 10: Hệ thống điều khiển động cơ bước

-

D.C.SUPPLY: Có nhiệm vụ cung cấp nguồn một chiều cho hệ thống. Nguồn

một chiều này có thể lấy từ pin nếu động cơ có công suất nhỏ. Với các động cơ có
công suất lớn có thể dùng nguồn điện được chỉnh lưu từ nguồn xoay chiều.
-

CONTROL LOGIC: Đây là khối điều khiển logic. Có nhiệm vụ tạo ra tín

hiệu điều khiển động cơ. Khối logic này có thể là một nguồn xung, hoặc có thể là


Vũ Đức Tuấn KTĐTT06-K58

21


Đồ án tốt nghiệp

một hệ thống mạch điện tử. Nó tạo ra các xung điều khiển. Động cơ bước có thể
điều khiển theo cả bước hoặc theo nửa bước.
-

POWER DRIVER: Có nhiệm vụ cấp nguồn điện đã được điều chỉnh để đưa

vào động cơ. Nó lấy điện từ nguồn cung cấp và xung điều khiển từ khối điều khiển
để tạo ra dòng điện cấp cho động cơ hoạt động.
-

STEPPER MOTOR: Động cơ bước. Các thông số của động cơ gồm có:

Bước góc, sai số bước góc, mômen kéo, mômen hãm, mômen làm việc.Đối với hệ
điều khiển động cơ bước, ta thấy đó là một hệ thống khá đơn giản vì không hề có
phần tử phản hồi. Điều này có được vì động cơ bước trong quá trình hoạt động
không gây ra sai số tích lũy, sai số của động cơ do sai số trong khi chế tạo. Việc sử
dụng động cơ bước tuy đem lai độ chính xác chưa cao nhưng ngày càng được sử
dụng phổ biến. Vì công suất và độ chính xác của bước góc đang ngày càng được cải
thiện.
b.Mạch điều khiển động cơ bước module UNL2003
Module điều khiển động cơ bước ULN2003 + động cơ bước gồm một mạch
điều khiển động cơ bước dùng ULN2003 và động cơ bước 28BYJ-48. Dạng module

này giúp các bạn muốn điều khiển động cơ bước 5 dây thì không phải mất công hàn
mạch mà có thể kết nối trực tiếp từ KIT .

Hình 11: Kết nối động cơ bước với arduino

Vũ Đức Tuấn KTĐTT06-K58

22


Đồ án tốt nghiệp

Thông số kỹ thuật ULN2003:
- Điện áp: 5 ~ 12v
- Tín hiệu ngõ vào: 4 chân In 1; In2; In3 : In4
- Tín hiệu ngõ ra: Jack cắm động cơ bước 28BYJ-48
- 4 Led hiện thị trạng thái hoạt động của động cơ
2.1.5 Ethernet shield
Ethernet shield là một mạch mở rộng cho arduino, giúp arduino có thể kết nối
với thế giới internet rộng lớn. Ứng dụng của shield này là truyền nhận thông tin
giữa arduino với thiết bị bên ngoài sử dụng internet, shield này đặc biệt hữu ích cho
các ứng dụng IoT, điều khiển và kiểm soát hệ thống vì internet luôn liên tục, dữ liệu
truyền đi nhanh, khoảng cách là vô tận( trong Trái Đất thôi, với phải có mạng nữa)
ăn đứt sóng RF , rẻ hơn với cách truyền từ xa bằng tin nhắn.
Phiên bản shield này có tích hợp khe cắm thẻ micro SD, có thể được sử
dụng để lưu trữ các tập tin phục vụ qua mạng. Ethernet Shield tương thích với
Arduino Uno và Mega (sử dụng Ethernet Thư viện). Bạn có thể truy cập vào khe
cắm thẻ trên board và sử dụng thư viện SD được bao gồm tích hợp trong bộ thư
viện có sẵn trong trình biên dịch arduino.
IC điều khiển W5100 trên Ethernet Shield có thể thực hiện truyền dữ liệu

thông qua 2 giao thức là TCP và UDP. Số đường truyền dữ liệu song song tối đa là
4. Đây chính là điểm mạnh của W5100 so với Microchip ENC28J60. Khả năng
truyền song song cùng lúc 4 luồng dữ liệu giúp board có khả năng nhận dữ liệu từ
internet với tỉ lệ lỗi thấp hơn (nguyên nhân thường là do mất dữ liệu trên đường
truyền hoặc do thời gian truyền vượt quá giới hạn - time out).

Hình 12: Ethernet Sheld

Vũ Đức Tuấn KTĐTT06-K58

23


Đồ án tốt nghiệp

Thông số kỹ thuật
Để sử dụng phải có board mạch Arduino đi kèm
- Hoạt động tại điện áp 5V (được cấp từ mạch Arduino)
- Chip Ethernet: W5100 với buffer nội 16KB
- Tốc độ kết nối: 10/100Mb
- Kết nối với mạch Arduino qua cổng SPI
- Thư viện và code mẫu có sẵn trong chương trình Arduino
Lưu ý rằng: bởi vì W5100 và SD card sử dụng chung chuẩn truyền SPI, vì vậy một
thiết bị duy nhất có thể được hoạt động tại một thời điểm. Nếu bạn đang sử dụng cả
hai thiết bị ngoại vi trong chương trình của bạn, điều này cần được xử lý bởi các thư
viện tương ứng.
Ứng dụng :
 ChatServer : thiết lập một máy chủ trò chuyện đơn giản.
 WebClient : tạo một yêu cầu HTTP.
 WebClientRepeating : Thực hiện các yêu cầu HTTP lặp lại.

 WebServer : lưu trữ một trang HTML đơn giản hiển thị các giá trị cảm biến
tương tự.
 BarometricPressureWebServer : đưa ra các giá trị từ cảm biến áp suất khí
quyển như một trang web.
 UDPSendReceiveString : Gửi và nhận chuỗi văn bản qua UDP.
 UdpNtpClient : Truy vấn máy chủ Giao thức Thời gian Mạng (NTP) bằng
UDP.
 DnsWebClient : DNS và trình khách Web dựa trên DHCP.
 DhcpChatServer : Máy chủ trò chuyện DHCP đơn giản
 DhcpAddressPrinter : Nhận địa chỉ IP qua DHCP và in ra
 TelnetClient : Một ứng dụng Telnet đơn giản

2.2 Tổng quan về X-plane

Vũ Đức Tuấn KTĐTT06-K58

24


×