Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
Asked — Edited
Resolved Resolved by Dunning-Kruger!

Question About My Wheelchair Motors Sabertooth

I haven't had much time or space to work with the wheelchair motors and the thing I noticed is that when the wheelchair was assembled, if I told it to go forward it would. I have no encoders, just two wires from the motors to the sabertooth for power. But, not now that I am driving the wheelchair motors straight from the sabertooth, when I tell it to go forward, it doesn't go strait. It veers to the right or left.

I am concerned about that. Are there any Algorithms that are going to take care of this? The EZB that was controlling it has burnt up (Not related) so I can't test it now until I get version 4 in.

I will start having an EZB 3 and an EZB 4, and eventually have three EZB 4 units, hopefully.

That's the goal.


Adjust the SendSerial commands to slow or speed up the left or right motor...


SendSerial(D0,127) #full forward motor 1 *depends on how you wired the motor*
SendSerial(D0,255) #full forward motor 2 *depends on how you wired the motor*

#try this instead

SendSerial(D0,122) # reduce speed of motor 1 by 5
SendSerial(D0,255) # is full forward motor 2

# or this

SendSerial(D0,127) # is full forward motor 1
SendSerial(D0,250) # reduce speed of motor 2 by 5

#try different values until the motors match each other (moving in a straight line)

Ok, if I try this and it doesn't work, then what?
I have the Movement Panel that works, but I have that problem.

P.S. I can't try it until the V4 comes in.
maybe I asked too early. I am just trying to get ready.
It will work... with my code you are basically (via using trial and error) adjusting the speed numbers to get the motors to output the same.... You can do this in the Movement Panel as well (adjust the numbers up or down) ...When you buy motors you invariably get one that out performs the other... They are rarely if ever evenly matched out of the box.... This is one of the main advantages of encoders... You can determine which motor is out performing the other and use the data to get them to output the same....

Since you don't have encoders, just adjust the numbers until both motors output the same.... very easy....
On a much smaller scale, this is what I needed to do with my modified servos on my little test bot. Just having one going forward and one backwards (since their orientation is flipped) caused some small difference in performance. It was easily adjusted in the movement panel.

Thank You for the information. I will try this when the V4s come in.