Asked — Edited

Sabertooth 2X60 In Simplified Serial Mode

I am using a Sabertooth 2x60 motor controller in Simplified Serial Mode and the Sabertooth programming module from the ARC program to control two tank tracks. Note that there are times when clicking one button for forward, reverse, left or right turning, that only one of the two motors turn. Note that both should turn and I do have both programmed to turn at the same time with the Sabertooth module in ARC. Most of the time, the pushing of the buttons does indeed operate both motors properly, but still there is that occasional push of a button that only one motor turns.

Any ideas as to why this sometimes happens? Are there any suggested work-a-rounds?


ARC Pro

Upgrade to ARC Pro

Stay on the cutting edge of robotics with ARC Pro, guaranteeing that your robot is always ahead of the game.

#1  

Double check that your wire connections from the Sabertooth to the motor that sometimes does not respond are tight. Check that the connection from the EZB to the Sabertooth is tight. Also check that your battery is fully charged.

Good luck and maybe someone else has a better idea.

#2  

I'm sure everything is tight and the battery is not the problem.

United Kingdom
#3  

What's the spec on the PC? How good is the wifi connectivity?

Movement commands for the Sabertooth use two serial commands in quick succession to move both motors, it could be that one of the serial commands is getting lost in comms somewhere.

You could try a variety of scripts which send the same commands and see if there are issues with those also, this will eliminate the Sabertooth control from the problems (however I am sure it isn't the problem since it's worked fine for many others).

I'll post some quick scripts (unless someone else beats me to it) shortly for the movements.

#4  

Are you sure you have the dip switches set correctly on the sabertooth?

#5  

how long are your wires and what do they pass next to? May want to look at shielding them. Serial connections can be susceptible to electromagnetic interference.

Probably wouldn't work at all if this were not the case, but also confirm that you have a common ground between the EZ-B and the Sabertooth.

Alan

#6  

In an initialize script set both motors to stop. This will get the communications working between both motors. I had same situation with my tracks, telling to go forward from initial boot up only one track would move. Pressing stop and then pressing forward a second time allowed both motors to drive. Or maybe give a very very slow speed command to both motors in initialize script, sleep 100, then send stop command again. Unfortunately at work or I would post my script for getting around this. Btw it does the same thing on the robo claw type controllers.

#7  

To: Rich: You bring up a lot of good points about the PC and the serial connection speed. The computer that is running ARC on is very old and slow. It is a 32 bit, Pentium 4, 2.53GHz, with 3GB of memory being used with Windows 7.

To: Richard R: I am sure the switches are set correctly. I reviewed the Sabertooth manual extensively in that area.

To: thetechguru: I believe I do have the ground common between all of the devices, but I will double check that. I don't think it is a situation with a long wire with EMI noise. Excellent ideas on everything to check though.

To: kamaroman68: By the way, I did notice that It did seem to occur more from the initial boot. Also, like you noted, by pressing stop and start a second time, the motors worked properly together. I like the idea of maybe doing something with the script to get around this problem. Where did you actually place the script? In essence, did you do it right on connect or was it run separately? Was the script placed on the servo module? Also, if you could post the script later that would help. Thanks.

#8  

@Jimwest... Forgot about that... in an initialization script send a stop command to both motors they will usually respond perfectly after that...


sendSerial(D0,38400,0) #stop command for both channels