The Eagle Has Landed!

If all I did was add two SPST push button switches and one DPDT switch to my little control box:

I would have all I need for the project. The software can set the speed and the travel of the stepper motors to something slow, safe and reasonable. I think the only thing I need to make sure is that the stepper on the inductor control doesn’t hit the stops hard. Since the capacitor can turn 360 degrees, there is no issue there.

Top View of a simple BT1500A in shack controller. If I were to just use wires out to the tuner from this box, I would exceed the number of control wires in the 8 conductor rotor cable that I have because I would need these wires:

  • Positive 12 volts
  • Negative
  • 6 wires for the L / C selector
  • 4 wires for the two SPST (CCW and CW) switches

HOWEVER, it would be possible to put just the stepper motors and their drivers out in the tuner box and keep the Arduino and switching logic in the shack. The reason – the 12V positive and negative already are out there, and it only takes 2 wires to switch between one or the other stepper driver.

All of this came from this web site:

http://www.schmalzhaus.com/EasyDriver/Examples/EasyDriverExamples.html

Examples 1.6 and 4 – sort of combined, and just a very minor code tweak. But pretty much “straight out of the box”!

I circled in Orange the three wires per stepper controller I need. These two wires plus ground send the PWM signals to the stepper. Two wires are already taken for the 12 volt power to drive the steppers and turn on the BT1500A relay, so this means there would only be 2 wires required in addition for each stepper driver. This is the control lines from the Arduino to the stepper driver. So in total:

  • 12v positive
  • 12v negative
  • 5v negative
  • 2 wires for each driver

Which means I get away with 7 wires. There’s an issue though – while the tuner wants the relay switched on with 12v – the stepper motor driver boards get warm when you have 12v applied continuously. One thought is to wire a bypass to the relay that needs to be activated to switch, and then the 12v line will only be on long enough to turn the steppers and then it gets turned off. That should be easy – but I will have to mod the BT1500A. I would do that when I also have to figure out what kind of supporting motor “rail” that will be bolted onto the tuner for the controls. I also need to order some shaft couplers for the steppers to the L and C shafts.

The big benefit of splitting the system at the driver board is simplicity and fewer components out in the heat and cold. It also means I could change the control code any time I want since the Arduino would be in the shack.

Using the KPOD via wireless is the “advanced” version of this, and I still want to do it, but what is pretty cool is that I could actually get away with something already – that is as about as simple as you can get. In fact, I could keep it really simple and not go wireless and just try to figure out how to plug the KPOD directly into the Arduino board, even if this means a modification of the KPOD – but I am trying to avoid any modifications of any part of this system – I’d love to make this an “Open Source” project in the “Maker Mode” which is to treat all components as “plug and play commodities” and that the biggest variable is the code itself. Speaking of that – this most simple version of this project – the code is ridiculously simple:

#define DISTANCE 10

int StepCounter = 0;
int Stepping = false;

void setup() {
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);

  pinMode(2, INPUT);
  pinMode(3, INPUT);
}

void loop() {
  if (digitalRead(3) == LOW && Stepping == false)
  {
    digitalWrite(8, LOW);
    Stepping = true;
  }
  if (digitalRead(2) == LOW && Stepping == false)
  {
    digitalWrite(8, HIGH);
    Stepping = true;
  }

  if (Stepping == true)
  {
    digitalWrite(9, HIGH);
    delay(1);
    digitalWrite(9, LOW);
    delay(1);

    StepCounter = StepCounter + 1;

    if (StepCounter == DISTANCE)
    {
      StepCounter = 0;
      Stepping = false;
    }
  }
}

Again, all of this came from Brian Schmalz of Schmalzhaus.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: