User Tools

Site Tools


simple_rotator_interface_v

Simple Rotator Interface V. assembled version (release 2024)

Quick start guide

Hardware

Supported:

  • Three type azimuth potentiometer
    1. three wire from 500Ω to 10kΩ resistance
    2. grounded two wire from 500Ω to 1kΩ
    3. thre wire, used one turn from multiturn (typicaly 10kΩ)
  • Two azimuth pulse (CW/CCW) inputs - NOT implemented yet
  • DC motor up to 28V/3A with smooth start/finish (PWM)
  • AC motor max 50V/8A
  • Brake max 50V/8A
  • Natively supports 3D printed rotator
  • Optional external control unit Gyrotator

Source

Functionality

  • Remote powered by POE - need 13,8V to 15V/500mA source, mounted to 35mm DIN rail
    remoteqth.com_img_wiki-simple-rot-17.jpg remoteqth.com_img_wiki-simple-rot-18.jpg
  • Switching between three and two wire azimuthpotentiometer in setup page
  • Enable preamp and shift op amp in setup page
  • Local control with CW paddle via 3,5mm stereo jack connector
  • Galvanically isolated AC or DC motor control, including DC PWM
  • Working rotator without hardware endstops - replace by two (low/high) software adjustable forbidden zones in end positions
  • MQTT for integrated to your main ecosystem, typicaly NodeRed
  • MQTT Wall - web clent shown all topics included
  • Overlap support, for example 405° range, with rotate to short direction
  • Usable nearest to rotator, directly on tower, or in hamshack
  • Status LED while using front panel preset knob (indoor desktop use only)
  • LED showing fuse failure on main board or POE interface
    remoteqth.com_img_wiki-simple-rot-68.jpg
  • Three safe stop watchdog - 60 sec after firmware without answer, max 90 sec rotate, max 10 sec without 10 grad azimut change during rotate
  • Under 11V voltage POE power watchdog
  • Warm up timer for stable value during setup
  • Firmware detects the hardware version and displays it in the web interface
  • Optionaly controled (via MQTT) by Gyrotator independent hardware based on M5Stack fire https://github.com/ok1hra/gyrotator

Four mounting methods

Outdoor on tower
remoteqth.com_img_wiki-simple-rot-01.jpg
remoteqth.com_img_wiki-simple-rot-02.jpg
Outdoor, part of the 3D printed rotator (optional)
remoteqth.com_img_wiki-simple-rot-05.jpg
Indoor on 35mm DIN rail
remoteqth.com_img_wiki-simple-rot-03.jpg
Indoor to your desktop (optional)
remoteqth.com_img_wiki-simple-rot-04.jpg

Six control source at the same time

Web interface
with azimutal world map,
containing the current grayline
Gyrotator
Optional controller on external hardware 5Stack FIRE
remoteqth.com_img_wiki-simple-rot-07.jpg
YouTube video
MQTT
(mqtt-wall include)
USB GS-232 protocol
(commands: R L A S C Mxxx O F)
CW paddle
- indoor desktop use
- or for manipulate with rotator on DIN rail, or on mount on tower
remoteqth.com_img_wiki-simple-rot-10.jpg
Optional front panel preset knob
works independently without a GUI, together with the status LED (indoor desktop use only)
remoteqth.com_img_wiki-simple-rot-11.jpg

WiFi e-ink display

  • GitHub page of the project
    remoteqth.com_img_wiki-simple-rot-72.jpg
    remoteqth.com_img_wiki-simple-rot-71.jpgremoteqth.com_img_wiki-simple-rot-73.jpg
  • The last azimuth remains on the display even after turning off the rotator.
  • Optional display on external hardware from LaskaKit - ESPink-42 ESP32 e-Paper
  • It is not used to control the rotator, only to display its rotated state.

Web interface

  1. Simply setup page and calibrate in three steps
  2. Adjustable width of the antenna radiation angle
  3. Rotate with one click to map
  4. If click during run, stopped rotation
  5. Smaller range than 360° shows end limits
  6. Show connected status between web page and rotator

Upload firmware

Upload binary via web interface

If the previous three conditions are met, you can upload the firmware binary using the web interface.

  1. Open url http://[YOUR IP]:82/update
    • Also available from the header of the first page as a link | Upload FW |
  2. Download last release .bin file from GitHub https://github.com/ok1hra/IP-rotator/releases
  3. Upload .bin file via web form, with the Firmware option selected
  4. ATTENTION, after uploading, it is necessary to restart the rotator by disconnecting and reconnecting the power supply.

Compile

  1. Install Arduino IDE rev 1.8.19
  2. Install support for ESP32
  3. Install these libraries in the versions listed
    • WiFi rev 2.0.0
    • EEPROM rev 2.0.0
    • WebServer rev 2.0.0
    • Ethernet rev 2.0.0
    • ESPmDNS rev 2.0.0
    • ArduinoOTA rev 2.0.0
    • Update rev 2.0.0
    • AsyncTCP rev 1.1.1
    • ESPAsyncWebServer rev 1.2.3
    • FS rev 2.0.0
    • AsyncElegantOTA rev 2.2.7
    • PubSubClient rev 2.8
    • Wire rev 2.0.0
  4. Select board 'OLIMEX ESP32-PoE'
  5. Connect the rotator with a USB-C cable and select the corresponding port in the arduino IDE
  6. Now you can compile and upload code using USB

Compile + OTA update

The firmware can be uploaded via Ethernet under the following conditions

  1. The Simple rotator board already contains firmware
  2. The Simple rotator board is connected to the Ethernet with a DHCP server
  3. The Simple rotator board is powered by a POE module

Now in the Arduino IDE you can select the /Tools/Port/Network port in the menu, the item starting with ROT with the IP address corresponding to your rotator.
At this point it is possible to compile and upload the firmware using the Arduino IDE.
The Arduino IDE will ask for a password during the upload, which is 'remoteqth'.


Connection

General description of connectors, individual variants detailed below


POE power module


LED showing if fuse failure on main board or POE interface
remoteqth.com_img_wiki-simple-rot-68.jpg


Connection examples

Yaesu G-2800DX


Azimuth potentiometer

Note the connection polarity for systems that share a GND potential

  1. The type potentiometer used must also be set in the web interface, Setup page. Option “Azimuth potentiometer” 2wire/3-wire
  2. When using one turn of a ten-turn potentiometer, also activate the “Azimuth gain/shift op-amp” option to ON. About calibrate more in Calibrate section.
  3. If you are using a two-wire 500Ω potentiometer, short-circuit jumper J16 on the bottom side of the PCB. Do not use this jumper in other cases.
    remoteqth.com_img_wiki-simple-rot-69.jpg

AC motor


DC motor with PWM


  • Activate the PWM functionality on the Setup web page
  • ATTENTION
    • Observe the polarity of the power supply, otherwise the power mosfet may be destroyed.
    • Observe the maximum prescribed loading.
    • We recommend using the following safe option with software endstops.

DC motor with PWM, without hardware endstop (safe mode)


  1. If you use a rotator without hardware endstops, the destruction of one component (power mosfet) can cause the rotator to crash. Therefore, it is safe to connect one more active element in series (relay intended for the brake).
  2. Activate the PWM functionality on the Setup web page
  3. ATTENTION
    • observe the polarity of the power supply, otherwise the power mosfet may be destroyed.
    • observe the maximum prescribed loading.

DC motor without PWM


  1. PWM can be replaced with an external brake relay
  2. Deactivate the PWM functionality on the Setup web page
  3. ATTENTION
    1. Don't forget to bridge or replace the diode D24 with a jumper.
    2. Make the jumper with a copper wire with a cross-section of 1.5 mm2
      remoteqth.com_img_wiki-simple-rot-67.jpg

Control, setup and calibrate

LED status


LEDs signal static (PWR) or dynamic (PWM) states during rotator operation


Connect and tune

  1. The fuse for the motor should be optimally 3A
  2. Two blue, multi-turn potentiometers are used to set the Shift and Gain of the preamplifier in the azimuth measurement mode with the use of one turn from the ten-turn potentiometer.
  3. The USB-c connector is used for uploading firmware or connecting a serial console. DO NOT use USB-C to power electronics.
  4. Internal three-pin connector (balls), serves for connecting an optional front panel potentiometer.
  5. The 3.5mm stereo jack serves for connecting a manual control of the rotator, typically a CW bug.

    remoteqth.com_img_wiki-simple-rot-10.jpg

How to find the IP address of the device

    1. connect POE power supply
    2. ethernet to a site with an active DHCP server
  1. Variant via USB terminal
    1. connect USB-C between rotator and PC
    2. open Arduino terminal with 115200 baud speed
    3. press ? and enter
    4. terminal show your IP address
  2. The variant can be found using the arduino IDE
    1. Open Arduino IDE menu Tools/Port/Network port
    2. The menu will display network devices that contain OTA firmware - the IP address is at the end of the line starting with ROT-
  3. With the help of the Fing android application
    1. Install Fing
    2. Scan local network
    3. Find device with brand name Espresiff and begin MAC start 08:B6:1F

Settings using the web interface

Main web page

Open the IP address found using the previous instruction in a web browser http://[YOUR-IP]

How to works

  1. The first page contains an information header, including a link to the Firmware Upload page and the Release page on GitHub. Give green the button of the link to the control page of the rotator. Below it is the web MQTT client (credit MQTT wall) displaying the data sent or received by the rotator from the MQTT broker - data used to control or debug the rotator.

Control web page


How to works

  1. The basis for the display is an azimuthal map, centered in your QTH. The map shows the current grayline. Map settings are made in the Setup page, item Background azimuth map URL.
  2. The direction of rotation indicator is a transparent triangle whose angle corresponds to the width of the antenna's radiation pattern. The center is marked with a green pointer on the scale. The width of the radiation diagram is set in the Setup page, item Antenna radiation angle in degrees.
  3. COLORS - If the direction is in the free range, the indicator color is green. If the pointer reaches the overlap zone, the color is yellow. If the rotator is in rotated mode, the indicator color is red. If the rotator reaches the endpoints, the color is gray.
  4. The yellow line on the edge shows the Overlap zone. It is the angle by which one 360-degree revolution is extended.
  5. Gray bar on the bottom shows. | Antenna name - set in the Setup page, Rotator name item. | The power supply voltage controls the electronics from the POE injector - if it drops below 11.5V, the watchdog stops the rotator. | Raw angle rotated - angle without displacement, as if it were zero degrees north. | Link to the Setup page.
  6. Below the gray bar is shown, MAC address of the Ethernet interface and website connection status with engine electronics. If it is not connected, the data on the website is not up to date and the rotator cannot be controlled.
  7. CONTROL - by tapping on the map, the azimuth is calculated and the rotation starts. Emergency stop is performed by clicking anywhere on the azimuthal map again.
    1. Tip: for a short movement of the rotator, you can click on the map twice in close succession. The motor will only turn on for this time, including the PWM start/stop sequence.

Setup web page


How to works

  1. The Setup page is used to set the basic properties of the rotator.
  2. You will notice that the hints for individual items are hidden under the question mark at the end of the line.
  3. Your callsign and Rotator ID are unique identifiers used to generate an MQTT topic in the form [callsign]/[ID]/ROT/[variable]. Changing these values requires a reload of the first page with the web MQTT client. After the first power-on, for the Callsign firmware uses the last five characters from the MAC address until a new setting is made.
  4. Rotator name is used to identify the rotator on the web control page.
  5. Start CCW azimuth is the end value of the start of rotation in the counter clockwise direction. This is the azimuth that the rotator is rotated in real conditions, if it is in this end position.
  6. Rotation range in degrees is the rotation range of the rotator between two (CCW and CW) endpoints in degrees.
  7. Background azimuth map URL is a link to a web file with a bitmap azimuth map. Generation of own map is described in chapter Run own services
  8. Antenna radiation angle in degrees, is the value of the width of the radiation angle of your antenna, which will be applied in the display of the control page.
  9. Azimuth source is a choice between a signal source for azimuth determination. The potentiometer is the default value. The CW/CCW pulse function is then not implemented now.
  10. The azimuth potentiometer is a choice between two and three-wire variants. The two-wire variant uses a constant current source of 9mA and enables the connection of a potentiometer smaller than 1kΩ. The three-wire variant uses a constant voltage source of 9V and enables the connection of a potentiometer of 500Ω or more. You can find the connection in the Azimuth potentiometer section.
  11. Azimuth gain/shift op-amp, is turned ON, ONLY when using a multi-turn three-wire potentiometer, of which only one turn is used. Because one turn generates a small change at the input of the AD converter, it is possible to help amplify the preamplifier. How to do it:
    1. The first step is to set the trimmers R80 and R81 to the default position. Connect the ohmmeter to the measuring point S (J1, J12) and turn the trimmer R81 counterclockwise until the ohmmeter shows a value close to 0Ω. We repeat the same thing with trimmer R80 and measuring points and G (J13, J14).
      remoteqth.com_img_wiki-simple-rot-65.jpg remoteqth.com_img_wiki-simple-rot-66.jpg
    2. This setting assumes that REVERSE-CONTROL and REVERSE-AZIMUTH are correctly set in the Calibration page.
    3. The second step is to physically turn the rotator up to the CCW endstop, which will not cause the AD converter input to shift to the left edge of the scale on the Calibration page. Therefore, we start moving the value towards the left endstop on the scale by turning the potentiometer S (R81) clockwise until we reach the left endstop on the scale, ATTENTION, after reaching the edge of the scale, do not continue turning the potentiometer, the input value of the AD converter must still move within the range scale.
    4. The third step is to physically turn the rotator up to the CW endstop, which will not cause the AD converter input to shift to the right edge of the scale on the Calibration page. Therefore, we increase the gain of the preamplifier by turning the potentiometer G (R80) clockwise until we reach the right endstop on the scale. ATTENTION, after reaching the edge of the scale, do not continue turning the potentiometer, the input value of the AD converter must still move within the range of the scale.
    5. We repeat the previous two steps until we achieve the desired result.
    6. Then calibrate the SAVE-CCW and SAVE-CW endpoints on the Calibration Page.
  12. Endstops INSTALLED, turning off this item activates software endstops, which are prohibited zones on the edges. The size of these zones is set in the following two items. If this item is enabled, the firmware relies on the hardware endstops in the rotator, including that they are not beyond the range of the measure potentiometer.
  13. CW/CCW forbidden zone (software endstops), are values of the range of forbidden zones in millivolts. the entire range of the rotator represents a voltage of 0 to 3.3V. The setting value will appear in the Calibration page as a yellow area at the edges of the range. If the rotator is set correctly, it only allows movement in the direction from the edge to the center. Keep the protection zone large enough to prevent damage to the rotator.
  14. Watchdog speed is the minimum rotation speed in seconds per one turn, which if the rotator does not reach, it will be stopped by the watchdog. Use a value at least 50% higher than the real speed to avoid false stops.
  15. Motor supply, is a choice between AC and DC rotator type. The DC type enables the activation of the PWM start-up and run-down ramps.
  16. DC PWM control activates the PWM ramp-up and ramp-down when using the DC rotator. If you use a rotator without hardware endstops, the destruction of one component (power mosfet) can cause the rotator to crash. Therefore, it is safe to connect one more active element in series (relay intended for the brake). This setup is highly recomended, see Connection section. Turning DC PWM on activates two other settings:
    • PWM ramp length in steps of 25ms + displaying the length of the ramp in seconds, allows you to set how long the PWM control will regulate from 0 to 100% during acceleration, or vice versa during deceleration - WARNING - a longer ramp may result in passing the end points, it is therefore necessary to set sufficiently large margins in CW /CCW forbidden zone (software endstops). In this way, imprecise stopping will occur more often due to the overlapping of the starting and stoping ramps when rotating through small angles.
    • PWM ramp start distance the distance from the target azimuth in degrees, from which the PWM ramp starts, the length of which is set by the previous value.
    • By combining both values, it is possible to tune the PWM sequence so that the rotator stops as close as possible to the required azimuth. YouTube video show two parameter settings
    • If there is a need to rotate to a closer azimuth than twice the “PWM ramp start distance” value, there will be a switch from the starting to the stopping ramp halfway through the journey, which affects the stopping accuracy (missing the entire stopping sequence in the combination of time and distance). Therefore, it is better to choose both values ​​as low as possible for your antenna assembly, so that it does not overlap the start and stop ramps.
  17. USB serial BAUDRATE, is the setting of the communication speed of the serial console on the USB-C connector using the GS-232 protocol. Enabled commands
    • ? display the IP address of the rotator
    • R clockwise rotation
    • L counter clockwise rotation
    • A or S CW/CCW rotation Stop
    • C show antenna direction value
    • Mxxx rotate to azimuth, degree represent with three number
    • O CCW calibration
    • F CW calibration
  18. MQTT broker IP, IPV4 address of the MQTT broker server
    1. If the first digit is zero, MQTT is disabled
  19. MQTT broker PORT, number of the IP port on which the MQTT broker runs.
  20. Change button, save actual value.
  21. Calibrate button open Calibration web page.

Calibrate web page


Calibration is divided into three steps

  1. Rotate direction calibrate
    So that it is not necessary to observe the polarity of the rotator motor connection, you can use the CCW, CW and STOP buttons to test the direction of rotation. If the rotator rotates in a different direction than the control button, you can reverse the direction using the REVERSE-CONTROL button.
  2. Azimuth calibrate
    The scale shows the status of the input AD converter in the range of 0 to 3.3V. Due to activated software linearization, regions in the range of tens of mV are not available. If software endstops are activated in the Setup web page, the prohibited zones at the edges of the range will be displayed in yellow. In the lower part there is an arrow showing the current read value of the AD converter. There are gray arrows on the edges, showing the calibration values of CCW and CW stops. How to calibrate:
    1. Turn the rotator briefly using the CW, CCW and STOP buttons in the previous section and watch the movement of the current value of the AD converter. The correct direction is left for CCW and right for CW. If the arrow moves in reverse, invert it using the REVERSE-AZIMUTH button
    2. Then rotate the rotator counterclockwise until it is stopped by a software or hardware endstop. After stopping, save the value with the help of the SAVE CCW button.
    3. Continue rotating the rotator clockwise until it is stopped by a software or hardware endstop. After stopping, save the value with the help of the SAVE CW button.
    4. The RESET CW/CCW SAVE button is used to set the default values if the setting needs to be repeated.
    5. After calibrate, rotate to full CCW limits, measure real azimuth, and put this value to “Start CCW azimuth:” field in Setup page.
    6. Changes to settings in the map control page will be reflected after the page is reloaded.
  3. Front panel calibrate (optional) if install Optional front panel you can calibrate knob
    1. Rotate front panel potentiometer axis without knob to value 0°
    2. Put knob with orientation to north on axis
    3. Fixate knob to axis on position north

Control via optional front panel

remoteqth.com_img_wiki-simple-rot-04.jpg
The front panel contains only two active elements:

  1. Button for setting the required azimuth - if the front panel is installed, turning the knob will make a quick change of the target azimuth, but it is not very accurate. The rotation of the rotator can be monitored on the control page of the web interface, or via MQTT, optionally also on the Gyrotator unit. Attention, the direction of the control knob on the front panel will no longer correspond to the real rotation of the rotator, if you change its azimuth from another source, for example from a web browser.
  2. The status LED has three states
    1. RED lights up during rotating.
    2. GREEN lights up if the rotator has reached the set azimuth and stopped.
    3. FLASHES GREEN if the rotator has stopped and has not reached the target azimuth.

Manually controll

Manual control is available via the 3.5mm stereo jack connector on the back of the electronics. By switching the left or right channel, it is possible to control clockwise or counterclockwise rotation. Connection is here.
Your CW key can easily be used as a switch control.
This control is suitable for service movements or if you operate the Interface on your desk.
remoteqth.com_img_wiki-simple-rot-10.jpg


Running own services

MQTT broker

MQTT is a universal protocol that is used to communicate the rotator with other devices. The control node transmitting this information is the MQTT broker. The default settings of the rotor use the public MQTT broker of the Internet at the address remoteqth.com. In order to avoid dependence on an Internet connection or the availability of a public MQTT broker, we recommend that you install your own MQTT broker on a Raspberry PI or other device in the local network. For this you can use some of the public instructions like this one (without installing NodeRed).
After installation, change the settings of two items (MQTT broker IP and MQTT broker port) in the Setup section, according to the IP address of your local MQTT broker.

Background azimuth Map generator with grayline

The RemoteQTH server provides a live grayline world map generation for selected DXCC countries at address https://remoteqth.com/xplanet/ (adding others upon request from OK1HRA). The entire path to the map is entered in the Setup page in the item Background azimuth map URL.
If you don't want to depend on the internet connection or remoteqth.com server functionality, you can run the real generator on any Linux machine, for example Raspberry PI. You need two functions for this:

  1. http server, example here
  2. Script generating bitmap
    1. Install xplanet with code
      sudo apt install xplanet xplanet-images
    2. Create line in /etc/crontab
      */15 *  * * *   web     /usr/bin/xplanet -window -longitude 13.8 -latitude 50.0 -geometry 600x600 -projection azimuthal -num_times 1 -output /var/www/remoteqth/xplanet/OK.png

      Where to replace | web user a valid user of your system | numerical coordinates of longitude and latitude with your requested coordinates | path /var/www/remoteqth/xplanet/ for the path published by your web server | file name OK.png for your desired file name

    3. Enter the resulting path to the generated bitmap in the Background azimuth map URL item on the Setup page.

Online Map generator

Known bugs

  • If the continuous draw of your motor does not exceed the allowed limit, but the fuse still blows, the problem may be in the starting current. This current is naturally limited by the length of the power cable. If the problem persists even with the rotator on the mast, supplement the connection with a starting resistor (B57237S0109M) in series with the rotator motor.
simple_rotator_interface_v.txt · Last modified: 2024/12/10 00:51 by ok1hra