This project is logical successor of RATU v 0.0.1. It brings a bit of automation to routine ATU tasks and introduces centralised monitoring of AYU and PA.
I ams still using same "half-antenna" MFJ-1796W at my backyard. Hence it requires ATU at all time while working on 40-30-20 meters bands. I am re-using physical ATU construction from RATU v 0.0.1 - T-match based on high-voltage variable capasitors and variable coil from old Soviet P-140 military radio station. However, the logical component is completely rebuild - it uses ESP32 dev board instead of Arduino Nano.
ESP32 has in-build WiFi capability, hence it became possible to get rid of two communication wires and RS-485 communication, and start using MQTT instead.
Simultaneously, I have embedded ESP32 into my homebrew PA, adding WiFi/MQTT capability to it.
Here is the generic diagram to the home setup:
Every device is connected to home WiFi AP and to MQTT server, which runs on my Mac (seconrary/backup MQTT runs on Ubuntu VM/ESXi).
MQTT Dashboard, installed on the old Asus Nexus 7, is there for testing and visualisation purposes.
Homebrew OCLog has new embedded MQTT component and now capable to send command to RATU and to PA.
Both ESP32 - PA and ATU - are receiving MQTT commands from OCLog and sending monitoring data to OClog and MQTT Dashboard.
For PA I am monitoring:
- PA temperature, based on data from BME380 sensor (and operates with Liquid Cooling system by starting pump and ventilators at 30 degrees C and disabling PTT at 80 degrees C)
- FWD and REV (based on PA Tandem Match voltage values), and calculated SWR
- Calculated FWD power (based on PA Tandem Match FWD voltage value)
RATU monitoring includes:
- FWD and REV (based on ATU Tandem Match voltage values), and calculated SWR
- Calculated FWD power (based on ATU Tandem Match FWD voltage value)
- Motors step values for L, C1 and C2
- Actual values for L (in uH) and C1/C2 (in pF)
- Status is ATU (“Ready”, “Tuned”, etc).
- It also “listens” to MQTT broker for “Tuning” commands
For the field operations Mac is becoming WiFi AP, so everything is WiFi-connected to it:
Remote ATU box generic schematics
Remote ATU ESP32 schematics
PA ESP32 schematics
All SW is open stack.
Source code for Remote ATU ESP32 .
Source code for PA ESP32 .
Both archives are in PlatformIO folder format. If you are using different IDE, get the source files from /src folder.
Source code for OCLog can be found here.
Desktop screenshot with OCLog-controlled tuning process
Here is photo with Nexus 7 MQTT Dashboard..
Parts and components:
|1. P-140 variable coil|
|2. Two variable capacitors 15-700 pF (any, which will survive with PA output)|
3. Espressif ESP32-DevKit - 2 pieces
Any compatible ESP32-DevKit can be used, just look around Ebay to find one you like.
4. A4988 Stepper Motor Driver - 3 pieces
5. Nema 17 Step Motor - 3 pieces
6. TCST2103 Photo-interrupter - 3 pieces
7. 1.8" 128x128 LCD TFT ST7745
Display is used only in PA to provide visual information. Any type of TFT display can be used. If it is not ST7745-compatible, then library has to be changed in the code.
Remote ATU Step-Motor information:
Nema 17 have 200 steps for full turn. A4988 driver allows reduce 1 step to 1/2, 1/4, 1/8 и 1/16. This gives you good control of what minimum angle you want coil and capcitors to turn, to fit intended tuning protocol. It was found that 1/8 is optimal for this setup. Together with planetary gear is came to 2964 steps for full turn. Please note that motors require dedicated +12...+18V to run.
Remote ATU ESP32 - is the motor driver, CWR reader/calculator, tuning driver and MQTT client. It mounted on antenna mast in PVC box together with motors, drivers, coil and capacitors, plus SWR-meter. Please note that ESP32 requires dedicated +3.3 .. +5V to run.
Tuning algorithm is based on comparing "desired" SWR 1 : 1.01 with "actial" SWR. When "desired" is not equal "actual" - tuning occurs via motors rotation.
Current SW version uses either OCLog software "Tune" button or "Tune" option on Nexus 7 MQTT Dashboard to kick off tuning process.
The tuning sequence is typical for T-match and remains the same as in v 0.0.1:
Step 1. Set C1 and С2 to 95% capacity
Step 2. Set L to 1 turn.
Step 3. Hit Tune on transceiver and start turing L till minimum available SWR reached
Step 4. Turn C1 till minimum available SWR reached
Step 5. Turn C2 till minimum available SWR reached
It was found that on most frequencies the algorithm reaches 1 : 1.1 from first attempt.
Physical layout Remote (MECH):
"Large photo in new window.
TCST2103 controls "zero" point of L and both C.
VK6NX overall concept, physical construct, initial programming, testing - and using :)
VK3FDMI SW concept, programming, customisation and optimisation.
Warm thanks to Dmitry RV9CX and Serge RA9DM for their support and suggestions.