Go Down

Topic: Arduino restarts when DC motors are turned on (Read 2197 times) previous topic - next topic



My robot's various circuits (sensor arrays, motor controller, indicators+LCD, Arduino, ..) are powered form the single supply point via dedicated voltage regulators -78xx (with decoupling capacitors). When I make Arduino turn on the DC motors, it restarts. (If the Arduino is powered from USB -no problem).

Arduino model: Mega2560
Power supply: 7.5V from a power regulator (Imax > 2A)

Motor controller circuit
IC: L298
V. regulator: L7809CV (Imax = 1.5A)
Decoupling capacitors: 0.47uF & 3.3uF at IN and 0.1uF at OUT
Motors: 2 x DC 9V cassette motors

I think the fairly large current draw from motors at start up makes the Arduino's supply go wonky. Will it help if I added ..maybe a 220uF cap at IN of Motor controller's regulator? Or is it something else?



Try starting them using PWM on the EN pins of the L298.

I do this with my L293D: instead of simply setting EN to high when I want to turn on the motors, I use PWM on the EN pin (that's why I had the L293D EN1 and EN2 pins connected to PWM pins on the Arduino).

Some of my projects:
Shield for DS1337+, DS1624 and AT24C1024B (RTC, temp & mem): http://forum.arduino.cc/index.php/topic,126197.0.html
CHDK Camera remote shutter (BT, IR, USB): http://forum.arduino.cc/index.php?topic=295377.0



Yes try a big capacitor on the motor supply rail.
You say your supply is 7.5V but you use a 7809 regulator, do you have a DC/DC converter somewhere to convert the 7.5V to something greater than 9V to feed the regulator?


Thanks you for the reply! :)
What value of cap would you suggest?

No actually, I temporarily lowered voltage down to 7.5V because a couple of 7805s (in different sections) started heating up rather rapidly (@12V and to a lesser extent @9V) and I don't have decent heat-sinks to fit inside the cramped space of the chassis. Could this be the cause of my problem?


May 15, 2013, 09:09 pm Last Edit: May 15, 2013, 09:10 pm by semicolo Reason: 1
try 100 or 220 uF

Well you've got a problem because the 7809 is supposed to regulate a voltage higher than 11V to 9V but you're feeding it 7.5V, you could remove it completely since it's just in the way.

And I dont't think the L298 has flywheel diodes, did you add some?


I'm going to change the supply back to 9V or 12V once I can find heat-sinks that will fit inside the chassis and have decent cooling properties.

Yes, a bunch of 4148s.


Hi, you may also be getting other types of EMI (Electro Magnetic Interference)

There are some hints on the http://ArduinoInfo.Info WIKI here: http://arduino-info.wikispaces.com/RelayIsolation
Regards, Terry King terry@yourduino.com  - Check great prices, devices and Arduino-related boards at http://YourDuino.com
HOW-TO: http://ArduinoInfo.Info


Its likely the motor start-up current spike is pulling the supply down to about 0V briefly.

Simplest solution: use a separate supply for the motor(s).
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]


I still haven't got around to fixing it.  :P
If adding a cap doesn't work, I'll focus on further reducing EMI. Using two sources though is out of the question.

Thank you for the suggestions!


If adding a cap doesn't work, I'll focus on further reducing EMI. Using two sources though is out of the question.

I doubt that the above will fix your problem. You might consider getting two UBECs on ebay for powering the arduino and motors from the same power source. I use the below setup to prevent the servos from causing a low voltage drop out of the servo chip when the servo motors start. 

Google forum search: Use Google Search box in upper right side of this page.
Why I like my 2005 Rio Yellow Honda S2000  https://www.youtube.com/watch?v=pWjMvrkUqX0

Go Up