Joystick control/ESC's/SSC32?

thinking about building myself a little tracked rover of some sort…probbably to have a camera mounted to it.

would it be possible to hook up an SSC32 servo controller to a pair of RC ESC’s, and then drive it via joystick on the computer?

i mean in theory if the SSC gives out standard servo inputs which is what the ESC wants?

hmmm… :confused:

I’m using an R/c Car ESC on the SSC-32 and operating it like a servo.
<1450ms is reverse and >1550ms is forward. 1450 to 1550 is off.

An Airplane or Car ESC operates just like a servo and uses the same PWM signal.

The trick is getting differential steering for the tracks from the 2 ESC’s. You would have to program it so that forward joystick movement turned both ESC’s on in Forward proportionally to the joystick (pot) movement and when you press left or right, one Esc runs forward, the other back (Or just one moves) so that you have proportional control of steering while moving forward or backwards.

The other guys will have to help you with the programming. I have looked for an R/C tank ESC that is already designed for proportional steering that you just plug your steering channel and drive channel plugs into, but am yet to find one.

odd, ive got a little test subject here (a £20 rc car) that ive gutted, fitted standard components to etc… with the intent of getting it to work with the cam and wirelessly and such THEN putting it into a tracked version if it works well.

im using an aero 50 amp ESC but that wont have any of the program commands, the motor will turn through about 90 degrees and thats it :confused:

icky ESC perhaps? or being an aero one it could just be its not getting enough voltage to keep the failsafe happy.

as for getting the tracks to split thats no problem, just use a V tail mixer from an rc plane. its just gettting the joysick to actually link up to the throttle (channel 30) and steering (channel 31) and i have little to no knowledge on actual computer programming…

thanks for that - i may have to grab a car ESC off ebay for the project…or could the plane one be modified to bypass the failsafe and saftey button?

I don’t think you will be able to use a Joystick or PS2 controller with the SSC-32 without a bit of programing. I would like to find a way to do the same thing. I think there is a way to use a USB joystick on your computer to control the SSC-32 but then you still have to tether the car with the DB9 (serial) cable. Unless you use wireless serial. Someone else will have to help you out there.

I wouldn’t bother trying to use an airplane ESC on a vehicle. Vehicles have a huge amp surge when you first start them up. Airplane esc’s aren’t designed to cope with this surge and they will often shut down from over current immediately. Car esc’s have a surge rating of more than double the continuous rating to handle this startup jolt. They don’t even notice it.

hey guys ,
i,m kinda working on the same lines ,first does ur esc have reverse? not gonna do much without reverse. if not the new sabertooth can run off rc and has all the settings u need but only has 10amps a channel but thats over a hundred watts a channel!!
and it has regenerative braking.
And they make a patch cable that plugs in to your regular R/C trasmitter and computer, and i think it comes with software.
sorry i dont have the links (new computer) but i and others have posted them in here ,well good luck ,i,m kinda stalled till i get a new base for my bot

um… RC car speed controllers are usually not a good choice for robotics. They usually have a delay before they will go into reverse, and for some weird reason they limit the number of steps (resolution) for reverse too. They are also designed around racing cars, which results in a poor response curve when used with slower motors. Back in the day, it was used out of convenience. But now there are products like the Dimension Engineering Sabertooth dual motor controller. It was designed specifically for robotics use, and it costs less than a couple RC speed controllers. :stuck_out_tongue:

Jim’s got a good point. I have seen many good dual H-bridge controllers that are capable of differential control for under $90.

And you can use buy Interface adapter to plug the DSC output on your transmitter to your USB or Gameport on your computer and use it like a joystick. Tom’s RC ( tti-us.com/sim/products.html ) is a popular example of adapters. He sells alot of his stuff on his ebay store. There are lots of others out there as well. These are usually included with flight simulators but can easily be found separately.
However, you will need a botboard or similar to use your Tx like a gamepad through the computer. If you want it plugged into the robot it’s self, I’d recommend using a PS2 controller. If you search it, you will find loads of information about it here.

:bulb:

Question to evolution:

Hello,

You mentioned you are using SSC-32 with RC Car ESCs. As you know, SSC-32 has “timed” speed control. Does this function work with RC Car ESCs? If not, is any speed copntrol possible?

And would you provide some general idea how ESC interpretes SSC-32’s commands such as: -90 degree rotation command will cause the brushless motor to make certain number of rotations.

Thank you in advance.

The SSC-32 simply sends a PWM signal to the ESC which in turn controls the motor. If you are using a brushed or brushless motor and ESC, you can’t control the number of turns without additional hardware and programming. Unless you use a sensored brushless motor and an additional controller to interpret a pot output, like a servo. So it will basically act as a R/C receiver to the ESC.

Would you provide some simple examples what you can do for robotics application? (And what you can’t do…) I have no idea what SSC-32 can do with motor connected to ESCs.

Thanks a million.

As Jim said - the RC car speed controllers are usually not a great choice for robotics (althought the gap is shrinking - i.e. mamba series of ESC start smooth and allow throttle and brake curve adjustments - commonly used for RC crawling applications). These functions in a ESC can be costly and in the case of the mambas you will require 2 for tank steering.

Here is an example for you

I have used the HB25 created by Parallax and sold by lynxmotion for several projects including a tank bot and have nothing but good to say about it. This platform I built last winter putfile.com/pic.php?img=5063606 currently uses 2 HB25s I bought at lynxmotion several years ago and I have very happy with the ease of programming.

lynxmotion.com/Product.aspx? … egoryID=10

using a Newmicros controller the programing for forward and reverse control with the HB25 is this simple

DECIMAL

: RGT-HB25 5000 100 */ ( scale 0-100 to 0-5000 )
5000 + (add base value of 5000 )
PWMA0 PWM-OUT (output duty cycle, 7.6-15% of 65535 )
;
: LFT-HB25 5000 100 */ ( scale 0-100 to 0-5000 )
5000 + (add base value of 5000 )
PWMA1 PWM-OUT (output duty cycle, 7.6-15% of 65535 )
;

32767 PWMA0 PWM-PERIOD (set period to 13.1 msec, near 76 Hz )

0 RGT-HB25 (output 0% of range, 1.0 msec pulse width - full reverse)
50 RGT-HB25 (output 50% of range, 1.5 msec pulse width )
100 RGT-HB25 (output 100% of range, 2.0 msec pulse width - full forward)

using the SSC as the swap out for the PWM signals sent by the newmicros controller in the example above would do the same thing using appropriate syntax to send control signals from your chosen control system.

For example - if using VB as the control application on the PC (VB6) you can

  • Connect serial cable from VB ready computer to SSC32
  • Set the baud rate of this com port to whatever baud rate you would like to use and that the SSC32 supports - 2400, 9600, 38400, 115,000 in this case) for this example I will use 9600.
  • plug a servo into channel 10
  • From the instructions for the SSC32 there are a list of commands that are accepted as ASCII strings of decimal numbers that make things happen. Learn these.

Within VB6.0

  • Set up a Form along with a serial control object (MsComm)
    to open the port

MSComm1.Settings = “9600,N,8,1”
MSComm1.CommPort = 1
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
Else
MSComm1.PortOpen = False
End If

// create a variable

Dim Test_Value as Integer

//assign a value to the variable

Test_value = 1500

//output the variable

MSComm1.Output = “#10 P” & Test_Value & “S750” + Chr$(13)

This example send control signals to the SSC32 that corresponds to the center position of the PWM range output for the HB25 which places the HB25 output at zero volts. Change the value of Test_value up or down for forward or reverse HB25 voltage bias (+ or - volts output from the HB25 to the motor)

hope this helps

Chris