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.

Summer Rides

The pedestrian / bike bridge over Treat Blvd in Pleasant Hill

Kat and I rode to Danville and back from the Pleasant Hill BART station. We had a great lunch at the Danville Brewing Company brew pub. The deal I made was that I have to pedal for my beer. Fair enough!

The Euryops in their full summer glory.

Hello Stepper!

YAHOO! I am now on my way. Its so easy to wire up these components, download some code, flash the memory with the code and start the engines!

The Maker Community is amazing – in fact, half of the battle is trying to decide which of many possible solutions would be best for your particular “use case”.

All I can say Ham Radio Operators, THIS is the future for sure. I’m actually already late to the game, but if you ever felt “regular” ham radio or DXCC or DX-ing was getting stale – here’s the way to re-invigorate that which got you excited about the hobby in the first place.

Think about it – I could keep posting how I haven’t worked any ATNO’s in a year, or prepare for the days when DX will again appear on the low bands!

KPOD to BT1500A Block Diagram

The KY6R “maker area” in the shack. The radio part of the shack is to the left.

I was able to get a C program that the lead KPOD developer from Elecraft sent me to compile and run on the Raspberry Pi. I learned what a “HID” device is – Human Interface Device, and that the KPOD is not a standard HID (like a Mouse or Keyboard is), but is a HIDRAW device – HID and RAW, the RAW meaning “direct” for Linux. Here is a good explanation:

https://unix.stackexchange.com/questions/85379/dev-hidraw-read-permissions

The compiled program runs as root but while it seems to spit out some identifiers, it can’t find the KPOD. I will consult with the developer, and I am sure there is a simple fix for this. I’ve read the code enough to have a good basic understanding of what it does – and luckily its C – which is something I have coded enough to be very comfortable with.

What I did learn from this is that I will most certainly need Raspberry Pi on the KPOD side, and Arduino on the BT1500A side. The KPOD needs a proper Operating System, the BT1500A is a “slave” and doesn’t need an OS.

So – later today (after a bike ride) I will get the Arduino and stepper motors spinning – most likely following something like this:

And the fellow who posted this has a very nice web site:

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

I found one other web site that shows how I could emulate having the KPOD working – its almost exactly what I need:

https://photoscs.wordpress.com/2014/03/20/arduino-stepper-code-library/

In fact, the only difference is that where he has a joystick, I will have a KPOD which forces me into a client – server architecture. In fact, to get this all set up with just the Arduino part, I’ll just use an Adafruit rotary encoder instead of the joystick he has. In fact, he also has a little control box with buttons so he can switch between motors – so it is exactly what I need.

I’m still highly motivated to use the KPOD because of its expandability beyond what it can control. Maybe eventually, the Function buttons will change bands on a wireless remote antenna switch (?) We shall see. I need to walk before I can run . . .

But as a fall back – I could just run with this design as well. In fact, I could even just use my laptop and the control “unit” could be software with a couple sliders on a screen. The BEST part of this project is that its a journey as I am learning – which is what makes it so much fun. It used to be to avoid becoming a total “DXCC Zombie” I worked on antennas – now that that phase is done – this Maker stuff is rapidly taking over – its highly addictive.

I’m going to come back to the Raspberry Pi and KPOD later (after I get help figuring out why its not being found), and will spend the rest of this 4th of July weekend emulating the BT1500A tuner and Arduino “slave” part of what is essentially a “client server”, or more like a “master – slave” system.

Onward!

VOACAP Online Now Does P2P Greyline Mapping!

Jari, OH6BG, has been constantly improving VOACAP Online, and it is now my favorite Propagation Prediction Tool. I have noticed that over the past year or so many new features have been added – such as specific station information – which makes it more accurate. I also really love the new ability to get the checkerboard prediction charts by month or year. But he has now added something that really helps me quite a bit, and that is detailed grey line time information as well as a map, as you see above. You know from my propagation studies, I am constantly switching between propagation software (and I use VOACAP Online mostly these days because I love the “data visualization” it offers) and DX Atlas. But that was pretty good, but Jari has upped the ante with this:

This is a very accurate chart of grey line, and includes not only the three types of grey line twilight (civil, nautical and astronomical), but also shows dawn and dusk at each end point in the radio circuit.

This is absolutely critical for Top Band, and is also very important for all low bands. But on Top Band – perhaps the band least understood propagation wise – since VOACAP does not predict it (and is a bit weak on several of the low bands), this new feature fills in the gap very nicely.

When I worked FT5ZM and VK0EK on Top Band, the timing was absolutely critical. You really had to know when to strike – otherwise you might miss a 10 minute or even 5 minute or less opening!

It isn’t quite this tricky on the higher bands, but I very clearly remember VU7RG and ZS8M both being greyline ATNO’s and both on 40M – at dusk – and VU7RG happened during the “set” time, and ZS8M happened on the “dusk” time. Now – here is the real “kicker” – when you look at the difference between pre and set and then set and dusk for mid October 2017, you will see that it lasts 20 minutes. That is EXACTLY how long my VU7RG and ZS8M openings were. These were not the only times I have experienced this, and it happens on all of the low bands.

One of the funny things I always see is a DX Cluster spot where someone is “asking” the DX-pedition to come on a band – like 160, 80 or 40M when its mid day at the DX-pedition location. This new feature would be great as an education tool.

In fact, I like it so much, I will say that once you get really expperienced at DX-ing, this might be THE most important skill. I do not have the best QTH or antennas. They are respectable but I am no big gun. HOWEVER, I beat everyone to several ultra rare DX-peditions because I could really guess what band they would start on based on grey line.

This my favorite data visualization for a year long prediction. It is crisp and very easy to understand. I’m looking at only the last three months of the year since that is the quarter closest to when 3Y0Z will be on the air. I can also look ahead to January, 2018:

No matter how you slice it, conditions for Bouvet look better than I had expected given conditions as they have been the last few months or so. I have a theory that the month leading up to summer solstice and then after is usually crummy – at least on the low bands. This makes a lot of sense – because the grey line and even the night time duration is so much shorter than during the winter.

HOWEVER – you also need to look at what is going on in the DX QTH’s part of the world – be they in the northern, southern or equatorial regions.

The new VOACAP Online gives you EVERYTHING you need now – from 160M all the way up through 10M.

Fantastic job Jari – you just made all of us low banders very happy!

 

 

Announcing The Elecraft KPOD Open Source Remote Control for Arduino and Raspberry Pi Project!

After reading the Elecraft Technical Notes on their wonderful KPOD product, I’m so confident that it would be an absolutely awesome controller for my Arduino and Raspberry Pi projects that I just ordered a second one. The first one controls my K3, the second one will be used to develop software that sends input command packets to the Arduino or Raspberry Pi and then, code will send the appropriate control commands to the output.

My first project will be to control this antenna tuner – the Palstar BT1500A. Two stepper motors will turn the L and the C controls. Here’s the script for how it will work:

  1. The rocker switch on the KPOD will select either the L or the C stepper
  2. Turning the rotary encoder will turn the selected component to control
  3. As I am tuning one or the other, I will watch the SWR meter in my Expert 1.3K FA amplifier

This is the exact same way that I would tune an antenna tuner in the shack. But my “Modified Bobtail” with its open feed works very well with this tuner remotely and at the base of the antenna. Because I am transmitting with 1500 watts I am not at all comfortable with trying to use a fully automatic remote tuner – as I have heard too many stories of people blowing up MFJ remote tuners at the base of their verticals. I am sure they were trying to use a shortened vertical on bands that caused excessive voltage at the base of their antenna, and that they never looked into N6BV’s TLW program that comes with the ARRL Antenna Book.

When I was using the Elecraft KPA-500 and KAT-500 in the shack I was basically “lazy” and just let it do its thing. It wasn’t very efficient, but I could be lazy. At 500 watts, you don’t see nearly the issues you do at 1500 watts. This is where QRO teaches lessons that QRP can’t.

I find because of the high voltages that can happen with 1500 watts at the base of a vertical – or vertical array – that I would rather take a few minutes to manually tune and then know there will be no arcing or sparking, and most importantly a nasty amplifier fault.

I have support from Elecraft, and will seek support from Adafruit – run by “Lady Ada” Limor Fried, AC2SN, and will get a proof of concept working and publish this in QST. Then I will open the project as an Open Source project.

If you are interested sooner than when the POC proves success – please let me know – I’d love to have contributors and collaborators!

Using an Elecraft KPOD as a KY6R Mod Bob BT1500A Remote Control

I use an Elecraft KPOD exclusively to tune my K3. I can never go back to the rigs tuning knob.

It has everything I need ergonomically and in the way of connectors and data signals. I’ll double check with Elecraft, but the functions I would use with this would be:

  1. The tuning knob controls the L and C stepper motors
  2. The rocker switch (VFO A and VFO B) switches the L or the C control on
  3. The F switches change bands. I only need 5 bands now (160 – 20M)

The KPOD uses the USB HID protocol, which is what a mouse or keyboard use. That means it’s a common controller, and both the Arduino and Raspberry Pi should support it out if the box 

The only question is what libraries are available, because writing drivers and whatnot from scratch is a bit beyond my level. It almost seems like the Raspberry Pi has this already built in, but the Arduino seems farther along with Stepper driver libraries.

    Anyway, using a KPOD as the controller really steps this project up.

    The Palstar AT-Auto does all of this, but if you bought their remote control, the two parts would be $2000. And it would not be the best tuner for the Mod Bob.

    My project costs $1000 total, and you get the absolute best tuner for the Mod Bob.