Needing more than a spark test?

I was going for brutal minimalism, but with tracking laid in for the "optional extras". A compromise might be to use some tiny adjustable pots. Another way might be to include tracking to provide test terminal hook-ups for external pots to override the higher resistance fixed resistors in the chain that determines thresholds. Low-pass filtering a digital output which is being PWM bit-banged puts the complexity in the computer, and is not such a bad idea. I will be checking out some SPI type DACs anyway. :)

While on this subject, would you extend the "adjustable" desire to include the diode bias? I had thought that three little lithium button cells at 3.3V each, all in series, and with no other job, would be the best low noise bias. One could alter that to two, or even one cell if the lower dark current noise proved to have a better result, despite the signal charge being arriving into a into a larger capacitance. Back when I was looking at switch-mode type bias, remotely changing the voltage was easy.

I am including software switched gain ranges, using analog switches to change the gain of the op-amp stages. I thought three ranges would be OK. It would allow to "zoom in" on small signals.

It occurs to me that anyone dropping into this thread now will be looking at our discussions of a evolved design, and might be a bit overwhelmed by it.
 
Since the A/D front end needs to run upwards of 400KSPS this pretty much eliminates low-end Arduinos.
Um... why? There's not a high rate of counts expected, and integrating on the rising edge of a peak
only takes microseconds, with no digital action at all. Then you digitize the integration capacitor
value, and reset it (probably polling driven, the CPU doesn't have other real-time tasks that need
rapid response).

If you expect 10k pulses/second, there's usually well over 20 us to make the conversion (and
if you want, two or more gains can be accomodated, using two or more integrators with
different hold capacitors; if the highest gain shows a maximum value, just convert
the voltage on a lower-gain channel (an Arduino UNO has six).
 
Um... why? There's not a high rate of counts expected, and integrating on the rising edge of a peak
only takes microseconds, with no digital action at all. Then you digitize the integration capacitor
value, and reset it (probably polling driven, the CPU doesn't have other real-time tasks that need
rapid response).

If you expect 10k pulses/second, there's usually well over 20 us to make the conversion (and
if you want, two or more gains can be accomodated, using two or more integrators with
different hold capacitors; if the highest gain shows a maximum value, just convert
the voltage on a lower-gain channel (an Arduino UNO has six).
Trying to summarize here :)
The Teensyduino has a 180MHz microcontroller. Teensy 4.0 races along at 600MHz (I think), but right now, just like the Raspberry, supply is very short. The Beaglebone is a whole 1GHz chip PC. The Raspberry Pi has a overclockable 1.5GHz CPU, although the rate at which it can toggle a single GPU pin is less than that. I ran up an old Raspberry Pi 3B in a test run for SPI data transfer from ADC, and the limit was at 33MHz only because of the cycle time in the loaded software. Of course, it did have a whole Debian Linux OS loaded, with PyMCA and everything else. Not stripped down at all. I know it's a lazy overkill, but for me, this was about value. The thing is powerful, low cost, and runs the already highly developed open source software from the European Synchrotron Radiation Facility . I tried it, and it works on stashed captured data. It should be easy to figure a program to get the numbers from an ADC, and put them in a file that PyMCA can read.

Above all, I want the final gadget to be very affordable, yet still aspire to the practical limit in signal capture.

You can (apparently) sample slower, if you like .. [Mark's post #332]
Getting at a version of a energy pulse from a photodiode can, apparently, be "slowed down", or "stretched". This is the effect of low-pass filtering by bandwidth limitations in the main amplifier, and was used some time ago to allow the audio channel of a regular PC to be used as a ADC. The theory is the general size of the surviving pulse lump has sufficient correlation to the original pulse to be able to represent a photon energy. I explored the pulse distortion of the early circuits (post #232), and in my bones, I so disliked the results.

Mark has taken to mathematical awesomeness to show that the relationship of the (distorted) pulses to the original energy is still "pretty darn good". On the way, we can figure that he has a grip on numerical differentiation analysis and polynomial regression curve fitting! I love this, and I am keeping it in reserve in case my amplifier design ends up a bit slow. I consider it better than "in my bones"!

How many samples per second?
I still take the hardball approach. Consider this a personality defect from a life in military and aerospace norms. The duration of the original photodiode pulse is still, to some degree, "stretched" simply by the fact the charge is spread into the self-capacitance of the photodiode, which trades off signal height against dark current noise.

X100-7 SMD Dark Current & Capacitance.png
With 10V bias, it's 85pF, running 2.5nA dark current.
With only 2V bias, it's about 230pF, running about 1.3nA dark current.
We would love it to work at 2V bias, because of this next thing -->

X100-7 Absorption Range-vs-Bias.png
Capturing energies down to less than 2keV with still as much as 10% absorption probability is what gives this gadget the promise of great performance for the dollar.

High or low, the duration of a photon pulse is about 10uS to 13uS, with tail to 20uS. Trading off cost vs speed, the £39 ADC will go at 2MSamples/sec, giving about 20 samples out of the pulse shape.

The extreme TIA gain - with low noise!
The reason I choose a op-amp with 500MHz gain-bandwidth product is to be able to preserve a pulse with waveshape content up to about 300kHz. Trying for a gain of a million in one stage is the recipe to stretch a pulse, and maybe have it drive into saturation from random noise and offsets. A transimpedance amplifier of (say) even 500MHz gain bandwidth product will not be able to move it's output other than very slowly. My way is to divide and conquer, by splitting the gain task between more stages, while still having more than 35dB gain in the first stage to bring the signal to the point it is out of reach of noise. The device is chosen for the lowest possible noise figure I can get, with input bias current in femto-amps. The gain-bandwidth product of the overall transimpedance amplifier is around 2.4GHz, allowing as much as 78dB(V) gain at 300kHz.
This instrumentation is intended to be able to see the small peaks at higher resolution, in between the big pulses. The metals we are interested in do not have huge energy flourescence.

20Msamples/second is where I am aiming. I can always slow it down some, if I have to. I can also relax the TIA performance some, if I have to. I can make it lower cost, but there is not very much left in it, because of the way we outrageously exploit low-cost little computer boards and free software.
 
Last edited:
Um... why? There's not a high rate of counts expected, and integrating on the rising edge of a peak
only takes microseconds, with no digital action at all. Then you digitize the integration capacitor
value, and reset it (probably polling driven, the CPU doesn't have other real-time tasks that need
rapid response).

If you expect 10k pulses/second, there's usually well over 20 us to make the conversion (and
if you want, two or more gains can be accomodated, using two or more integrators with
different hold capacitors; if the highest gain shows a maximum value, just convert
the voltage on a lower-gain channel (an Arduino UNO has six).
Agreeing here. Lots of ways to get it done. I had an Adafruit M4 Feather Express digitize at 1MHz, using DMA and ping pong buffers. Just digitization isn't that bad. Doing concurrent processing without fouling up can be tough. For my Doppler chronograph, I only needed 60KHz sampling, so I slowed it down. But I was doing concurrent radar signal processing and target detection at a 50 Hz rate. It was only tricky because I didn't have an in circuit emulator. Had to use a lot of idiot lights (just GPIO) to figure out where things went awry. Break points would have been nice, but made it work anyways.
 
Paraphrasing a famous, though flawed man.
"This is not yet near the end. It is not even the beginning of the end. But it is, perhaps, the end of the beginning".

I have sunk enough cash and time and even ex-Russian (Ukrainian) hardware into this to have reached that point where I want to press it home, and I can sense we now have a complete grip on what we are trying to do. We are definitely getting there!

At the start, I would never have thought how much we would learn, not only about some electronics applications and design simulation, but about nuclear physics, and chemistry, and the practical realities of machining up stuff that includes lead! We have the inorganic chemistry expertise of @pontiac428, and the actual experience of @RJSakowski, and the professional background of @WobblyHand. I have to dabble in this effort in between other stuff that I simply have to give attention to, and also to some elective activity I can't resist, like flying sailplanes in thermals, even at my age!

I fully realize that this thread charts a complete, if somewhat laid back, development effort that pretty much wrings out most of what it takes to make the kit do something sensible. Anyone coming across it for the first time is likely not going to trawl the whole thing, and many who have interest may have been taken out of their depth, and had to let go. I hope we soon(ish) get to the point where we can describe the stuff, where to get, how to make, and let folk run with it. If it starts to get noticed, there may be others who can come up with improvements.
 
Last edited:
While on this subject, would you extend the "adjustable" desire to include the diode bias? I had thought that three little lithium button cells at 3.3V each, all in series, and with no other job, would be the best low noise bias. One could alter that to two, or even one cell if the lower dark current noise proved to have a better result, despite the signal charge being arriving into a into a larger capacitance. Back when I was looking at switch-mode type bias, remotely changing the voltage was easy.
After I removed the switcher from my PocketGeiger board and replaced it with an external (linear) bench supply I took the opportunity to check the detector's sensitivity to bias voltage. I didn't observe a strong dependency so I believe that your battery approach would be fine. It certainly will be optimal in terms of the bias supply's noise contribution!

A well-shielded external switcher or charge pump voltage boost circuit probably would be OK in terms of not injecting noise into the detector signal path. That giant PIN diode is a great antenna, and I think that was the main issue with having the (unshielded) diode near the switcher.

One thing to keep in mind if operating the detector at a reduced bias voltage is that its capacitance will go up. So the feedback capacitor in the TIA will need to be changed accordingly.
 
Although my approach has been to digitize a highly filtered version of the pulse coming out of the TIA -- which on the face of it should permit the use of a fairly slow ADC -- there are reasons why I'd been looking at something faster. If we use a 2nd degree polynomial fit to back-calculate the "real" peak value we get an additional benefit by an improvement of the SNR -- it's a least-squares fit that, of course, uses multiple samples to get there. One should see an improvement proportional to sqrt(N). But the fly in the ointment is that a second degree fit really only is good for values right around the peak. So I wanted as many as I could get on either side of it. Like Graham, I'm an SNR addict but I like a different sauce :D.

Realizing that integrating the entire pulse instead is a better approach sort of threw the fast-as-possible ADC requirement out the window (for me anyway), but I'm still interested in using the polynomial fit's RMS error as a possible way to identify good pulses. So something that runs at a few hundred KSPS still might be desireable. They cost less than MSPS ADCs, too.
 
Is not cooking foil, flimsy version, simply so "transparent" to X-ray photons that it could cover over the photodiode with a Faraday shield that will simply stop it being any kind of antenna pickup?

OK then - I do agree that a switch-mode anything buzzing away in the same space as a low-noise 60dB+ gain amplifier is just a bad idea. Even if the voltage was generated outside, and filtered to death on the way in, trying to stop common-mode interference is a b*tch. Even the bias battery pack has to live in there with the circuit, just so it does not carry in trouble. For these reasons also, the 50Hz + 60Hz deep notch filter will be in there.
 
Last edited:
"Maxim Integrated and Analog Devices are now one company"
Actually, I think it might be more of a take-over than a merger, but one wonders if this means Maxim devices will appear in the LTSpice model library ?? :)
 
Is not cooking foil, flimsy version, simply so "transparent" to X-ray photons that it could cover over the photodiode with a Faraday shield that will simply stop it being any kind of antenna pickup?

OK then - I do agree that a switch-mode anything buzzing away in the same space as a low-noise 60dB+ gain amplifier is just a bad idea. Even if the voltage was generated outside, and filtered to death on the way in, trying to stop common-mode interference is a b*tch. Even the bias battery pack has to live in there with the circuit, just so it does not carry in trouble. For these reasons also, the 50Hz + 60Hz deep notch filter will be in there.
I tried re-installing copper foil around my detector and that didn't improve the situation w/regard to switcher noise getting into the analog signal path. I hypothesize that the noise may be magnetic coupling due to currents in the inductor and PCB traces to/from it.
 
Back
Top