16x RC Servo Phidget / RCC1000_0 / Max update rate

Comments & issues
Post Reply
matthewwachter
Fresh meat
Posts: 2
Joined: Sat Mar 16, 2019 3:26 pm
Contact:

16x RC Servo Phidget / RCC1000_0 / Max update rate

Post by matthewwachter »

I'm curious if anyone knows the max update rate I can send to this unit. I've found that any one channel can be updated around 20ms but if I connect a second channel and try to drive that at the same rate the servos both update at half the speed.

So is it safe to assume that the max update rate is for the unit as a whole rather than each individual channel? In theory, would this mean that if I were to drive all 16 servos at once the max position updates per channel would be one every 320ms (20ms x 16)?

I'm curious if this is documented anywhere. I've had a bit of trouble finding this information.
User avatar
mparadis
Site Admin
Posts: 660
Joined: Fri Oct 28, 2011 12:17 pm
Contact:

Re: 16x RC Servo Phidget / RCC1000_0 / Max update rate

Post by mparadis »

The rate at which you can send updates from your computer to your Phidget depends heavily on the speed of the computer, which is why there is no specification for it.
matthewwachter
Fresh meat
Posts: 2
Joined: Sat Mar 16, 2019 3:26 pm
Contact:

Re: 16x RC Servo Phidget / RCC1000_0 / Max update rate

Post by matthewwachter »

Makes sense. In my case I'm using a desktop with an i7-7800x CPU @3.5Ghz so I doubt that's my bottleneck.

In any case, there should be a theoretical limit that the Phidget can achieve.
User avatar
Patrick
Lead Developer
Posts: 634
Joined: Mon Jun 20, 2005 8:46 am
Location: Canada
Contact:

Re: 16x RC Servo Phidget / RCC1000_0 / Max update rate

Post by Patrick »

The rate at which commands can be send depends on the type of Phidgets.

For USB Phidgets, this depends somewhat on your machine, and can be up to 3-4 thousand commands/second.

For VINT Phidgets, this will depend on whether the device is isolated or not, and it's polling interval, and the size of the packets, and how much data the device is sending back. Isolated VINT Phidgets run at 10kbit with a maximum polling interval of 8ms. Non isolated devices run at 100kbit and poll at a max rate of 1ms.

For RCC1000, this is an isolated device. A command packet is 8 bytes, so this takes 8ms to transmit. The device will also be transmitting event data back to the library, and the VINT link is 1 wire so transmit and receive can't happen at the same time. There is also some handshaking overhead, etc.

So, you you can expect be able to send a command every 16 or 24 ms.

If you are sending a lot of servo commands, you should use the async version of setPosition to speed things up - this lets you queue up and send commands as quickly as possible without waiting for the response each time.

-Patrick
clwilson12
Fresh meat
Posts: 2
Joined: Wed Aug 22, 2018 7:05 pm
Contact:

Re: 16x RC Servo Phidget / RCC1000_0 / Max update rate

Post by clwilson12 »

Hey Patrick-

To clarify here, would a device like the PhidgetAdvancedServo 8-Motor (https://www.phidgets.com/?tier=3&catid= ... rodid=1147) which is controlled via USB solve this input command lag issue? If not, what kind of input lag could we expect from this device relative to the VINT-controlled 16x RC Servo Phidget?
User avatar
Patrick
Lead Developer
Posts: 634
Joined: Mon Jun 20, 2005 8:46 am
Location: Canada
Contact:

Re: 16x RC Servo Phidget / RCC1000_0 / Max update rate

Post by Patrick »

RCC0004 has much more bandwidth because it's a dedicated USB device. You should be able to send 1000+ commands/second to it. Sending this many commands isn't exactly useful - but the lower latency between commands IS useful is you're trying to synchronize the movement of many servos.

-Patrick
Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests