Great remarks and ideas flowing here
So to sum up recent recommendations:
- use just one op-amp per transistor
- reconsider transistor - proper linear MOSFET or BJT/Darlington
- correct package pinout, doh
- sense both branches / for average current
----
You have now changed the names of the parts to LM324, but you still have the LM339 pin numbers:
Yeah, I just changed part name and didn't pay attention to the pinout %) Will fix that, but for principle discussion, the circuit is clear...
No. Only one MOSFET per op-amp.
ok
I would use the 2K and 18K resistor divider and adjust your sense resistors for the max current you want.
Will think about that. So to have 0.5V driving voltage for max load of about 2.5A, means just reducing the resistor array to half (0.2R).
You might want to average the sense resistor voltages to get a better load current measurement.
The MOSFETs are not going to sink the exact same current.
I also thought something like this might be necessary. Hopefully just averaging via those two resistors will work reliably enough. Btw. is 100R not too low to avoid mutual influence?
yes, you can drop in BJTs/ Darlington pairs as direct replacement, no tuning required!
nice
H2 (Ext.drive) is basically pointless! there is a diode (D2) with non linear AND non constant characteristics with quite horrible temp co in series with it, which creates a variable voltage drop, throwing out all accuracy all together!
I'm considering the modified control circuit from previous post.
Ditch the current sense amplifier weirdness all together! you can't mix signals like that. just use a proper current sense IC on VCC, instead of P2 (Ext. Current measur.)
I'd like to read some more info on this.
Why some constructions I've seen online, and based my concept on, use this with (presumably) no problems... It's supposed to improve resolution for ADC (we're reading 1V at max load here), but frankly might not be necessary. Or I could just turn it into a buffer. Or even play with the ADC module gain, but that means tweaking all inputs.
what is the MCU that you're using? the DACs on those can be quite bad. an external DAC + ADC is always preferred.
see
first post ... Arduino Nano (so 328p) with ADS1115 ADC and MCP4725 DAC.
10 resistors in parallel give you quite good power dissipation on those resistors, but a higher wattage equivalent resistor is often cheaper and takes less space on the PCB. if you use a proper current source IC, you can just use a high power 1ohm resistor and not care about temp co, since current is actively monitored and corrected for in the software.
Just a quick search on ebay - you get 100pcs of 1R/1W/1% metal film resistors for less than US $2.5, or 1pcs 0.1R/50W/?% for less than US $1.5 ...so there's no point considering price
Just other factors like maybe tolerance, construction/PCB design, personal preference, etc.
why do you want to do division by 19? that makes no sense and makes all calculations very difficult? I can't see any advantage in that.
To set the max. driving voltage (thus load current) to 0.265V -> respective amps (sensing at 0.1R shunt), while having good resolution using the full 5V scale (or most of it, that op-amp won't go rail-to-rail).
I also had a look at the fets that you bought. they are awful for linear applications...
Yep, I realize that... well, maybe not that it is actually so bad
But I just picked the same one as in Daves video example (see first post).
Seems like I will have to use something else in the end.
You might want to consider this alternate control circuit.
I definitely will
++
Something to consider using BJTs:
https://www.eevblog.com/forum/beginners/bjt-vs-fet-in-dummy-load/