PDA

View Full Version : What's a good encoder-based motor controller for 2x5A?



jwatte
12-28-2013, 12:36 AM
I'm using Pololu 37D gearmotors, with 5A stall current, and built-in 64 cpr encoders.

I've been trying to drive these with the 2x5A RoboClaw controllers. When they work, the RoboClaws seem great, but the boards I have seem to detect "overcurrent" and shut down improperly -- when turning on at very small fractions of rated load.

I'm still working with Nathan at Orion Robotics on getting this working, but as I've sent the boards back several times, I'm starting to fear this may not reach conclusion. Looking for other encoder-based motor controllers, the only other ones I can find are the RoboteQ ones, which are significantly more expensive (2130s for $175 each, and I need two for the vehicle and 1 extra for spare.)

What are some other options for encoder-based motor controllers for this application? I'm driving the motors with 4S LiFePO4 (so, 14V charged voltage, and up to 28V kick-back on reversal.) The motors have 64 CPR encoders. (Unfortunately, there's significant EMI on the encoder feedbacks, in sync with the PWM that drives the motors, so good Schmidt triggers are needed, too.)

And, if there are no other options -- has anyone used the Roboteq controllers? Are they robust, or finicky? I'm not looking forward to spending $500 for these pieces alone...

KurtEck
12-28-2013, 10:35 AM
I have not tried the Pololu motors, nor any other controller that support encoders. The only motors I have used are the ones from Lynxmotion and the ones sold by Orion Robotics and in both cases the encoders I purchased at Lynxmotion. In either case did not find their stall current, but from one spec I think near 2amp and I run two of these per channel.

But if it is complaing about overcurrent, have you asked Nathan, if they would allow you to swap up to one of their newer 2x15 controllers? I believe my 2x5s are an earlier version of the system, before they added in dead reckoning. I would think it would be a lot less expensive and time consuming than going to a different controller...

jwatte
12-28-2013, 12:32 PM
The problem is not actual overcurrent, the problem is that the controller is complaining about overcurrent. The full speed of these motors are 1.7 m/s, and I command it to drive 0.1 or 0.2 m/s, with wheels hanging freely in the air. (And m/s is translated to pps values for the controller.)
The overcurrent detection/trip happens quite randomly, sometimes in the middle of a 5-second "roll slowly forward" phase.

My current thought is actually to disable the current measurement entirely, as I'm within specs of these drivers, and don't need the current feedback. (Unless I dumbly short out the outputs or something...)
If it's a hardware-based problem, then that should fix it. If it's a software-based problem, then it might still happen, but that would probably be good debugging feedback to get!

jwatte
12-28-2013, 05:49 PM
So, for what it's worth, in an attempt to prevent the false overcurrent detection from going off, I shorted the detection tap to ground, so the MCU input pin should be at ground level. However, after a little bit of slow rolling, the overcurrent detection still went off! My guess is now that this is a software problem with the device, or perhaps something that's really sensitive to EMI. The current detection resistor is only 1 mOhm, so 10 A is only 10 mV, which is pretty easy to induce in any antenna-like piece of wire!

KurtEck
12-29-2013, 12:17 PM
I would trust your instincts on this far more than mine and my guess is that you have already tried this. Have you hooked up one or more capacitors to your motors. Some of the old rovers I played with used to do this. They usually had just one between the two poles, but I know others recommended adding two more one from each pole to the case of the motor... Again probably barking up the wrong tree, but...

Kurt

jwatte
12-29-2013, 12:45 PM
Have you hooked up one or more capacitors to your motors.

Thanks for the suggestion -- I'm considering any straw right now :-)

Yes, I did that from the beginning! At some point, I was wondering whether the capacitor would cause transient high current draw (I've actually seen this disable some smaller drivers for 600 mA motors from Pololu) so I disconnected them, but it didn't much change the incidence of the problem.