Samodejno krmiljenje RemoteQTH 4SQ-8DIR

de S53X

Samodejno krmiljenje RemoteQTH 4SQ-8DIR
SDC – PstRotatorAz – ESP32 – ULN2803A – 4SQ-8DIR

Cilj: po vnosu callsign v SDC “NewQSO” okno se 4SQ sam postavi v pravo smer.
Veriga sistema: SDC – PstRotatorAz – ESP32 – ULN2803A – 4SQ-8DIR
***
SDC
Podaja položaj antene
↓
PstRotatorAz
Pridobi azimut
↓
TCP
Zanesljivejši prenos: TCP skrbi za dostavo in vrstni red podatkov
↓
ESP32-S3
Razbere azimut in izbere smer
↓
ULN2803A
Vklop ustrezne kombinacije
↓
BC327→ releji na 4SQ RF Boxu
Vklop posameznih relejev

***
Kazalo:
1. SDC nastavitve za povezavo s PstRotatorAz
2. PstRotatorAz nastavitve za povezavo z ESP32-S3-Wi-Fi
3. sketch za ESP32-S3 (glej priponko 1)
4. test ESP32-S3 izhodov z LED
5. releji v RemoteQTH 4SQ-8DIR RF Boxu
6. ožičenje ESP32-S3 – ULN2803A

1. SDC nastavitve za povezavo s PstRotatorAz
Med SDC in PstRotator poteka UDP protokol.
– SDC- v Contest – Antennas nastavi:
– kljukica PST Rotator
– IP 192.168.88.11 ( IP PCja kjer teče SDC)- TX port pusti na 12000, RX na 12001
– v PstRotator v UDP Control Setup vpiši isti IP in port kot zgoraj

2. PstRotatorAz nastavitve za povezavo z ESP32-S3-Wi-Fi
Nastavitve v PstRotatorAz:
V oknu Communication → TCP Client.
V oknu TCP Client- Connection nastavi Azimuth:
– IP: 192.168.88.40 ( = IP od ESP32)
– Port: 4001
– nato klikni Connect.
( v oknu Monitor od Arduino IDE programa lahko spremljaš kako prihajajo paketi s komandami)
– v Setup označi UDP Control, da prejema UDP iz SDC.

3. Sketch za ESP32-S3 (glej priponko 1)
– install in/ali odpri Arduino IDE
– izberi pravi Board
– priklopi ESP32 na COM xx
– izberi pravi COM xx

4. Test ESP32-S3 izhodov z LED
Vseh šest izhodov ESP32-S3 lahko preveriš z LED-diodo, ne da bi priklopil ULN2803A. Tako preveriš ali se posamezni GPIO preklopi na HIGH, ko PstRotatorAz spremeni smer.
Potrebuješ:
– 1 LED-diodo
– 1 upor 330 Ω (lahko tudi 220 Ω)
– nekaj povezovalnih žic
Pozor: ESP32-S3 uporablja logiko 3,3 V. Ne priklapljaj LED neposredno med GPIO in GND brez upora. Ne uporabljaj 5 V na GPIO.

Priključi eno LED in upor, nato ju zaporedoma prestavljaj na te GPIO-je:

Rele – GPIO – Smer, v kateri mora LED svetiti

R1 – GPIO 4 – N, SE, W, NW
R2 – GPIO 5 – SE, S, W, NW
R3 – GPIO 6 – E, SE, S, NW
R4 – GPIO 7 – N, E, SE, NW
R5 – GPIO 15 – SE, SW
R6 – GPIO 16 – E, SE, S, SW, W
LED mora svetiti, ko je ustrezni izhod HIGH in ugasniti, ko je LOW.

5. releji v RemoteQTH 4SQ-8DIR RF Boxu
smer: pritegne rele:
S 2-3-6
SW 5-6
W 1-2-6
NW 1-2-3-4
N 1-4
NE /
E 3-4-6
SE 1-2-3-4-5-6

V FTP Cat5 kablu, ki pelje iz 4-SQ 8 Direction Antenna Switch boxa in ga priklopiš na RF box je razpored žic:
1 – be/or rele 1
2 – or rele 2
3 – be/ze rele 3
4 – be/pl rele 4
5 – ze rele 5
6 – be/rj rele 6
plava GND
rjava REF
oplet FTP Cat5 kabla GND

Poraba toka glede na smer pri 12,5V:
S 190 mA
SW 170 mA
W 190 mA
NW 200 mA
N 100 mA
NE 30 mA = poraba elekronike
E 190 mA
SE 340 mA = vsi releji ON

6. Ožičenje ESP32-S3 – ULN2803A

Pri ESP32 z logiko 3,3 V je kombinacija ESP32 + ULN2803A + BC327 + releji RT424912 zato, da ohraniš obstoječi program in preklapljaš pozitivnih +12 V na tuljave, katerih skupni priključki so na skupnem GND. ULN 2803A namreč preklaplja minus pol, releje v RF Boxu pa preklapljaš s plus 12V napetostjo.


opis slike spodaj:
– levi pcb – 6x BC327 transistorji:
… vklapljajo releje v RF Boxu
– desni PCB:
… ESP32 S3 ploščica – Wi-Fi RX iz PstRotatorAz preko LAN omrežja
… viola je ULN2803A – odpira BC327 glede na signal iz ESP32
… zelena je MP-1584 – down converter iz 12V na 5V za napajanje ESP32

samodejni preklop smeri z ESP32

RemoteQTH 4SQ-8DIR RF Box

ročni preklop smeri z Antenna Switch

S53X 30. 10. 2026

*
**
***

*** priponka 1- sketch koda:
=========================================================================

#include <WiFi.h>
#include <WebServer.h>

// ================================

// Wi-Fi in omrezje

// ================================

const char* ssid = “tvoj_wifi”;
const char* password = “geslo_tvojega_wifi”;

IPAddress local_IP(192, 168, 88, 40);
IPAddress gateway(192, 168, 88, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, 88, 1);

// ================================

// TCP in spletni streznik

// ================================

WebServer webServer(80);
WiFiServer tcpServer(4001);
WiFiClient tcpClient;

String ukaz = “”;
unsigned long zadnjiIzpisStanja = 0;

// ================================

// GPIO izhodi za releje

// ================================

const int R1 = 4;
const int R2 = 5;
const int R3 = 6;
const int R4 = 7;
const int R5 = 15;
const int R6 = 16;

// Varnost: ob zagonu so vsi izhodi izklopljeni.

// HIGH aktivira vhod ULN2803A.

void vsiRelejiIzklopljeni() {
digitalWrite(R1, LOW);
digitalWrite(R2, LOW);
digitalWrite(R3, LOW);
digitalWrite(R4, LOW);
digitalWrite(R5, LOW);
digitalWrite(R6, LOW);
}

// Nastavi kombinacijo relejev

void nastaviReleje(
bool r1, bool r2, bool r3,
bool r4, bool r5, bool r6
) {
digitalWrite(R1, r1 ? HIGH : LOW);
digitalWrite(R2, r2 ? HIGH : LOW);
digitalWrite(R3, r3 ? HIGH : LOW);

digitalWrite(R4, r4 ? HIGH : LOW);

digitalWrite(R5, r5 ? HIGH : LOW);

digitalWrite(R6, r6 ? HIGH : LOW);

}

// ================================

// Izbira smeri glede na azimut

// ================================

void nastaviSmer(int azimut) {

azimut = ((azimut % 360) + 360) % 360;

Serial.println();

Serial.println(“——————————“);

Serial.print(“Azimut: “);

Serial.print(azimut);

Serial.println(” stopinj”);

if (azimut >= 338 || azimut < 23) {

Serial.println(“SMER: N”);

nastaviReleje(1, 0, 0, 1, 0, 0);

}

else if (azimut < 68) {

Serial.println(“SMER: NE”);

nastaviReleje(0, 0, 0, 0, 0, 0);

}

else if (azimut < 113) {

Serial.println(“SMER: E”);

nastaviReleje(0, 0, 1, 1, 0, 1);

}

else if (azimut < 158) {

Serial.println(“SMER: SE”);

nastaviReleje(1, 1, 1, 1, 1, 1);

}

else if (azimut < 203) {

Serial.println(“SMER: S”);

nastaviReleje(0, 1, 1, 0, 0, 1);

}

else if (azimut < 248) {

Serial.println(“SMER: SW”);

nastaviReleje(0, 0, 0, 0, 1, 1);

}

else if (azimut < 293) {

Serial.println(“SMER: W”);

nastaviReleje(1, 1, 0, 0, 0, 1);

}

else {

Serial.println(“SMER: NW”);

nastaviReleje(1, 1, 1, 1, 0, 0);

}

Serial.println(“——————————“);

}

// ================================

// Obdelava TCP ukazov

// ================================

void obdelajUkaz(String s) {

s.trim();

// Odstrani zakljucni podpicje

if (s.endsWith(“;”)) {

s.remove(s.length() – 1);

}

// Zanima nas samo ukaz AP

if (!s.startsWith(“AP”)) {

return;

}

/*

Pri dosedanjih primerih:

AP1090; -> 090 -> 90 stopinj

AP1180; -> 180 -> 180 stopinj

Predpostavka protokola:

prvi znak za AP je oznaka, azimut pa so

naslednje tri stevke.

*/

if (s.length() != 6) {

Serial.print(“Nepricakovana oblika AP ukaza: “);

Serial.println(s);

return;

}

String azText = s.substring(3, 6);

for (unsigned int i = 0; i < azText.length(); i++) {

if (!isDigit(azText[i])) {

Serial.println(“Napaka: azimut ni stevilo.”);

return;

}

}

int azimut = azText.toInt();

if (azimut < 0 || azimut > 359) {

Serial.println(“Napaka: azimut je izven obsega.”);

return;

}

Serial.print(“Prejet AP ukaz: “);

Serial.println(s);

nastaviSmer(azimut);

}

// ================================

// Zagon

// ================================

void setup() {

Serial.begin(115200);

delay(1000);

// Najprej pripravi GPIO in izklopi izhode

pinMode(R1, OUTPUT);

pinMode(R2, OUTPUT);

pinMode(R3, OUTPUT);

pinMode(R4, OUTPUT);

pinMode(R5, OUTPUT);

pinMode(R6, OUTPUT);

vsiRelejiIzklopljeni();

Serial.println();

Serial.println(“=================================”);

Serial.println(“ESP32-S3 – PstRotatorAz”);

Serial.println(“TCP + 8 smeri + 6 izhodov”);

Serial.println(“=================================”);

if (!WiFi.config(local_IP, gateway, subnet, dns)) {

Serial.println(“OPOZORILO: Staticni IP ni nastavljen.”);

}

WiFi.mode(WIFI_STA);

WiFi.begin(ssid, password);

Serial.print(“Povezovanje na Wi-Fi”);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(“.”);

}

Serial.println();

Serial.println(“Wi-Fi povezan!”);

Serial.print(“IP ESP32: “);

Serial.println(WiFi.localIP());

webServer.on(“/”, HTTP_GET, []() {

webServer.send(

200,

“text/plain; charset=utf-8”,

“ESP32-S3 deluje.\nTCP vrata: 4001\n”

);

});

webServer.begin();

Serial.println(“Spletni streznik: vrata 80.”);

tcpServer.begin();

tcpServer.setNoDelay(true);

Serial.println(“TCP streznik: vrata 4001.”);

Serial.println(“Cakam na PstRotatorAz…”);

}

// ================================

// Glavna zanka

// ================================

void loop() {

webServer.handleClient();

// Sprejem TCP povezave

if (!tcpClient || !tcpClient.connected()) {

if (tcpClient) {

tcpClient.stop();

ukaz = “”;

Serial.println(“TCP povezava prekinjena.”);

}

WiFiClient novaPovezava = tcpServer.available();

if (novaPovezava) {

tcpClient = novaPovezava;

tcpClient.setNoDelay(true);

ukaz = “”;

Serial.println(“TCP POVEZAVA VZPOSTAVLJENA!”);

Serial.print(“Oddaljeni IP: “);

Serial.println(tcpClient.remoteIP());

}

}

// TCP je tok podatkov; vsak ukaz zakljuci podpicje

while (tcpClient && tcpClient.connected() &&

tcpClient.available() > 0) {

char znak = (char)tcpClient.read();

if (znak == ‘;’) {

ukaz += ‘;’;

obdelajUkaz(ukaz);

ukaz = “”;

}

else if (znak >= 32 && znak <= 126) {

ukaz += znak;

if (ukaz.length() > 100) {

Serial.println(“Predolg ukaz – zavrzen.”);

ukaz = “”;

}

}

}

// Izpis stanja vsakih 5 sekund

if (millis() – zadnjiIzpisStanja >= 5000) {

zadnjiIzpisStanja = millis();

if (WiFi.status() != WL_CONNECTED) {

Serial.println(“OPOZORILO: Wi-Fi ni povezan.”);

}

else if (tcpClient && tcpClient.connected()) {

Serial.println(“Stanje TCP: povezava aktivna.”);

}

else {

Serial.println(“Stanje TCP: cakam na PstRotatorAz.”);

}

}

delay(2);

}

================================================================

CQ WW RTTY WPX Contest – 2026

S53X- SOAB HP

Priprave na CQ WPX RTTY

V tednu pred CQ WPX RTTY tekmovanjem je bila izvedena obsežna tehnična priprava antenskega sistema, s ciljem zagotoviti stabilno in zanesljivo delovanje na vseh bandih. Posegi so zajemali tako obnovo poškodovane infrastrukture kot optimizacijo sprejemnih anten.

1. Inband RX antena – rekonstrukcija po mehanski poškodbi

Med podiranjem dreves je bila obstoječa inband antena (oddaljena 400m od shacka) mehansko poškodovana do te mere, da je bila potrebna popolna zamenjava. Nova antena je bila postavljena skoraj na isti lokaciji, na edinem preostalem drevesu, ki je ostalo po obsekovanju. Ker bo antena uporabljena izključno za sprejem (RX), je bila posebna pozornost namenjena:

  • simetričnosti napajalne točke,
  • zmanjšanju lokalnega šuma,
  • stabilnosti impedance v širšem frekvenčnem območju,
  • zaščiti koaksialnega voda pred mehanskimi poškodbami

2. Vertikalna antena za 80 m – ponovna postavitev

Vertikalna antena za 80 m band je bila po CQ WW CW contestu demolirana. V sklopu priprav je bila ponovno postavljena, pri čemer so bile izvedene naslednje izboljšave:

  • preverjena in obnovljena ozemljitvena mreža,
  • optimizirana dolžina radiatorja,
  • pregledani in po potrebi zamenjani spoji na radialih,

Vertikalka ponovno zagotavlja nizko sevalno višino in dober DX izkoristek.

3.5 MHz antena

3. 40 m vertikalni sistem – dodani elevated radiali

Za izboljšanje učinkovitosti 40 m antene so bili dodani novi elevated radiali, kar je zmanjšalo izgube v tleh in izboljšalo sevalni kot. Posegi so vključevali:

  • dodajanje več radialov enake dolžine,
  • dvig radialov na optimalno višino nad tlemi,
  • izboljšanje mehanske napetosti in izolacije.

Rezultat je bolj stabilna impedanca in višja učinkovitost antene, kar se odraža v boljšem SNR pri sprejemu in nižjem SWR pri oddaji.

7 MHz vertikalna antena z elevated radiali

4. USA BVG – zamenjava poškodovanega koaksialnega voda in boxa

Na USA BVG (Beverage) anteni je bil 40‑metrski RG‑6 koaksialni kabel, ki poteka po kanalizaciji pod cesto močno poškodovan zaradi glodavcev. Kabel je bil v celoti zamenjan z novim. Hkrati je bil zamenjan tudi napajalni box, ki je vseboval poškodovane kontakte in oksidirane spoje. S tem je zagotovljena:

  • stabilna impedanca 75 Ω,
  • pravilno delovanje smernosti,
  • nižji nivo šuma zaradi boljšega stika in zaščite.

5. JA BVG – zamenjava zaključnega boxa

Na BVG anteni, usmerjeni proti JA, je bil zamenjan zaključni box z novim, natančno umerjenim zaključnim uporom. Novi upor zagotavlja:

  • pravilno absorpcijo povratnega vala,
  • izboljšano smernost,
  • nižjo raven internih refleksij.
3 bander Spiderbeam

6. Dodan RX limiter na vhod BVG sistema

Za zaščito občutljivih sprejemnih poti je bil na vhodni del BVG sistema dodan RX limiter, ki ščiti pred:

  • prenapetostmi zaradi bližnjih TX anten,
  • statičnimi naboji,
  • impulznimi motnjami.

Limiter omogoča varno uporabo BVG anten tudi v času visokih TX moči na sosednjih bandih, kar je v tekmovalnem okolju nujno.

Zaključek

Z izvedenimi posegi je antenski sistem ponovno v optimalnem tehničnem stanju. Izboljšana mehanska stabilnost, obnovljeni koaksialni vodi, optimizirani radiali in dodatna zaščita sprejemnih poti zagotavljajo zanesljivo delovanje v zahtevnih pogojih CQ WPX RTTY tekmovanja. Sistem je pripravljen za dolgotrajno obremenitev, natančno smernost in visoko občutljivost, kar so ključni elementi za konkurenčen rezultat.

Tekmovanje CQ WPX RTTY


Prijavljeni rezultat:

Class: SOAB HP
Class Overlay: TB-Wires
QTH: V 9
Operating Time (hrs): 29
Location: Southern Europe

Summary:   Compare Scores
BandQSOs
80:426
40:454
20:387
15:324
10:119
Total:1710Prefixes760Total Score4,601,800
  • CQ SO2R na začetku contesta so QSO le kapljali.
    Zato sem že po par minuta prešaltal na S/P in nato je letelo u božju mater-glej screenshot od onlinescores .Na S/P sem prebil cel prvi dan, RUN pa le malo drugi dan, ko je skoraj zmanjkalo postaj.

Nekaj ključnih težav, ki jih je potrebno čimprej odpraviti:

  • 4O3A Antena Genius 6×2 preklopnik občasno, po določenem času izgubi povezavo in se obesi na prvem portu. Posledično je SWR povsod previsok sa ni izbrana prava antena za band na katerem se dela. Pomaga edino reset PC’ja, ko se očitno dodeljeni prti resetirajo. V prvi noči se mi je to zgodilo dvakrat.
  • Antenski priključek ANT 1 SO-249 na OMPower 2000+ občasno prekinja. Opazil prvi popoldan na 10m.
  • HP BPF filtrov na 40/80 ni treba imeti priključenih v oddajni veji. Dovolj so LP BPF, ki so takoj za postajo.

Real Time Contest 2026

Link do: https://blog.contestonlinescore.com/real-time-contest-rtc-rules/

7. januar 2026

Tekmovanje v realnem času (RTC) je globalni radioamaterski dogodek, zasnovan za vznemirljivo, živo in popolnoma interaktivno tekmovanje. Za zagotovitev točkovanja v realnem času in uradnih rezultatov morajo udeleženci ves čas tekmovanja ostati povezani z uradnim strežnikom RTC https://hamscore.com .

Končni rezultati so bili objavljeni v 10 minutah po končanem tekmovanju.
“Back to the future.”

Alpe Adria VHF Contest 2024

4. avgust 2024, Kuk, JN66TE


Prepisano iz beležke:
– ob 6. uri 16 stopinj celzija, zeblo do 10. ure
– postavitev anten v 30 minutah
– operativen v 1 uri
– dvignjen šum v smeri vzhod 120 stopinj / RTV stolp in 320 stopinj / HAM kontejner
– lepi DX’i s 5W moči: TK2B, I1 … slišal še nekaj HA, IS0, OE6V, E78WW, YU1 …
– zaradi nevihte končal 2. uri prej
– spravljeno v avto v 15 minutah
– precej CW postaj (obstaja kategorija CW only)

Prijavljeni rezultati:

Prepisano iz druge beležke:

ANTENA:
2x 6 el. DK7ZB yagi
https://www.qsl.net/dk7zb/start1.htm
PVC yagi; 9.3dBd/30dB f/b:

Al elektrode za varjenje 3.2mm:
https://www.varjenje.net/sl/zica-tig-aluminij-2

2 x 75 ohm coax za stacking
stacking razdalja = 2.4m
SWR 1:1.2 

MAST:
- 5x 1m fiberglass tube HD segment-30mm x 2mm
https://www.spiderbeam.com/product_info.php?info=p40_30mm%20fiberglass%20tube%20segment%20(HD).html

- 2x vpetje masta pod kolesom in na prtljažniku- DIY

KOSS SB/45 na Flex 6600

Priključitev kombiniranih slušalk KOSS SB/45 na postajo Flex-6600.

  • Flex-6600 ima vhod za dinamični mikrofon.
  • V kompletu s postajo je ročni dinamični mikrofon FHM-3.
  • Starejša verzija teh slušalk – KOSS SB/40 – je imela dinamični mikrofon.
  • KOSS SB/45 so slušalke s kondenzatorskim (elektretnim) mikrofonom. Ta potrebuje zunanje napajanje.

Samogradnja mic adapterja:

Primer za Flex-6600 in Yamaha CM500:

Izdelan adapter:

Nastavitev BIAS v SmartSDR:

=========KOSS SB/45 – YAESU FT-991A================

Nastavitve v FT-991A:

  1. Menu → MIC → MIC Gain (nastavitev občutljivost).
  2. Menu → MIC → Bias Voltage (vklopi samo za elektretne mikrofone).
  3. Če uporabljaš dinamični mikrofon, izklopite napajanje (Bias OFF)!

Adapter za mikrofon KOSS SB/45 in YAESU FT-991A: