Servo controller, for lots of servo's.

FPGA projects on this site, or abroad

Servo controller, for lots of servo's.

Postby apullin » Tue May 08, 2007 6:06 pm

Hello. So let me start by saying that I was wonderfully happy to find this site! The examples are great. Some of the code is a little confusing with my rudimentary understanding of VHDL, but I'm working through it.

In particular, I was curious about using the servo-driving code to implement a servo controller on my FPGA board. I have the Xilinx Spartan 3E starter kit board.

I believe I have 48 usable I/O pins, so I'd like to see if it'd be possible to control a whopping 48 servos from this thing. I'll actually probably do less when I start using this as a robot controller, but I'd like to do a lot nonetheless.

Unfortunately I don't have all my hardware on hand, but I seem to remember that having 48 of the servo controller blocks would easily fit into the 500K gate fpga on my board.

The part that I am not sure about, being a neophyte in the ways of electrical engineering, is how to disburse the control of these motors. Ideally, I'd like to be able to control them from a PC, for now.
RS232 seems like it'd be too slow, I think ; 6 bits for a specific servo, then 12 bits for a position, sent in three bytes, for 48 servo's. At 11520 bps, That'd only allow me a position update very 12.5 ms, if I was moving all at once.

Maybe EPP? Someone should tell me how to do it with that.... :)

Ideally, in the future, I'll have a much migher level control going to the board, and positions will be calculated internally, so I probably will have to get the PicoBlaze running.

Thanks,
Andrew
apullin
 
Posts: 2
Joined: Fri Mar 23, 2007 8:03 am

Postby Kristallo » Wed May 09, 2007 1:06 am

12.5 ms is faster than the servos update anyway unless you have some expensive special servos.

If the serial link is a problem you can send just the information needed and triple the speed or you can use faster RS-232 hardware up to 2 MBit/s.

Printer port is fast and simple but requires a driver unless you run from DOS or some old type OS that allow direct hardware access.

If you need a CPU anyway I don't see the need for the FPGA at all, it is just going to make everything ten times as expensive and complicated. A nice 32 bit microcontroller can do it fine.
Kristallo
 
Posts: 203
Joined: Mon Sep 20, 2004 3:25 am


Return to General projects