Tuesday, February 28, 2017

Radio 2017 - Progress February

Well, I can't say that I've made much of any progress since the last posting. I took a 10-day trip to Israel to visit Bethlehem, Masada, Galilee, Jericho, Jerusalem -- all the holy sites. The trip was very intensive, and after I returned home it took me about a week to recover and then catch up on all my missed work.

I did spend a little time going over my test programs trying to figure out the right way to write Cocoa code for MacOS X document-based apps with Storyboards. What I'm doing seems too complicated.

So, I've decided I need to go back and find the WWDC videos regarding using storyboards with MacOS X, and it also might be useful to view the the ones for iOS docment-based apps as well, to see if that gives me any insight.

With any luck, I'll make much more progress in March.

The Station Notebook

When I originally set up my station as a novice, I didn't make a lot of notes. I wrote a few things on the back-side of my logbook pages: radios I used, antennas I put up. But, for the most part, I freely made changes to my setup without a lot of documentation.

Some years later, I had a small steno-style notebook lying around, and I used it to record certain information. Like the exact color-code of the RS-232 cables I wired up for my computer. That sort of thing was handy to have written down, because it saved a lot of reverse-engineering later I went to make another cable. But that was about it.

Perhaps a dozen years ago, I read a couple of articles about James Lawson, W2PV, and how he kept copious notebooks about his station. He even solved a sticky problem during a contest, because he kept notes about his antenna installation.

After that, I started writing more things down in my little Steno notebook. Most of it was changes I made to the station -- radios or antenna modifications. Or if something big happened -- like I blew up the amplifier. I recorded a lot more details, and I put dates on everything.

But when I began to spend most of my time out in Floyd County it put my little steno notebook out of reach. I had a new station and I still wanted to keep notes. My solution was dead simple -- I created a text document using TextEdit. I called it Floyd County Station Log.

Looking at it today, it's more like a diary. Each month, I put in a new heading: March 2017. And below that I record anything interesting that I do. I record the things that work, and I also record the things that don't work! If I don't do anything that month, I'll just change the heading to the next month.

The bottom of this document has a list of projects to be worked on. Silly now, since I'm no longer at that QTH: 6m antenna, K9AY controller, 20m and 30m traps for the dipole, tribander-Moxon  times 3 (now that's an interesting project I'll need to write about some day!), remote antenna switch, etc.

This method worked so well, in May 2015, I adopted it for my main station log. Not only did I make new entries, but I also entered all the data from the steno notebook. Plus, I went back through all of my contest comment submissions and recorded all the changes I had made to the station from November 1994 to date.

Today the Gwinnett County Station Log is a reasonably complete record of all the things I've done with the station for the last 22+ years. It has six pages of project notes at the end. Lots of stuff to work on! And, yes, I also have a smaller document for the Walton County Station Log.

I guess my point is that having a station notebook is extremely valuable. It doesn't matter if you use a small steno notebook, a spiral-bound notebook, a composition book with graph paper, a loose-leaf notebook, or a computer document. The important thing is to find a style that works for you to keep notes. After a while, there's just too much to try to remember. So keep good notes.

Tuesday, January 31, 2017

Radio 2017 - Progress January

Quick progress report on the Radio 2017 project. I've managed to get started on the casual logging program. I've created the basic framework and a local Git repository. An early cut of the Core Data model is in place. You can't do much more than run the program and create, save and close documents so far.

I have discovered that Storyboards on MacOS don't quite seem ready for prime time. First, there's a bug that windows don't cascade when creating a new document. Second, the split of the original NSDocument class into NSViewController and NSPersistentDocument subclasses creates something of a conundrum. The NSPersistentDocument owns the Managed Object Context, but the NSViewController subclass is the place that owns all of the UI actions.

To make things worse, the main menus actions only appear to be able to effectively target the application delegate. If you want to target something in the NSViewController or NSDocument, you have to write a handler in the application delegate to find the current document view controller and call the right method.

I've figured out the proper way to do the menu actions, but I'm still puzzling out how to handle the managed object context from the view controller actions.

None of this is rocket science, but it's certainly slowed things down, as I have had to create separate projects in order to figure out the most appropriate way to do things.

I'm still learning Swift. The nuances of optionals and when to use the various operators is something that will come with practice. The compiler is keeping me on the straight and narrow.

Monday, January 23, 2017

5BDXCC? - Well, Not Really.

Back in December, I made my annual submission to the DXCC desk. In addition to adding a few endorsement entities to my DXCC Mixed, CW, Phone, Digital, 40m, 20m, 15m and 10m, I also submitted enough credits for DXCC 30m as well.

Let's see, thats 40m, 30m, 20m, 15m, and 10m. That's five bands! 5BDXCC, right?

No, not really. 5BDXCC requires DXCC on 80m, which I haven't accomplished yet. Getting there.

Monday, December 26, 2016

The Radio 2017 Project

My long-time friend Chris, K4JCW, invented the term GUP. It's an acronym for Great, Unfinished Project. Naturally, any unfinished project can always be great. Because, well, it is unfinished. If it lacks greatness at the moment, there's always a chance it could be added. The greatness of any project reaches maximum before it starts.

A couple of months ago, I got to thinking about some of my unfinished software projects. I've already talked about my casual logging program. While I've made a few small enhancements over the years, it's basically the same program I wrote in 2006. There are others I've been meaning to write for the Mac for several years.

This summer, after the Apple World Wide Developers Conference (WWDC), I studied the updated Swift 3 language. It seemed to me that Swift was probably mature enough to start using. I also caught up on several videos, including those on how to use storyboards in MacOS applications, something that was certainly not possible ten years ago.

I decided it is time to develop some new Mac software. I've labeled this the Radio 2017 project, as I hope to be done within the year 2017. I have identified the need for the following applications:
  • Casual Logging Program - very basic logging program with import / export to ADIF, control of the Elecraft K2/K3, support for RTTY and PSK operating, as well as CW keying, automation via AppleEvents / Automator
  • Contest Logging Program - logging program with contests, supporting main ARRL, CQ and NA contests. Import / export to Cabrillo, ADIF. Support for CW keying and RTTY and PSK operating.
  • SDR Software to use with SoftRock Lite II - I purchased the SoftRock Lite II to use with the K3 IF frequency. This would serve as a pan adapter / spectrum analyzer.
  • Remote Control Server  and Client - to allow me to operate my Gwinnett station from anywhere.
  • QSL Tracking Software - track paper QSLs against awards.
All of these would be useful to me. There are probably a couple of utility applications to consider as well.

In writing this software, I've decided to stick to a few goals:

  • Swift 3 - the applications should be written almost entirely in Swift 3. (There are a few APIs -- notably Core Audio -- that are more appropriately accessed with Objective C/C++. I'll likely use Swift-callable wrapper classes for those)
  • Storyboards - the UI should be constructed using storyboards.
  • UI Guidelines - applications should follow the latest Mac UI guidelines.
  • Store-ready - should these applications turn out well, my stretch goal is to publish them on the Macintosh App store.
The hardest part of this sort of project is maintaining focus and motivation. I hope to help that by publishing my progress here each month. Wish me luck!

Thursday, November 24, 2016

Rethinking the Station Desk

Recently, the water supply line to my Gwinnett house had to be replaced, and that meant I had to clear out my station operating desk so the plumbers could work. With everything moved out from that end of the room, it was the perfect time to re-think the station desk.

Truth is, I had been thinking about this for the past year. Ever since I moved back from Floyd county, I had considered making some changes. Some of this was based on my experiences with the Micro-shack.

Let's start with the desk. In 1985, I bought a 30" solid-core door and placed it over a couple of two-drawer file cabinets. Over thirty years and two moves later, that's what I'm still using. The door has stood the test of time. I originally stained it and coated with polyurethane. When I moved to Gwinnett county eight years later, I sanded it down again and gave it a fresh coat of polyurethane. More than 20 years later, it was again time.

I also made one modification I should have done from the start. I took a router and a 1/4" radius bit and rounded off the top edge of the door. For years, the sharp edge of the door had been cutting into my arms as I rested them on the edge while contesting. The gentler radius prevents that entirely. With a fresh coat of polyurethane, it feels quite smooth.

The two-drawer file cabinets were cheap and provide ample support -- although one of them has to be pushed back pretty far to support the back end of the desk, and thus you can't really use the top drawer to store anything. But the biggest drawback is the height. The resulting tabletop is 30 and 1/4" above the floor -- just a little bit high. In contrast, the Micro-shack desk was closer to 29" above the floor. A much more comfortable height.

I've considered moving the filing cabinets out and replacing them with a 2x4 frame to support the weight of the desk to get a more optima height. I may still do that.

Back nearly thirty years ago, I built a shelving hutch that sits on the desk, holding the equipment on three levels. Made from 12x1 lumber, it's not quite as square as I'd like, but I wasn't much of a craftsman thirty years ago, either.

Back then, I purposely made a shelf about an inch off the desk, and that's where the equipment goes. The space underneath was intended to allow logbooks and other operating aides to be stored, out of the way. I haven't used paper logbooks in a decade now. I did just fine in Floyd County with radios right on the operating desk. If I did again, the shelving hutch would have the first compartments on the desk directly.

Another thing that has changed is space for a computer. Thirty years ago (and yes, I did have computers thirty years ago), the computer was off to the side, and 90 degrees to the operating desk. Today, I almost exclusively use laptop computers. Using a computer is integral to radio contesting, and a lot of my DX chasing. And one side effect of having bifocals is not to have the monitor too high off the desk -- otherwise I end up leaning my head back uncomfortably far.

Any new shelving hutch would have space front and center to slide in a 15-inch laptop or a keyboard and monitor. With room on the right (and left) for radios.

Certainly something to think about.

Wednesday, September 14, 2016

Ameritron AL-80A - Fixed!

AL-80A re-assembled, needing just 3-500Z and cover.
As I wrote previously, my AL-80A needed a repair. The plate choke was burned, with several windings melted, the protective diode and capacitor on the B- rail to ground had gone open, and I'd found that the amp would not tune on 160m -- due to some melted switch contacts.

I thought it might be a while before I could get around to doing this -- considering the last repair took about a year. However, since I had some parts on hand, I put the amplifier on the bench and got started.

1N5308 diode next to glitch
resistor on rectifier board. And
the replaced capacitor below.
First order of business was to fix the protective circuits on the B- rail. I removed the 1N4007 I had installed earlier. I tested it and found it to be completely open. Which is pretty much what I expected, given that the capacitor had opened destructively....

I replaced the capacitor with a fresh part, and installed a 1N5308 diode, as recommended by W8JI. And I mounted it on top of the board this time.

Next part to arrive was the Ameritron Plate Choke (Part Number 10-15197). It was a thing of beauty, and despite the package having a nice accordion dent in one corner, was intact.

Replacing the choke was actually pretty easy. I figured out I had to unsolder the wire to the parasitic suppressor and plate cap connector, and then the two blocking capacitors. This was much easier with the tube removed. (I put the tube inside the plate choke's packing box). I then removed the mounting screw and unsoldered the high voltage and the bypass cap.

Beautiful new choke installed.
Oh! Did I mention that you need to unplug the amplifier and make sure the plate circuit is completely discharged before sticking your hands into the amplifier? No? Gosh, that would be dumb. Of course, you do that first.

The old choke had a teflon washer under the ceramic, but it completely disintegrated when I removed the choke. I decided it wasn't required, and mounted the new choke directly to the sheet metal base.

The new choke had a slightly different geometry with respect to the lugs at the base and top. I decided to loosen the lug on the top and rotate it about 100 degrees. Otherwise, the blocking caps were not going to reach. To move the lug, I first had to unwind the top end of the winding and re-wind it to the lug. I think the choke wire ends were unsoldered for this reason.

Once in position, the lugs were easy to solder.

The final task replaces the melted switch contacts. I must say I got a lot of positive answers from the Amps email reflector (amps@contesting.com). Their diagnosis of my issues was spot on, and I got a lot of helpful advice.

Vic Rosenthal 4X6GP sent a link to an article about band-switch arcing on the Heathkit SB-1000, which essentially was a clone of the AL-80A. He suggested I should add the corona washer, which would help prevent more melted switch contacts. From what I can tell, my AL-80A is a very early model, and it did not have this modification. George Hall N2CG also sent me an email with pictures of the washer.

A huge thank you to goes to Louis Parascondolas, who not only wrote to me with suggestions on how to replace the switch contacts, but mailed me six contact elements (I needed four), plus the brass 2-56 hardware needed to secure them. Thank you, Louis!

Switch wafers disassembled. This was the hard part.
On left is the wafer where the contacts were replaced,
shown with contacts removed, and glued.
Replacing a switch contact isn't a huge deal. The first step is to remove the switch wafer. That took some doing. I deduced I could accomplish this without doing a lot of desoldering and re-wiring. The rear bandswitch wafer is basically connected to the coils and a couple of padding capacitors. One end of each coil was fastened to the capacitor studs, which simply required removing a couple of nuts. The larger coil had two small phillips screws holding it to plastic mounting blocks. The padder capacitors could also be unscrewed from their lugs. Easy right?

Not so fast! a single wire needed to be unsoldered connecting to the loading cap, and the rear switch wafer slid off with both coils attached.

The second wafer just had three connections, easily desoldered: coax and coil end, coil tap, and the cap. Once those were removed, it slid off.

The third wafer is the one we are after. I unscrewed the connection to the plate padder cap, and slid it off with the coax connection in place. That made it easier to unsolder the coax.

Once you get these wafers off, you have to handle them very gingerly! They are delicate ceramic and can easily shatter. The tricky part is to remove the old contacts. I recommend a drill press and very small drill bits to drill out the rivets holding the contacts in place. Gradually go to larger bits until you have removed all of the rivet material. Go very slowly because you don't want to break the ceramic switch wafer.

This is what I told myself, and I managed to get the contacts off with no trouble. I still had the shell of the rivet, which I carefully drilled out of the first hole. The last hole, of course, was a problem. I broke the switch wafer.

New switch contacts engaged for 160m.
I apparently said something aloud which brought my younger daughter into the basement to see if I was OK. (I was) The wafer was now in three pieces. What to do? I decided that I could glue the three pieces together, and it should hold. Superglue to the rescue! The glue took easily to the ceramic, and soon I couldn't tell where the split was.

I cleaned as much of the burnt contact debris off the two switch wafers as I could. When I was done, you could not see any discoloration of the L network (second) wafer, but there was still a little in the contact well of the 160m padder (third) wafer. The contacted would cover that up.

Adding the four contacts to the switch wafer was really easy.

Getting all the switch wafers re-assembled was the hard bit. I added the coax ground connection to the 160m padder (third) wafer, but I held off on the padder capacitor connection until the very end, so I could place the corona washer.

The L network (second) wafer was a bit problematic. I couldn't remember the orientation of the switching portion of this wafer, as there are two ways to put it on. Then I couldn't remember which wires went where. More pictures before disassembly would have been helpful. Studying the schematic made it clear which way things went.

Corona washer in place.
The bandswitch (first) wafer was easier. The tricky bit was soldering the connections to the loading capacitor.

Last bit was to install the corona washer to the padder cap. A brass washer was specified, but I didn't have one in the junk box. I made do with a steel washer and a lot of solder. I verified the continuity of the connection with an ohmmeter. Perhaps I'll redo this the next time I have to fix the amp. (which I hope may be a while)

After any fix like this, there's always the moment of truth. No sparks turning it on, and a quick test on a dummy load proved it tuned up with no surprises on 160, 80, 40, 20, 15, 10, 12, and 17m.

Ten minutes later, I had replaced all 13 cover screws and was already using the amp to chase DX on 40, 20 and 17m.

Working great again!