Aug 03

Build a 10MHz Rubidium Frequency Standard and Signal Distribution Amp for my Lab

Having gotten myself a Rubidium Frequency Standard I found that the unit on its own is not that useful, its really just a component and needs really a supporting PSU and a decent enclosure to make it useful. I was searching around for something suitable when I was directed to a robust quality unit being sold on e-bay for just £20 with an unbelievable level of re-usable content and turned out to be an almost perfect solution to making the Rubidium Standard a useful Lab item. Rarely does such a fine marriage of junk bits come together to make something really useful.

I had a lot to cover, the whole thing was built in an afternoon and as a result this is a long video at 1 hour 16 mins so be prepared…

The PIC Micro-controller – PIC12F675
The original plan was to use the PIC for three functions, the first was to make the power LED flash while the RFS was warming up and on solid when locked. The second was to generate a 1 PPS signal from the 10Mhz signal and the third was to generate a PWM signal to control the fan speed. As it turns out the RFS already has a 1 PPS output on Pin 6 of the DB9 connector so there was no need for this. It also transpired that the only fan I had to hand was a three wire fixed speed fan, so I also did not need the PWM signal, this left me with just the power LED to deal with which is what the PIC ended up controlling. Here is the schematic for the PIC and the source code.

#include <xc.h>

// Using MPLAB-X and the XC8 compiler, both are free from Microchip.com. I am using this on OSX (Mac) and with an ICD3 for programming.

// PIC12F675 Configuration Bit Settings

// CONFIG
#pragma config FOSC = INTRCIO   // Oscillator Selection bits (Internal oscillator: GPIO on GP4/GP5)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-Up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = OFF      // GP3/MCLR pin function select (GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF      // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF         // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection is disabled)

// IMPLEMENTATION STRATEGY
//
// PIN ASSIGNMENTS
//   2 = RBS_RDY (GPIO5)
//   5 - POWER_STATUS_LED
//

// We are running the chip at 4Mhz
#define XTAL_FREQ 4000000

#define RBS_RDY GPIObits.GPIO5
#define POWER_LED GPIObits.GPIO2

void main(void)
{
    ADCON0bits.ADON = 0;    // Turn off the ADC
    ANSELbits.ANS = 0;      // Make all inputs digital
    VRCON = 0;              // Turn off the internal voltage reference
    CMCON - 0x7;            // Turn off the comparator

    // Set up our I/O pins
    TRISIObits.TRISIO2 = 0; // Make GPIO2 an output
    TRISIObits.TRISIO5 = 1; // Make GPIO5 an input

    while(1)
    {
        if(RBS_RDY == 0)
        {
            POWER_LED = 1;
        }
        else
        {
            if(POWER_LED == 0)
            {
                POWER_LED = 1;
                _delay(100000);
            }
            else
            {
                POWER_LED = 0;
                _delay(400000);
            }
        }
    }
}

The Video Amp – Extron ADA 6 300MX HV
The video amp unit I used in this hack is made by Extron and the model number (on the front panel) is ADA 6 300MX HV. When I communicated with the seller, he said he had about 30 of them, so if this is useful to you and you want to make your own I would go grab yourself one before they are gone. The basic outline schematic for an input channel is here:

The video op amp chip used in this unit is a CLC409, the data sheet is here.

The heat sink I have ordered can be found on e-bay, search for “150x25x60mm Aluminum Heat Sink for LED”.

The switch mode PSU I used can also be found on e-bay, search for “Enclosed Power Supply SMPS,15V,2.4A,36W, it is made by TDK-Lambda and the part number is LS35-15”

See you next time.

If you found this post useful or interesting, please consider giving me a tib.
Tibs are pocket-change for the internet™.
Jul 26

DIY HP/Agilent 53131A-030 3GHz Channel 3 Option Board

As part of the process of upgrading my counter to have a DIY high stability OCXO (Oven Controlled Crystal Oscillator), someone who watched my videos had designed a DIY 3GHz Channel 3 53131A-030 option board. The original from Agilent is very expensive (obviously) and there are clones you can get on e-bay which are a quarter of the price Agilent charge which is why he decided to design his own. His name is Andy and when he saw my video’s he got in touch and offered me one of the PCB’s to which I of course said YES PLEASE 🙂

Now as it turned out, when Andy constructed his own board he had enough components left over so also constructed and tested one for me which was a really kind thing to do and very unexpected too. In exchange for this I have insisted that I can build him an OCXO board while I am doing mine to return the favour.

Anyways, I thought I would do a video to show the HP/Agilent 53131A-030 DIY 3GHz Cannel 3 Option board getting fitted to my counter. I also spend some time explaining how the pre-scaller circuit works and in basic terms what MMIC’s are and how they work too. I also make an adaption to my previous hard power switch modification to make way for the upcoming DIY OCXO board, and I measure up to get the exact board dimensions and mounting hole positions I need for the OCXO PCB layout.

The entire work and full attribution for the DIY 030 option board/PCB goes to Andy, so Andy – thank you so much for making one of these for me – I really appreciate it.

PLEASE NOTE: I will not put Andy’s Youtube/EEVblog ID here unless he asks me to, and I will not pass on his details without his express permission so please don’t ask – I respect peoples privacy. If Andy does want to share his details in connection with this project then I will gladly put them here.

PLEASE ALSO NOTE: The schematic drawing below is technically incomplete and is meant as an illustrative block diagram. In the real circuit there is also a resistor in series with each inductor at the top of each MMIC to set up the right DC conditions.

See you next time.

If you found this post useful or interesting, please consider giving me a tib.
Tibs are pocket-change for the internet™.
Jul 07

Measuring Distortion with a HP 339A and a Keithley 2015 THD

I have had my HP 339A for a long time now and despite only using it a small handful of times it is a really great instrument – but – its big and takes up a lot of shelf space. A few weeks back a purchased a Keithley 2015 THD which is a 6.5 digit bench meter with a built in distortion analyser, I bought it because of the distortion analyser function. I would like to get some more instrument shelf space back so am able to replace the HP 339 with this 2015THD I will make that much needed space. I decided to build a simple output circuit so that I can induce some crossover distortion and compare the basic measurements on these two devices to see the results. Now I must make it clear that this is a basic 101 on measuring distortion, I am sure there is a lot more to know that I do but I believe I cover off the basis.

The simple drawing I used to explain the test and test circuit.

I will tear down the HP 339A on video to show how nicely these are built. This is one of those rare “all analog” devices that has not digital parts at all, watch out for that video if you like seeing the guts of nicely built equipment.

Thanks for watching.

If you found this post useful or interesting, please consider giving me a tib.
Tibs are pocket-change for the internet™.
Jun 30

Seven Decade Programmable Resistor – A Low Cost Solution

I have spent a lot of time over the years prototyping electronic circuits and the amount of resistors that have ended up in the trash because they are so cheap you don’t bother to keep them tidy or organised once you take them out of their organised storage – you know the story. One potential solution to this is a programmable resistance box but the problem with these things are they are bulky and expensive and do not lend themselves well to breadboard prototyping. The cost of construction means they are typically the reserve of high-precision resistance boxes. I have a CROPICO RBB6E resistance box in my lab which I open up to have a look inside, its really well made, mostly by hand too, far too nice to abuse in prototyping….

I looked around at what is available but did not find a solution that met my own requirements so I decided to design something simple myself. I also wanted to make a simple project to get manufactured by machine which apart from other things requires reasonable volume, and I thought this project would be useful enough to others that I should get some made and make them available.

Various Pictures

IMG_5847.JPG
IMG_5847.JPG
IMG_5850.JPG
IMG_5850.JPG
IMG_5851.JPG
IMG_5851.JPG
IMG_5852.JPG
IMG_5852.JPG
IMG_5853.JPG
IMG_5853.JPG
IMG_5854.JPG
IMG_5854.JPG
IMG_5856.JPG
IMG_5856.JPG
IMG_5858.JPG
IMG_5858.JPG
00000273.png
00000273.png

Project Discussions

Project discussion thread on EEVBlog forums

Other Resources I mention in the Video

Cheap Resistance Substitution Box by @vtl on the EEVBlog
Cheap Resistance Substitution Box – Hack-a-day

If you do want one of these I have these for sale on “tindie.com”, the item listing is here:

https://www.tindie.com/products/gerrysweeney/seven-decade-programmable-resistor-1r-9999999r-1-500mw-gerrysweeneycom/

I have also listed these on e-bay, you can search for “gerrysweeney.com” which will find the listing.

As ever, if you have any comments, suggestions or feedback, please use the form at bottom of this page

Thanks for watching

If you found this post useful or interesting, please consider giving me a tib.
Tibs are pocket-change for the internet™.
Jun 16

Fully Programmable Modular Bench Power Supply – Part 14

I said last time I would look at the software and firmware for this post but I decided I needed to spend more time on the regulator to address the DC response issues I had observed, I felt this was more important to get right so this article focuses on that. The good news is, I have achieved good results and I believe the regulator design is complete – at least for the high current version of the module (0-8V 0-8A).

I had problems with the regulator over shooting by about 500mV when transitioning from a high power load to a low power load. There were two main problems, the first was down to the inductance of the wiring on the output, that creates a problem which in turn was amplified by the relatively slow response of the various amplifier stages. I have achieved significant improvement on my previous measurements by tuning response times through the various stages, this simply required lowing the impedance through the various stages to ensure the servo was able to respond more quickly to changes on the output. This was achieved by adding C24, C25, C39, C40, C41, C43, C45, C46, C47 and C48 to the input and driver stages. I also needed to throttle back the fast rise time of the control drive from the DAC to follow behind the response curve of the regulator circuit. These changes mean the regulator now delivers a clean and very acceptable dynamic response to fast-switching load conditions.

The Schematic

Here is the latest schematic which is at version 0.7 including all of the latest changes. The most significant changes are on sheet 3.
  
  

Various Scope Traces from Testing

Average rating  1 2 3 4 5fYou must login to vote
scope_6.png
scope_5.png
scope_4.png
scope_3.png
scope_2.png
scope_1.png
scope_15.png
scope_14.png
scope_13.png
scope_12.png
scope_11.png
scope_10.png

I now need to lay out the new PCB and get some ordered, I will do this over the next couple of weeks. I will definitely cover the development environment and the firmware in the next post as well as the serial protocol used to control and monitor the module.

Thanks for watching.

If you found this post useful or interesting, please consider giving me a tib.
Tibs are pocket-change for the internet™.
May 12

Fully Programmable Modular Bench Power Supply – Part 13

It’s taken me a while since the last update, I have been real busy of late. Having completed the first physical build, I now need to make various changes to the construction. Given the screw-up of the star earthing topology on the first board, I need to layout another board revision so I am going to make a bunch of other improvements. In this article I cover the various design changes and perform some basic power, DC condition and regulator response tests, I identify and resolve some issues and re-select better performing op-amps as an alternative to the LT1013, I have selected the OPA2277U part, and I have also tweaked the power supply implementation for the drive circuitry to reflect the fact that the newly specified op-amp is not a single-supply rated part.

The Schematic

Here are the latest schematic which is at version 0.6 including all of the latest changes.
  
  

I now need to test and resolve (or decide its acceptable) the overshoot problem when testing the load/no load dynamic response of regulator. I also need to re-layout the next board revision, get some boards made and build the next version. In Part 14 I am going to cover the firmware, describe the development environment and show the basic software layout as well as details on the current serial protocol I am using to control the module.

Thank you for your continued interest in this project, please give the video a thumbs up if you have found it interesting.

If you found this post useful or interesting, please consider giving me a tib.
Tibs are pocket-change for the internet™.