Đồng hồ đo công suất RMS băng thông rộng DIY

Đồng hồ đo công suất RMS băng thông rộng DIY

Tự chế tạo Máy đo công suất RMS băng thông rộng để đo chính xác công suất thực của tín hiệu trên một dải tần số rộng.

Giới thiệu

Máy đo công suất RF phản hồi RMS được sử dụng rộng rãi trong các ứng dụng thử nghiệm và đo lường để đo chính xác và chuẩn xác công suất RF của các tín hiệu có các hệ số đỉnh khác nhau. Các thiết bị kết nối đắt tiền này cung cấp mức độ chính xác cao, trong khi dựa vào đặc tính và hiệu chuẩn mở rộng, nhưng độ chính xác này phải trả giá bằng kích thước và chi phí. Với chi phí thấp hơn nhiều và kích thước nhỏ hơn nhiều, LTC5596 , một mạch tích hợp phản hồi rms từ 100 MHz đến 40 GHz với phạm vi phát hiện 35 dB trở lên, có thể được sử dụng để chế tạo máy đo công suất băng thông rộng cầm tay hoặc thậm chí là máy đo công suất nhúng trong mạch.

Chức năng truyền tuyến tính theo dB được kiểm soát tốt của LTC5596 và độ phẳng tuyệt vời so với tần số cho phép hiệu chuẩn dễ dàng—cơ bản như hiệu chuẩn hai điểm tần số trung bình duy nhất, mang lại độ chính xác đo lường ±1 dB trên dải tần số từ 150 MHz đến 30 GHz. Mức tiêu thụ điện năng thấp của LTC5596 (chỉ 100 mW) và bản chất tích hợp của nó giúp có thể thực hiện các giải pháp giám sát điện năng cầm tay và trong mạch.

Tính đơn giản của một giải pháp hoàn chỉnh được minh họa bằng ví dụ chạy bằng pin ở Hình 1, trong đó có thể chế tạo đồng hồ đo công suất RF băng thông rộng bằng cách sử dụng mạch trình diễn LTC5596 có sẵn ( DC2158A ), màn hình LCD I2C và bo mạch DC2026C Linduino chạy chương trình phần mềm ngắn (xem Phụ lục).

Hình 1. Một máy đo công suất RF băng thông rộng hoàn chỉnh.

Bảng 1. Danh mục vật liệu

Lắp ráp mạch điện

Hình 2 cho thấy sơ đồ lắp ráp. Bo mạch Linduino có nhiều đầu vào ADC trong ngân hàng IN analog—A0 được sử dụng ở đây để lấy mẫu đầu ra của bộ dò LTC5596. Màn hình có giao diện I2C, giúp đơn giản hóa kết nối với bo mạch Linduino. Toàn bộ mạch được cấp nguồn thông qua cổng phụ của bo mạch Linduino bao gồm bo mạch LTC5596 và đầu nối.

Hình 2. Sơ đồ kết nối.

Phần mềm

Toàn bộ chương trình cơ sở bắt buộc chạy trên bo mạch Linduino. Chức năng chính của chương trình cơ sở là chuyển đổi đầu vào tương tự được đo (vôn) thành công suất RF (dBm) và hiển thị trên màn hình LCD. Để thực hiện điều đó, nên hiệu chuẩn hai điểm để tìm độ dốc và điểm chặn của hàm truyền tuyến tính của LTC5596—VOUT so với công suất RF ở dạng tuyến tính:

y = (x – b)m

trong đó x là công suất đầu vào tính bằng dBm, y là điện áp đầu ra của LTC5596 (VOUT) tỷ lệ thuận với mã ADC, m là độ dốc và b là giao điểm x (VOUT đạt 0). Phần mềm tính toán x dựa trên y đã đo, với các giá trị b và m đến từ hiệu chuẩn (giải thích bên dưới). Việc tính trung bình nhiều lần đọc có thể giúp giảm thiểu tác động của nhiễu.

ADC trên bo mạch của Linduino có độ phân giải 10 bit, tương ứng với kích thước LSB khoảng 4,9 mV. Độ dốc điển hình của LTC5596 là 28,5 mV/dB, tạo ra độ phân giải đo lường khoảng 0,2 dB. Phụ lục hiển thị mã chương trình cơ sở mẫu được sử dụng cho 5,8 GHz để hiển thị công suất đầu vào theo dBm.

Sự định cỡ

Mặc dù LTC5596 có chức năng truyền tuyến tính theo dB. Các biến thể từ phần này sang phần khác tạo ra một loạt các độ dốc của chức năng truyền và các điểm chặn trục. Vì chức năng truyền là tuyến tính nên hiệu chuẩn rất đơn giản, chỉ cần hiệu chuẩn hai điểm (hoặc nhiều hơn nếu muốn) để đảm bảo độ chính xác.

Hình 3 cho thấy hiệu chuẩn hai điểm của đường cong truyền điển hình lấy từ LTC5596 ở 5,8 GHz. Hai điểm được sử dụng để suy ra độ dốc và giao điểm x.

Hình 3. LTC5596 VOUT so với công suất đầu vào. Hai điểm hiệu chuẩn nên được chọn để đại diện cho phạm vi hoạt động của ứng dụng.

Trong ví dụ này,

Slope = Δy/Δx = (0.83 – 0.26) V/(–10 + 30) dB =

28.5 mV/dB

x-intercept = Input Power – VOUT/Slope =

–10 – 0.83/0.0285 = –39 dBm

Các giá trị độ dốc và giá trị chặn này được sử dụng trong mã được hiển thị ở Phụ lục.

Lỗi tuyến tính

Trong bảng dữ liệu, logarit intercept là điểm chặn x trên biểu đồ. Sai số tuyến tính là sự khác biệt giữa đường thẳng lý tưởng và công suất thực tế được đo bởi máy dò. Phạm vi phát hiện hữu ích thường là nơi sai số tuyến tính nhỏ hơn 1 dB. Do đó, có thể tính toán sai số bằng cách sử dụng điểm chặn x và độ dốc được hiển thị trong Hình 4, cho thấy sai số tuyến tính của một thiết bị thông thường mà hệ thống có thể đạt được với hiệu chuẩn hai điểm.

Error = VOUT/Slope + (x-intercept) – Input Power

Hình 4. Lỗi LTC5596 so với công suất đầu vào sau khi hiệu chuẩn. Dải động tuyến tính có thể được xem là khoảng –40 dBm đến +3 dBm.

Phần kết luận

LTC5596 mang đến kích thước nhỏ, tính đơn giản chưa từng có và yêu cầu công suất thấp cho phép đo công suất RF chính xác trong phạm vi từ 100 MHz đến 40 GHz. Nó tạo ra các giải pháp hoàn chỉnh có kích thước nhỏ, hiệu quả và đủ chính xác để đáp ứng các yêu cầu của máy đo công suất RF cầm tay di động hoặc thậm chí hoạt động như máy đo công suất RF nhúng trong mạch. Chi phí phần mềm là tối thiểu do chức năng truyền băng thông rộng và hoạt động tốt của LTC5596, là tuyến tính theo dB. Hiệu chuẩn hai điểm có thể được thực hiện ở một tần số băng tần trung bình duy nhất với độ chính xác tốt hoặc ở nhiều tần số hơn để cải thiện độ chính xác. Quan trọng hơn, bộ dò rms LTC5596 có khả năng đo công suất chính xác bất kể loại điều chế nào. Ngay cả với hiệu chuẩn hai điểm đơn giản, kết quả vẫn chính xác—sai số dưới 0,3 dB không phụ thuộc vào dạng sóng điều chế. Ngược lại, các đơn vị thương mại đắt tiền khác yêu cầu hiệu chuẩn và đặc tính mở rộng.

Phụ lục: Mã mẫu cho bo mạch Linduino để chuyển đổi giá trị đọc ADC sang dBm và điều khiển màn hình

#include <wire.h>
#include <liquidcrystal_i2c.h>
LiquidCrystal_I2C lcd(0x3F,20,4); // set the LCD address
to 0x3F for a 20 chars and 4 line display
int analogPin = 0; //set up analog IN channel 0
double val = 0;
double slope = 0.0285; // slope in Volts per dB
double xint = -39; //log intercept in dBm @5.8GHz
double power = 0.0;
double totalval=0.0;
void setup()
{
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.setCursor(0,0);
lcd.print(“LTC5596 RMS DETECTOR”);
lcd.setCursor(8,3);
lcd.print(“dBm”);
}
void loop()
{
for(int i=0;i<20;i++) // Average 20 ADC readings:
{
val = analogRead(analogPin);
delay(10);
totalval= totalval + val;
}
totalval=totalval/20.0;
power = (totalval*0.0049/slope)+xint; // Convert to Volts,
calculate dBm
lcd.setCursor(0,3);
lcd.print(power);
}
</liquidcrystal_i2c.h></wire.h>

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Win a Raspberry Pi!

Answer 5 questions for your chance to win!
Question 1

What color is the sky?

Tìm kiếm bằng danh mục

Chọn danh mục