Good Scenario :
I have designed a motor controller using vhn2sp30 motor driver from ST microelectronics and Atmega328P is the controller. I power on the microcontroller from a different source (USBasp is connected to PC which turns on atmega328P) and program it using Arduino. I have connected a motor to output pins and when I connect battery power to VHN2SP30 chip, the motor starts running. Everything seems to be working as expected.
The trouble starts the other way around. I connect the battery to VHN2SP30 chip and then power on the Atmega328P chip from another 5v source, but the motor does not rotate. There is also a regulator connected to Battery input which provides regulated 5v supply to AVR chip. Even in this case, the motor does not work. I tried removing the regulator / keeping the regulator. Whatever I do, it does not make the motor rotate. The only way is to power on AVR chip from an external source and then connect the battery.
Very Bad Scenario:
The third scenario is when the battery is connected and the motor is spinning, when I press the reset button, it resets the chip and then the motor stops. I need to remove battery supply to motor driver and reconnect it.
Does anybody know why this might be happening?
1. There is a 35v, 470uF electrolytic capacitor attached to motor driver power pins
2. A 100uF 10v tantalum capacitor is connected to 5v and Ground pins (to output of regulator)
3. Regulator used is LM1084 from Texas instruments
4. Battery is fully charged with capacity of 2200uA and 11.1V
5. Tried different motors from tiny toy motor to metal gear motors, but the result is the same.
6. There are two LED's connected which turns on when motor turns on either direction. In the Good scenario (when motor is spinning) the LED turns on to indicate direction. In the bad scenario, when motor is not connected, the LED still turns on to indicate direction. However in the same bad scenario, when the motor is connected, the LED turns off.
Can someone help me find a reason or a solution to this issue?