2

I'm not finding any information on this method, so I'm thinking that I must be missing something.

I have a 5V single ended RRIO opamp that I need to measure BLDC motor current with. The motor is powered by 30Vdc, but the common mode range of the opamp is only to its supply rails (5V in this case). I don't really have an option to change the opamp, so I'm wondering if I can use capacitive coupling to to remove the 30V common mode. The motor PWM is about 40kHz and all resistors are 0.1%.

Simulation appears to work fine, but thought I'd appeal to the common collective brain power of the internet at large.

schematic

simulate this circuit – Schematic created using CircuitLab

Aaron
  • 7,274
  • 16
  • 30

2 Answers2

4

It'll work. The signal will be, in "signed" millivolts 10 times the average (peak times duty cycle) of the load current in Amps but with 2V offset.

The problem is, the noise at the bottom end of the shunt resistor (presumably, the switching node) will be filtered but if the supply line is noisy the noise will be reflected to the output directly because there's filtering only at the inverting side. You can prove this by yourself by writing the output equation.

So a major improvement to this circuit would be adding another 500pF to R5 in parallel:

schematic

simulate this circuit – Schematic created using CircuitLab

Rohat Kılıç
  • 26,954
  • 3
  • 25
  • 67
  • Thanks for the tip on the noise filtering. I'll keep that in mind for my future differential circuits. – Aaron Dec 17 '21 at 15:54
2

This will work, but there are a few caveats.

You can't measure the DC current component -- just the AC component.

Supply noise on the BLDC will only be rejected as well as the common-mode rejection of the opamp circuit -- and this depends on the matching of the resistors. With 0.1 % matching, you might have a CMRR of 60 dB.

jp314
  • 18,395
  • 17
  • 46
  • yeah, I saw this behavior when I switched to a square wave input in the sim. It would ramp during the flat tops/bottoms. – Aaron Dec 17 '21 at 15:49
  • Another problem I saw, once I put in long sim times, was the RC delay on startup. It would take >4ms to settle. My application can't have that. Alas, I have to abandon this idea. :( – Aaron Dec 17 '21 at 15:51