Maker Pro
Maker Pro

Buck voltage controlled by an MCU

Is it possible to use the voltage divider in the feedback loop of an adjustable
buck converter to continously change the desired output voltage over time ..?

How fast could the feedback voltage be allowed to change without compromising
stability ..?

(example chip: http://focus.ti.com/lit/ds/symlink/tps54283.pdf)

Could the MCU then be interfaced to the voltage divider for tps54283 page 42,
figure 45. By connecting an transistor in parallel over the R4 resistor
(or R10). And control the transistor base via an RC filter connected to one of
the MCU digital outputs. The MCU could then output PWM to regulate the output
voltage level.
An alternative is to use an one chip D/A instead of the RC/PWM setup to
control the transistor base.

Any thoughts on this? (I did some searches. But no real good info turned up)
I suspect there's some real gotchas here :)

The original idea turned up when looking at how buck converters are designed
and looking for a way to control DC motor speed without burning away excess
power or getting lot's of EMI (from PWM). The initial thought was to simple
use an inductor to rid of the EMI. Then by controlling a switch transistor
the power level could be controlled by an MCU. But then there's already chips
doing this, namely buck converters. So by controling the buck converters
feedback voltage divider one can control the dc motor speed. And a transistor
in parallel over the "top" resistor used in the linear region would allow
adjustment over the voltage divider. An D/A could then be used to
control the transistor base. A simple D/A could be accomplished by using an RC
filter wired to one digital output from the MCU.
The problem seems to be how to control the buck converter feedback mechanism
and still have voltage control loop work without the MCU.
 
J

Joerg

Is it possible to use the voltage divider in the feedback loop of an adjustable
buck converter to continously change the desired output voltage over time ..?

Sure.


How fast could the feedback voltage be allowed to change without compromising
stability ..?

That predominantly depends on how much capacitance you hang onto its output.

(example chip: http://focus.ti.com/lit/ds/symlink/tps54283.pdf)

Could the MCU then be interfaced to the voltage divider for tps54283 page 42,
figure 45. By connecting an transistor in parallel over the R4 resistor
(or R10). And control the transistor base via an RC filter connected to one of
the MCU digital outputs. The MCU could then output PWM to regulate the output
voltage level.
An alternative is to use an one chip D/A instead of the RC/PWM setup to
control the transistor base.

If you need to be able to drop all the way to zero the only practical
method is to sink a current into the FB node. This has to come from a
source that is a tad above the ref level so you can fool the switcher
into thinking its output is regulated while in reality it sits at zero.
So you'll have to make a current source that is controlled by your uC.

Any thoughts on this? (I did some searches. But no real good info turned up)
I suspect there's some real gotchas here :)

The original idea turned up when looking at how buck converters are designed
and looking for a way to control DC motor speed without burning away excess
power or getting lot's of EMI (from PWM). The initial thought was to simple
use an inductor to rid of the EMI. Then by controlling a switch transistor
the power level could be controlled by an MCU. But then there's already chips
doing this, namely buck converters. So by controling the buck converters
feedback voltage divider one can control the dc motor speed. And a transistor
in parallel over the "top" resistor used in the linear region would allow
adjustment over the voltage divider. An D/A could then be used to
control the transistor base. A simple D/A could be accomplished by using an RC
filter wired to one digital output from the MCU.
The problem seems to be how to control the buck converter feedback mechanism
and still have voltage control loop work without the MCU.


It's no big deal but you'll have to ask yourself what the advantage will
be. The only advantage I see is that you can put safety hooks in place
that catch when the uC goes on the fritz for some reason. For example a
voltage limit or a current limit.
 
How fast could the feedback voltage be allowed to change without
That predominantly depends on how much capacitance you hang onto its output.

10 output volt/seconds? for a 0.5A 6V DC motor?
Guess the difficulty is getting the capacitance of a dc motor ;)
If you need to be able to drop all the way to zero the only practical
method is to sink a current into the FB node. This has to come from a
source that is a tad above the ref level so you can fool the switcher
into thinking its output is regulated while in reality it sits at zero.
So you'll have to make a current source that is controlled by your uC.

Any suggested way to create an mcu controlled current source?
It's no big deal but you'll have to ask yourself what the advantage will
be. The only advantage I see is that you can put safety hooks in place
that catch when the uC goes on the fritz for some reason. For example a
voltage limit or a current limit.

If the supplied voltage is within the tolerated levels for a dc motor and
the output stage of an ordinary buck converter is used. Which in essence is
a inductor in series with the positive rail to the applience. And some
capacitors in parallell. And a back-emf protection diode aswell.
This is then driven by a transistor in series with the voltage source positive
rail that is switched with pwm signal from an MCU. Would the same functionality
be achived?

Quick schematics:

MCU..
|
--Transistor------------Inductor---------
| | | | |
Volt Diode --- --- Motor
Source | --- --- |
| | | | |
-----------------------------------------
 
J

Joerg

10 output volt/seconds? for a 0.5A 6V DC motor?


10V/sec? No big deal. I've built stuff like that although the load
wasn't a motor.

Guess the difficulty is getting the capacitance of a dc motor ;)

No, that of the switcher :)

Any suggested way to create an mcu controlled current source?

Yep: Pipe out a voltage. If the uC doesn't have a DAC you'll have to
make do with a timer, PWM and RC lowpass. Now feed that into an opamp
and then a transistor with one input tied to a current sense resistor in
the emitter path. Which input depends on whether you'll pull up or down
with the collector. For your job it'll be up, so pnp. That's it. You'll
need the proper common mode ranges and a voltage shift up front because
the uC most likely cannot go up to the motor rail in supply voltage.
Basically "grunt work", good old discrete design.

If the supplied voltage is within the tolerated levels for a dc motor and
the output stage of an ordinary buck converter is used. Which in essence is
a inductor in series with the positive rail to the applience. And some
capacitors in parallell. And a back-emf protection diode aswell.
This is then driven by a transistor in series with the voltage source positive
rail that is switched with pwm signal from an MCU. Would the same functionality
be achived?

Quick schematics:

MCU..
|
--Transistor------------Inductor---------
| | | | |
Volt Diode --- --- Motor
Source | --- --- |
| | | | |
^^^

Leave out the left capacitor, it'll fry the transistor. Usually the
diode is also a transistor so in essence you have a totem-pole driver or
what motor guys call half bridge and the high-low duty cycle determines
the final voltage across the motor. That's how it's usually done, sans
extra PWM chip. Use FETs for both transistors since they have built-in
stiff substrate diodes. Or a staunch half-bridge with the diodes in
there. Also, mind cross conduction, break before make and such.
 
10 output volt/seconds? for a 0.5A 6V DC motor?
10V/sec? No big deal. I've built stuff like that although the load
wasn't a motor.

Maybe closer to 1V/0.1s ,possible 10x that ratio (faster). But not much more.
No, that of the switcher :)

So only the switch transistor/fet sets the response limit?, I thought the
control loop were the limit.
Yep: Pipe out a voltage. If the uC doesn't have a DAC you'll have to
make do with a timer, PWM and RC lowpass. Now feed that into an opamp
and then a transistor with one input tied to a current sense resistor in
the emitter path. Which input depends on whether you'll pull up or down
with the collector. For your job it'll be up, so pnp. That's it. You'll
need the proper common mode ranges and a voltage shift up front because
the uC most likely cannot go up to the motor rail in supply voltage.
Basically "grunt work", good old discrete design.

uC PWM -> RC lowpass -> OpAmp -> Transistor.

Guess the common mode range can be fixed with some clever resistor setup on
the OpAmp.
Leave out the left capacitor, it'll fry the transistor. Usually the
diode is also a transistor so in essence you have a totem-pole driver or
what motor guys call half bridge and the high-low duty cycle determines
the final voltage across the motor. That's how it's usually done, sans
extra PWM chip. Use FETs for both transistors since they have built-in
stiff substrate diodes. Or a staunch half-bridge with the diodes in
there. Also, mind cross conduction, break before make and such.

Would this accomplish dc motor control without burning away excess power not
used in the "applience" (dc motor). And eliminate the worst EMI?, esp if the
cable to the actual motor is a few meters.

uC PWM
|
B/src
--Transistor------------Inductor---------
| | | |
Volt / \ --- Motor
Source Diode --- |
| | | |
-----------------------------------------
 
J

Joerg

Maybe closer to 1V/0.1s ,possible 10x that ratio (faster). But not much more.



So only the switch transistor/fet sets the response limit?, I thought the
control loop were the limit.

No, I meant the capacitor at the far side of the inductor. If you make
that smaller you yield faster response but more ripple. So there needs
to be a compromise. But at your speeds it ain't rocket science, my last
design had to perform a controlled ramp from 0V to about 100V in 600msec.

uC PWM -> RC lowpass -> OpAmp -> Transistor.

Guess the common mode range can be fixed with some clever resistor setup on
the OpAmp.

Yes. But with the usual direct approach below you don't need all that.

Would this accomplish dc motor control without burning away excess power not
used in the "applience" (dc motor). And eliminate the worst EMI?, esp if the
cable to the actual motor is a few meters.

uC PWM
|
B/src
--Transistor------------Inductor---------
| | | |
Volt / \ --- Motor
Source Diode --- |
| | | |



Sure. But you'll need an extra LC or two (small values) afterwards
because the typical large inductor leaks a lot in the higher RF spectrum
because of its size and build. Also, motor brushes create lots of EMI so
usually you also need to filter at the motor side.
 
uC PWM
Sure. But you'll need an extra LC or two (small values) afterwards
because the typical large inductor leaks a lot in the higher RF spectrum
because of its size and build. Also, motor brushes create lots of EMI so
usually you also need to filter at the motor side.

Like this I suppose then?

Inductor1 > Inductor2 [Henry]

--Transistor------------Inductor1-----Inductor2-----------
| | | | |
Volt / \ --- --- Motor
Source Diode --- --- |
| | | | |
 
J

Joerg

Sure. But you'll need an extra LC or two (small values) afterwards
because the typical large inductor leaks a lot in the higher RF spectrum
because of its size and build. Also, motor brushes create lots of EMI so
usually you also need to filter at the motor side.

Like this I suppose then?

Inductor1 > Inductor2 [Henry]

--Transistor------------Inductor1-----Inductor2-----------
| | | | |
Volt / \ --- --- Motor
Source Diode --- --- |
| | | | |


Yes, like that. If your ground plane is iffy you may want to have
another small inductor in the return lead between the caps. Make sure
none of the inductors gets too close to saturation. More hardcore cases
may require a common mode choke as well.
 
Top