Re: digital servo controller to offload the Parallel Port?



>> >
>> >>  BRAIN BOARD.. is the electronic hardware used to
>> >>  coordinate the actions of THE MOTOR CONTROL BOARD
>> >> (that is 6 motor contro boards and each board will
>> >>  controls three dc motors). This board will contain
>> >> the DSP and the required peripherals and will serve
>> >> as the central power distribution core.
>> >
>> >18 motors?  Something tells me you aren't running a
>> >machine tool <grin>.  Maybe a 6 legged robot, with
>> >3 DOF per leg?
>>
>>
>> NO A PUMA ROBOT..AND A SMALL xyz table..
>>
>>
>>  I have a project like that in mind
>> >too, but I'm planning to use a PC for high level
>> >control, and PICs or other small micros for the low
>> >level motor control, either one per motor or one per
>> >leg.
>>
>>
>>
>> The TMS320LF2407 (or TMS320LF2406)DSP from Texas Instruments has been
>> chosen to perform the motor control and low-level processing duties.  This
>> DSP features high-speed processing, a built-in communication protocol, two
>> ADC converters, and quadrature capture pins for positional feedback from
>> the motors.
>>
>> and only one is needed for three motors... also free samples from Texas
>> Instruments.
>>
>> you would need two pics per motor to do it properly..?????????
>> >
>> >John Kasunich

>>
>    This all sounds good BUT ! What are you goining to use for a PID Filter?
>  Be carefull. build something that you don't have to reprogram every tim
>you
>  need to change motors or feedback settings..Man I know, Frank M.
>


 Low-level control is accomplished with interaction of the motor DSP with
its own three motors. ie.
1. Intelligent motor control (PID)
2. Positional feedback (Optical Encoders)
3. Current sense feedback

each motor-DSP should "know" how to move to a desired location, given an
input location.  It should not be responsible for any kind of intelligent
choice of a position.  It should be an autonomous module, which acts only
when commanded to by the high-level control context.  

Every motion arm has a motion-space defined by a cylindrical component
system, which is a function of an angle about the body q, a radius from the
body r, and a length or height z.  Each positional command sent from the
high-level controller to a leg represents an absolute coordinate within the
leg's vector space.  

The low-level control is implemented with a combination of velocity and
positional PID control.  The DSP is configured to sample the current
position and velocity of each of the three motors using a software-level
interrupt, and update the driving signal to each motor accordingly. 

The positional inputs r and z, are functions of the kinematics of the two
lead screws, while q is solely based on the hip rotation angle q3.

r = f(l1, l2)
z = f(l1, l2)
q = f(q3)
These equations are implemented as a low-level DSP function, and are
executed each time a slave, or leg DSP receives a new positional coordinate
from the brain.  The PID controller deals with the converted values of l1,
l2, and q3, rather than r, z and q because the feedback parameters from the
optical encoders are more easily calculated in this format.

The brain initially calculates six position vectors, one per leg, that will
result in a smooth, controlled robotic movement.  Six commands are sent
serially over the CAN bus to initialize each leg's desired position and
velocity.  Once a leg receives a new coordinate, it will attempt to change
its trajectory to reach the desired position.

Once all coordinates have been set, the trajectory initialization stage
ends, and the polling stage begins.  The high-level controller polls each
leg to receive its current position and velocity information.  

so even if a motor is changed the feedback position will be dependent on
the encoder feedback and software control.


Alex Kovacic
FISH Lab
CYTOGENETICS UNIT,
SEALS,Level 4, Campus Centre,
Prince Of Wales Hospital,
RANDWICK, NSW, 2031,
AUSTRALIA,
Tel: (61) (02) 9382 9168
Fax: (61) (02) 9382 9157
email1:A.Kovacic-at-unsw.edu.au
email2:kovacica-at-sesahs.nsw.gov.au
**********************************************************************
South Eastern Sydney Area Health Service

This email, and the files transmitted with it, are confidential and intended solely for the use of the individual or entity to whom they are addressed.

If you are not the intended recipient, you are not permitted to distribute or use this email or any of its attachments in any way.

We also request that you advise the sender of the incorrect addressing.

This note also confirms that this email message has been virus-scanned and although no computer viruses were detected, South Eastern Sydney Area Health Service accepts no liability for any consequential damage resulting from email containing any computer viruses.

**********************************************************************


Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact