I am using the inverter circuit I posted before Inverter in this previous thread to drive a BLDC motor. However, the current waveforms have some strange shapes that I couldn't understand. Below is the Hall sensor signals and current waveforms.

I have confirmed that the six-step switching sequence is correct with respect to Hall signals. So my question is, why could the current peaks marked in yellow circles happen? How to eliminate them?


The current is measured using Tektronix TCPA300 current sensor and clamped at individual motor terminal wire. I also captured the Vgs for upper arm and lower arm and I couldn't see there is wrong ON status for either one.

Upper arm Vgs vs current

Vgs vs current for upper arm

Lower arm Vgs vs current

Vgs vs current for Lower arm

I also tested another driver board which has only 6 MOSFETs in the inverter, the phenomenon is the same. The following picture is the motor terminal voltage Va vs. Ia. From this picture, it seems the lower side freewheeling diode was conducting when both upper and lower MOSFET was OFF. How could that happen?

enter image description here

[Edited again to answer @John Birckhead]

Here is the results showing the ground at MOSFET current path side and the gate driver side. However, from the results, I couldn't conclude that lower side MOSFETs were wrongly turned-on because of noise spikes on grounds because their amplitudes are only less than 1V.

Testing points

enter image description here

  • \$\begingroup\$ What would you expect to see? \$\endgroup\$
    – Andy aka
    Jun 2, 2016 at 10:50
  • \$\begingroup\$ Do you get the same waveform if you decrease the voltage? \$\endgroup\$ Jun 2, 2016 at 13:08
  • \$\begingroup\$ Is the motor spinning when you see those waveforms? Are you measuring the current by measuring voltage across the shunt? If so, then those ramps look pretty normal to me - since the motor is spinning, I believe that you are seeing the result of the BEMF interacting with the trapezoidal drive. \$\endgroup\$
    – Mark
    Jun 2, 2016 at 15:28
  • \$\begingroup\$ To Andy aka, I thought the current waveforms should be similar to the ones shown above, but without those strange spikes. Current should be zero when that phase is not conducting. To John, I saw this similar waveforms when voltage is 60V and 48V and 31V. To Mark, the motor was spinning and the current is measured using Tektronix TCPA300 current sensor and clamped at each motor terminal wire. \$\endgroup\$ Jun 3, 2016 at 1:18

2 Answers 2


If this is trapezoidal drive, you appear to be turning on the gate of one of the "off" phases. This may be due to the reverse transfer capacitance which is quite high with all of those MOSFETs in parallel, or possibly you are drawing enough current in your inductive current path on board board to pull down the source with respect to some of the gates.

I would start by reducing the value of the 10K pull down resistor on the gate to 1K and see if this improves your problem - this may work if it is the drain-to-gate capacitance turning the FET on. In any case, measure the gate voltage on the FETs during their off period with respect to the source.

  • \$\begingroup\$ Hi, John, thanks for the tip. I captured the Vgs and updated in the post. It seems the FET gate signals are all correct and there should be no wrong turn-on. \$\endgroup\$ Jun 3, 2016 at 4:41
  • \$\begingroup\$ You might try this:measuring the ground near the low side MOSFET sources and compare them with the ground near the FET Driver (don't move the scope ground during this exercise). If there are voltage spikes on the difference between the grounds due to current spikes, this can cause a FET turn-on. \$\endgroup\$ Jun 3, 2016 at 13:38
  • \$\begingroup\$ One more note: the ground connection from the MOSFET back to the gate drive should not be in the motor current return path and the trace with the gate drive signal should run parallel and close to this trace. Otherwise you create a loop which can induce a voltage on the gate. \$\endgroup\$ Jun 3, 2016 at 14:30
  • \$\begingroup\$ Thanks for your advice, John. I will test the grounds and see if there is any spikes. As for the layout tip, I am not quick sure what do you mean. Would you please further elaborate it? \$\endgroup\$ Jun 5, 2016 at 2:30
  • \$\begingroup\$ You will have traces on your board running from your IRS21867 ground and LO to your Gates of your transistors. Make sure the ground trace has a separate path from the path from the motor phase ground as it flows back through your shunt to your supply. Keep these two traces next to each other so that the area between them does not form a large loop. otherwise it will act as a single turn transformer and large current spikes from the motor can induce a voltage on the gate. Same rules apply for HO and VS. \$\endgroup\$ Jun 5, 2016 at 18:10

This could be caused by your hall effect sensors having some timing error. The motor controller is sending PWM into the phase after its back-emf (BEMF) is decreasing, causing the current to increase at the end of the commutation period.

Disconnect the motor terminals and spin the motor by hand in the intended operating direction and view the motor BEMF along with the hall sensor output, to check the hall sensor timing.

Depending on the hall sensors, they may have to be re-timed if you intend to spin the motor in the other direction.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.