Let's Make Robots!

Help with Sabertooth 2x25

Hey everyone. I am building a couple of projects using electric wheel chair motors. I am using the Dimension Engineering Sabertooth 2x25 motor controller. The proble I have is I am sending pulses of 1000, 1500, & 2000 us to the sabertooth and am getting random results (both forward, one forward the other reverse, both fast, both slow, one fast & one slow, etc) with no apparent consistency.


I am using the controller in RC mode and the signals are being sent from a BS2 microcontroller. I hooked up my O-scope and saw the correct pulses, so I don't think that is the problem. I also grounded both the BS2 and the sabertooth together on the signal side. Could this be a bad sabertooth (its brand new!) Am I sending the wrong signals? I am at a loss here cause this was supposed to be easy and I THOUGHT I knew what I was doing.


Can someone with experience with this controller help me?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
amazing1's picture

I have been having the same problem. I have been creating servo signals wth my arduino and sending it over to the sabertooth motor controller and it would be all jittery and the robot would go all over the place. but I think that I found out the reason why. the sabertooth motor driver is used to being contolled by a radio receiver that constantly outputs a PWM signal, so logicaly thinking If we create the same PWM signal we can control the motor controller. that is true. but we forget that the radio receiver never stops sending signals to the sabertooth and if the receiver fails to send a constant signal the sabertooth shuts down to prevent a run-away robot. so when we generate a PWM signal with a mirco contoller the micro contoller docent send out a constant signal all of the time unless you have dedicated timer circuit being controlled by the micro-contoller. the micro-contoller has to run through the rest of the code before it generates that signal again. so the motor controller will shut down every time that it docent receive a signal. and then you get a jittery robot because the robots motor controller keeps on shutting down the motors every time it docent receive a signal. so the best way to fix this is to put the sabertooth motor controller into Packetized serial mode. Packetized serial mode uses TTL level RS-232 serial data to set the speed and direction of the motor. it will tell you how to do this in the owners manual

here is the owners manual link http://www.robotmarketplace.com/products/images/Sabertooth2x25.pdf

Hope that this helps.

amazing1's picture

I found someone who already wrote some code to control a sabertooth motor controller. I just tried it out and it works great. Here is the link




I'm afraid I can't help you. I'm having the exact same problem, though I'm running in RS232 mode. Did you ever resolve your problem, and if so, how?