Trouble mesuring current of RC BLDC motor with ACS758

Hello every one, :slight_smile:

I currently trying a build an thrust test bench for RC motor and i getting trouble with the current mesurement.

I use for that purpose an Hall effect sensor ACS758LCB-050B already package like this
https://www.banggood.com/CJMCU-758-ACS758LCB-050B-PFF-T-Linear-Current-Sensor-Hall-Current-Module-For-Arduino-p-1105517.html?rmmds=search&cur_warehouse=CN

My test setup is :

  • 3/4 cells 30 Amps BLDC Motor
  • 40 Amps ESC
  • 2200 amps/h 30C 11.1V Batterie
  • 10x8 prop

Every thing work fine and i got descent thrust

I followed the Henry's bench tutorial and use his code

The sensor is put in series between the batterie and ESC.
The problem is that the sensor give me very inconsistent result.
For exemple at 1/3 throttle i got (the forth last read are at 0 throttle)

Raw Value = 541	 mV = 2644.184	 Amps = 3.605
Raw Value = 509	 mV = 2487.781	 Amps = -0.305
Raw Value = 603	 mV = 2947.214	 Amps = 11.180
Raw Value = 510	 mV = 2492.669	 Amps = -0.183
Raw Value = 587	 mV = 2869.013	 Amps = 9.225
Raw Value = 502	 mV = 2453.568	 Amps = -1.161
Raw Value = 567	 mV = 2771.261	 Amps = 6.782
Raw Value = 503	 mV = 2458.456	 Amps = -1.039
Raw Value = 524	 mV = 2561.095	 Amps = 1.527
Raw Value = 537	 mV = 2624.633	 Amps = 3.116
Raw Value = 508	 mV = 2482.894	 Amps = -0.428
Raw Value = 604	 mV = 2952.102	 Amps = 11.303
Raw Value = 510	 mV = 2492.669	 Amps = -0.183
Raw Value = 542	 mV = 2649.071	 Amps = 3.727
Raw Value = 506	 mV = 2473.118	 Amps = -0.672
Raw Value = 585	 mV = 2859.238	 Amps = 8.981
Raw Value = 502	 mV = 2453.568	 Amps = -1.161
Raw Value = 542	 mV = 2649.071	 Amps = 3.727
Raw Value = 509	 mV = 2487.781	 Amps = -0.305
Raw Value = 510	 mV = 2492.669	 Amps = -0.183
Raw Value = 508	 mV = 2482.894	 Amps = -0.428
Raw Value = 510	 mV = 2492.669	 Amps = -0.183

The motor run like a charm.
It's almost look like to me like AC current. I check with a bad ampmeter (limited to 5Aamp), he gave me around 4amps consistent.
Should I make an average of the reading ? Does it make sense with such variation ?

I tried to plug a basic DC motor with the same batterie (and of course without ESC) and this time the result were consistent and matching my ampmeter.

Raw Value = 517	 mV = 2526.882	 Amps = 0.672
Raw Value = 517	 mV = 2526.882	 Amps = 0.672
Raw Value = 516	 mV = 2521.994	 Amps = 0.550
Raw Value = 517	 mV = 2526.882	 Amps = 0.672
Raw Value = 515	 mV = 2517.106	 Amps = 0.428
Raw Value = 515	 mV = 2517.106	 Amps = 0.428
Raw Value = 515	 mV = 2517.106	 Amps = 0.428
Raw Value = 516	 mV = 2521.994	 Amps = 0.550
Raw Value = 511	 mV = 2497.556	 Amps = -0.061
Raw Value = 510	 mV = 2492.669	 Amps = -0.183

Have you an idea of the cause of this inconsistency from the sensor?

Thanks for your help and time :slight_smile:

Ludovic

Looks like the result of PWM - constantly switching on and off the motor. It seems to jump between 0 and 9A. Intermediate values if taken during a rising or falling edge.

I guess the negative values are an artefact of the sensor, which is unable to follow the very fast changes and overshoots.

Connect it to a scope to see the waveform, should be interesting.

LudoFaf:
Have you an idea of the cause of this inconsistency from the sensor?

The problem is your expectation that an ESC pulls a steady current from the battery, which is definitely
does not, its switching constantly, power conversion circuits are all switch-mode these days. The sensor
is doing just fine and showing you reality.

You want to measure average current, which means you must low-pass filter the output of the ACS758,
perhaps to a bandiwidth of 10Hz or less, so that all the switching is invisible to you.

I final get back on this project,
Thank for your reply, it's work well.
I went with a 0.1microF capacitor, 200kohm for a 8Hz bandwidth.