Sunday 1 July 2018

Mosfet motor problems with bluetooth module


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



Answer



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.


No comments:

Post a Comment

arduino - Can I use TI&#39;s cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...