I am attempting to design a voltage-controlled bidirectional current source that will drive an inductive load. The current source needs a range of 100uA to 200mA, and it needs to work with precision of about 100uA at lower load currents, with lower precision acceptable at higher load currents. It needs to be able to output sinusoidal, (approximate) traingle and (approximate) square waves over frequencies from 1Hz to 1kHz (I understand I'm driving an inductor so perfect square and triangle waves are impossible), and ideally with as low an operating voltage as possible, as the system will be battery-powered.
Here is what I have tried so far:
I tried designing this circuit I designed based on instrumentation amplifier feedback, but it's unstable and oscillates at around 130kHz. I considered using the circuit below from this TI document, but it introduces excessive series resistance with the load and does not have easily-adjustable current precision.
For the same reasons I've decided against using an op-amp with the load in the feedback loop. Does anyone have suggestions?
In case you're curious, this is the load, a Helmholtz coil I 3D-printed and wound which will be acting as a magnetic field generator.