I'm working on the project in which I need to measure AC current. The main problem I am facing is small current amplitude. I have to obtain the current waveform(I need complete waveform not just RMS value) of amplitude ranging from 100\$\mu\$A to 600mA and frequency ranging from 500Hz to 10KHz. But, I can't afford to have voltage drop more than 4V across sensing resistor. Do I have to use relays and set of different sensing resistors? Any other better alternatives to relays?
Electronic – AC current sensing using micro-controller and suitable circuit
current-sensingmicrocontroller
Related Solutions
Since you don't need a lot of current, (0.5V/10Ω = 50 mA), I would say using a fairly chunky op-amp as a transimpedance amplifier would do the job.
The output will be: \$V_{out} = I_{load} * R_{feedback} + V_{inPositive}\$
The first schematic has the advantage that the output has no offset. However, you need a negative voltage rail.
The second version does not require a negative voltage rail, but the output has a additional 0.5V offset.
In both circuits, the op-amp needs to be able to source the current that flows through the biosensor. With a 10Ω nominal sensor, and 0.5V, this is 50 mA, which is pretty significant, so you will need a pretty chunky op-amp. However, you would likely wind up needing a similar device for the current-source and instrumentation amp design, so there is no real advantage there.
Lastly, assuming your sensor does not go to 0Ω, it would probably be a good idea to do some offset subtraction and scaling of the output of the transimpedance amp so you're using your full ADC range.
If you can get me some more information on your system, I can probably help with that.
Edit: Phil Frost asked a question the the comments to the OP that brought up the question of whether the 50 mA current through the sensor is actually needed for it to operate correctly, or whether it was just so the circuit would produce an easy-to-measure voltage drop.
If it's just make the circuit generate a voltage drop that's easy to measure, there are other circuit topologies that would be easier to implement, with a smaller load current.
Further Edit:
Actually the sensor/chemistry reaction doesn't need a certain voltage across it. I'm not sure if it was good choise or not but I picked up 0.5 V just to have a reasonable voltage drop.
In that case, I would drop the excitation voltage to ~0.1V. This would give you a load current of ~10 mA, which is well within the range of most op-amps, while not being so small that noise becomes a significant consideration.
Furthermore, I would probably use the second topology from above, as with that layout the precision reference voltage does not need to be able to supply a significant ammount of current, which means you could use a more common voltage reference, and a voltage divider to generate your 0.1V reference.
To maintain a decent amount of gain, you will need to increase the feedback resistor.
Lastly, I would add some capacitance across the feedback resistor, to prevent the possibility of the system oscillating. Since this is a bio-feedback thing, you're not going to have much in the way of high-frequency signals in the source, so we can roll-off the system at a few hundred Hz to a few Khz without too much issue.
We then get something like:
You will likely need to adjust the values to work (I just pulled the value of the feedback capacitor out of my posterior, for example), but it should be a good start.
You have a lot many options and choices to make here. Start by answering the following questions :
- What's the range of AC current you plan to measure?
- Do you need a true RMS sensing or would a rectified average be good enough? The later is good enough if you are sure the wave shape & frequency of the AC current is always going to be the same. In that case you could use a mathematical average to rms conversion after average sensing.
- Do you need isolation between the current you are sensing and the microcontroller ? Most probably yes!
- Hall effect sensor is a good solution, that typically provides an output voltage proportional to the instantaneous input current. It also provides isolation. But then you would need to sense the sensor's output voltage in uC/ADC and still perform RMS/average calculations. Can your uC handle the sampling and calculation overheads?
Once you have an answer to the above, you need to design the circuit block that would somehow convert the current to be sensed to a proportional voltage within the ADC range of the uC. Make sure that this block handles positive and negative currents both, while still generating only positive output voltage to be fed to the ADC.
After this, in uC software, you need to perform an RMS calcualtion as follows:
- Choose a sampling frequency. For example, if the AC current is 50Hz, you can choose a sampling frequency like 20kHz so that you have 400 samples per sine cycle.
- Next, have some sort of zero crossing detection circuitry in hardware. This should help you detect the start and end of a sine cycle.
- For all the samples within a sine cycle, performs the sample->square->accumulate operation.
- After every sine cycle (i.e. 400 samples in my example above), perform mean & square root operation.
And that's how you calculate AC RMS current!
Best Answer
If you have two ADC channels avalable you could run a scheme like this:
simulate this circuit – Schematic created using CircuitLab
This avoids switching and allows you to have options on your dynamic range.
If you only have one ADC channel you can get an analog mux and use it to select between the low and high gain and that way you don't have to do anything to your sensitive current signal.