LM2596 is easy to use and cheap, but I have to adjust the output voltage using a screw driver. On the web, there was a "hack" that someone posted, but that hack does not seem as clean or stable as using LM2596 as it is intended to be used, using screw driver. Is there something that is easy-to-use just like LM2596, but has some pins that can be used to dynamically adjust the output voltage using an Arduino?

enter image description here

  • 1
    Replace the pot with a digital potentiometer?
    – Majenko
    Apr 22 at 11:12
  • it's a lot easier to do with a linear supply; basically an npn voltage follower driven by an amplifying w/feedback opamp fed by smoothed PWM or DAC. The lm2596 isn't very clean anyway if that's your big conecrn; you would be better off with a newer offering from XLsemi, or use a linear for (by far) the best noise and stability.
    – dandavis
    Apr 23 at 22:37
  • @Majenko can you suggest a digipot that would actually be a suitable replacement for the analog? The affordable ones i've found have limited voltage ranges; often 5v, and we need a voltage divider here, not just a resistor, which makes it harder since specified voltage ranges are ref'd to a common ground. You can simply do the bottom half, but how to do the top half of the divider? How to control more than 0-5v output?
    – dandavis
    Apr 23 at 22:43
  • You could also do a design with a resistor ladder to replace the pot, shorting out various resistors with FETs or even relays, which would be very stable, but really drives up the parts count and complexity.
    – dandavis
    Apr 23 at 22:48
  • I've also found an cheapish ($10) SMPS module that took a pwm input to throttle the output voltage. I can't recommend it though because it bypassed feedback, and it smoked under a modest load...
    – dandavis
    Apr 23 at 22:50

The hack you described is most likely just feeding voltage from filtered PWM signal generated by microcontroller to the feedback loop of LM2596. I think you can get good enough noise performance with this approach if voltage change rate is not a concern. It all comes down to the PWM filter parameters. You can decrease noise by adjusting RC filter parameters (increasing capacitor and resistor values). It will cause increased delay in voltage change, but it will reduce the noise from PWM signal. Also, you can increase the PWM frequency by avoiding standard analogWrite which has pretty low frequency and configuring a separate timer for PWM generation. Alternatively, if you need some specific voltages, you can replace the potentiometer with a fixed value resistor array connected in parallel and connect each resistor though separate low power MOSFET. This way, you can connect and disconnect a specific resistor which will change the total resistance of the array, changing the output voltage. It will only allow changing voltage by steps and the step size is dictated by the number of resistors, but the noise performance will be the same as using a potentiometer.

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.