I'm building a programmable current load. The big picture is : A microcontroler (stm32f303) drives (through its dac) some n-mos (tested with PSMN034 and IRL2203) that drawn current. The microcontroler also measure current and adjust the gate voltage until the current reach the target.

My problem is I have some strange behaviour while controling the mos' gate with the DAC.

For this test, I only output a fix value on the DAC. With nothing connected to DAC, the output is stable. When connecting the gate to the DAC, I measure voltage oscillations on the DAC output. I supposed that the DAC was not able to provide enough current, so I added a AOP but the result is the same. With a fix DAC output, the oscillations' frequency is slowing down while the current is raising. The speed is "exponential". Current is growing from 20mA up to 1A, when I stop the experience.

I expected everything to be stable : DAC voltage and current drawn in mos.

Do you know what it can be ?


Here's a schematic:

Power is connected to a +8V power supply. The microcontoller is powered by a 3v regulator connected to my computer's usb port. AOP is powered by USB. enter image description here

Here's a screenshot of the measures. The top curve is the DAC output. The bottom curve is the output of the AOP (tied to mos' gate).

enter image description here

and a video to see the frequency changing: Video

  • 1
    \$\begingroup\$ What is "Power" connected to? And where do those connections either side of R35 go? \$\endgroup\$ – Finbarr Nov 7 '17 at 14:03
  • 1
    \$\begingroup\$ Perhaps using a current mirror is a more viable solution. \$\endgroup\$ – Marko Buršič Nov 7 '17 at 14:08
  • \$\begingroup\$ @Finbarrr : Power is connected to +8V, microcontroller is powered by the usb cable (it's a nucleo eval board). Ground of the two power supplies are connected together Connections from R35 are going to an amplifier used for future current measurement. \$\endgroup\$ – Julien Nov 7 '17 at 14:15
  • \$\begingroup\$ @MarkoBuršič: I don't know this design. I will ask google. Thanks. \$\endgroup\$ – Julien Nov 7 '17 at 14:16
  • \$\begingroup\$ @Finbarr: More exactly the microcontroller is powered through a 3.3v regulator connected to USB. AOP is powered by USB. \$\endgroup\$ – Julien Nov 7 '17 at 14:30

Ok, this behaviour out comes when a AOP drives a capacitive input like a mos' gate. Added some filter and no more oscillation.

BTW, I found dozens of project like this on the net and obviously, like Finbarr says, using adc/dac to drive the system definitely not the best way. A much better way (and an interesting way to learn AOP) is to let the AOP drive the mos with a loop back coming from low side current measurement. See here: enter link description here


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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