I think your easiest bet is to use a computer and software like DXLab.
If you don't want a general-purpose computer in the mix, or if you really,
really want a knob, I'd look at talking to the RS-232 interface with
something like an Arduino (www.arduino.cc,
http://www.sparkfun.com/products/9219) or other beginner microcontroller
board. I like the Arduino because the language is simple, there is a large
community of total newbies using it, and the board is all-in-one and
programmable over USB. If the M2 control box is true RS-232 (with plus and
minus twelve volt logic levels) you probably need a MAX232 (
http://www.sparkfun.com/products/316) level converter chip between the
Arduino and the M2... but that's one chip and a few capacitors.
I can't design the firmware for the thing, especially without knowing the M2
controller's language or having one to test on, but it might be as simple as
something like this:
1) in the firmware, set up a serial connection and a digital input for a
button (analog input is set up automatically I think)
2) Read the position of a potentiometer (the "point" pot) on one of the
analog inputs using the function AnalogRead(). This gives a number from 0
to 1023 for a wiper voltage between 0 and the power supply of the controller
board. Translate to a heading as desired (depends on the pot you're using)
3)Read the digital input using DigitalRead(). if the button (the "shoot"
button) on the digital input is pressed, send the pot's heading to the rotor
using Serial.Print() (this switch should be "debounced" by reading it twice
maybe 5-10 milliseconds apart and only considering it to be pressed if both
of those are the same)
And that's pretty much it if the box accepts a heading in degrees as a
You probably want a 360 degree pot, which might be a little hard to find.
And if the rotor is capable of more-than-360 degree or continuous rotation,
you might need to be careful in how you send your commands. That is,
unless the rotor controller itself decides which way to turn based on the
heading that comes in on the serial port. If it does that, it greatly
simplifies things, and you just send a number over the serial port,
probably. If the homebrew controller has to be smart about over-travel past
360 degrees, you'd need to add a lot of rules to the firmware to tell the
control box the right direction.
You can probably do it for thirty bucks or so, plus the effort of learning
how to program the Arduino board... but like I said, there's a large
community of people who don't have any prior experience with
microcontrollers doing things with the Arduino, because the people who
designed it were shooting for "as easy to use as possible."
Here are some things I've built:
The first one accepts input from analog and digital pins and turns a switch
to switch bands on my big vertical. The second one is an automated band
switch that sends and receives commands from Ham Radio Deluxe over a USB
serial connection and switches eight lines high and low. Eventually I'm
going to fuse those two things together...
TowerTalk mailing list