View Full Version : PhidgetServo + Banebot 28mm RS-385 -> no torque?

10-24-2007, 09:24 PM

I bought a couple of motors to power a trolley. There should be ample torque according to the specs, but when I connect it to my phidget servo controller (as per the hint on the motor page) and set the PWM to maximum in either direction, I just get a groaning noise. I'm not an electrical engineer, but the voltages seem normal, and I even connected it to an oscilloscope and see what looks like perfectly normal square waves at half-maximum pulse width.


When I connected my multimeter to measure the current, suddenly I got enough torque and the rig started moving smoothly across the floor. Short circuit the ammeter, and I go back to the original groaning noise. Remove the short and I get all the torque I was expecting. I get the exact same response with both motors and both motor controllers, and even with another servo controller. This must be something fairly simple. I don't want to have to glue multimeters to the side of my trolley! :-) Any ideas welcomed!

10-25-2007, 10:09 PM
What is the PWM range that you are sending to the motor controllers that you have hooked up to the Phidget Servo controllers? Also, could you explain how you have everything hooked up?

10-25-2007, 10:17 PM
I've tried in steps of 50 from 1500 to both 900 and 2100 (microseconds). At about 1700us there is ample torque to move the rig if I have the ammeter connected, but without the ammeter, just a groaning noise.

The connection is fairly simple: PC is connected to servo controller via USB cable. Banebot controller is connected to port 0 on servo controller. Other end of controller is connected to a 20A, 13V power supply via appropriate red/black wires, and the two yellow (motor) wires are connected to the terminals of the motor. Motor also has supplied capacitors connected across terminals and from each terminal to case as recommended, though I started out without these and connecting them made little difference. Ammeter, when connected, is inserted between one motor controller wire and motor terminal. Hopefully my description is good enough, otherwise I can try and figure out how to upload a circuit diagram...

I did try connecting a large (9mH) induction coil in place of the ammeter, and that gives me enough torque to move the rig at 2100us, but at 1700us I get a high pitched whine and an extremely hot controller (whereas with the ammeter I get a smooth acceleration) so I'm guessing this isn't a very good long-term solution... cargo-cult engineering usually isn't!

10-25-2007, 11:49 PM
Hmm, something very odd is going on. The multimeter in fact had nothing to do with it. If I simply put the multimeter *probes* in series with the motor, I get all the torque I expect. Short the probes and it won't move. Remove the short and it takes off... I've tried long lengths of wire as well, which improve the situation a little (I get a 1/2 turn or so before the motor stalls) but nothing is as effective as the probes. Something very fishy is going on here, and I'm hoping now the problem is extremely obvious to someone with some experience. Unfortunately, I have almost none, so any help is extremely welcomed!!

10-28-2007, 06:19 PM
Sorry, I don't have a lot of experience with motors, but I do have some and I'm willing to help out with what experience I have:)

I think that the motor controllers only respond to the range of 1000us to 2000us, 1500us being neutral position. Hopefully Dave can shed some light on this though.

In C#, this is the function that I made for this purpose:

private double ConvertPWMtoPhidge(double PWM)
double newPhidgetPOS = Math.Round((Convert.ToDouble(((PWM * 1000) - 244) / 10.6)), 1);

return newPhidgetPOS;
}On my form, I have a slider that ranges between 100 and 200. Then, I convert this value to range between 1.00 and 2.00. Finally, I pass the converted value of my slider into this function and then take the value that the function returns and put it into my .Position value of the port which my BaneBot controller is connected to. I hope that made sense. If not, just let me know and I'll clear up anything I can.

Additionally, the Banebot motor controllers need the neutral position pulse (around 1.5, give or take a few hundredths in the function above) sent to it before any other commands can be sent. Otherwise, the controller will not respond. This info can be found under "Basic Functional Descpription -> Power Up" in any of the BaneBot manuals located on the product pages.

Power Up:
The controller will activate after power is applied when neutral
throttle position signals are received. This is a built-in safety
feature. The READY LED will blink rapidly until these signals
are received. When the controller has received these neutral
position signals, the READY LED will stay on continuously.
The DIR LEDs will activate individually depending on the motor
direction.Sorry it took so long to get back to you. We were at a conference in CA the last few days.

10-28-2007, 06:30 PM
Unfortunately I knew most of that :sad:... though I didn't know that the controller only responded to 1000 to 2000. That is probably in line with my observations though. I did know it had to receive a neutral signal before anything would happen - this at least is in the documentation. This doesn't change the result though - build the circuit out of multimeter probes and it works perfectly, disconnect the probes and replace with any other wire and suddenly it stops. It could be that my hookup wire has something wrong with it, but generally if that were the case adding the probes in series would surely not solve the problem, yet it does :confused: Any other thoughts?

10-28-2007, 07:48 PM
sorry nope:( I'll have Dave check this thread and help out a bit. It may not be till tomorrow though.

10-28-2007, 07:52 PM
Thanks. I'm sure it's something simple that I'm just completely overlooking :happy:

10-29-2007, 12:44 PM
Does the motor run when you connect it directly to the DC power supply? You said the controller is heating up. Is that the servo controller or the motor controller? Also, did you check the servo output signal or the motor controller output on the o'scope?

10-29-2007, 02:43 PM
Does the motor run when you connect it directly to the DC power supply?
Yes, perfectly.

You said the controller is heating up. Is that the servo controller or the motor controller?
Sorry, the motor controller.

Also, did you check the servo output signal or the motor controller output on the o'scope?

It looks fairly similar in each case, only there seems to be more inductance characteristic when it's working (I guess this could be from the running motor...)

11-05-2007, 02:25 PM
Which motor controller are you using? It might be that your motors are drawing more current than the controller can handle. Adding inductance would alleviate this somewhat, but it won't solve the problem.

11-05-2007, 02:36 PM
The one on this page: http://www.trossenrobotics.com/store/p/4265-BaneBots-Motor-Controller-9A-peak-.aspx

I still can't even guess what it is in my magic probes that alleviates the problem. It could be inductance - I've tried a very small (1uH range) and a very large (10mH range) inductor and while the large one does seem to help the situation, so does adding several metres of uncoiled wire (to about the same degree). I'm totally baffled :sad:

11-05-2007, 04:35 PM
Ok, that's the problem. The motor you're using peaks at 17A, and since a DC motor is basically a short circuit when it first starts up, that 17A current spike is what's messing up your system. The motor has a no-load current draw of about 1A, but it will probably draw closer to 3 or 4 during normal, loaded operation.

I would recommend moving up to the The BaneBots 18A controller, or the 45A if you want to be really safe.

11-05-2007, 04:48 PM
That all seems perfectly reasonable, thanks very much. I knew it would be something obvious in the end! It still puzzles me that using a long length of wire can seemingly solve the problem, but you're definitely right about the controller not being able to take enough current. Thanks!!