Viết firmware cho vi điều khiển

Một phần của tài liệu ĐỊNH VỊ MÁY BAY KHÔNG NGƯỜI LÁI (Trang 78)

2.4.1.1. Yêu cầu chức năng

Firmware được nạp và chạy trực tiếp trên vi điều khiển ATmega128 nằm trên bo mạch xử lí tín hiệu và thực hiện các chức năng sau:

 Đọc bảng tra (lookup table) mối quan hệ giữa góc dịch pha và giá trị logic điều khiển IC dịch pha PE44820 lưu trên EEPROM: giao tiếp với IC EEPROM AT24C16, thực hiện ghi một lần duy nhất giá trị bảng tra và đọc trong các lần tiếp theo.

 Tính toán giá trị dịch pha cần thiết.

 Điều khiển khối dịch pha: điều khiển các chân logic của IC dịch pha PE44820.

 Điều khiển khối LNA: cho phép bật một hay hai tầng khuếch đại trong IC LNA QPL9065.

 Điều khiển khối đo công suất: điều khiển các chế độ hoạt động của IC HMC1120.

 Giao tiếp với khối ADC: điều khiển chế độ hoạt động và giao tiếp với IC ADC MAX1147.

 Hiển thị, gửi dữ liệu: hiển thị dữ liệu cần thiết lên LCD 8x2; gửi dữ liệu giá trị công suất tại mỗi góc quét và nhận dữ liệu điều khiển từ phần mềm giao diện người dùng trên máy tính.

2.4.1.2. Công cụ lập trình Arduino IDE

Arduino IDE là trình biên dịch cho phép soạn thảo code, dịch sang mã hex, nạp code, là công cụ hỗ trợ rất mạnh cho công việc phát triển firmware trên các dòng vi điều khiển của Atmel, đặc biệt là các dòng kit Arduino.

Hình 2.47 Giao diện trình biên dịch Arduino IDE

Với các bộ thư viện được hỗ trợ và phát triển bởi cộng đồng sử dụng Arduino vô cùng đông đảo trên thế giới, việc lập trình sử dụng các dòng vi điều khiển ATmega trở nên đơn giản và nhanh chóng hơn rất nhiều.

2.4.1.3. Thiết kế lưu đồ hoạt động của firmware

Firmware trên vi điều khiển ATmega128 hoạt động theo trình tự như mô tả ở Hình 2.48, với chi tiết các bước như sau:

 Bước 1: cấu hình IC đo công suất HMC1120 ở trạng thái có thời gian lấy tích phân đo công suất hiệu dụng (4 bit SCI) lớn nhất để giảm độ gợn tín hiệu đầu ra.

 Bước 2: bắt đầu vào vòng lặp, vi xử lí sẽ thực hiện tính toán góc dịch pha cần thiết tại mỗi góc quét bằng công thức:

(2.12)

 Bước 3: vi điều khiển giao tiếp với IC EEPROM AT24C16 để lấy giá trị tín hiệu logic điều khiển IC dịch pha PE44820 đã được lưu sẵn qua giao tiếp I2C, sử dụng thư viện Eeprom24Cxx.h.

 Bước 4: điều khiển IC dịch pha PE44820 theo các giá trị logic đã lấy được ở trên, thông qua các chân LE, CLK, DIN của IC PE44820 theo chế độ giao tiếp nối tiếp được nhà sản xuất quy định trong datasheet.

 Bước 5: đọc giá trị ADC từ IC HMC1120 bằng IC ADC MAX1147 qua giao tiếp SPI.

 Bước 6: tính toán công suất từ giá trị điện áp thu được bằng công thức: (2.13) với là giá trị điện áp đầu ra IC HMC1120.

34 là độ dốc của đặc tuyến điện áp – công suất. là độ lệch 0 của đặc tuyến điện áp – công suất.

 Bước 7: vi điều khiển gửi dữ liệu góc quét và công suất tương ứng với góc quét tới phần mềm giao diện trên máy tính qua giao tiếp UART, với tốc độ baud 500000.

 Bước 8: vi điều khiển kiểm tra xem có lệnh điều khiển chờ thực hiện gửi từ phần mềm giao diện tới qua giao tiếp UART hay không, sau đó quay lại vòng lặp từ bước 2.

2.4.2. Thiết kế phần mềm giao diện2.4.2.1. Yêu cầu chức năng 2.4.2.1. Yêu cầu chức năng

Phần mềm giao diện người dùng được cài đặt và chạy trên máy tính, và thực hiện các chức năng sau:

 Kết nối và nhận dữ liệu từ mạch xử lí tín hiệu theo chuẩn giao tiếp nối tiếp (serial).

 Tạo giao diện và các lựa chọn cài đặt kết nối với mạch xử lí tín hiệu.

 Hiển thị giao diện kết quả đo dưới dạng đồ thị trực quan với người dùng.

 Gửi dữ liệu điều khiển cần thiết trở lại mạch xử lí tín hiệu tín hiệu. 2.4.2.2. Công cụ lập trình Visual Studio

Hình 2.49 Giao diện công cụ lập trình Visual Studio 2017

Visual Studio là một công cụ lập trình rất mạnh của hãng Microsoft. Nó cung cấp môi trường phát triển tích hợp (IDE) cho người dùng, sử dụng để phát triển các ứng dụng trên máy tính, giao diện web, ứng dụng điện thoại … Đặc biệt, với nền tảng lập trình phần mềm giao diện Winform, người dùng có thể dễ dàng một giao diện phần mềm trực quan, nhanh gọn, đi kèm cùng rất nhiều công cụ, hàm có thể tương tác trực tiếp với các thành phần của máy tính như chuột, bàn phím, cổng USB …

Phần mềm giao diện trong hệ thống phát hiện và định vị UAV do em phát triển được xây dựng chính trên nền tảng Winform, kết hợp với gói công cụ tạo đồ thị Scichart trên nền tảng Xml. Kết quả tạo nên một giao diện tương tác với cổng USB theo chuẩn giao tiếp nối tiếp (serial) tương đối đơn giản, dễ thao tác, đồng thời có được một giao diện đồ thị trực quan, bắt mắt.

2.4.2.3. Thiết kế lưu đồ hoạt động của phần mềm giao diện

Phần mềm giao diện hoạt động theo lưu đồ như Hình 2.50, với chi tiết các bước như sau:

Hình 2.50 Lưu đồ hoạt động của phần mềm giao diện

 Bước 1: kiểm tra các cổng COM đã kết nối với máy tính và hiển thị danh sách các cổng đã kết nối lên phần mềm giao diện để người dùng lựa chọn kết nối.

 Bước 2: phần mềm chờ lệnh kết nối với cổng COM đã lựa chọn từ người dùng và tiến hành kết nối theo các cài đặt kết nối đã được thiết lập.

 Bước 3: phần mềm kiểm tra khối dữ liệu nhận được từ cổng COM xem đã đúng khuôn dạng hay chưa. Nếu khuôn dạng sai thì bỏ không lấy, nếu đúng thì bóc tách dữ liệu cần thiết từ khối dữ liệu và lưu lại. Dữ liệu gửi từ phần cứng có khuôn dạng như sau:

TT|BBBB|GGG

Trong đó: TT là 2 kí tự thể hiện thứ tự cần lưu giá trị biên độ trong mảng. BBBB là 4 kí tự thể hiện giá trị biên độ nhận được.

GG là 3 kí tự thể hiện góc quét hiện tại.

 Bước 4: sau khi đã đã đọc được giá trị dữ liệu theo đúng khuôn dạng, phần mềm sẽ tiến hành thêm các thuật toán cần thiết nếu người dùng cho phép

thực hiện như thuật toán loại bỏ búp sóng phụ, thuật toán bám bắt tăng cường …

 Bước 5: hiển thị dữ liệu cần thiết lên biểu đồ. 2.4.3. Mô tả phần mềm giao diện

Phần mềm do em thiết kế có giao diện như Hình 2.51 dưới đây.

Hình 2.51 Giao diện phần mềm

Cửa sổ bên trái thực hiện các chức năng sau:

 Thiết lập các thông số cài đặt của kết nối Serial giữa phần cứng và máy tính.

 Hiển thị hướng sóng tới từ mục tiêu đi kèm bản đồ để người dùng nắm bắt.

 Hiển thị góc hướng sóng tới, biên độ công suất thu được, cảnh báo trạng thái bình thường hay nguy hiểm (khi công suất thu được lớn hơn bất thường so với nền nhiễu).

 Cho phép bật/tắt các tính năng thuật toán nâng cao.

 Hiển thị thêm các thông tin cần thiết dùng khi debug lỗi. Cửa sổ bên phải là giao diện đồ thị với các chức năng sau:

 Hiển thị đồ thị dạng đường mối quan hệ giữa biên độ ứng với góc quét tương ứng (trục tung là cường độ tín hiệu, trục hoành là góc quét).

 Hiển thị đồ thị dạng bản đồ nhiệt quan hệ giữa biên độ - góc quét - thời gian thể hiện sự di chuyển của mục tiêu theo thời gian (trục tung là thời gian, trục hoành là góc quét, màu đậm/nhạt ứng với cường độ mạnh/yếu). Trong đồ thị trên hình vẽ, mục tiêu đang di chuyển từ trung tâm sang phía bên trái.

 Hiển thị thang cường độ màu để người dùng điều chỉnh sao cho nổi bật được mục tiêu trên nền nhiễu.

Phần mềm tuy chưa được đẹp mắt, chưa có khả năng chạy tự động hoàn toàn, nhưng vẫn cơ bản đáp ứng được các chức năng cơ bản để thiết lập các cài đặt kết nối với mạch xử lí tín hiệu và hiển thị hướng sóng tới từ mục tiêu. Em sẽ cố gắng hoàn thiện và cải tiến thêm trong thời gian tới.

2.5. Kết luận

Trong chương 2, em đã hoàn thành xây dựng nguyên lí hoạt động của hệ thống; hoàn thành thiết kế, mô phỏng, chế tạo, đo đạc anten với tất cả các chỉ tiêu về dải tần và suy hao phản xạ đều đạt so với yêu cầu đặt ra; hoàn thành thiết kế chi tiết các khối, thiết kế mạch in và hoàn thiện lắp đặt linh kiện mạch xử lí tín hiệu; hoàn thành viết firmware và phần mềm giao diện trên máy tính. Toàn bộ các thành phần trên đã hoàn chỉnh để hệ thống có thể hoạt động. Trong chương tiếp theo, em sẽ tiến hành thực hiện các kịch bản đo để đánh giá đầy đủ các thông số kĩ thuật của hệ thống, từ đó đưa ra các hiệu chỉnh về phần cứng và phần mềm thích hợp.

CHƯƠNG 3: ĐO ĐẠC VÀ ĐÁNH GIÁ HỆ THỐNG

Trong chương này, em sẽ thực hiện các kịch bản đo đối với một bộ thiết bị duy nhất do chưa có thời gian và kinh phí để chế tạo thêm hai trạm thu như mô hình kịch bản hoạt động ở mục 2.1.2.3. Các kịch bản đo này nhằm đánh giá các thành phần của một trạm thu hoàn chỉnh, bao gồm mạch xử lí tín hiệu và hoạt động của trạm thu khi ghép anten và mạch xử lí tín hiệu.

3.1. Đo các khối của mạch xử lí tín hiệu

3.1.1. Đo chất lượng đường truyền siêu cao tần3.1.1.1. Xây dựng kịch bản đo 3.1.1.1. Xây dựng kịch bản đo

 Mục đích: đánh giá chất lượng đường truyền vi dải trên mạch bằng phép đo ma trận tán xạ, so sánh với mô phỏng để đánh giá chất lượng gia công mạch.

 Máy đo sử dụng: máy phân tích mạng vector Protek A333.

 Thiết lập kịch bản đo: hàn hai đoạn cáp đồng trục vào hai đầu đường truyền vi dải, sau đó nối dây đo cổng 1 và cổng 2 của máy phân tích mạng vào hai đầu connector của hai đoạn cáp vừa hàn.

Hình 3.1 Mô tả kịch bản đo chất lượng đường truyền siêu cao tần mạch dải

Kết quả đo ma trận tán xạ đường truyền siêu cao tần vi dải dài khoảng 10mm trên mạch bốn lớp thu được như Hình 3.2.

Hình 3.2 Kết quả đo ma trận tán xạ đường truyền vi dải trên mạch bốn lớp

Tổng hợp lại kết quả đo và đánh giá, em có Bảng 3.1 sau:

Bảng 3.1 Đánh giá kết quả đo đường truyền siêu cao tần trên mạch bốn lớp

Thông số Kết quả mô phỏng Yêu cầu Kết quả đo Đánh giá

Suy hao phản xạ 45 dB > 10 dB 4,7 dB Không đạt

Suy hao xen 0,2 dB < 0,5 dB 1,7 dB Không đạt

Như vậy, đường truyền siêu cao tần mạch vi dải trên mạch xử lí tín hiệu bốn lớp đã không đạt được các yêu cầu về suy hao phản xạ và suy hao xen đề ra. Nguyên nhân có thể là do khi gia công PCB bốn lớp, nhà sản xuất vẫn sử dụng vật liệu FR-4 làm lõi giữa (lớp core) giữa lớp 2 và lớp 3, nhưng giữa lớp 1 và lớp 2 (lớp prepreg) lại sử dụng vật liệu kết dính khác không phải FR-4. Do đó làm sai lệch hệ số điện thẩm εr so với mô phỏng và tính toán. Với đường truyền tín hiệu chất lượng kém như vậy, sẽ không thể cho kết quả đúng so với mô phỏng ở các khối được.

Để khắc phục vấn đề này, em đã làm lại 2 PCB module bộ dịch pha và bộ ghép công suất, bộ khuếch đại tạp âm thấp với PCB 2 lớp, vật liệu FR-4, độ dày

0,6mm. Kết quả đo ma trận tán xạ đường truyền siêu cao tần dài 10mm thu được như Hình 3.3

Hình 3.3 Kết quả đo ma trận tán xạ đường truyền vi dải trên mạch mới chế tạo

Tổng hợp lại kết quả đo và đánh giá, em có bảng sau:

Bảng 3.2 Đánh giá kết quả đo đường truyền siêu cao tần trên PCB mới chế tạo

Thông số Kết quả mô phỏng Yêu cầu Kết quả đo Đánh giá

Suy hao phản xạ 45 dB > 10 dB 20,9 dB Đạt

Suy hao xen 0,2 dB < 0,5 dB 0,37 dB Đạt

Như vậy, kết quả đo đã hoàn toàn đạt yêu cầu, khi mà các chỉ tiêu đều đạt và dải phối hợp trở kháng của đường truyền rất rộng (đến 3,2 GHz). Từ đó đánh giá được mạch đã được sản xuất đúng với yêu cầu đặt ra, và có thể sử dụng làm mạch chính thức.

3.1.2. Khối ghép công suất3.1.2.1. Xây dựng kịch bản đo 3.1.2.1. Xây dựng kịch bản đo

 Mục đích: đo suy hao phản xạ tại các cửa và suy hao xen của bộ ghép công suất, so sánh với kết quả mô phỏng để đánh giá tính đúng đắn của thiết kế và gia công.

 Máy đo sử dụng: máy phân tích mạng vector Protek A333.

 Thiết lập kịch bản đo: hàn bốn đoạn cáp đồng trục với 4 đầu vào của bộ ghép công suất nối tắt qua vị trí hàn IC dịch pha PE44820. Mắc 3 đầu vào của bộ ghép công suất với tải 50Ω, một đầu vào còn lại mắc vào cổng 2 của máy phân tích mạng, đầu ra mắc vào cổng 1 máy phân tích mạng như mô tả Hình 3.4. Thực hiện tương tự phép đo với cửa 2, 3, 4.

Hình 3.4 Mô tả kịch bản đo ma trận tán xạ bộ ghép công suất

3.1.2.2. Kết quả đo và đánh giá

Kết quả đo bộ ghép công suất tại cửa vào 1 và cửa ra 5, cửa 2, 3, 4 nối tải thu được như Hình 3.1.

Hình 3.5 Kết quả đo ma trận tán xạ cửa 1 và cửa 5 của bộ ghép công suất Tổng hợp lại em có Bảng 3.3 sau.

Bảng 3.3 Đánh giá kết quả đo suy hao phản xạ, suy hao xen bộ ghép công suất

Thông số Mô phỏng Yêu cầu Kết quả đo Đánh giá

Suy hao phản xạ cửa 1 22,5 dB > 10 dB 14,5 dB Đạt Suy hao phản xạ cửa 2 21,2 dB > 10 dB 17,2 dB Đạt Suy hao phản xạ cửa 3 22,1 dB > 10 dB 17,2 dB Đạt Suy hao phản xạ cửa 4 20,8 dB > 10 dB 17,5 dB Đạt Suy hao phản xạ cửa 5 32,7 dB > 10 dB 21,4 dB Đạt

Suy hao xen 0,78 dB < 1 dB 0,92 dB Đạt

Như vậy, tất cả các chỉ tiêu quan trọng của bộ ghép công suất đều đã đạt so với yêu cầu đặt ra. Kết quả đo suy hao xen còn hơi cao (0,9 dB) do vật liệu sử dụng là FR-4 có hệ số suy hao 0,025 là tương đối lớn. Có thể giảm thiểu suy hao này bằng việc sử dụng một số vật liệu làm PCB đắt tiền hơn của hãng Roger. Nhưng do giới hạn về chi phí nên em phải chấp nhận sự suy hao này.

3.1.3. Khối dịch pha

 Mục đích: đánh giá hệ số suy hao phản xạ đầu vào của IC PE44820, qua đó đánh giá chất lượng mối hàn IC và chất lượng đường truyền từ connector đến IC.

 Máy đo sử dụng: máy phân tích mạng vector Protek A333.

 Thiết lập kịch bản đo: thiết lập hệ đo như Hình 3.6. Nối cửa 1 của máy đo với đầu vào IC PE44820 số 1, cửa 2 của máy đo với đầu ra của bộ ghép công suất. Đầu vào IC dịch pha PE44820 số 2, số 3, số 4 đều nối tải 50Ω. Sau khi đo xong, tháo dây đo ở IC PE44820 số 1 và mắc lần lượt vào IC số 2, số 3, số 4 để đo tiếp.

Hình 3.6 Mô tả kịch bản đo hệ số phản xạ đầu vào IC dịch pha

3.1.3.2. Kết quả đo và đánh giá

Hình 3.7 Kết quả đo hệ số suy hao phản xạ đầu vào IC dịch pha PE44820

Tổng hợp và đánh giá kết quả đo suy hao phản xạ của 4 IC dịch pha, em có Bảng

Một phần của tài liệu ĐỊNH VỊ MÁY BAY KHÔNG NGƯỜI LÁI (Trang 78)