Page 1 of 1

Обробка сигналів прямої і падаючої хвилі КСВ датчика.

Posted: 30 Aug 2026, 12:39
by UR5SDL
Недавно робив підсилювач для свого похідного трансівера ізюминка 1.2 і зіштовхнувся з проблемо обробки сигналу на Arduino nano від датчика КСВ.

1. Проблема. Не стабільність напруги на датчику в залежності від частоти та потужності.

2. Проблема. Не можливість компенсувати напругу падаючої хвилі при навантаженні 50 ом до нуля або близько до нуля. У мене виходило мінімум 2.2 вольта. Напруга прямої хвилі складала 3.7в.

Ось програмне рішення яке дозволяє обробляти дані враховуючи вище наведені умови.

void drawKSVmeter() {

const float K50 = 0.752; // коефіцієнт відношення Upad/Uotr при навантаженні 50 Ом

getPortVolte(A1);
float Upad = Volt;

getPortVolte(A2);
float Uotr = Volt;

if (Upad <= 0.001) {
ksv = 1.0;
return;
}

// Відношення двох виміряних напруг
float K = Uotr / Upad;

// Відносно калібрувального значення 50 Ом
float gamma = (K50 - K) / (K50 + K);

if (gamma < 0.0)
gamma = 0.0;

if (gamma > 0.999)
gamma = 0.999;

// Обмеження коефіцієнта відбиття
gamma = constrain(gamma, 0.0, 0.95);

// КСХ
ksv = (1.0 + gamma) / (1.0 - gamma);
}

Функція дуже чутлива до зміни КСВ. Я перевірив її результат на опорі 50, 100, та 75 ом. Значення КСВ показувало коректно відповідно до навантаження.