Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Circuits neccessary for driving motors

Status
Not open for further replies.

kbm10

Junior Member level 3
Joined
Dec 18, 2010
Messages
27
Helped
1
Reputation
2
Reaction score
1
Trophy points
1,283
Activity points
1,468
I have to drive motors using power drawn from USB port.
In order to limit the current drawn, I planning to desing a current limiting circuit. Can anyone pls share some current limit architectures ?

Also, wat sort of techniques are used to limit the initial current spike when motor starts...

Thnx in advance
 

what is the power of motors? the usb port can not provide sufficient power to drive motors. however, if you are using external batteries and signals form usb port to drive the transistors(MOSFETs) you can drive the motors without the worry of initial current surge.
 
  • Like
Reactions: kbm10

    kbm10

    Points: 2
    Helpful Answer Positive Rating
One way is with a couple op amps and a mosfet, e.g.:

75_1343449124.png

Or run in simulator: https://tinyurl.com/cngchkd (I have a charging capacitor for load, reset sim to restart, center scope is capacitor current).

In that circuit:

  • R5 senses the current; choose a small value to reduce voltage drop. Then:
    \[{I}_{load}=\frac{{V}_{R5}}{R5}\].
  • Top op amp senses voltage drop across R5, optionally amplifying it to a reasonable value. R1=R3 and R2=R4 and gain = R1/R2 therefore, where Voa1 = voltage output from top op amp:
    \[{V}_{oa1}={V}_{R5}*\frac{{R1}}{{R2}}={I}_{load}*{{R5}}*\frac{{R1}}{{R2}}\]
  • Bottom op amp provides feedback and controls mosfet to try and keep Vctl = Voa1. You pick Vctl by plugging current limit and resistor values into above equation. So e.g. above circuit with a 50mA limit:
    \[{V}_{ctl}={I}_{max}*{{R5}}*\frac{{R1}}{{R2}}={50mA}*{0.1\Omega}*\frac{{100k\Omega}}{{1k\Omega}}={0.5V}\]
    So a Vctl of 0.5V gives you a 50mA current limit.

Remember op amp outputs will be clamped to some distance from the rails and have some input and output offset and also there is voltage drop across R5 and the mosfet so mind your component specs and mosfet threshold and resistance.

Note the +5V at the top supplies the load and can be from anywhere if USB can't power the motors, as long as a common reference point is used.

The purpose of the differential amp is to let us keep sense resistor on + side so we don't shift the load's 0V away from system ground, but if you don't care about that you can put the sense resistor between the load and ground, lose the differential amp, and have the bottom op amp sense voltage drop (and possibly amplify) and control mosfet.

There are other ways, that's the way I'm most familiar with though. Hope that helps.

- - - Updated - - -

P.S. You can only pull 100mA from a USB port unless your device specifically requests high power mode (500mA). Those current limits are total per internal hub not necessarily per port. You can pull more current if you use a powered hub though, possibly enough to drive your motors without worrying about it.
 
Last edited:
  • Like
Reactions: kbm10

    kbm10

    Points: 2
    Helpful Answer Positive Rating
Hi Jason
Why you mentioned that it is the only way ? in my opinion your way is a dissipative way . because it is a complete linear circuit . hence i think a PWM controller would be better and of course without dissipation !
( negligible dissipation ) .

Regards
Goldsmith
Hi Kbm
You can create PWM simply with frequency around 20KHZ or a bit less or perhaps higher , and then use a filter and then use your motor and take feedback from it's average current and when your samples be higher than your reference voltage of current , PWM should be broken .
Best WIshes
Goldsmith

- - - Updated - - -

Also, wat sort of techniques are used to limit the initial current spike when motor starts...
By the way for this issue a simple soft starter circuit required . it can handle your aim as well .
 
  • Like
Reactions: kbm10

    kbm10

    Points: 2
    Helpful Answer Positive Rating
Why you mentioned that it is the only way ? in my opinion your way is a dissipative way . because it is a complete linear circuit .

I said it is one way, not the only way. :) It is a simple but effective way, but not as efficient as yours (presuming power dissipated by linear control is less than power consumed by Pwm control). It also solves the startup problem.

- - - Updated - - -

kbm can you post your circuit?
 
Last edited:
  • Like
Reactions: kbm10

    kbm10

    Points: 2
    Helpful Answer Positive Rating
the starting current is 326 mA. So the USB will be able to do it at 5v/500mA
 

I have uploaded a rough schematic.. Pls ignore the component numbers and focus on the function(for example, I will use an opamp but with different numbers etc.).



H1, H2, H3, H4 of the h-bridge are controlled with the help of a microcontroller. There are 4 capacitors(not shown in the schematic) between the PC_USB_5V and b_gnd to prevent the rail from dropping, however, I have observed that the rails still drop during start of motor (Any suggestions ?)

If I have missed something, pls let me know.

Also, can you elaborate a bit more on how to use the soft starter circuit in this config. Wat can be the possible advantages of running the motor from an LM317.

The main concern really is the dropping of the USB rail. This causes the microcontroller to reset sometimes

thnx
 
Last edited:

I said it is one way, not the only way. It is a simple but
Hi Jason
Sorry it was a misunderstanding from my side , because english language isn't my native language . hence i thought your mean was only , but now i can understand your meaning .
Regards
Goldsmith

Hi Kbm10
H1, H2, H3, H4 of the h-bridge are controlled with the help of a microcontroller.
How much is frequency of your PWM ? do you have any current driver for your mosfets ? for example something like a totem pole or anything else ? it is pretty important .
And what about voltage driver ? (i.e out put of your micro controller at maximum amplitudes can't exceed from 5 volts and i hope that you know your mosfets will need 12 or 15 volts ! because they are not logic level mosfets !
and you'd better to use an LC filter in series with your motor ( LPF ) .
By the way if you don't need to change polarity of running the motor , you won't need an H bridge ! a simple mosfet can handle your aim .
And about soft starter if you are using micro controllers , i think it is pretty simple ! the D.C at transient time should be started from zero and softly be increased ! however there are many integrated circuits for this aim available .
Best Wishes and Good luck
Goldsmith
 

kbm10:

First: Is that op-amp in your schematic the attempt at current limiting?

Next, as for actual requirements:

Can you temporarily hook up to another 5V source that can provide more current (e.g. +5V ATX line, or a USB port on different hub in parallel, or a higher current 5VDC power supply with grounds tied) and measure how much current your circuit is ideally trying to pull from the 5V source?

You could also try a good quality powered USB hub.
 

kbm10:

First: Is that op-amp in your schematic the attempt at current limiting?

Next, as for actual requirements:

Can you temporarily hook up to another 5V source that can provide more current (e.g. +5V ATX line, or a USB port on different hub in parallel, or a higher current 5VDC power supply with grounds tied) and measure how much current your circuit is ideally trying to pull from the 5V source?

You could also try a good quality powered USB hub.

@jason:
I hooked it into the normal USB and took voltage reading across R75. The current flowing through through R75 is close to 500 mA. I will post the oscilloscope readings sometime. I was hoping to remove the spike.

@goldsmith
I am using TSM2301CX as a switch to connect to 5V usb. H- brodge is required because i am moving the motors in both directions
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top