Thursday, 16 January 2025

Proton Precession Magnetometer - Part 4. Amplifier Fail!

The amplifier circuit is reasonably simple and came together quite well and I made a power supply in a plastic food storage container o hold 4 6V Lantern batteries which serve as a bi-polar power supply. It sat neatly in a grounded aluminium case and I was confident it was connected correctly. 


I did a quick calculation based on the likey local magnetic field strength as to what capacitors should be switched on via the dip switch:


I even found that my local supermarket was selling "highly distilled" water as a health drink so I got some and was ready to go. The first time I did a run I was very excited to see a strong signal.



Doing an FFT analysis (via scipy.signal.periodogram) showed a number of promising peaks in rougly the right place.


Perhaps a little on the high side but in the right area for sure. Then I stopped to think a bit. The signal was remarkably clean, even before filtering. There was no sign of the 50Hz noise others have seen. And when I looked more closely it did look a bit more like it was "ringing". Was I actually seeing what I thought I was? I did a number of runs with different conditions (longer delay, longer data collection) and was getting similar results. The I decided to try it without the water sample in place. The results, to say the least, were disappointing:




Similar results were obtained when the polarisation coil was unconnected and the data collection run with no polarisation. If the sensor coil is disconnected completely from the amplifier, only broad-spectrum noise is recorded.

So what's going on? I went back to re-read the appropriate chapter of "Signals from the Sub-Atomic World".  I also downloaded the Gerber files for their PCB and examined their photos of the amplifier. From this I realised that I had not full appreciated the importance of some of the precautions against oscillation. I thought that simply having a ground plane, an insulated case and a (more or less) linear signal path would do. But I see now that there's some important things I overlooked (admittedly it would have been useful to show the decoupling caps on the schematic, but they are only part of the problem). I will not redesign the PCB to have:

  • Full surface mount. Their design has no through-hole components and even the few unavoidably through-hole components (an op-amp and the audio transformer) are mounted in an SMD style.
  • Proper decoupling caps on the positive and negative power suppliesas close as possible to each amplifier IC. 
  • Very short power traces on the PCB (their design has power cables attached to several places on the board right near where they are needed)
  • A full ground plane, uninterrupted by traces, on the underside of the board and substantial ground planes on the top. Also thick ground and signal traces.
  • A smaller, more compact board.
  • No test points - these made the signal path non-linear and were not useful anyway as any testing can be done directly on the ICs.

Version 2.0 is being designed. I have enough parts to do a second board, although I will try and recover the 12-way DIP switch as that's hard to obtain. Hopefully a better design will address the oscillation issues I'm observing. One positive is that at least it appears the ADC sampling at ca. 16,0000 samples/s is sufficient to capture the signal of ca. 3000 Hz. In order to improve the accuracy of the sampling I set up an external DS3231 Real time clock and used the 32KHz signal with a simple interrupt on the arduino and a counter. This gives me an accurate timebase for the sampling. 











Saturday, 4 January 2025

Proton Precession Magnetometer - Part 3. Polarisation Coil Pulse Controller

 I've made reasonably good progress on the pulse controller over the last two months. As often happens, some things I thought would be easy turned out to be hard and some I thought would be hard, not so much.

The power supply and controller is now all set up and finally working. I'd located a nice roomy case that fitted the power supply (150 W Meanwell 12V), installed a fused main switch and done the appropriate connections. I've done my best to cover any mains level exposed connections with tape since I'm likely to be poking around a bit while it's powered.



Also shown is the Raspberry Pi Zero W that I'll use to control the whole thing and analyse the data. The direct control of the pulse is done by a Arduino Pro Nano which hopefully will also collect the data and therefore as well as including the coil activation circuit (basically an opto-isolater controlling the gate of the mosfet bank) the pcb also includes an SPI controlled SRAM and an ADC. Brief tests of each suggest that they are fundamentally working as I'm able to read and write to/from the SRAM and when I feed a ca. 2000 Hz signal into the ADC I can sample it, pass the data by Serial to the Pi and perform an FFT, recovering the frequency within 0.1%. Still this is very much on border of how fast the Arduino can sample so I do regret simply going with a device I had to hand and not a faster variant. More detailed analysis will be needed to establish if the sampling rate is fast and accurate enough. Also on the PCB are connections to the front panel for a RGB LED to show the status of the device (ready, energised, collecting, cooling down etc) and a push button to trigger the coil activation and data collection cycle which is useful for testing.



Unfortunately when I hooked up coil and pressed the button, I soon realised (or smelled) there was a problem. Something was wrong with the MOSFETs used to switch on and off the coil. In fact as far as I could tell they were not turning off and so rapidly heating. I removed them and tested them, finding one of them had gone short. Thinking it might have been just a bad MOSFET I replaced it but the the same problem soon occurred. At this point I decided to rethink the MOSFET system. I had followed the book's suggestion and mounted them on perfboard with wires soldered between them and a bar of aluminium as a heat sink between them and the case:



This seemed a bit mechanically dubious as it required bending the pins of the MOSFETs and some marginal soldering. Instead I decided to design a PCB, using as thick traces as I could and 2oz copper (I did a calculation here to estimate how thick the traces needed to be). The result was much cleaner. 



Still there was an issue which I think might have also been the initial problem. With these IRF6215 MOSFETs the tab with the screw whole is also connected to the drain. Although I had used some thin silicone insulating pads they were difficult to hold in place and clearly not doing the job. I purchased some slightly thicker adhesive TO-220 insluating pads as well as redrilling the holes in the aluminium heatsink and the case more carefully. I progressively tested it with my bench power supply and it seemed fine. Then, fairly confident, I hooked up the coil and pressed the button. Nothing bad happened. I found I could run it fairly regularly (the coil is only on for 6 seconds) and the MOSFETS hardly got warm to the touch. So it seemed to be working. But how to be sure? Well one test is to use a compass to see if there's a disruption to the local magnetic field:




Finally - I was curious about how quickly the coil can be turned on and off. With my oscilloscope I estimated that it's about 7uS to turn it on:



 And 3.7uS to turn it off:




The next step is the signal amplifier - I've got all the parts and the PCB so it should come together fairly quickly. 



Proton Precession Magnetometer - Part 4. Amplifier Fail!

The amplifier circuit is reasonably simple and came together quite well and I made a power supply in a plastic food storage container o hold...