We use SmCo magnets to create a field strength of around 300mT. We choose this material, rather than NdFeB because the former has a much smaller change in field with temperature. For SmCo it is (apparently) around 0.03%/degC or roughly 1 part in 3000 per degree.
Since the magnet is integral to a device that resolves to 1 part in 10^7 you can see how critical it is.
We can overcome this problem a couple of ways.
(a) Maintain a constant temperature as far as possible during measurements
(b) Do a post measurement compensation to the data
I am looking at a possible third way, which is to monitor magnetic field strength and use an auxiliary coil to adjust the field in real time to maintain the constant field. This means measuring the field to a resolution at least 10x better than the drift.
The problem then becomes: Are there any cheap ways of doing this? Hall sensors, for example, also drift with temperature. Linearity is not too much of a problem because we are holding a null position.
Maybe Faraday Effect sensor?
Any suggestions?