Pro Mini 3.3V, ULM2003 - output voltage is too low

Hi,
I am working on a project with Pro Mini 3.3V. PWM outputs (pins 3, 5, 6 ,9) are connected with ULN2003apg (Darlington transistor). The ULN2003 amplifies signals for 4 motors. All motors and Pro Mini is powered by a 3.7V LiPo battery (all showed on the included scheme).
The problem is that the output voltage on motors is aroud 1V while analogWrite is set for 255 (max). Do You know the reason why the voltage is so low?
Is it possible that there is a voltage drop on ULN2003? Arduino also uses XBee S2 and IMU (MPU 6050) at the same time. So maybe it can’t handle that much at the same time?

What motors? Motors need to be powered separately from everything else, and with the appropriate voltage.

Yes, motors are powered separately (look at the included image).
Brushed motors which were pulled out from a quadcopter powered by a 3.7V battery.
So, motors are connected to a 3.7V source but if controling signals (pins 3, 5, 6, 9) dropped for some reasons, the result would be that the voltage delivered to the motors was lower. Is thst right?

The output transistors have a saturation voltage loss. ~1v

Pin 9 is usually connected to the motor + supply.

.

Ok, so there is around 1V drop on signals. How much I should deliver to ULN to "unlock" a full voltage from the battery? Is there a possibility to make it work with 3.7V battery or I should use higher voltage batteries?
I don't understand the part: "Pin 9 is usually connected to the motor + supply."

Do a test, turn on a motor with the Arduino then measure the voltage across that motor.
What do you measure?

Pin 9 enables the I.C. internal kickback diodes.
These are needed to quench inductive kickback from inductive loads (protects the drive transistors).

.

Yes, motors are powered separately (look at the included image).

No, they aren't. Using the same battery for the Arduino and the motors is asking for trouble, and will lead to trouble.

Again, what motors?

The ULN2003 is really the wrong part for your application. Here's a few limiting factors from the datasheet:

  • Table 4, Electrical Characteristics: With input voltage at 3V, the maximum collector current is only 300mA.
  • Figure 18, Peak collector current vs. duty: With 7 active outputs, only 80mA available at 100% duty.
  • Table 4, Electrical Characteristics: VCE(SAT) typical = 1.1V, so the motor only sees 2.6V (3.7V-1.1V)

So suggest you use discrete n-channel logic-level drive power MOSFETs instead of the ULN2003...

or can you get several of these in a convenient single package...?

regards

Allan.

You could use a TPIC6B595 (500ma o/ps) but, you would have to send the 8 bits serially to this chip.
Very easy to do with SPI.


.

I suspect that quadcopter motors can take quite a lot of current - several amperes - - so the TPIC6B595
may not have a low enough saturation resistance... and their 150mA continuous output current rating per pin isn't very much.

Depends how much the motors take. Can the OP enlighten us??

regards

Allan

majk92:
Ok, so there is around 1V drop on signals. How much I should deliver to ULN to "unlock" a full voltage from the battery? Is there a possibility to make it work with 3.7V battery or I should use higher voltage batteries?
I don't understand the part: "Pin 9 is usually connected to the motor + supply."

Don't use the ULN2003 at all for low voltages, it loses too much voltage. You have some slotless
motors by the sound of it, they can take 2A or so, so you need MOSFETs to switch them,
specifically logic-level MOSFETs that work at 3.3V and with an on-resistance of 0.1 ohm or less.

LarryD, are You talking about pin 9 in ULN or Pro Mini?
I don't have an acces for a few days to the motors. I can only assume that each motor takes below 1A on average. 750mAh battery runs out in 15 minutes. There are 4 motors, a microcontroler and a low power radio transmitter. I will measure the current soon.

Ok, now I know that ULN isn't a good part for my application. I would like to use TPIC6B595 but it's a little too big. It's very important that this part should be the same size or smaller than ULN2003. For the same reason I have to power electronics and motors from the same source.
4 logic-level MOSFETs would be perfect (in a single housing even better). I want to use as few parts as possible thus I will use an N-Channel, logic-level MOSFETs in the low-side configuration:

I read about drawbacks of using this configuration but size is the key for me.
What is necessary to use? Should I use a voltage divider or a single resistor in the way from PWM pin to the gate? Is it a high risk not using the diode to protect from high voltages?

I believe SSM3K123TU is suitable. I've got informations from this forum:http://www.faqssys.info/micro-mosfet-and-dc-motors/

majk92:
LarryD, are You talking about pin 9 in ULN or Pro Mini?
ULN2003

majk92:
Should I use a voltage divider or a single resistor in the way from PWM pin to the gate? Is it a high risk not using the diode to protect from high voltages?

It's not a voltage divider.
The gate of this fet is like a 1n capacitor. The 100ohm resistor limits Arduino pin switch currents.
The 10k resistor keeps the gate firmly at ground potential during Arduino's bootup.
A "floating" pin could start the motor when the pin is still undefined.
The diode is to protect the mosfet from the voltage spike when the motor turns off.
Leo..

I have a big problem! When I connect all the motors directly (in parallel) to the battery (3.7V Li-Pol) it doesn't have enough power to take off. The motors, chassis and the battery are the same like in the original construction which could easily fly. I pulled out the original electronics. Measured voltage between two ends of the motor was around 2.6V when directly connected to the battery. As I remember it was the same as the battery voltage (4V) when the original electronics were still there. How is this possible that the same motors, directly connected to the same battery, don't have power to take off the same dron? Is this possible that on the original electronic board were some kind of amplifiers of the battery voltage or any another way the voltage delivered to the motors was lift up?
Btw. the dron model is MJX X400

I measured the current flowing through the motor. It was 1.2A when stabilized while directly connected to 3.7V battery (but could be different due to the problem mentioned above). I have a few IRL540N MOSFETs from a local electronic store. It's for sure too big but maybe I could fit it. Also it's up to 30A. What do You think about IRLML6344TRPBF? What I don't understand is that after connecting things like in the scheme below the voltage between both ends of the motor was around 1.6V

Measured voltage between two ends of the motor was around 2.6V when directly connected to the battery.

That means the battery is dead and might even be toast, as it was overdischarged.

If you add a battery to that diagram then you have three things in a loop.
The motor, the mosfet, and the battery.
You have measured 1.6volt across the motor when running.
What is the voltage across the mosfet, and across the battery.
At 1.2Amp, the voltdrop in the wires shouldn't be a problem yet.
Check anyway.
Leo..

I wrote the post too quickly without checking every possible solution. I figured out that my connection was made with poor quality (maybe voltages drops caused by high resistance connections? Your suggestion to check wires is at point. Thank You :slight_smile: ). When I connected it with a single wire to each side of the motor, it had enough power to take off.

Still my second problem isn't solved. Does the resistors values matter in the scheme I included previously?

See post #14 - that will work fine

regards

Allan