Nghiên cứu giải thuật cho hệ thống

Một phần của tài liệu thiết kế và thực hiện giá ăng ten tự xoay bám theo quỹ đạo của vệ tinh cubesat (Trang 38)

3.4.1 Sơ đồ giải thuật của hệ thống:

Hệ thống hoạt động theo giải thuật sau:

Bắt đầu

- Người dùng khởi động phần mềm điều khiển, lựa

chọn vệ tinh cần theo dõi

- Hệ thống tự động quay các trục Az,El về giá trị

ban đâu 0 độ

Thời gian hệ thống có bằng thời gian trong dữ

liệu quỹ đạo vệ tinh

không?

-Lấy dữ liệu góc Az/El -Hiển thị lên giao diện

-Gọi chương trình con điều

khiển góc Az, và El

Cập nhật thông số sau

khi điều khiển lên giao diện Nút Stop trên phần mềm có được ấn không? Không Có Kết thúc Không

32

3.4.2 Sơ đồ giải thuật điều khiển góc phương vị (Azimuth):

Nhận giá trị góc cần điều khiển Az

từ hệ thống

Đọc cảm biến la bàn

Giá trị cảm biến bằng giá trị điều khiển?

Sai Laban nhỏ

hơn Az? Sai

Laban lớn hơn Az? Đúng Bước nghịch Đọc cảm biến la bàn Đúng Bước thuận Đọc cảm biến la bàn Trả về vị trí hiện tại, hiển thị lên

phần mềm Đúng

Kết thúc Sai

Bắt đầu

33

3.4.2.1 Chương trình con move_to

Số bước hơn hơn 200 ?

Đúng Số bước trừ cho 400.

Khởi tạo biến đếm i=0

Biến đếm nhỏ hơn trị tuyệt đối

của số bước?

Đúng

-Bước nghịch Tăng biến đếm lên 1

Sai

Biến đếm j bằng số bước?

Bước thuận Tăng biến đếm j lên 1

Kết thúc Bắt đầu

Đúng Sai Sai

Tính ra số bước cần phải bước.

34

3.4.3 Sơ đồ giải thuật điều khiển góc nghiêng (Elevation):

Bắt đầu

* Nhận giá trị góc El * Đọc cảm biến MPU6050

* khởi tạo biến đếm

Cảm biến có bằng góc El và biến đếm

có nhỏ hơn 5?

Tăng biến đếm lên 1 Đọc giá trị cảm biến MPU6050 Cảm biến nhỏ hơn El ? Đúng Bước nghịch Đọc cảm biến MPU6050 Sai Cảm biến lớn hơn El? Đúng Bước thuận Đọc cảm biến MPU6050 Trả về giá trị kết quả

góc nghiêng hiện tại Sai

Kết thúc

35

CHƯƠNG 4 PHẦN MỀM

Chương này bao gồm các nội dung sau:

 Giới thiệu tổng quan về giao diện chương trình  Giới thiệu về phần mềm Gpredict

 Giải thuật giao tiếp với hệ thống  Các giải thuật đồ họa

4.1 TỔNG QUAN VỀ GIAO DIỆN CHƯƠNG TRÌNH 4.1.1 Giao diện chương trình 4.1.1 Giao diện chương trình

Hình 4.1: Giao diện chương trình phần mềm

4.1.2 Chức năng hoạt động

Chức năng hoạt động của chương trình như sau:

 Open file: Mở file text đã lưu từ chương trình Gpredict.  GPREDICT: Mở chương trình Gpredict.

 Run: Khởi động hệ thống.

 Stop: Ngừng chương trình giám sát vệ tinh.

 Đồ thị truyền: Mở đồ thị truyền dữ liệu từ file text đến hệ thống.  Đồ thị kết quả: Mở biều đồ kết quả thực hiện của hệ thống.  Đồ thị sai số: Mở đồ thị để xem sai số của hệ thống

36

4.1.3 Giải thuật chương trình phần mềm

Bắt đầu

Hiển thị giao diện cương trình Đọc dữ liệu quỹ đạo từ file text

Nút Run có được nhấn hay không? Thực hiện chương trình hình 3.22 Click các nút tùy chọn khác Kết thúc Có Không

37

4.1.4 Giải thuật thực hiện các nút tùy chọn:

Bắt đầu Đồ họa chương trình Nhấn nút GPREDICT ? Nhấn nút Transmit? Nhấn nút Result? Nhấn nút Error Nhấn nút Help? Đúng Mở chương trình Gpredict

Đúng Xem biểu đồ của dữ liệu

Đúng Xem biểu đồ của kết quả thực hiện

Đúng

Xem biểu đồ sai số của kết quả với dữ

liệu Đúng Hướng dẫn Sai Sai Sai Sai Kết thúc

38

4.2 PHẦN MỀM GPREDICT[9]

4.2.1 Giao diện chương trình Gpredict

Hình 4.4: Giao diện chương trình Gpredict

4.2.2 Xác định trạm thu trên phần mềm Gpredict

Xác định các thông tin của trạm thu trên phần mềm:

Name: Tên của trạm thu.

Description: Đặc tả về trạm thu.

Location: Vị trí trạm thu.

Latitude: Vĩ độ.

Longitude: Kinh độ.

Locator: Ranh giới của trạm thu.

Altitude: Độ cao.

39

4.2.3 Các vệ tinh cần theo dõi trên phần mềm Gpredict

Phần mềm Gpredict cung cấp một số lượng lớn thông tin của các vệ tinh cần theo dõi từ trạm thu mặt đất:

Module Name: Tên nhóm của các vệ tinh được chọn hiện tại.

Ground Station: Trạm thu mặt đất.

Search : Tìm kiếm vệ tinh.

Group: Phân loại nhóm các vệ tinh.

Selected Satellites: Các vệ tinh được lựa chọn.

Properties: Cách thức miêu tả của Module.

: Cho vào danh sách các vệ tinh được theo dõi

: Loại khỏi danh sách các vệ tinh được theo dõi.

Hình 4.6: Giao diện mô tả danh sách các vệ tinh cần theo dõi

4.2.4 Dữ liệu vệ tinh

Để mô tả thông tin của các vệ tinh về thời gian chúng đi qua, góc phương vị, góc ngẩng, khoảng cách thì phần mềm Gpredict cung cấp thông tin được lưu dưới file text.

Data: Dữ liệu của vệ tinh.  Time: Mốc thời gian.

 Az: Góc phương vị.  El: Góc ngẩng.

 Range: Khoảng cách từ vệ tinh đến trạm thu.  Footp: Vùng phủ sóng của vệ tinh.

Polar: Mô tả đường đi của vệ tinh so với trạm thu trên trục tọa độ.

40

Hình 4.7: Mô tả thông tin dữ liệu của vệ tinh

Hình 4.8: Đường đi của vệ tinh trên trục tọa độ

41

4.3 CÁC GIẢI THUẬT GIAO TIẾP VỚI HỆ THỐNG 4.3.1 Dạng file text của dữ liệu 4.3.1 Dạng file text của dữ liệu

Dữ liệu của hệ thống được lưu dưới dạng tập tin có đuôi *.txt được chia thành các cột bao gồm các thông tin về thời gian vệ tinh đi qua, góc phương vị, gốc ngẩng, khoảng cách từ trạm thu đến vệ tinh,... Để giao tiếp với hệ thống, ta cần lấy các thông tin về thời gian đi cùng với góc phương vị và góc ngẩng trong mỗi hàng của file text được lưu từ phần mềm Gpredict. Trong phần xem dữ liệu trong lương lai của phần mềm Gpredict, ta chọn phần chỉ lưu dữ liệu từ file text.

Hình 4.10: Lưu dữ liệu dưới dạng file text

Thông tin về file text được lưu từ phần mềm Gpredict như sau:

Save in foder: Đường dẫn lưu dữ liệu file text

Save using name : Tên file text được lưu

Save as: Lưu lại lần nữa.File contents: Cách thức lưu lại của file text

4.3.2 Giải thuật truyền dữ liệu từ file text

Giải truyền dữ liệu từ file text xuống hệ thống được thực hiện như sau:

Bắt đâu Mở file text Đọc thời gian dữ liệu Đọc thời gian hệ thống

Thời gian dữ liệu bằng thời gian hệ thống không? Đúng Đọc giá trị góc Az, El Gọi chương trình điều khiển 2 góc Az, El Sai

42

4.4 CÁC GIẢI THUẬT ĐỒ HỌA

4.4.1 Mô phỏng dữ liệu bằng cách vẽ hình trên nền Canvas

Công cụ Canvas là một phần tử của lập trình giao diện đồ họa Tkinter. Từ công cụ Canvas ta có thể lập trình kết xuất đồ họa các đối tượng hai chiều trền giao diện. Để mô phỏng góc phương vị của hệ thống, ta vẽ giao diện giống mô phỏng của la bàn số. Bao gồm các thông tin được ghi:

N: Điểm cực Bắc tương ứng với giá trị 0o S : Điểm cưc Nam tương ứng với giá trị 180o

E: Điểm cực Tây tương ứng với giá trị 270o

W: Điểm cực Đông tương ứng với giá trị 90o

Để mô phỏng góc ngẩng, ta vẽ cung đường tròn với điểm xuất phát là 90o theo cách vẽ của góc phương vị.

Hình 4.12:Mô phỏng góc phương vị và góc ngẩng trên hệ thống

4.4.2 Vẽ hình

Vẽ đường tròn:

Trong giao diện Tkinter để vẽ một hình bầu dục, hình elip hoặc hình tròn là một trường hợp đặt biệt, cần xác định được bởi tọa độ (xo,yo) của góc trên bên trái và tọa độ (x1,y1) của góc dưới bên phải của hình bầu dục như sau:

Hình 4.13: Cách vẽ đường tròn trong phân tử Canvas của giao diện Tkinter

Vẽ đoạn thẳng:

Để vẽ đoạn thẳng trên giao diên Canvas cần xác định được tọa độ hai đầu mút là A(xA,yA) và B(xB,yB). Độ dài của đoạn thẳng được tính bởi công thức sau:

,

43

Hình 4.14: Tọa độ của đoạn thẳng

Vẽ vector hướng từ tâm đến tọa độ tương ứng với dữ liệu :

Để vẽ một vector hướng từ tâm đến đến tọa độ xác định trên hình tròn, ta cần xác định được công thức tìm tọa độ một điểm trên đường tròn:

x=Rcos y=Rsin

trong đó: là góc quay được trên đường tròn. R là bán kính của đường tròn.

44

4.4.3 Giải thuật vẽ hình mô phỏng dữ liệu

Giải thuật vẽ hình trên giao diện để mô phỏng dữ liệu như sau:

Bắt đâu Vẽ tâm và đường tròn Vẽ mô phỏng la bàn số Định dạng đồ họa cho hình mô

phỏng Đọc dữ liệu từ hệ thống Tìm tọa độ (x,y) trên đường tròn tương ứng với dữ liệu Vẽ mũi tên từ tâm đến tọa độ (x,y) trên đường

tròn Cập nhật dữ liệu Bật ngắt Kết thúc Đúng Sai

45

4.4.4 Giải thuật cập nhật và hiển thị dữ liệu ra giao diện chương trình

Giải thuật đọc dữ liệu và hiển thị dữ liệu ra giao diện chương trình như sau:

Bắt đâu

Gán dữ liệu ban đầu là 0 Định dạng đồ họa cho dữ liệu

Đọc dữ liệu từ hệ thống Hiển thị dữ liệu ra giao diện Cập nhật dữ liệu mới Bật ngắt ? Kết thúc Đúng Sai

Hình 4.17: Giải thuật hiển thị dữ liệu và hiển thị dữ liệu ra giao diện

4.4.5 Giới thiệu công cụ MATPLOTLIB

Matplotlib: là một thư viện vẽ đồ thị 2D dành cho ngôn ngữ lập trình Python và mở rộng dành cho việc tính toán dữ liệu của nó là thư viện Numpy. Matplotlib cho phép nhúng một đối tượng của chương trình nhằm mục đích phát họa đồ thị, hình ảnh, biểu đồ, nhiễu xạ… trên bộ công cụ GUI như wxPython, Qt hoặc Gtk+. Ngoài ra Matplot còn có một công cụ đó là “pylab” dựa trên hệ thống phần mềm OpenGL, được thiết kế một cách chặt chẽ giống như như MATLAB.

Numpy: là một gói chương trình phục vụ cho các tính toán khoa học bằng ngôn ngữ lập trình Python.

46 Để sử miêu tả dữ liệu đã thực hiện của hệ thống theo thời gian, ta sử dụng bộ công cụ MatplotlibNumpy để vẽ đồ thị, thuận tiện cho việc đánh giá kết quả thực hiện được so với yêu cầu cho hệ thống. Đồ thị được vẽ bao gồm:

 Tên biểu đồ, các chú thích các trục trên đồ thị.

 Hai trục tung để biểu diễn góc phương vị (phía bên trái đồ thị) và góc ngẩng (phía bên phải đồ thị).

 Trục hoành biểu diễn cho thời gian tương ứng với giá trị góc phương vị và góc ngẩng của hệ thống.

.

47

KẾT QUẢ

1. Thiết kế được mô hình mô phỏng hệ thống hoạt động

Hình 0.1: Hình ảnh thực tế mô hình hệ thống giá xoay ăng-ten

2. Phần mềm điều khiển và hiển thị của hệ thống

48 3. Một số dữ liệu khi giám sát các vệ tinh:

** Dữ liệu vệ tinh CANX vào 10:06:18 ngày 16/05/2015:

Hình 0.3: Biểu đồ truyền và kết quả

Hình 0.4: Biểu đồ sai số 2015/05/16 10:06:18 146.64 -1.83 3540 6151 2015/05/16 10:07:03 144.51 0.59 3265 6148 2015/05/16 10:07:47 141.99 3.18 2994 6145 2015/05/16 10:08:32 138.97 5.99 2729 6143 2015/05/16 10:09:16 135.28 9.05 2473 6141 2015/05/16 10:10:01 130.68 12.40 2230 6139 2015/05/16 10:10:45 124.84 16.03 2005 6138 2015/05/16 10:11:29 117.34 19.87 1804 6137 2015/05/16 10:12:14 107.69 23.67 1639 6136 2015/05/16 10:12:58 95.58 26.87 1521 6135 2015/05/16 10:13:43 81.36 28.67 1461 6135 2015/05/16 10:14:27 66.39 28.46 1468 6135 2015/05/16 10:15:11 52.51 26.31 1540 6135 2015/05/16 10:15:56 40.90 22.92 1668 6136 2015/05/16 10:16:40 31.73 19.08 1842 6137 2015/05/16 10:17:25 24.64 15.25 2049 6138 2015/05/16 10:18:09 19.13 11.66 2279 6140 2015/05/16 10:18:54 14.79 8.36 2527 6141 2015/05/16 10:19:38 11.32 5.34 2786 6143 2015/05/16 10:20:22 8.50 2.56 3054 6145

49

** Vệ tinh AAU-CUBESAT vào lúc “09:31:00” ngày 10/05/2015

Hình 0.5: Hình ảnh dữ liệu lúc 09:32:24

Hình 0.6: Biểu đồ dữ liệu và kết quả sau khi quay

50

**Vệ tinh AAU-CUBESAT lúc 10:45:00 ngày 16/05/2015

Hình 0.8: Biểu đồ dữ liệu và kết quả

Hình 0.9: Biểu đồ sai số 2015/05/16 10:45:04 164.38 0.00 3329 6153 2015/05/16 10:45:50 164.01 2.89 3024 6150 2015/05/16 10:46:36 163.58 6.11 2719 6147 2015/05/16 10:47:21 163.03 9.80 2416 6144 2015/05/16 10:48:07 162.33 14.14 2117 6142 2015/05/16 10:48:53 161.36 19.44 1825 6140 2015/05/16 10:49:39 159.93 26.19 1544 6139 2015/05/16 10:50:25 157.58 35.19 1283 6137 2015/05/16 10:51:11 153.01 47.63 1057 6137 2015/05/16 10:51:56 140.51 64.33 894 6136 2015/05/16 10:52:42 77.36 78.00 832 6136 2015/05/16 10:53:28 13.73 64.43 893 6136 2015/05/16 10:54:14 1.17 47.69 1056 6136 2015/05/16 10:55:00 356.60 35.24 1282 6137 2015/05/16 10:55:45 354.29 26.22 1543 6138 2015/05/16 10:56:31 352.91 19.46 1824 6139 2015/05/16 10:57:17 352.00 14.15 2116 6140 2015/05/16 10:58:03 351.37 9.80 2415 6142 2015/05/16 10:58:49 350.92 6.11 2718 6144 2015/05/16 10:59:34 350.58 2.88 3023 6146

51

***Nhận xét lấy mẫu:

Qua 3 lần lấy mẫu ta thấy chỉ có ở dữ liệu Vệ tinh AAU-CUBESAT vào lúc “09:31:00” ngày 10/05/2015 là có 2 sai số không đạt với yêu cầu; cụ thể là dữ liệu lần thứ 2, trục Az bị sai gần bằng 2 độ và lần thức 12 trục El sai số gần 4 độ. Theo nhận xét sai số này chỉ là yếu tố khách quan trong quá trình lấy mẫu. Các mẫu còn lại vẫn đúng với yêu cầu đề tài đặt ra.

52

KẾT LUẬN VÀ KIẾN NGHỊ

Sau quá trình nghiên cứu và xây dựng hệ thống giá ăng-ten tự xoay bám theo quỹ đạo của vệ tinh CubeSat. Nhóm đã hoàn thành đúng tiến độ và đạt được yêu cầu đề ra ban đầu:

PHẦN CỨNG:

 Thiết kế được mô hình hệ thống giá xoay anten bám theo vệ tinh CubeSat.  Hệ thống có thể bám theo một vệ tinh CubeSat bất kỳ.

 Sai số góc phương vị và góc ngẫn sau khi điều khiển đạt yêu cầu đưa ra ban đầu (≤ 1 độ ).

PHẦN MỀM:

 Xây dựng được phần mềm điều khiển hệ thống với giao diện trực quan, dễ sử dụng.

 Hiển thị thông số dữ liệu quỹ đạo vệ tinh.  Hiển thị thông số của hệ thống quay được  Các biểu đồ trục Az/El.

 Biểu đồ sai số các trục giữa dữ liệu quỹ đạo vệ tinh và hệ thống điều khiển.

KIẾN NGHỊ:

 Tìm ra các giải thuật điều khiển khác để điều khiển hệ thống tốt hơn.  Sử dụng driver cho động cơ bước để có khả năng bước góc bước nhỏ hơn  Thiết kế hệ thống giá xoay thực tế, và lắp thử ăng-ten để thu tín hiệu.

53

TÀI LIỆU THAM KHẢO

[1] Nguyễn Duy Khánh, Lê Văn Tươi, LVTN Máy bay tự động – Khoa Công Nghệ, Đại học Cần Thơ, 2014

[2] TS. Phùng Văn Vận: Đề tài KC.01.19 “Nghiên cứu cấu trúc hệ thống viễn thông mặt đất để sử dụng hiệu quả vệ tinh VINASAT – Nội dung 5”,2005.

[4] Hiệu chỉnh cảm biến la bàn HMC5883L

http://blog.bitify.co.uk/2013/11/connecting-and-calibrating-hmc5883l.html

[5] Raspberry website https://www.raspberrypi.org/

[6] Datasheet L293D

[7] Datasheet HMC5883L 3-Axis Digital Compass IC

[8] Datasheet MPU6000 & MU6050 Register Map and Descriptions Revision 4.0.

[9] Gpredict http://gpredict.oz9aec.net/

[10] Python https://www.python.org

[11] Nguyễn Hồng Ân: Hệ pin quan điện bám mặt trời thu năng lượng tối ưu, LVTN – Khoa Công Nghệ, ĐH Cần Thơ, 2011.

[12] Vũ Trọng Thư, Phạm Quang Hưng, Nguyễn Hoàng Giang – “Tiềm năng lớn của vệ tinh siêu nhỏ đáp ứng nhu cầu viễn thông, viễn thám của Việt Nam”, ĐH FPT.

Một phần của tài liệu thiết kế và thực hiện giá ăng ten tự xoay bám theo quỹ đạo của vệ tinh cubesat (Trang 38)

Tải bản đầy đủ (PDF)

(66 trang)