Author Topic: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?  (Read 1651 times)

0 Members and 1 Guest are viewing this topic.

Offline Software DudeTopic starter

  • Contributor
  • Posts: 16
  • Country: il
I want to drive a 80mA motor from Arduino PWM output, but when the PWM is idle I want the current flowing through the motor circuit to be smaller than 10uA.
How?

 

Offline Freelander

  • Regular Contributor
  • *
  • Posts: 146
  • Country: 00
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #1 on: December 10, 2017, 08:47:23 pm »
Use a high side small P channel mosfet. Drive the gate via an npn transistor.
When the pwm is idle ensure the output pin is low. The npn will be off and so will the P channel mosfet.
 
The following users thanked this post: Software Dude

Offline Software DudeTopic starter

  • Contributor
  • Posts: 16
  • Country: il
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #2 on: December 10, 2017, 08:51:26 pm »
Can you suggest part numbers for good mosfet and npn ?
 

Offline Freelander

  • Regular Contributor
  • *
  • Posts: 146
  • Country: 00
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #3 on: December 10, 2017, 09:10:50 pm »
Can you suggest part numbers for good mosfet and npn ?
Hi, neither are critical at all here, any small signal NPN will be fine. Any p channel mosfet will also be fine providing the voltage / current / power is suitable and the voltage is such that the device is driven out of non linear, so you need something with a VGSth lower than your operating voltage. ie - if motor supply is 12v then the device needs to be fully on when the gate is pulled down.
The RDSon  will also be quoted at a specified VGS, (higher than the threshold) however, for this type of application you shouldnt have to worry about the voltage (and current) quoted at RDSon.
The main thing would be to handle the current and voltage (and virtually ANY would do that) and have a low enough VGSth to ensure full turn on.
 
 

Offline D-Jack

  • Contributor
  • Posts: 28
  • Country: pt
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #4 on: December 10, 2017, 11:15:18 pm »
Why not use a n-channel mosfet instead of the npn transistor? You can achieve lower current consumption using mosfets instead of bipolar transistors
 

Offline Freelander

  • Regular Contributor
  • *
  • Posts: 146
  • Country: 00
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #5 on: December 10, 2017, 11:26:52 pm »
Why not use a n-channel mosfet instead of the npn transistor? You can achieve lower current consumption using mosfets instead of bipolar transistors
If you go that route then you would need a true logic level fet - and that is only if the arduino is on 5v. On 3.3 you will be struggling.
Using the npn bipolar and p mosfet means the components are not critical at all. If the design is for production then BOM / Layout is king in a lot of cases. If for a one of then no worries. Logic level fets at 3.3v are not exactly growing on trees. ;)
Using an n channel of non logic level is not on (without the other driver) as the arduino output will not drive the gate high enough.
 

Offline xani

  • Frequent Contributor
  • **
  • Posts: 400
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #6 on: December 11, 2017, 12:16:51 am »
Well you *can* just use npn transistor in same way with N-mosfet, just having it low-side.

Only problem would be idle power usage by the pullup as npn would have to be on to keep motor off

But honestly for 80mA just get a mosfet that opens at 3v3, or bipolar if that 0.7v drop doesn't hurt

Why not use a n-channel mosfet instead of the npn transistor? You can achieve lower current consumption using mosfets instead of bipolar transistors
If you go that route then you would need a true logic level fet - and that is only if the arduino is on 5v. On 3.3 you will be struggling.

There seem to be plenty for low current, just not really breadboard/prototype friendly:

https://www.digikey.com/products/en/discrete-semiconductor-products/transistors-fets-mosfets-single/278?k=mosfet&k=&pkeyword=mosfet&pv1993=61&pv1993=48&pv1993=19&pv1993=80&pv1993=49&pv1993=81&pv1993=100&pv1993=83&pv1993=6&pv1993=7&pv1993=86&pv1993=76&FV=ffe00116&mnonly=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=25

and now that I think about it I should probably pick few up next time I order as that seems to be pretty  handy part to have...
 
The following users thanked this post: Software Dude

Offline Freelander

  • Regular Contributor
  • *
  • Posts: 146
  • Country: 00
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #7 on: December 11, 2017, 12:35:51 am »
Some nice units there  :-+ - might grab a few myself. Last time I looked they were like rocking horse sh!t.  :o

 :)
 


Offline nugglix

  • Regular Contributor
  • *
  • Posts: 209
  • Country: de
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #9 on: December 11, 2017, 01:31:47 pm »
You should have a look at:
https://en.wikipedia.org/wiki/Flyback_diode       :horse:
 
The following users thanked this post: Software Dude

Offline xani

  • Frequent Contributor
  • **
  • Posts: 400
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #10 on: December 11, 2017, 03:33:40 pm »
That cap is probably not a good idea if you want to PWM it; it will have reactance of ~ 63 ohm at 25kHz, as nugglix said, put a diode there
 
The following users thanked this post: Software Dude

Offline Software DudeTopic starter

  • Contributor
  • Posts: 16
  • Country: il
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #11 on: December 11, 2017, 04:35:11 pm »
Isn't the Body diode of RE1C002UN already doing this job?
Attached the RE1C002UN inner schematics.
« Last Edit: December 11, 2017, 04:37:48 pm by Software Dude »
 

Offline nugglix

  • Regular Contributor
  • *
  • Posts: 209
  • Country: de
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #12 on: December 11, 2017, 06:24:44 pm »
Obviously the above mentioned article is not for everyone.
So I pull out a secret weapon:
 
The following users thanked this post: Software Dude

Offline Freelander

  • Regular Contributor
  • *
  • Posts: 146
  • Country: 00
Re: How to drive a 80mA motor from Arduino PWM with < 10uA current when idle?
« Reply #13 on: December 11, 2017, 06:37:28 pm »
Isn't the Body diode of RE1C002UN already doing this job?
Attached the RE1C002UN inner schematics.
No, it isn't because the diode needs to be across the motor (the inductive load) - the mosfet diode is across the MOSFET - not the load !.
 
The following users thanked this post: Software Dude


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf