I am an electronics hobbyist and this is my first attempt at an analog circuit of this type. Mostly I stick to arduino and LED stuff or just wiring up kits, etc. This is my first attempt at designing a "real" circuit. I think I have a really good start here, maybe my circuit would even work great without any modification. I have a kit for DIY chrome plating and need a power supply for the chrome bath. It requires very high currents (.75-1 A per sq in surface area of item to be plated). You can of course buy these power supplies off the shelf, but they are extremely expensive for anything that can put out more than 20-30 A. The items that i would like to plate will require 50-60 A. The chrome plating portion of the process only take 2-5 minutes though. So this circuit will only be running for that amount of time. I wanted to see if anyone had any tips or input for what I have so far before I start building. I have all of the components in the schematic and have done a few small tests but have not fully assembled everything and run it. I only have basic circuit test equipment like a DVOM. Here is the schematic.

constant current control

EDIT: This MOSFET is not rated for linear operation and is not a good fit for this application. I am looking for MOSFETS that would work but I'm not sure what to look for. I can only find one line of products made by IXYS that is specifically stated that it is designed for linear use.

EDIT #2: This datasheet is for a MOSFET that is used by another person to make a very similar circuit https://m.littelfuse.com/~/media/electronics/datasheets/discrete_mosfets/littelfuse_discrete_mosfets_n-channel_linear_ixt_90n25_datasheet.pdf.pdf

This is the link to the project: http://www.kerrywong.com/2017/01/15/a-400w-1kw-peak-100a-electronic-load-using-linear-mosfets/

The MOSFET IRF2804 is something that I have 8 of from taking things apart and saving their components. It's rated for 75 A and 300 W (with a huge heat sink)

The TC7650 is just there to amplify the voltage from the shunt up to a usable voltage so that I can measure the current with an arduino and have it display that on an LCD. I also thought that it would make the 100k pot have an easier time adjusting the input voltage if it was adjusting from 0-5 V rather than 0-.075 V. In the data sheet you will notice that you are supposed to have two 0.1 uF capacitors with it also. I have them but I couldn't find a schematic symbol with the correct number of pins so I left them out in the picture, but I do have them in the circuit.

I went through my resistor bins and measured them all to get as close to the exact numbers as I could find. The values in the schematic are from my measurements. I was trying to get the gain on the TC7650 so that I could use the max output voltage swing without clipping it.

Oh, also chrome plating really like very smooth DC current with very low or zero ripple for the best adhesion and smoothness which I think is what makes the power supplies so expensive. I lot of people have used a car battery in the past with good results and in the old days they would use a salt water rheostat to control the current. A lot of folks commented that it was not very fun to keep the current stable and the plating was very difficult with that method, so I thought I would try this circuit.

Here are the data sheets for the parts. https://www.infineon.com/dgdl/irf2804pbf.pdf?fileId=5546d462533600a4015355de76f818e3 http://ww1.microchip.com/downloads/en/DeviceDoc/21463C.pdf https://www.ti.com/lit/ds/symlink/lm324-n.pdf?ts=1591077649948

I also have a giant heat sink and thermal paste and I was thinking that I might put a TEC on there too just for good measure and since I have some 12V 60W peltiers.

  • \$\begingroup\$ How much complience voltage do you need? If 12 V, can you supply the majority of current via a resistor and adjust just a tiny bit in parallel with a transistor? \$\endgroup\$
    – winny
    Jun 11, 2020 at 9:45
  • \$\begingroup\$ Minimum current that is controllable will be around 4 amps. In other words you won't have control over current between 0 amps and about 4 amps. It's a poor MOSFET choice for linear control of current - it will possibly suffer from significant thermal runaway despite the closed loop control. The closed loop may become unstable - you need to simulate this. \$\endgroup\$
    – Andy aka
    Jun 11, 2020 at 10:04
  • \$\begingroup\$ the calculation for the resistance of the load is: 3.18 (chrome bath chemical resistance constant) = rL/A where r is the resistance, L is the distance between the anode and cathode, and A is the area of the item to be plated. For the items I would like to plate, the resistance of the bath is between .012 Ohm and .032 Ohm depending on how close I can get the anodes to the part. So calculating for voltage given the target maximum of 75 A, the maximum compliance voltage would be 2.4 V and would only go down from there. \$\endgroup\$ Jun 11, 2020 at 10:10
  • \$\begingroup\$ I have a different constant current supply for everything from 0-8 amps. The issue is only with the higher current requirements of larger chrome pieces. \$\endgroup\$ Jun 11, 2020 at 10:11
  • \$\begingroup\$ And what I said about the poor MOSFET choice and instability? \$\endgroup\$
    – Andy aka
    Jun 11, 2020 at 10:28

2 Answers 2


LM324 problems

The LM324 is a poor choice when its feedback loop incorporates another op-amp and an external MOSFET. The reason is that the data sheet just does not give enough information about: -

  • Phase margin
  • Capacitive loading

This means that it's really difficult to determine if it can be stable with these extras in the feedback loop. I couldn't use an LM324 in this application for that reason alone. It may have circa 45 degrees phase margin (a guess) and, I would trust this for normal types of feedback but, not with a MOSFET and another op-amp within the feedback loop.

The MOSFET has a forward transconductance stated in the data sheet of 130 siemens; in other words, the drain current will change by 130 amps for each volt change on the gate. Let's just call it 100 amps per volt because that's what it will be below the ZTC of the MOSFET (another story told further down).

Basically (and cutting a few corners) if the LM324 output changes 10 mV, the drain current changes 1 amp and this means the source voltage changes by about 1 mV because of the 1 milli ohm shunt. In other words, the MOSFET is not like an emitter follower (where we can assume emitter voltage follows base voltage). However, for this particular analysis that isn't a bad thing because the MOSFET acts like a 10:1 attenuator (less feedback = more stability). But then the extra op-amp (TC7650) applies a gain of 67 so, what we are feeding back to the LM324 is 6.7 times bigger than what it is outputting.

If the LM324 was run in unity gain, what is fed back is 1:1 but now, we are feeding back a signal that is 6.7 times bigger than the output and, in all certainty, who could expect the LM324 to remain stable? It might remain stable or it might not - there is not enough information in the data sheet to make a decision on this. Who would be surprised if it went unstable?

Then there is the bad side of the MOSFET acting as a 10:1 attenuator - in effect, the LM324 output pin sees all the gate-source capacitance and it will likely de-stabilize it for that reason alone. Does the data sheet help? Not really - the bottom of page 11 tells us that values up to 50 pF can be tolerated in unity gain situations. Have we got unity gain? No, we have worse scenario than unity gain because the signal fed-back is 6.7 times bigger. Will the LM324 remain stable - there is not enough information in the data sheet to make a rational choice. Again, who would be surprised if it went unstable?

What if a simulation showed it to be stable? It might but, then again, the bottom line is the data sheet and not the model and, if the data sheet isn't stating how the LM324 performs regards phase response or capacitive loading, then don't use it - pick an op-amp where the stability can be analysed on paper and verified in a simulator and validated in a real test.

MOSFET problems

Clearly on page 1 this MOSFET is intended for switching applications - read the "features" part. If it was intended for linear applications (the question is about a linear application) then the data sheet would say so. Added to this is this graph on a later page: -

enter image description here

The above graph tells you that when gate source voltage is 6.3 volts or above, the MOSFET will have a temperature coefficient that prevents thermal runaway. Below 6.3 volts (it can runaway and destroy itself). Where will the OP's circuit be running? The OP says 75 amps so, given that the ZTC (zero temperature coefficient) is at 300 amps, the MOSFET will likely be very susceptible to thermal runaway. See this answer and this answer for an explanation of the Spirito effect that will dog switching MOSFETs in linear applications.

But, simply put, if you look at the graph above and you were controlling the gate to produce 10 amps drain current, the gate voltage would be around 4.6 volts. Within possibly a millisecond (and there's a lot of evidence that suggests it's significantly less than 100 us), a hot spot can occur on the MOSFET die and that spot will hog all the MOSFET current and rapidly (and I mean rapidly) destroy it.

This happens because the device has to get warmer because it's dissipating power and, as it warms its drain current rises and it gets even warmer - you can see the upper curve for a junction temperature of 175 degC - at this temperature, the drain current could be 60 amps before the closed loop control has had a chance to respond (this problem happens very quickly). But it won't end at the 175 degC curve - it'll keep rising and destroy itself. The hot-spot that occurs will have a much lower on resistance locally and pretty much all the current will flow through this hot spot instead of evenly flowing across all the channel area of the MOSFET; the outer areas away from the hot-spot will hardly take any current and the MOSFET will fuse at that hot-spot.

Use a MOSFET intended for linear applications or one with much less thermal runaway when driven below the ZTC point.

Possible solution

Firstly, get rid of the LM324 and use the TC7650 in its place like this: -

enter image description here

Notice that I've added a gate series resistor and an extra feedback resistor and capacitor to quench the control-loop speed. This isn't proven by any means but is a recognized technique for averting feedback loop instabilities.

Then I'd consider using a MOSFET like the IXTT110N10L2 because of its transconductance graph: -

enter image description here

Things to note: -

  • To get 10 amps flowing at 25 degC requires a gate source voltage of about 5.4 volts.
  • If the MOSFET warmed to 125 degC the drain current would rise to about 18 amps (i.e. the rise is likely to be significantly less than for the proposed MOSFET in the question).
  • It's a linear MOSFET as stated on the data sheet front page and therefore can be trusted more than a MOSFET intended for switching applications

Safe operating area curves: -

enter image description here

The red lines show the operation at 75 amps. I would prefer a little more clearance but maybe a better MOSFET can be found. The original proposed MOSFET doesn't even list a DC safe operating area (minimum is for 10 ms): -

enter image description here

And, importantly, linear MOSFETs are designed to avoid hot-spots (the main problem that will dog a switching MOSFET).

  • \$\begingroup\$ 90% of this is way over my head. It seems like I'm probably going to have to go and get a masters degree in order to understand it and complete this circuit, which would obviously cost more than buying an off the shelf unit. Am I correct in understanding that this circuit is much too complex for a person with my skill level to design? I appreciate your thoroughness but as I said in the original post, I don't have access to any simulation software so I can't simulate this. It seems the best I can do is learn about linear MOSFETs and give that a try. \$\endgroup\$ Jun 11, 2020 at 18:01
  • \$\begingroup\$ Why not ditch the LM324 and stuff the other op-amp in its place and not use the extra op-amp circuit. That will improve the chances of it working a lot. Then, using the new op-amp, turn it into an integrator and this would just about stop it oscillating. Regards the MOSFET, choose one from IXYS. They do a good range of linear MOSFETs. \$\endgroup\$
    – Andy aka
    Jun 11, 2020 at 20:41
  • \$\begingroup\$ the only thing with that is how do I adjust the current when I would need 0-75mv on the input to match the voltage drop on the shunt? Now that I know what I am looking for, I found this example that looks like exactly what i would like to build. kerrywong.com/2017/01/15/… \$\endgroup\$ Jun 11, 2020 at 21:11
  • \$\begingroup\$ Adjust using the same circuit as was applied to the LM324..... Please leave a data sheet link for the new MOSFET from ixys. \$\endgroup\$
    – Andy aka
    Jun 11, 2020 at 22:02

Not a full answer for your question, but not possible to draw schematics in the comments. Relays are cheaper at these high currents. If you have an MCU with some outputs to spare, I would utilize some buffered GPIO to have them crudly regulate the current to just below your target and have the MOSFET do a tiny bit at the end.

Also, if you don't need that fine control of your current, a set of 4 relays with resistors ratios of 1:2:4:8 would give you 16 levels of current to choose from. You can buffer and feed back the current shunt to your MCU and have it control the relays.

Here is my suggestion to make it easier for yourself:


simulate this circuit – Schematic created using CircuitLab

  • \$\begingroup\$ I'm not a pro chrome plater yet, but form my reading and understanding of the process, I will need very fine control of the current from one object to another based on its surface area as well as it's shape. Objects with pointy spots will create "hot spots" that more current will flow through and "burn" the part. Fine adjustments to the current, temperature, and arrangement/mounting in the tank are all tweaked to get the best results. \$\endgroup\$ Jun 11, 2020 at 10:19
  • \$\begingroup\$ @DædalusWheless How fine is very fine? You can still make it easier for yourself by having the MOSFET only take a fraction of the curent and let the relays handle the bulk of it. \$\endgroup\$
    – winny
    Jun 11, 2020 at 10:21
  • \$\begingroup\$ I'm not 100% sure how fine until I get some hands on experience with it, but my impression from the books I have read is that having 2-3% incremental adjustments would be sufficient. So finer control at lower amperage, say .25 A and maybe up to 1 A per increment at higher amperage. \$\endgroup\$ Jun 11, 2020 at 10:25
  • \$\begingroup\$ @DædalusWheless Six relays would fit that bill. I've updated my schematic to show an MCU controlling it. \$\endgroup\$
    – winny
    Jun 11, 2020 at 10:33
  • \$\begingroup\$ This looks pretty good! I'm terrible at programing! lol But this looks pretty straight forward. I think. I'm not sure what problems this solves though. From your original comments, you only mentioned cost but didn't specify if there were other aspects of the design this approach would improve. Could you explain the reasoning behind using this method? I'm only building one of these for myself, so cost isn't really an issue so long as it costs less than the $1000 off the shelf units. \$\endgroup\$ Jun 11, 2020 at 10:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.