Hello Jpanhalt,
Exactly, I did the care about the same.
Still I am facing issue of getting blast at sometimes power on (not all the time but happens some time only).
About the same? What did you do exactly? Are these changes not on the schematic?
Because your schematic shows that all six MOSFETs have a pull-up gate resistors (R11, R12, R13 and R17, R18, R19) which default the MOSFETs to turn on. This is the opposite of the pull-down resistors everyone has suggested. I'm surprised you only get a current spike some of the time and not all of the time when you power-up.
What is the reason for those those pull-up resistors? What component us U2? It almost looks like U2 has open-drain ouputs or is otherwise unable to produce signals at your gate drive voltage so you are using these pull-ups to do that. Because those pull-ups are the problem. With pull-ups, your MOSFET will always default to turn on when there is no command signal present (like when the MCU is powering up).
Normally you would use pull-down resistors on your MOSFET gates (high-side MOSFETs would have a gate-source resistor instad which does the same thing) so that they default to an OFF state. You would drive the MOSFET gates with a transistor totem pole. The totem-pole drive for the high side FETs would be floating and a level shifter is needed for the microcontroller to switch the floating totem pole (probably a pull-up resistor and a pull-down transistor that is driven from the MCU),
Some solutions:
1. redo your gate-drive without pull-ups so you can use pull-downs...
2. put discharge resistors across the output capacitors of both your ground-referened and floating gate drive supplies so they discharge to zero when powered down. Then put a delay on your the startup of your gate-drive supplies so it only starts up after the microcontroller has started up. This can be a time delay or an switch MOSFET directly controlled by the MCU through an enable signal.
3. Add
depletion mode transistors like JFETs as toggling pull-down switches son the gates and have them all be driven by the MCU to open when you are ready to drive the motor. Depletion mode devices are closed switches when power is removed, the opposite of most transistors which are enhancement mode devices. This is the fastest easiest way with minimal circuit changes but you need to get JFETs.