Anonymous

Equipment/Staubli/gdmux: Difference between revisions

From London Hackspace Wiki
Added more details on misc electronics
m (Added a status section)
(Added more details on misc electronics)
 
Line 1: Line 1:
=== What? ===
=== What? ===
To make good use of the Staubli [[Project:Staubli_Robot_Arm|robot arm]] we need to write an g-code interpreter to allow non-programmers to use it efficiently, by utilizing off the shelf CAM software.
To make good use of the Staubli [[Project:Staubli_Robot_Arm|robot arm]] we need to write an g-code interpreter (i.e. demultiplexer) to allow non-programmers to use it efficiently, by utilizing off the shelf CAM software (like CamBam+)


=== Status? ===
=== Status? ===
Line 42: Line 42:
  END
  END


</code>
* Using the likes of LinuxCNC would be even trickier as we already have an kinematics-able controller, also LinuxCNC is designed for near direct motor control making serial port tricky to use as per [http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Emc2HardwareDesign#RS232_Serial following].
* Using the likes of LinuxCNC would be even trickier as we already have an kinematics-able controller, also LinuxCNC is designed for near direct motor control making serial port tricky to use as per [http://wiki.linuxcnc.org/cgi-bin/wiki.pl?Emc2HardwareDesign#RS232_Serial following].


</code>
 
=== Electronics ===
In addition to the CS7 controller itself extra electronics needs to be added in order to allow for a range of potential uses for the arm. For example with 3d printing, we not only need an extruder output but also nozzle temperature control (input+output) as well as heated bed temperature control. As gdmux runs on a single board computer (currently a RPi) inside the CS7 controller we need a reliable way to link it to the outside world. Given the distances involved (a few metres) inter-chip transport protocols such as I2C and SPI (which come free with an RPI) are not suitable. RS232 can handle the distance but is only point to point as such 2 lines will be requires (in addition to the 2 lines going to the CS7 controller!). The most viable approach  is a CANbus as it's a bus topology (so can connect the base of the arm and the extruder),it works up to relatively long distances however it requires a controller and a transceiver ship on each device on the bus.
 
<graphviz border='frame' format='svg' >
digraph electronics{
  rankdir=LR;
  size="8,5!";
 
  term [label="CS7 term",shape=box];
  data [label="CS7 data",shape=box];
  rpi [label="Raspberry Pi",shape=box];
  arm_base [label="Arm base electronics",shape=box];
  end_effector [label="End effector electronics",shape=box];
 
  rpi -> term [label="serial" dir="both"];
  rpi -> data [label="serial" dir="both"];
  rpi -> arm_base [label="CAN" dir="both"];
  rpi -> end_effector [label="CAN"  dir="both"];
  arm_base -> end_effector [label="CAN"  dir="both"];
}
 
</graphviz>


===Useful links===
===Useful links===