Hi,
Anyone have any ideas for a good "4-20mA" driver circuit? I want to convert 0-2.5V from a DAC into 0-25mA, driven by 9-36V supply.
I have a circuit that works well, see below LTspice netlist, It's basically National AN1515 fig 6 "improved howland current source" with a transistor added to offload the power dissapation.
Only drawback is it uses a lot of precision resistors. Is there something that uses less resistors (and more opamps perhaps?). Seems like it should be possible with just one precision part.
Thanks,
John
Version 4 SHEET 1 2076 1524 WIRE 224 -48 -96 -48 WIRE 400 -48 224 -48 WIRE 176 64 160 64 WIRE 272 64 176 64 WIRE 512 64 352 64 WIRE -96 80 -96 -48 WIRE 400 112 400 -48 WIRE 224 128 224 -48 WIRE 176 144 176 64 WIRE 192 144 176 144 WIRE 336 160 256 160 WIRE 192 176 160 176 WIRE 160 224 160 176 WIRE 224 240 224 192 WIRE 400 240 400 208 WIRE 512 240 512 64 WIRE 512 240 400 240 WIRE 400 256 400 240 WIRE -64 368 -96 368 WIRE 64 368 16 368 WIRE 160 368 160 304 WIRE 160 368 144 368 WIRE 192 368 160 368 WIRE 400 368 400 336 WIRE 400 368 272 368 WIRE 592 368 400 368 WIRE 592 416 592 368 WIRE -96 432 -96 368 FLAG 80 64 0 FLAG -96 160 0 FLAG -96 512 0 FLAG 592 496 0 FLAG 224 240 0 SYMBOL res 160 352 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R1 SYMATTR Value 10k SYMBOL res 288 352 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R2 SYMATTR Value 10000 SYMBOL res 384 240 R0 SYMATTR InstName R3 SYMATTR Value 100 SYMBOL res 256 80 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R4 SYMATTR Value 10k SYMBOL res 64 80 R270 WINDOW 0 32 56 VTop 0 WINDOW 3 0 56 VBottom 0 SYMATTR InstName R5 SYMATTR Value 10k SYMBOL npn 336 112 R0 SYMATTR InstName Q1 SYMATTR Value MJD31C SYMBOL voltage -96 64 R0 SYMATTR InstName V1 SYMATTR Value 40 SYMBOL voltage -96 416 R0 WINDOW 123 24 132 Left 0 WINDOW 39 0 0 Left 0 SYMATTR Value2 AC 1 SYMATTR InstName V2 SYMATTR Value PULSE(0.4 2.0 100m 1u 1u 100m) SYMBOL voltage 592 400 R0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR InstName V4 SYMATTR Value 0 SYMBOL res 32 352 R90 WINDOW 0 0 56 VBottom 0 WINDOW 3 32 56 VTop 0 SYMATTR InstName R6 SYMATTR Value 100 SYMBOL voltage 160 208 R0 WINDOW 3 -326 61 Left 0 WINDOW 123 0 0 Left 0 WINDOW 39 0 0 Left 0 SYMATTR Value PULSE(0 .001 .5 1u 1u .1) SYMATTR InstName V3 SYMBOL Opamps\\opamp2 224 96 R0 SYMATTR InstName U2 SYMATTR Value MC33071 TEXT 168 -168 Left 0 !.tran 1 TEXT 168 -128 Left 0 !;ac oct 100 10 1e7 TEXT 760 -496 Left 0 !.SUBCKT MC33071 1 2 3 4 5\n*\nC1 11 12 8.660E-12\nC2
6 7 8.000E-12\nCEE 10 99 1.231E-12\nDC 5 53 DX\nDE 54 5 DX\nDLP 90 91 DX\nDLN 92 90 DX\nDP 4 3 DX\nEGND 99 0 POLY(2) (3,0) (4,0) 0 .5 .5\nFB 7 99 POLY(5) VB VC VE VLP VLN 0 8.842E6\n+ -9E6 9E6 9E6 -9E6\nGA 6 0 11 12 251.3E-6\nGCM 0 6 10 99 3.550E-9\nIEE 3 10 DC 120.2E-6\nHLIM 90 0 VLIM 1K\nQ1 11 2 13 QX\nQ2 12 1 14 QX\nR2 6 9 100.0E3\nRC1 4 11 3.979E3\nRC2 4 12 3.979E3\nRE1 13 10 3.542E3\nRE2 14 10 3.542E3\nREE 10 99 1.664E6\nRO1 8 5 30\nRO2 7 99 45\nRP 3 4 34.09E3\nVB 9 0 DC 0\nVC 3 53 DC 1\nVE 54 4 DC .3\nVLIM 7 8 DC 0\nVLP 91 0 DC 30\nVLN 0 92 DC 30\n.MODEL DX D(IS=800.0E-18)\n.MODEL QX PNP(IS=800.0E-18 BF=600)\n.ENDS TEXT 120 -512 Left 0 !.MODEL MJD31C npn\n+IS=9.06202e-11 BF=3418.7 NF=1.17603 VAF=29.2393\n+IKF=0.108267 ISE=5.37193e-07 NE=4 BR=367.353\n+NR=5 VAR=1.631 IKR=1.15207 ISC=1.15754e-09\n+NC=1.49179 RB=22.4853 IRB=0.00220937 RBM=1e-12\n+RE=0.0001 RC=0.138633 XTB=9.99997e-13 XTI=1e-12\n+EG=1.05 CJE=3.73889e-10 VJE=0.67672 MJE=0.575056\n+TF=1e-08 XTF=3.4926 VTF=12.6615 ITF=0.0523952\n+CJC=3.5251e-10 VJC=0.884306 MJC=0.473486 XCJC=0.1\n+FC=0.8 CJS=0 VJS=0.75 MJS=0.5\n+TR=3.29803e-06 PTF=0 KF=0 AF=1 TEXT 128 592 Left 0 ;4-20mA Driver circuit using improved Howland generator, see National AN1515.\n2V Input = 20mA.\nRuns from ~5 - 44V supply. \nPower dissapated moved to external NPN transistor.\nLow voltage version could do without.\nR1,2,4,5 matched 10k. R3,6 matched 100R (set 2V/20mA scale)