Inconsistent Readings From CS Pin

Hello,

I’m using a G2 High-Power Motor Driver 24v13 to drive a small 24VDC motor. I’m reading the CS pin voltage using an Arduino. The code on the Arduino stops the motor when the load hits a certain level.

Most of the time it works well, but sometimes the reading goes much higher than what the motor could possibly be pulling. I think it could be due to EMF from other components, but I’m not sure. Does the CS circuit have any kind of pulldown resistor while it’s running? Can I add one externally to try to deal with the high readings I’m seeing or would that cause a problem?

Hello.

What kind of motor are you using? Do you have a datasheet for it you could post? What kind of current spikes are you seeing? The current drawn by brushed DC motors depends on the mechanical load and operating conditions and it is not unusual for large spikes to occur during acceleration or braking.

The current sense output on that board shouldn’t need a pull-down resistor. You could put an RC filter on the pin, however the total capacitance on the pin should not exceed 1nF and you shouldn’t try to source over 5mA from it.

-Nathan

Hi Nathan,

Thanks for the fast response. I don’t have a datasheet. It is a brushed motor that runs at 50 RPM. The current without load is 0.1A and about 0.5A at stall. I know this driver is overkill for the motor. I’m holding the PWM pin high whenever the motor is running.

When the motor is spinning with no load it usually reads 2 from the Arduino, which would correspond to around 0.01 volts. It will read around 9 or 10 normally when the motor stalls. However, sometimes it reads over 40 even with no load. That would mean 0.2 volts on the CS pin. Since the output voltage is about 40 mV/A plus a 50 mV offset the 0.2 volts would mean about 4 amps, right? It’s not just a spike, sometimes it will read that for several minutes at a time. It’s very intermittent though and I haven’t been able to nail down a cause.

I know the current I’m using is very small compared to the full range of the driver. I don’t need high precision though, just consistency.

OK, if the stall current is only about 0.5A, then 4A does seem way to high. The voltage offset for that CS pin is typically 50mV but a maximum value of 250mV is provided in the datasheet for the part we use on the board. Unfortunately, we do not have a any information about things that might cause it to vary intermittently like that.

You might double check your connections to be sure they are sound. If you post pictures of the connections and soldered joints, I can let you know if they look OK. It is possible that a pulldown resistor that draws a few hundred uA from the CS pin could help stability, but it is not clear that would help.

Adding a more sensitive current sensor might provide better consistency. We use an Adafruit INA219 High Side DC Current Sensor Breakout for some internal projects that work with small currents.

-Nathan

The part is somewhat hard to get at unfortunately. If I’m going to pull it out I might as well switch to a current sensor board like you suggested. The 3.2A range makes a lot more sense for the motor I’m using anyway.

Thanks for your help!