Wednesday 4 September 2019

microcontroller - Micro-controller controlled current source


I am trying to design a programmable current source that can go up to 5 A. I have a few designs in mind but none of them really seem to be best solution. I would appreciate if any one has any good opinion of a new design or an improvement.


The first design:



For the first design I simply use power amplifier from Burr-Brown - OPA549 [datasheet]. I know the load resistance (R_L), so I simply change the Voltage output of the voltage follower, and since the power amp can handle the current (up to 8A continuous) . The circuit is pretty straight forward.


Current Source with OPA549


The problem with this circuit is the power dissipated (wasted) as heat. From the OPA549 datasheet : enter image description here


It has horrible output voltage swing to supply voltage characteristics. My R_L is about 1 Ohm. So to drive 5 A, I have to produce a 5V output through the voltage follower. Which means, I have to use at least 8V supply ( to compensate for horrible output voltage swing). 8V is not a standard supply, so I use a 9V supply. And the power dissipated becomes: PD = IL (Vs-Vo) = 5 (9-5) = 20 Watts [Page 11 of the datasheet]. I have tried to find other power amplifiers to replace it. But could not find others that could go up to 5A. I have found rail to rail 2A power amplifiers, but I cannot use that.


The second method


Use a BJT with a microcontroller :


I basically control the current through the load (iC) by controlling the base current (iB) of the BJT. enter image description here


The problem with this approach is the unreliable beta value in the npn transistors. And I don't know how noisy the signal will be.


The third method I can use a opamp and a BJT like so:


enter image description here



But it too is highly dependent on that Beta value.


The fourth choice


This is probably the best solution, but I am not very sure and need some opinions. It uses a Opamp and mosfet like so:


enter image description here


The full discussion of this circuit can be found here.It seems to only depend on the resistor R3 (R_L in my case), which I know the value of precisely.


Which method should I use? the current through the Load must be as precise as possible, since I am controlling the current with a PID control. I would appreciate any and all suggestions.




No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...