I need to create two isolated power supplies (so that one's electrical noise doesn't affect the other) out of my 12V battery. One has to be at 5V for some logic circuitry, and the other at battery level (12V nominal) for some motors.

For the 5V one, I used a classic linear regulator (L7805), but I don't know how to create one that outputs the same as its input and is isolated from it.

I'm asking this question because at first, I connected the motors directly to the battery. That resulted in my 5V dropping briefly every time the motors went from stopped to running (probably generating a current spike and consequently a voltage drop on the battery), resetting my microcontroller.

My first thought was to use some buck-boost regulator and adjust the output to be the same as the input. There would be some issues though, regarding size, price and the fact that it'd impose a current limit.

Edit: I'm asking for a way to achieve this isolation. For answers about my project specifically (capacitance and other ways to solve my problem), which I consider off-topic in this question, go to this chat linked in the comments below DKNguyen's answer.

  • 1
    \$\begingroup\$ This sounds like a problem that would be solved by a bigger reservoir capacitor on your 5V rail. Or by using separate batteries for the two parts of the system, or just a higher-current battery. \$\endgroup\$ – Hearth Oct 17 at 20:29
  • \$\begingroup\$ If Vout == Vin, why do you need the regulator? Are you wanting to make sure that Vout == 12V regardless of Vin? (Buck/Boost), or are you really wanting to just pass the Vin to Vout? If it is the latter, maybe you just need capacitance on the 5V side as @Hearth says... \$\endgroup\$ – Ron Beyer Oct 17 at 20:34
  • \$\begingroup\$ @Hearth I'm sure it would! In fact, I have a similar project with two batteries, one for each part, and it works great. About the capacitors, I've already tried a bunch of capacitor configurations, with lots of different values on the 5V and battery rails. They only managed to make my startup time really big. Maybe I should have added even more... \$\endgroup\$ – Iaka Noe Oct 17 at 20:40
  • \$\begingroup\$ @RonBeyer just because it's the only DC isolation method I know about. I want Vout = Vin with good input ripple rejection (if I'm not wrong) \$\endgroup\$ – Iaka Noe Oct 17 at 20:41
  • \$\begingroup\$ @RonBeyer I'm sorry, I meant "load regulation" instead of "ripple rejection" \$\endgroup\$ – Iaka Noe Oct 17 at 23:00

You could implement the isolated supply using a transformer or coupled inductor with a turn ratio of 1:1.3 in conjunction with a transformer driver IC and a LDO. Using the transformer and the driver you can create an isolated voltage supply which is slightly higher than the input voltage. The LDO then regulates it to the original value. This configuration can be implemented relatively small, cheap and efficient, depending on your needs and the selected components.

  • \$\begingroup\$ Wouldn't that impose a tedious current limit and have a big power loss? My motors draw quite a bit of current (approximately 5A average, to give an idea) and there are not a lot of cheap and small LDO regulators that carry that much power. The transformer should be able to output that as well... \$\endgroup\$ – Iaka Noe Oct 17 at 21:30
  • \$\begingroup\$ As I wrote, it depends. Your LDO dissipates only as much as voltage drops across it. The more close you get with your transformer output to the desired voltage, the less power will it dissipate. Also power will be dissipated by the inductor (depending on its resistance and therefore inductance and size) and by the driver (depending on the switching frequency). You have to play around with these values a bit. Its very similar to an isolated flyback converter. \$\endgroup\$ – 0x4859 Oct 18 at 20:24
  • \$\begingroup\$ But as others already pointed out: isolation is about voltage level and wont solve your problem with your voltage drop at the 5V rail. This is because of the high parasitic nonlinear effects inside the battery (which is a memristor with parasitic resistance), which also change with time when you draw current. Therefore you also cant drive the motors with 12V from a 12 battery. Voltage and current will drop with time. To get your voltages stable: Use a switching regulator to transform the 12V to about 5.1 V and an additional LDO to get it down to 5V. \$\endgroup\$ – 0x4859 Oct 18 at 20:35
  • \$\begingroup\$ The Regulator will transform the voltage with high efficiency and the LDO acts as filter and will smoothen your voltage due to its very high PSRR and fast regulation. Make sure that in and out capacitances are appropriate (Couts must not be to large too, since then the regulators wont be able to react fast). Use this voltage rail for your logic circuits. It should be possible to connect the motors directly to the battery then. \$\endgroup\$ – 0x4859 Oct 18 at 20:40

This isn't something you solve with isolation. It's something you solve with more capacitance.

It's similar to if you haven't eaten and try to suddenly do some strenuous activity and get light headed. Your brain and muscles are working off the same energy reserves but there is not enough of it for both your muscles and your brain so you get light headed. So you need a larger fast-acting short-term energy reserve (eat some sugar) or in this case, capacitors. Your batteries are more like fat. High density, but slow responding energy supplies.

You need to add more capacitance in some or all of the following areas:

  1. Bulk decoupling capacitance in parallel with your battery to support the motor's transient current demands. We're talking at least 100uF and possibly several multiples more of that depending on your motor. Electrolytics should work here.

  2. High frequency decoupling capacitors for your microcontroller. 10nF to 100nF ceramic capacitors placed as close as possible to the power pins of your microcontroller.

  3. Decoupling capacitors for your LM7805. Probably 10uF ceramics in parallel with both the input and the output of your LM7805, as close as possible to it.

Also, how are you controlling the motor? Are there flyback diodes to suppress the voltage spike produced whenever current is interrupted through the motor's inductance? That could cause resetting to (or actual damage). If you are using a pre-made motor driver it should already handle that. If you are using a discrete switch like a relay or MOSFET you need to handle it yourself.

  • \$\begingroup\$ Isolation does solve the problem. And I know it based on experience. If I feed the motors with a voltage regulator with good load regulation, the input won't be affected. \$\endgroup\$ – Iaka Noe Oct 17 at 23:00
  • \$\begingroup\$ @laka Noe Sure it solves the problem. But that's like arguing that you can use a power saw to cut some bread. Just because it works doesn't mean it's the right way to go about it. Neither load regulation, ripple rejection, nor isolation is actually the problem. It's that your voltage is drooping so even a isolated step-down converter wouldn't fix your problem. You specifically need that boost part to make up for the droop, and there are much simpler, cheaper ways to fix that. \$\endgroup\$ – DKNguyen Oct 17 at 23:10
  • \$\begingroup\$ Talking about your answer, in a similar project (that suffers the same problem) I've got an LM2940 5V regulator with 220uF//470nF on its input and 100uF//100nF on its output. Then there is a 100nF decoupling capacitor (as it's almost mandatory) on the uC. I control the motors with H-bridges (ZXMHC3F381N8), with 100uF on every supply voltage terminal. I'm using the internal diodes of every bridge's MOSFETs as flyback. There's a MOSFET driver (MAX4427) to interface each H-bridge, with 10uF//100nF on every supply voltage terminal as well (IDK if it's relevant). \$\endgroup\$ – Iaka Noe Oct 17 at 23:10
  • \$\begingroup\$ @laka Noe What motor are you using it with? And what kind of switching is happening on the motor? Just on/off? Or PWM? Also note, that the LM2940 requires a cap of at least 22uF, but between 100mOhms and 1Ohm to be stable. I don't know what 100uF cap you are using but it might be getting too close to that 100mOhm mark. All your ICs should have decoupling capacitors just like your MCU too. \$\endgroup\$ – DKNguyen Oct 17 at 23:21
  • \$\begingroup\$ @laka Noe One other thing, do you know what shoot-through is an H-bridge or motor driver? That would also cause everything to reset when you try to turn your motor on or off since you're basically shorting things together. \$\endgroup\$ – DKNguyen Oct 17 at 23:22

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.