Archive for June 23rd, 2017

LF Crystal Tester: Bring the Noise!

The OLED display refresh contributes 100 Hz noise pulses to the low-level sine wave from the crystal test fixture:

OLED Enabled - 100 Hz display refresh

OLED Enabled – 100 Hz display refresh

Disabling the display by activating its powersave option reveals 60 Hz pulses from the USB port on the Arduino Nano:

OLED Powersave - 60 Hz USB Ground Loop

OLED Powersave – 60 Hz USB Ground Loop

Unplugging the USB cable, leaving just the +5 VDC power supply and coax cable to the oscilloscope, solves most of the problem:

OLED Powersave - USB unplugged

OLED Powersave – USB unplugged

A closer look shows some (relatively) low frequency noise remains in full effect:

OLED Powersave - USB unplugged - detail

OLED Powersave – USB unplugged – detail

Disabling the display while measuring the crystal seems sensible, although, to avoid surprises, a pushbutton should start the process. Unplugging the USB port puts a real crimp in the data collection, although that’s probably survivable with a USB isolator, one of which is on the way around the planet.

The remaining low-level chop requires more thought. Somewhat to my surprise, holding the Arduino Reset button down doesn’t change much of anything, so it’s not a firmware thing.

Those 10 µF coupling caps gotta go.

With the OLED dark and the USB carrying data:

Spectrum - OLED Powersave - USB in

Spectrum – OLED Powersave – USB in

Compare that to the first pass:



Tamping down the noise seems to reduce the overall amplitude variation, but it also makes the capacitor-in and capacitor-out curves more consistent. There may be other things going on that I haven’t accounted for.

The peak frequencies differ by 0.2 Hz, which is probably due to a few degrees of temperature difference. Obviously, it’s badly in need of a temperature calibration & correction.


, ,