I am trying to build low side current sense amplifier for my motor drive (1 kW BLDC trapezoidal control.) Before that I get confused with the current waveform of BLDC drive in low side.

My application voltage = 48 V and current =30 A maximum.

  • I will use 0.002 ohm (2 watts) with op amp to build a low side sensing circuit.
  • But before that I connect a 0.1 ohm (5 watts) resistor at low side to check the waveform at 2 ampere.
  • Driving with trapezoid control at a PWM frequency= 15 kHz

Here is the scope image measured in low side with 0.1ohm resistor:

enter image description here

Why is waveform here at 602 Hz? If I increase the voltage or RPM the waveform frequency increases.

Here is the another scope image with 0.002 ohm with op amp added to gain the output. Including PWM signal to compare.

enter image description here

  • The op amp output = yellow and PWM signal = green
  • When I observe the op amp output the yellow signal varies like a sine with different frequency.
  • When I zoom the signal it steps accordingly to the PWM on time.
  • In motor drive application in order to sense the current, we should sense the ADC in the middle of the PWM on time.

But if I sense likewise then the value be like sinusoidal manner then how would I be able to sense current correctly?

Guide me friends I am bit confused. And my application is not foc. Just to set the current limit for the drive (say 30 A).

EDITED for andy Op amp circuit simulated: enter image description here

Scope output: enter image description here

  • \$\begingroup\$ Comments are not for extended discussion; this conversation has been moved to chat. \$\endgroup\$
    – Voltage Spike
    Commented Sep 19, 2020 at 19:51

1 Answer 1


You asked for the yellow wave frequency. This is according to RPM, the motor is no linear R, it does not always take same current. The current depends on the position of the motor relative to the magnets.

Depending on how fast your regulation shall be, you could simply use a low-pass filter at about 100Hz. Which should be easily implementable to your op amp.

  • \$\begingroup\$ Sir what you are saying is to measure the adc value accordingly to the hall sensor frequency and not according to pwm time period. But 602hz why, Because the maximum rpm of the motor is 3000 . So Frequency=RPM*no of poles/60. For 3000 rpm and 4 pole motor, frequency=3000*4/60 = 200hz. Therefore the maximum frequency will be 200hz right. \$\endgroup\$
    – Bud
    Commented Sep 18, 2020 at 11:10
  • \$\begingroup\$ I didn't knew the RPM. So my answer doesn't fit. The 1st comment from Andy aka fits better to your question. \$\endgroup\$
    – rundekugel
    Commented Sep 18, 2020 at 11:55
  • \$\begingroup\$ With trapezoid drive a 4 pole motor has 12 steps per mechanical revolution. 3000rpm / 60 * 12 = 600Hz. I measured the current through 1 phase of a brushless motor and saw it varying with a frequency equal to the commutation frequency (1 cycle per commutation step). Scope photo here . So you are right to say that "The current depends on the position of the motor relative to the magnets.". \$\endgroup\$ Commented Sep 19, 2020 at 8:36
  • \$\begingroup\$ I am using 1Kw 4 pole pair bldc motor of max rpm as 3000. I will share the back emf (scope image) at 1000rpm which tells the frequency of the back emf is 66hz. That is 1000*4/60= 66.6Hz. ibb.co/jgyC1Mm \$\endgroup\$
    – Bud
    Commented Sep 19, 2020 at 10:21

Your Answer

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

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