This version is compatible with EASYCOMM2 antenna protocol.
After getting in touch with PstRotator (tracking software) developer, he kindly gave me the solution I was searching for, in order to send back the antenna position to be displayed in the software. He also generously gave me a license for his software, thank you very much.
In the Easycom2 protocol, the software sends the target position to the controller, like
There is no fix length for the coordinates.
The software asks for the current antenna position by sending
And the controller should respond with
where the first is the azimuth, then the elevation. There is no fix length, but the decimal is mandatory, even if it is 0. Like +23.0 5.0
Note that so far, PstRotator was the only software who could display the antenna position.
This Arduino version is compatible with all tracking software using EasyComm protocol / 9600 bauds.
PstRotator, WXtrack, HRD, MacDoppler… Even WXtoIMG can control the rotator. Orbitron needs the plugin listed below.
It accepts 0-180º elevation, but rotates the antenna accordingly, for max. 90º elevation.
There’s also a variant for AC motors, which offers dry contacts (ON/OFF). It can be easily interfaced with commercial rotators. And one for 180º elevation, one for 0.1º precision. Just give me a shout.
Ricardo / CT2GQV, made another version for Linux rotctld and gpredict. You’ll find it HERE.
Jean-Jacques / ON7EQ made a modification to the code for a simple controller -azimuth only- and YAESU communication protocol. Check out his work HERE.
The DC motors version has the advantage of using PWM for a softer/smoother antenna movement. It outputs a power response proportional with angle error (Target<->Antenna). Therefore, when the antenna starts moving, it accelerates progressively, and, when approaching the desired position, it slows down to full stop. This is known as Soft-Start / Soft-Stop.
There’s an adjustable Dead Zone, where the antenna doesn’t move for the slightest target offset.
This is the plot of Power output corresponding to Angle error.
I have a beta version with Soft-Start / Soft-Stop for AC motors, taking advantage of this module.
You can’t control the speed of the usual AC motor used in rotators, by changing the voltage. The speed depends on the frequency, and if you alter the voltage, it simply may not start. So there’s not much use for it, unless you are using the kind of motors found in drill-machines.
If you want to give it a try, let me know by email.
Once the project is complete and it can move, you must apply the Potentiometer calibration procedure. It ensures correct reading of 0-359º / 0-90º, no matter what kind of potentiometer you are using.
The motor calibration is only for tuning the Soft-Start / Soft-Stop feature. This is necessary if you don’t like the default settings.
The code has been updated several times, and now, for example, you can set the antenna update in your tracking software, as fast as you want, 0.5 sec. if you like.
Thank you very much to all who sent me feedback, helping to make this project more reliable.
Any feedback is highly appreciated.
Check the Arduino code page for the codes, drawings and procedures.
Some afterthoughts after months/years of using this controller and rotator.
I have a home-made DC rotator Az/El 360º/90º. The azimuth motor draws 12V/3A in full power.
1. After adding 12m of LiYCY-12×0.75 cable from controller to rotator, the azimuth reading had a noise of +/- 10º.
One 1μF capacitor GND-AzPot on Arduino side lowered the noise to +/- 2º. After days of measurements and oscilloscoping, I replaced the 5V adaptor because it had a very big ripple (noise). I installed one 5V adaptor for Arduino and potentiometers, and another one for LCD, encoders, relays and MOSFETs. The potentiometer noise disappeared. Thanks Bernd-OE6HBD for the tip.
2. The relay module for azimuth direction (rated 10A) failed – replaced.
I added the ‘cold switch’ feature in the code.
3. The MOSFET module (rated 10 times the power) for azimuth PWM failed – replaced.
It warms up only when antenna is moving slow (PWM = repetitive MOSFET switching). After days of measurements and oscilloscoping, I found no flyback phenomenon, nothing special. I added a small fan to the case, to ensure a little bit of air flow over the heat-sink.
1. My Home-made rotator has failed catastrophically, beyond repair.
I bought a Heavy duty CCTV Pan-Tilt Head and transformed it into an AC rotator (I added position sensors and modified the tilt limit to 180º). https://youtu.be/hR2x3nDLSLs
2. Because now I have an AC rotator, the controlled had to be modified accordingly, so I made another case. https://youtu.be/WVsyHd6Jejg