PDA

View Full Version : Discussion USB Servo controller


libelulamodelos
Jan 18, 2007, 05:57 PM
Hi , some body has a diy usb servo controller ??

thanks!!

juliovmd
Jan 19, 2007, 04:48 AM
Yes, we are working in a project to handle up to 30 servos (USB and USART in same board MCU to your flexible project) ... View image... :)

See details...
Distributor (http://www.circuit-ed.com/)
Software (http://www.jvmbots.com/viewtopic.php?t=156)

http://www.jvmbots.com/pafiledb/images/screenshots/1165938068screencapture.jpg

Regards

Stephen Weller
Jan 26, 2007, 05:14 PM
Easily done with this: http://www.parallax.com/detail.asp?product_id=28803

But be forewarned, these things are addictive. I go through BS1's like candy!

:p

Hell-e-Guy
Jan 28, 2007, 02:42 AM
Hi,
The simplest way is to use an FTDI USB to UART or USB to parallel IC. Your PC will see a virtual COM port and send the data through the USB port. Just connect a uP an the other end, decode and generate the necessary pulses.

Hell-e

xorcise
Jan 29, 2007, 03:55 PM
Hi,
The simplest way is to use an FTDI USB to UART or USB to parallel IC. Your PC will see a virtual COM port and send the data through the USB port. Just connect a uP an the other end, decode and generate the necessary pulses.
Hell-e

If you're going to use the uP then use only the 18F2550/18F4550 with its built-in USB module. It saves you an extra chip and runs much faster than UART. The PIC also does all the PWM for you too. Here is a free 8 Channel USB Servo Controller....compile with mikroBASIC and add the PIC....no special Windows drivers required:
8 Channel USB Servo Controller (http://www.manhattancontrols.com/forums/circuit-ed/viewtopic.php?t=52)

Julio above has created a 30 channel USB/UART timeline servo controller which manages speed and position and works quite well using a single 40-pin PIC.

Malc C
Jan 30, 2007, 03:00 AM
Nice, but as it was developed on a PicEASY board, could you provide a simple schematic who would like to try it out using a breadboard etc.

I assume using an 18F2550, that port B are all servo outputs, MCLR to +v via 10K resistor, Xtal and 22pF caps and the normal resistor / capacitor for the USB port is all that is required. What value Xtal is required (4Mhz or 12Mhz or ??)

xorcise
Jan 30, 2007, 05:55 AM
Hi Malc,

I believe I have a schematic somewhere but it's lost in my computer files at this moment. I'll dig it out.

To answer a few quick questions. The hex code and configurations are based on an 8 MHz crystal and use PORTB for the PWM outputs. MCLR to Vdd via a 7K15, Vusb decoupled to Vss with .33ufd, and each set of power pins decoupled with a .33ufd. On my board the 18F2550 is powered directly by USB and the USB data lines are connected directly....no pullups.

To give everyone an idea of how well the mikroBasic USB servo code works with Julio's 30 servo PC-side driver program above, he sent a YouTube video of his 21 servo robot:

http://www.youtube.com/watch?v=tZOzHz6EaFE

Malc C
Jan 30, 2007, 06:58 AM
WOW !

Really nice... looking forward to having a go at this project :)

Malc C
Jan 30, 2007, 09:19 AM
Done a bit of searching linking from one site to another (most were in spanish) and it looks like Julio is well into these robots.. Does the software / firmware he is working on use tha same protocol as the Scott Edwards Serial Servo Controller or with the USB controller only work with Julio's software ?

xorcise
Jan 30, 2007, 01:52 PM
The USB is already designed and working well with glitchless servo operation. I am presently working on a UART to run on the same board (USB/UART selectable) which can run up to 115K....also glitchless and up to 30 servos with a single 18F4550. Also, it is planned to use the wireless XBee modules with the UART. They only run about $19.00 USD each and can TX/RX up to 115K.

Julio is in Spain and runs a spanish site for robotics and he has done a really great job on the PC side programming, besides creating some neat robots. He is presently waiting on me to finish the UART PIC code to complete our overall project.

I'm really not familiar with Scott Edwards servo code or his protocol. We send 30 bytes of data for 30 servos at regular intervals....kind of like PPM but doing a lot more in a short period of time.