I’m wondering if there is a way to change the address of the SSC-32 servo channels? For instance, if I have four SSC-32 boards hooked up to one PC serial port, can I make one board listen to addresses 1-32, another listen to 33-64, etc.? I looked in the manual for this ability and didn’t find it, but I figured it was worth asking.
My application is running multiple animatronics using Brookshire’s VSA, and yes, I could run multiple serial outputs from the computer, but that’s inconvenient because of how far away the robots are from the PC, and I’d really rather be able to change the base address of the boards.
Thanks, Jeff, for getting back to me. Yeah, I was hoping not to have to do any add-on electronics. The multiplexing idea is not bad…but I wouldn’t be able to use bluetooth or USB to connect an Arduino to my PC. I would want to do the split near the robots, so that would put the Arduino down 50’ to 100’ of wire away from my computer. So I’d still use an RS232 line and step it down to a 5 volt voltage swing at the far end of the wire.
There’s one other option that I wonder about. I noticed in the descriptions for the firmware updates, specifically with update “1-03XEA.abl” it said in the description “MiniSSC-32 emulation addressing set to 32-63.” THAT would work great for me. So obviously we’re on to V2 now (I would guess) and I can’t use that firmware update, but the question is whether or not I can edit a firmware update to make that kind of change, or do firmware flashes only come one way, from the factory, and you can’t mess with them? I opened one of the .abl files and it certainly isn’t plain text, so can you tell me if there’s an editor available so that you can change/make your own firmware flash?
Determining the max cable length can be tricky since it depends on so many factors. In one of my projects, I had a 5V signal (pushbutton on/off, so very low frequency) go through about 30 feet of Cat5 networking cable and had some problems… The environment had other devices emitting various amounts of RF noise, so cross talk could be an issue too…
Besides assembling the whole project and trying, another approach I would recommend using an oscilloscope to analyze the received signal and see how much deformation/attenuation happens to your square signal. If there’s a lot, your square wave signal won’t be so square anymore and will have curved shapes…
With a telephone cable, I would suspect you would be able to do 10-20 feet without problems, but I’m not sure about anything longer…
You will have better performance with lower pulse-rate encoders than high-precision/industry versions, however I don’t know if the difference will be enough for your application…
For stepper motors, you can extend the cables between it and its stepper motor controller to much longer lengths, however you would need to ensure it is the right size/gauge for your motor. Typical motors consume 1-2 amps, so I would recommend using cables of about 18-20 AWG.
There currently isn’t a way to change the addresses of the SSC-32 boards. Instead of using multiple serial ports, you could also use a microcontroller such as an Arduino to do multiplexing: connect your computer to the Arduino with USB or Bluetooth, and connect it to your SSC-32s using the SoftwareSerial library.
You can then program your Arduino to take commands for 0-31 and send them to SSC-32 #1, commands for 32-63, subtract 32 to convert them to 0-31, and send them to #2, and so on. Or if you don’t want to convert the commands, you can give them each a prefix such as ‘*1’ for board 1, ‘*2’ for board 2, etc and just sent the rest of the command to the appropriate SSC-32.
As for 1-03XE.abl, it is no longer supported and we don’t have much information available about it. However, you might still be able to upload it onto an SSC-32 V2 since the bootloader is probably the same. If it doesn’t work, you can upload 2-03XE.abl factory firmware, or upgrade to a newer available firmware version. You can use the SSC-32 Servo Sequencer Utility to do the firmware to your SSC-32 board: