0
\$\begingroup\$

I'm running an audio signal into an ADC on a teensy 3.1. The teensy then detects the first several harmonics of the signal. I had this project working on a breadboard for a good while and finally got around to putting it on some PCB. Since putting it on the PCB, the signals harmonics are detected properly only from ~1kHz to 2kHz (the program should work from 20hz to 2kHz).

The signal just runs from an audio jack to the ADC pin. I've blindly experimented with different values of termination resistors by touching leads to the exposed solder but haven't come up with anything too good.

The signal is originating from some synthesizer modules - a VCO patched to some modules which attenuate it and add an offset to condition it for the ADC. (I intend to house these signal conditioning things on-board in a future revision.)

When the signal is sourced from a waveform generator its harmonics are detected perfectly so the problem must be something to do with the VCO signal source.

Why is the signal only detectable over the range of 1000-2000Hz?

Is the problem diagnosable from the information given?

Is this a case where I must consider the output impedance of the source? If so, is there a way to design the input to the ADC so that it works with any source, no matter its output impedance? (opamp buffer?)

Are there standard practices for designing ADC input paths?

\$\endgroup\$
1
\$\begingroup\$

Its hard to tell without comparing your breadboard and the PCB version. Maybe the input track now has significantly more capacitance to ground? Can you lift the input pin and connect directly?

The signal generator will have a lower impedance output, and potentially a high power too. Its also possible that before you were seeing harmonics due to the breadboard which were not present in the input. Try a sine-wave frequency sweep with the sig-gen.

Standard practice is keep everything very short, decouple or screen everything that is not signal.

\$\endgroup\$
8
  • \$\begingroup\$ I've been using sine waves and triangle waves as test signals since the breadboard version and can say with confidence that it worked reliably. I've also tested the input signal at as many different points as I could think of testing on the PCB version. The oscilloscope leads alter what harmonic is detected and so it looks like a clean sine when the oscilloscope is in place. So the problem is elusive in that sense. Granted the versions are very different, but the path to the ADC is essentially the same (a wire of comparable length). \$\endgroup\$ May 13 '16 at 22:19
  • \$\begingroup\$ How does the lower output impedance/higher power of the signal generator effect what is happening? Intuition tells me if I can start getting a grip on that idea I'd be getting somewhere. Would you mind elaborating on the effects of output impedance of a signal source in this context? \$\endgroup\$ May 13 '16 at 22:22
  • \$\begingroup\$ Put a sine wave in, make sure you don't see any harmonics (at least at about the level of 100:1 in voltage). This is the only way you can check for distortion in the circuit (and get a frequency/gain plot). If the ADC input is not a PCB track, it should be OK (but remember you need both signal and ground to be nearly ideal). If its not this input, its the analogue voltage reference. That needs to be stable, and well decoupled. \$\endgroup\$ May 13 '16 at 22:25
  • \$\begingroup\$ There is no distortion (well, negligible distortion) over the range of ~1000Hz to ~2000Hz. from 20Hz to ~1000Hz its all over the place. That's the problem. \$\endgroup\$ May 13 '16 at 22:29
  • \$\begingroup\$ You understand or can look up power matching (voltage, source resistor, load resistor - optimum power transfer when the two resistors are the same)? Sig-gen has maybe a 5 volt open-circuit output, and 1 volt into 50 ohm. It will not be affected by scope probe or fingers, because of the low impedance. Your test source might be a few k ohm, in which case you may struggle to develop a voltage at the ADC input if that input presents a low impedance. \$\endgroup\$ May 13 '16 at 22:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.