So, I was very confused why my robot can't move (It can, but only 1cm far then it stopped with buzzing sound), and browsed this forum. Found my answer, that the problem is, I was powering the robot with 9v battery and it couldn't. I need to power it from stacked AA batteries so it can work (though not tested).
My question is, why 9v battery couldn't power it, but AA batteries (might be) can?
Can I power it from stacked 9v (maybe 3)?
There are no a lot of spaces left so I need to minimalize it.
My project :
A robot car with a grip
1 arduino, 1 motor driver, 4 motor DC, 2 motor servo and an arm grip
The problem with the little 9V batteries is they are very limited in the amount of current they can supply. The motors try to take more current than the battery can supply, the battery voltage drops and everything stops.
AA batteries can supply more current without the voltage dropping. Technically they have a lower "IR - Internal Resistance" - if you're really interested in the details Google "battery IR".
You MIGHT get away with connecting several 9V batteries IN PARALLEL. But it's not a good solution, it might not work at all and even if it does work you'll have to put new batteries in very often because they will only last a very short time.
Small 9V batteries are designed to power transistor radios at 50mA or so, and typically really struggle
past 100mA (0.1A). You setup probably needs anything from 3 to 6A depending on the size of motors.
Good AA batteries can provide an amp or so before struggling, good rechargables are probably
best. Even so you probably need a more current-able supply, So LiPo, LiFePO4, SLA, that sort of
high current battery is likely to be the best bet.
Motors takes loads of power compared to many electronic devices, this catches people out...
You should have a separate supply for these heavy current devices, don't share it with the Arduino.