Show Posts
Pages: [1]
1  Forum 2005-2010 (read only) / Bugs & Suggestions / PWM Output with timer 1 on: April 07, 2008, 02:01:20 am
Is there any good reason why the PWM outputs on the timer 1 channel are limited to 8 bits? They are capable of 16 bits. I'm considering making a PID servo control library for the arduino capable of controlling a servo motor with quadature encoder feedback. It would be great know what current limitation there are on the use of timmer 1. If it is being used for other operations I would hate to be limmited to using an 8 bit output for a servo drive. Any information in why the analog output is limited to 8 bits would be wonderful.
2  Forum 2005-2010 (read only) / Interfacing / PID motor controll shield on: April 22, 2008, 01:46:26 pm
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?
Pages: [1]