This is how it looked like when I got it:
And this is how it looks like now:
More images are here.
PDF version of the schematics is here.
- nearly 360° degrees rotation
- error protection – controller stops rotation when the antenna doesn’t turn, but rotation is on, watchdog timer for resetting the controller on failure, bounds checking
- RS232 (serial port) communication with Hyperterminal (or Minicom on Linux), easy and fast commands, built-in help
- Rotation speed measurement, estimated time calculation ;)
- 16 individual positions can be saved with position names (up to 13 chars), saved in controller EEPROM
About the controller
The controller is a PIC16F886. I used Hi-Tech C compiler for writing the program.
You can download the source code here.
It uses Timer1 for blinking the status LED and Timer2 for pot change protection (there is a pot in the rotator which turns when the rotator is rotating, and if the rotation is on but the pot doesn’t turn, it shuts everything down).
Otherwise the code is (trying to be ;) really simple, so check it out.
There are 4 medium-current transistors, they power the motor with the required voltage polarity. The serial line is handled via a MAX232 IC.
I’ve added 2 buttons in my room near my little desk so I can rotate without using serial console. This is not reflected on the circuit drawing.