Tuesday, April 11, 2006
description
This 6axis nachi robot, will be converted into a Foam cutting robotic Chainsaw.
It has a fully working control. but unfortunately the controller is only Point2Point. there is no indpendant axis control nor Cartesian control(XYZ).
so I have to design a controller that will give us low level control.
I had to make a proof of concept that it could be done.
so I made a simple servo using a Atmel mega32.
the encoders on the machine are absolute 16bit grey code, encoders.
(inverted too at that).
I also can reuse the 3phase inverters from the original control.
luck would have it, the inverters have analog in that directly effect the current given to the motor(hence the velocity).
the new boards.
well since the servo control,I did was with atmel's mega32 using PWM at it's internal clock rate of 1MHz.
so the theory is now that 16MHz should allow for smoother control (upto 16x more).
that being said I am going to use one master CPU with 6 slave CPUs.
each slave running their own axis indpendantly.
and the master will send commands to each chip via SPI.
and a Computer via USB to the Master Chip.
for USB control I am using the FTDI usb to Parallel chip. with FIFO buffers.
I just got the USB chips working today. I needed to have a few cycles of waiting to read from the chips. the spec says 50nsec. One cycle being 63 ns long should allready be slow enough... anyways.
Now I have my boards working (I haven't tested them attached to the encoders attached yet. but I will cross that bridge when I get to it.)
tomorrow I will work on completing the code for the master control board.
and hopefully be able to test the system on thrusday. one axis for now.
so the theory is now that 16MHz should allow for smoother control (upto 16x more).
that being said I am going to use one master CPU with 6 slave CPUs.
each slave running their own axis indpendantly.
and the master will send commands to each chip via SPI.
and a Computer via USB to the Master Chip.
for USB control I am using the FTDI usb to Parallel chip. with FIFO buffers.
I just got the USB chips working today. I needed to have a few cycles of waiting to read from the chips. the spec says 50nsec. One cycle being 63 ns long should allready be slow enough... anyways.
Now I have my boards working (I haven't tested them attached to the encoders attached yet. but I will cross that bridge when I get to it.)
tomorrow I will work on completing the code for the master control board.
and hopefully be able to test the system on thrusday. one axis for now.