I’m using the MC33926 shield with an Arduino Uno R3 to control two small 12V motors. These motors have a stall current of less than 1 Amp. I’m trying to detect a motor stall on both motors in either direction.
The results I’m seeing are that the MC33926 is only returning the current for each motor when moving in one direction and not the other direction. And the direction that returns the current is opposite for each motor. For example, when both motors are moving in the forward direction and stall, md.getM1CurrentMilliamps() returns an expected current value > 0 and md.getM2CurrentMilliamps() returns zero. Then in the reverse direction md.getM1CurrentMilliamps() returns zero while md.getM2CurrentMilliamps() returns an expected current value > 0.
Can anyone tell me if these results are normal?
I am sorry you are having trouble with your motor driver shield. The behavior you are describing is not normal. What are you using to supply power to your system? Could you try simplifying your setup down to a single motor and stall it while commanding it to move full speed in each direction? While you are doing this, could you measure the motor current with a multimeter and print out the current reported by the driver?
The motor driver shield is powered from a 12VDC 25Ah battery (fully charged). The Arduino is powered from the USB port. I simplified the MC33926 demo program to perform the test you suggested. Using a single motor I measure 0.24 Amps being drawn from the 12VDC battery when I stall the motor in either direction. While the motor is stalled the Arduino driver intermittently reports milliamps in the range of 9 - 27. Getting a non-zero value returned from the driver while the motor is stalled seems to be the exception. I have tried this on two different MC33926 Arduino shields with the same results. I’m going to try this with a different Arduino and report back with the results.