Parallax Servo Controller - USB and Linux

has anyone successfully used the “Parallax Servo Controller - USB” with linux?

Thanks

I don’t know of anyone here who has, but there may be somebody. Have you tried the Parallax forums?

8-Dale

I haven’t used it myself, but from the spec. sheet robotstore.com/download/387962_PSCusbManBv3_3.pdf it seems like a normal USB to serial FDTI chip (uses HID, has linux drivers from the vendor) and can be programmed rather easily without knowledge of the USB stack. Might give a /dev/usb/ttyUSB0 making things really easy. Its the same chip as the USB Basic Stamp board, which means it works under linux because I know people on the Parallax forum have gotten the stamp to work under USB on linux.

depending on the build, many of the FTDI chips already have drivers available or built in or however you want to say it. if you look at the driver download page at ftdichip.com it has the details and the files if you are using an older build.

thanks for all the replies. I do like the lynxmotion products, but I’m leaning more toward USB connected hardware since serial ports are slowly being phased out of computers.

I believe some LM products are starting to move towards USB now. You might want to check out the latest announcements in the Servo Erector Set forum. :slight_smile: The Atom Bot Board is going to be revised soon, but I don’t know if it will have a USB rather than serial port interface. You might want to check the feature requests.

8-Dale

Most “USB” devices nowadays are using a USB to serial conversion chip. The same one as is used in the USB to serial cables. There is just no difference at all in how it works.

The SSC-32 is a much more powerful servo controller than the Parallax one. The Group Move allows you to update the position of any number of servos, and have them start and stop at the same time, even if the distance they are moving is different. This makes controlling robot arms and legs a breeze. Doing all the babysitting of the servo positions on the microcontroller (or PC) side would be very difficult, take much of the micros resources, as well as the serial data bandwidth, leaving little for the fun part, the behaviour of the robot.

We are going to integrate the USP to serial chips into our products, but it will take a while. Although it’s hardly a valid reason to use a featureless servo controller for your project.

I have been using a Parallax 16 servo USB controller under Linux. It’s sold as an INEX but comes with the Parallax CD and is obviously a Parallax controller.

It emulates a very common USB to serial converter - the Prolific chipset. On the Chumby Linux device I’m using, it automatically shows up as /dev/ttyUSB0

I wrote a simple C++ program to communicate with it. However, I’m getting mixed results. The servos I have work fine when I plug the cable into my PC and run the Parallax software, so my first assumption was that the small Chumby ARM device I was using wasn’t getting enough current to the serial controller. I opened it up and sure enough, the VCC+ pad was going to the board on the supplied RJ14 cable.

To get around that, I modified it to supply a more generous current, and I get the same results. Sometimes the servos respond, usually if there’s only one connected it responds, and sometimes they all respond as expected if I press the reset button on the board several times.

I’m not sure why you are asking on the lynxmotion forum for help with a parallax controller running under linux with your custom code… but whatever I guess.

the prolific usb-to-serial converter has a fairly high latency, that is the time it takes between sending a byte and it actually showing up on the other end. I don’t know what it’s defaults are and they have never provided a way to adjust them but they are quite possibly the USB default values. one thing you can do to help yourself is to adjust the serial port FIFO depth down to 1 or 2 bytes for both TX and RX, although RX you might want to make 2 or 3 if you find you loose characters sent to you.

so while I doubt the prolific chipset itself is the entire problem the reason I point it out is because it can have an impact on your code, more specifically any timing or timeouts you choose to put in the code. An example, normally with a hard wired serial port if you send a 10-byte sequence out the port it takes just under 1ms to arrive at the device using 115.2K baud. using the prolific adapter I would be surprised if it was much less than 20ms. depending on the packet size it uses to transfer data you might find a longer sequence arrives in bursts of characters every 16ms or so. if you are sending a string and then polling for position updates you need to consider that each poll request takes 16-20ms to get to the device and another 16-20ms to come back. (the 16ms is a USB default thing for low speed devices like serial port adapters, keyboards, and cheap printers).

so the question becomes what are you doing in code and does it have any timing issues that could be complicated by the delays or packetization of commands? obviously the parallax demo software has it working so if you have access to their source code it may be worthwhile looking to see what they are doing.

FTDI rules!

lynxmotion.com/Product.aspx?productID=699

The reason is there is an option to adjust (minimize) the latency in the driver. It makes the USB serial port act quickly, like a true serial port.

Edit: I added an explanation as to why FTDI rules.

right, well, the obvious choice of course is the FTDI cable with an SSC-32 but such as he has already purchased something it’s perhaps a bit too late. Ready, fire, aim! :wink:

Um, the fact that he already purchased it doesn’t really detract from the fact that it may not work for his purpose. But as you pointed out I don’t really have a dog in this fight. lol

I understand where you are coming from but I would use a serial to usb adabter and buy the SSC-32 before blowing $40.00 on a limited parallax servo controller. If you already bought the Parallax one, I guess you’re stuck with it. Don’t get me wrong, Parallax is a good company and has tons of information for the beginner, but you will find that Parallax is more about electronics and less about true walking robots beyond penguin walkers or the warped looking crust crawlers. These are my own opionions.

Lynxmotion gives you the freedom do “DESIGN” your own machine as well as build tried and true bots for learning. You get more robot for your buck with Lynxmotion.

So what woud you want? Parallax’s Servo Controller:

or

The POWER of the Lynxmotion’s SSC-32? :

Hi Mike,

I’m not sure if you already know this, but parallax sells a better servo controller now. Still not nearly as good as the SSC-32. The control software is open source though, as well as the firmware.
parallax.corn/StoreSearchRes … vo+control

That would be an option for USB, Instead of using an FTDI cable.

Also Mike you might notice that chumbot necro’d a 2-1/2yo thread to make his post :open_mouth:
Oh, and uh you are quoting from the 2-1/2yo part of the thread. :laughing:

heh heh heh.
:mrgreen:

They even appear to have dumped the icky prolific usb-to-serial translator in favor of… you guessed it… an FT232RL! Heh.

Ope!, I fell prey to the old post syndrome. I saw you and Jims reply from 10-6-09 and then looked at the original post failing to see the date. Ah ha ha ha! :laughing:

The Parallax Propeller Servo Controller USB has a Parallax Propeller Chip as it’s heart.

This is a 80Mhz chip with 8 processors (cogs).

It wouldn’t matter, if it weren’t for the fact that the chip can be reprogrammed and the 16 channels can be used both as in and out.

Sure, it doesn’t control 32 Servos at once (without buying 2), but the brain itself is more powerful than the Basic Stamps I’ve seen used here.

This itself could be used as the brain, servo controller, and sensor reader of a 4 leg 3DOF robot. With 8 processors interrupts become a thing of the past.

So it’s more expensive yes, but I wouldn’t say it’s less powerful. Unless there are features of the SSC32 I am unaware of.