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).
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?
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 still haven't got around to fixing it.
If adding a cap doesn't work, I'll focus on further reducing EMI. Using two sources though is out of the question.
TheNonbeing:
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.