Mosfet suggestion request

Brian Z

New Member
I am building a project in which I am controlling an SN754410 motor driver driving a small brushed motor with a 2 cell LiPo (8.4v at full charge). The motor is only on a small time, and the rest of the time the 20x2 Picaxe sits in sleep mode, awaiting an interrupt, to conserve the 1000 mAh LiPo battery powering it. Foolishly, I assumed that by driving the enable pin low on the SN754410 it would not have a quiescent current while it sat there all the time, but I was wrong, and the SN754410 is drawing about 30mA all day and night, which, along with the motor usage ended up giving me less than 30 hours of use. I was hoping for 20 days.

My desire is to turn off the SN754410's 5v supply with a transistor when it's not being used, driven by the existing enable pin with no code changes. The quiescent current and motor together draw about 120mA. Unfortunately my regulated power supply gives me 5v, so a transistor will drop the voltage to less than the SN754410's required logic voltage. Is this an appropriate use of a mosfet transistor? I've used mosfets once before, but for driving a high voltage with a logic voltage. Does anybody have a light duty unit that they like for this type of thing? Especially in a TO-92 package?
 

premelec

Senior Member
I don't know about the TO92 but have seen units like Vishay Si7137 P type in 8 pin SOIC used in battery packs and such that have very low gate voltage and high current capacity. I've salvaged these types from battery charge controllers and so other discarded computer electronics... I presume you want a high side switch... Check the P type listings in Digikey or Mouser Vishay stock.

Some TO92s here: http://www.vishay.com/docs/70209/70209.pdf

I see BS250 being suggested as a P chan 2N7000 type unit - looks good and available...
 
Last edited:

darb1972

Senior Member
According to the datasheet, the SN754410 needs to have it's enable pins pulled low to enter an off state. Doing so should reduce consumption to around 500uA.

I don't think you can do this when the PICaxe is in sleep mode. That explains why the current draw is more than expected in "standby".

May I suggest you use the likes of a reed relay? You could used the NC connection of the relay to keep the enable pins pulled low while the PICaxe is asleep. Upon waking, the PICaxe could drive the reed relay coil (typically around 10mA) to open the contacts, allowing the 10k pullup resistor (shown in the datasheet) to enable the SN754410 inputs.

Just a suggestion that might work without too much hardware (a reed relay and back emf diode) and no code changes.
 

hippy

Technical Support
Staff member
According to the datasheet, the SN754410 needs to have it's enable pins pulled low to enter an off state. Doing so should reduce consumption to around 500uA.
I am not so sure that is true. In the datasheet I looked at - Icc1, which I take as the Vcc1 / Vlogic current, is 25mA when outputs are all high impedance. That would seem to match with what is being observed.

I was quite surprised the Icc1 / Vlogic currents are so high.

Maybe, rather than try to work round the problem, it would be better to choose a driver which doesn't draw quite so much current in standby or disabled mode ?
 

darb1972

Senior Member
I am not so sure that is true. In the datasheet I looked at - Icc1, which I take as the Vcc1 / Vlogic current, is 25mA when outputs are all high impedance. That would seem to match with what is being observed.

I was quite surprised the Icc1 / Vlogic currents are so high.

Maybe, rather than fix the problem, it would be better to choose a driver which doesn't draw quite so much current in standby or disabled mode ?
Yeh, I think you are right. I missed that. I was looking at the "Ioz (off)" spec. It seems to me that the datasheet might be wrong. One would tend to expect the lower current levels (of 5nA) to be on the logic side with the higher current level of 25mA to exist on the motor side. I don't have such a beast in my parts so I can't measure to check. The spec seems totally weird. Not what I expected (and undoubtedly neither did the OP).

As you suggest Hippy, a different motor driver might be more appropriate.
 

darb1972

Senior Member
The same weird current consumption also applies to an L293D which is meant to be a compatible replacement. Actually, the off state curent consumption on this driver are actually worse. Again, I really didn't expect to see such a high current consumption on the logic side in an off state.
 

Brian Z

New Member
Maybe, rather than try to work round the problem, it would be better to choose a driver which doesn't draw quite so much current in standby or disabled mode ?
After I typed up my question this was what I was leaning towards. I've used a DRV8833 in a project before with good results, so I may look into that. I was hoping for a through-hole solution on this project, but it's not a deal breaker. What I'm doing with my motor is not so complicated that I might be able to just use some transistors to drive my motor directly.

Here's where the project is at so far: https://youtu.be/SEnZSKz4Nyg It's a clock that travels 30 feet down my classroom wall on a long rack gear in one minute increments. I use a for next loop to accelerate the motor, then turn on an IR led and shine it through that hole in the plate, and when the detector detects it, it does a for next deceleration, and sits there waiting for the next one minute pulse (which triggers the interrupt) to start again. The motor is always using pwm when moving forwards, as full speed makes too much noise and will distract my students once per minute, which I do not need. When it gets to the right end at the end of the day, it hits a switch and runs in reverse at full speed until it hits the switch at the left end, where it sits and counts minutes until the start of the next day. On Wednesdays we have a different bell schedule, so the servo points the hand down, where I have that schedule marked on the wall (and whatever solution I use to turn off my motor driver I'm going to use to turn off the servo as well, because it's drawing about 5mA just setting there too, and it only gets used twice a week). There's two Picaxe chips on that board, and the left one just counts seconds pulses from the DS1307 and outputs minute pulses for the other one to use. I'm sure I could do it all with one Picaxe, but it just seemed so much easier to offload that task onto another one.
 

sghioto

Senior Member
so a transistor will drop the voltage to less than the SN754410's required logic voltage
Where did you get that assumption? The High- Level input voltage on the specs read 2 volts min, 5.5 volts max. Use a NPN-PNP configuration between the regulator and the SN754410.

Steve G
 

Attachments

Last edited:

darb1972

Senior Member
While Steve G's suggestion would work for the logic side, please also consider the following. With reference to his circuit, I would tend to suggest that the base of the BC640 is driven slightly harder to ensure saturation at the lower logic current levels. Driven with enough current, the Vce (sat) will be typically around 250mV. Not an overly large voltage drop. With enough saturation the transistor will run without too much heat. I would suggest a base resistance of 820 Ohms. Might not seem like much of a difference, but when it comes to saturation, it might make all the difference.

I would also tend to suggest a higher value "pullup" resistor between the emitter and base of the BC640, to ensure that when it is off, it's really OFF. Without performing calculations, something around the 10k mark might suffice. Even with the 10k resistor, you will need to check the Vbe when the circuit is active to ensure that this voltage divider (of the 10k and 820 Ohm resistors) doesn't result in a low Vbe and therefore poor Vce saturation.

While the 10k resistor from the PICaxe to the 2N3904 will definitely saturate the base, in this case you only need around 18k to do the job. This might matter if you want to conserve power.

Even with all of that said, if power conservation is key in this circuit, isn't it the case that in addition to saving power at the logic end, you will still need to pull the enable on the SN754410 low to switch off the motor drive side so it too draws little current. Please keep this in mind if you are switching off the logic rail side of things.
 
Top