Arduino based antenna rotator controller - not completed, development terminated!
Inspired by Milan OK7GU, the goal is to build an universal antenna controller - for different types of rotor, different motor, encoder,.. having all modern features, like USB connection, ethernet control, web access, etc. and still compatible with older devices (COM port available). The modern AVR hardware offers sufficient power, why not to try... The heart of controller is Arduino Mega 2560 board accomplished by Ethernet shield - easy to get for reasonable price (I must admit for me personally is also very nice the processor board is already made, I don't like to handle multilayer PCBs with SMD chips having around 100 pins...)
Features
Rotator control, using relay outputs for CW and CCW direction and brake (no step motors or frequency invertors)
One axis only (can be extended to elevation later)
Support for configurable range, up to 720 deg (more than 1 turn), with shortest path movement
Incremental encoder with automatic referencing used for angle measurement (non volatile storage for last value), resolution 0.2 deg, with possibility to connect other sensors.
Build-in LCD display to indicate current operation and control mode
Control mode 1 - using CW and CCW buttons
Control mode 2 - using potentiometer (required azimuth) and GO button
Control mode 3 - using COM port and USB port as serial port control, protocol similar to Yaesu
Control mode 4 - using Ethernet control (possibly over internet), protocol similar to mode 3. Wire internet, can be routed to WiFi of course
Configuration parameters stored in EEPROM, can be set by Windows control program (service level parameters protected)
Control programs have been created, for both Windows and Android platform, to allow control over COM or Ethernet (WiFi)
All above mentioned features have been implemented and roughly tested, before the project was terminated.
Prototype
It is difficult to build something that is realy universal (people say when something is too universal it is usualy useless), so I have started with basic functionality - one axis, relay output, incremental encoder (resolution 0.1 deg). The first step is to build a prototype, the software followed.
Circuit diagram - interface board
Circuit diagram - processor board
Circuit diagram - ethernet shield
The project development was stopped at certain phase, I just release all documentation and sources, perhaps somebody finds it useful. Just - if you use the sources, don't forget to quote origin...
Technical documentation (drawings, description, ... Some in Czech language.)
Source code for Arduino project
Control program for Windows for VS2008
Control program for Android for Eclipse
Summary of protocols commonly used for rotators
73 OK1DX