How can we sense currents?
There are 2 practical methods: shunt resistors and magnetic methods.
Shunt resistors are OK for low currents (10A or less) but do not provide isolation between your control circuit and power circuit (not so good for 400 V AC).
Magnetic methods can be scaled up to ferociously large currents (100 000 A +) and provide electrical isolation between the primary current (which you want to measure) and the secondary. Additionally, you can set a turns ratio (or equivalent) so that you output only a fraction of the primary current.
Various magnetic methods exist, most notably the Hall Effect sensor. These sensors produce an output voltage proportional to the applied magnetic field, so all you have to do is cut a ferrite ring in half, stick in a Hall effect sensor, and you're done, right?
Yes and no; cutting ferrite is seriously difficult as it tends to shatter. (My colleagure had some success with commercial water jet cutting, but he broke a lot of ferrite first!) Additionally, Hall Effect sensors are not super-accurate. Finally, you can just buy one from DigiKey / Mouser / Farnell etc. Where's the fun in that?
Enter the fluxgate. This is a magnetic field sensor which relies on <i>deliberately</i> saturating a ferrite (or other material) core. This is attractive because it means no ferrite cutting is required!
The first part of the project will consist of some explanation and experimentation with a single-core fluxgate. Things will get fancier from there...
I intend to deisgn and build a DCCT using SPICE simulations, repeatable measurements, PCB design and (somewhat) hacker friendly components. At present, I am thinking about a unit with 25A input / 1A output, and a maximum uncertainty of around 100 mA (0.4%).