Noisy Current Measurements from VNH5019 Dual Moto

I recently purchased the Dual VNH5019 Motor Driver along with two 34:1 Metal Gearmotor 25Dx52L mm HP with 48 CPR Encoder. I’ve connected the motors to the driver, using a 11.1V Li-Po battery with the Pololu 5V, 9A Step-Down Voltage Regulator D24V90F5, all running on an Arduino Due. I’m getting extremely noisy current measurements on just the A channel of the motor driver. I’ve tried switching the motors, I’ve changed the analog pin that the current is being measured on, and I’ve also tried using just the battery directly without the voltage regulator. Every test I’ve done I get almost unusable current measurements on the A channel. Is this a problem with my driver board or a problem with the design? Is there any way I can clean up the measurements? I’ve added in .1 uF capacitors across the motor terminals. Any help would be appreciated.

Here is a comparison of the two channels during the motor test example included in the Arduino library, modified to increase the length of time at each motor step.


Since I submitted this post I have tried one more thing. I placed another .1 uF capacitor between the motor current sense pin and ground. It cleaned up the measurements but the curve is completely different than the other channel. It is more of a rounded shape rather than the triangular peaks seen on the second channel with a clear ramp up in current and then ramp down. I will post an image of this as well later today.


It is a little strange that your two channels were behaving so differently, but if the driver is working as you expect besides that, I suspect that it is caused by normal variation in the current sense feature between the two VNH5019 chips. As shown in Table 9 in the VNH5019 datasheet, the current sense constant for that driver can vary a lot, so it is probably not that useful for precision measurements. In addition, the current sense resistor on our VNH5019 shield allows for currents of over 30A to be measured, and each amp of current only corresponds to about 140mV of increase on the current sense pin, so the current sense feature cannot effectively measure very small currents. It is more useful for qualitative assessments like determining if the motor is stalled. If you want to measure small currents with more precision, you might consider using one of our separate current sensors.

I would expect adding that capacitor to the current sense output to help with noise and also make the signal smother. If you add a capacitor to the channel B output too, I would expect that signal to become more rounded as well.

If you post pictures of your setup, I could check to see if I notice anything else that might be affecting the current sense outputs. Also, if you have access to an oscilloscope, you could try measuring the current sense pins directly to see if the signals look the same as the graphs you got with your Arduino.