1,068
edits
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]. | ||
</ | |||
=== 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=== | ||