0
\$\begingroup\$

I'm playing around with a bluetooth module and want to control a motor using the module and a phone. I manage to control a small motor (±30 mA), but as soon as I'm connecting a bigger motor I'm getting some inconsistent problems.

  • I'm powering the whole circuit using a 3v/ 1.5A voltage regulator (which is powered by a benchtop power supply).
  • The motor is normally drawing about 700mA if connected directly to a 3v source (benchtop power supply)
  • I'm using a N-Channel Mosfet to control the motor ( mosfet datasheet).
  • I've hooked it up according to the following schematic

enter image description here

The problems I'm experiencing are:

  • When I set IO5 HIGH the motor starts spinning, but slower and only draws around 250mA (which slowly increases over time to ±270mA). It's not letting the motor draw all the current. (I've tried different Mosfets, all with a Vgs < 3v)
  • Sometimes after switching it ON, or when the motor is ON for a longer time the module resets (restarts) itself. Seems like something is happening the module doesn't like (power peak or something). It definitely should not do this and is clearly connected to the motor actions. I've been putting in some extra decoupling capacitors, but this doesn't solve anything.
  • I put a resistor between IO5 and the Mosfet gate, but also didn't solve anything.

Am I missing something fundamentally, or doing something else wrong? Any help is appreciated.

Cheers Ruben

\$\endgroup\$
16
  • 2
    \$\begingroup\$ Source is pin 3, drain is pin 2. Not sure if it's all your problems, but you must start with this one. \$\endgroup\$
    – user76844
    May 19, 2016 at 16:18
  • \$\begingroup\$ A supply of 3 V is not sufficient to turn a Mosfets. Also for device with Vgs th in the 1-2.5V Volt range (so called logic level) you need at least 4.5V on the gate. See Graph 7 of the datasheet. \$\endgroup\$
    – matzeri
    May 19, 2016 at 16:18
  • 1
    \$\begingroup\$ @Gregory Kornblum That is for saturated operation with Drain-Source voltage >2V. OP is using 3V Gate drive, which is so low it's not even on the chart for RDSon. This MOSFET is not designed to work at 3V! \$\endgroup\$ May 19, 2016 at 18:45
  • 1
    \$\begingroup\$ Did you make sure the RESET pin is tied HI or LOW so it is 'off'? You should not let any input pins 'float'. \$\endgroup\$
    – user105652
    May 19, 2016 at 21:01
  • 2
    \$\begingroup\$ AUIRLZ44Z with 3V Gate drive? Examine fig. 1 in the datasheet - note how it barely manages to switch 1A - what do you think? \$\endgroup\$ May 20, 2016 at 5:20

3 Answers 3

2
\$\begingroup\$

The regulator has an internal current limiter which is close to your average motor current. A motor does not draw a constant current but has a "current ripple", so it is possible that the current ripple is hitting its peak and dropping the output voltage accordingly. Look at the motor voltage with a scope and see if it is being pulled low periodically with the brushes. The occasional shutdown might occur either from the regulator dropping too low and pulling down your controller or possibly the thermal limit being reached. Something to try might be to run your controller from the regulator but run the motor/FET circuit directly from your benchtop supply. This might be better practice so that motor back EMF will not create high voltage on your controller.

\$\endgroup\$
3
  • \$\begingroup\$ I think the schematic shows that he already has correctly wired the motor from the unregulated supply, V+. \$\endgroup\$
    – Transistor
    May 19, 2016 at 16:46
  • \$\begingroup\$ You are correct - when you said the whole thing circuit was powered from the regulator I missed that part. Apologies. \$\endgroup\$ May 19, 2016 at 17:20
  • \$\begingroup\$ I tried both, running it from the regulator as from the bench directly. But it both had the same problems, so I don't think the regulator is the problem. \$\endgroup\$
    – Ruben
    May 19, 2016 at 18:33
1
\$\begingroup\$

I noticed you have a few input pins 'floating', including your 'reset' pin. ALL inputs should be connected to ground or Vcc or erratic behavior can occur. If the pin can also be an output it is best to connect it to ground or Vcc through a 1K ohm 1/8th watt resistor.

\$\endgroup\$
1
\$\begingroup\$

I managed to find the causes of the problems:

  • First of all the motor caused too much noise on the power line. This made the voltage drop below 2.8v at some moments, switching off/ resetting the module.

  • Indeed ,like @Bruce Abbott suggested, the gate voltage on the Mosfet was not high enough. I tested with a higher voltage and is was passing more current.

I did the following (see schematic below):

  • I used a 3.3v voltage regulator instead of 3.0v. This gives it a bit more freedom to fluctuate without causing too much problems. This also increased the logic voltage tot 3.3v which was high enough for the Mosfet.

(I want to power eventually with a Lipo so will wonder what happens as soon as that voltage will drop below 3.3v, but that's a worry for later)

  • I put a resistor (R13) in series with the Motor, limiting the current, but also the noise on the powerline. It rotates a bit less strong, but still enough.

  • As @Sparky256 suggested I pulled the Reset and IO0 pins up. Don't think it made a difference in this case, but still good to do. I will use IO6,PWM 1 and PWM3 for other purposes later so no need there. And also used a 10 ohm resistor (R12) in line with IO5.

enter image description here

\$\endgroup\$
2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.