Jul 282011

— Update: Digilent got back to me and they are sending out a replacement board. Very quick and positive response. Way to go Digilent! —

I was planning on reviewing and the new chipKIT Max32 board and comparing performance to the Arduino Mega 2560, so I downloaded the modified Arduino environment and downloaded the blink demo to the board. Everything seemed to be OK, but there was no blinking light. This is pretty much the simplest program on the Arduino and all it does is toggle digital pin 13 high and low with a two second period. Most Arduino boards have a LED on pin 13.

Time to debug.  Probing around, starting at the socket for pin 13, I saw that the digital line was toggling, but I was getting no LED action. Let’s take a look at the chipKIT schematic. Here is the LED driver on the chipKIT. They use a transistor to drive the LED instead of driving it directly as on the Arduino.

The chipKIT LED driver for pin 13. They don’t load down the I/O pin. Nice.

OK, so let’s see what’s going on over at the LED driver.

Q2! Where are you?

What a bummer. Q2 is missing! I sent a note off to Digilent’s tech support and got a response in just a few minutes. I’m hoping that this is a one-off mistake and that they aren’t saddled with hundreds of bad boards. Did somebody forget to load a reel? I wonder who is making the boards for Digilent.

Anyhow, how about some benchmark action?

Let’s look at the time required to invert a 5×5 single-precision floating point matrix. The time for an Arduino Mega 2560 is 3.2 ms while the chipKIT only takes 260 us. That’s a speed up factor of 12.3. Not too shabby.

My intention for the chipKIT board is to upgrade Tobor’s brain for next year’s Sparkfun AVC with minimal effort. I can drop a Tobor shield onto the chipKIT, keep all of the Tobor code unmodified, and add a ton of processing headroom. That’s the theory, at least. Not all of the Arduino libraries are working on the chipKIT. Currently, (I think) I2C, interrupts, and servo need work. 

 Posted by at 5:00 PM
Jul 082011

I’m a big fan of lock-in amplifiers; I’m always scanning eBay for a good deal. Recently I got a pair of EG&G 5207 lock-ins. Both were busted. One seemed to have ended up in the auction chain due to some bad buttons and the other one booted up with error messages. I bought both cheap and was able to Frankenstein a working unit of of the two of them. The main issue was the sticky buttons on the good unit causing the control computer to be unresponsive. That was the unit I saved. All I had to do to get it working was to swap in the good switch array board from the unit with the bad computer. Lots of screws and standoffs, but it wasn’t too bad.

Here’s the organ donor:

I might be able to get this one working too. I’ll have to fiddle with the CPU card on the far left.

The organ donor had cards in it for two frequency ranges: 0-20 kHz and 0-100kHz. I pulled the broadband card and put it into the working unit. Even better, the local reference oscillator card from the donor was moved over to the new unit too. So now I have nice single phase lock-in with two front ends optimized for audio and 0-100kHz inputs. I’ve got almost all of the available options in the good unit now.

How well does it work? I’m feeding a 90 kHz 1V peak-to-peak sine wave into the lock-in reference and signal inputs. The correct RMS voltage is 0.354 V. It’s not too far off for a 24 year old instrument that I saved from from the junk pile. I haven’t tested the GPIB or RS232 interfaces, but I bet they work too. I’m not sure how to calibrate the thing, and I’m not even sure I want to try. A few percent absolute accuracy is fine and I’ll mostly be doing relative measurements anyhow.

All that’s left to do is clean the front panel.

 Plans? Well, I’m going to try building a phase-switched radio interferometer so I can do some radio astronomy.

 Posted by at 11:15 PM