Hey everyone. I'm interested in making a shield that could be used to control servo motors with encoder feedback. I would like to make a set of shields for controlling high power (10-30 amp) dc servo motors. Each shield would include a micro controller that would use a PID feedback control loop. Optical encoders would also be read by this micro controller. All the details on these shields are pretty loose right now, but I'm hoping that multiple shields could be connected to a single arduino. So you could run a 3 axis machine from a single arduino. The shields would handle the motion control, and the arduino could process trajectories and what not.
I have two main questions, first, what is the fastest data rate possible for the Diecimila? The data sheet from atmega168 says it is capable of 2 mbps running at 16 mhz. Has anyone ever archived data rates on this order? For example, EMC is a CNC control system that runs off a Linux real time kernel. I would like to send servo position data to up to 6 servos (32 bit register for each servo) but at least 3 servos. This information would be sent over the serial line along with a time stamp to provide position updates every 1 ms. So I need at the very least 115200 bps for three servos. This doesn't leave any time for other operations. I would prefer 1 mbps to 2 mbps. Has anyone done something like this?
Second, I would like to run these other micro controllers off the system clock of the Arduino. Is it possible to the the clock output without changing the clock fuse?