Traumflug / Teacup_Firmware

Firmware for RepRap and other 3D printers
http://forums.reprap.org/read.php?147
GNU General Public License v2.0
312 stars 199 forks source link

Teacup for Robot Arms #261

Open ShaukiBagdadi opened 7 years ago

ShaukiBagdadi commented 7 years ago

Thank you for this nice firmware. I have successfully added a forth axis and similarly can add as much as the controller board can handle. My attempts committed to https://github.com/ShaukiBagdadi/PantherArm-R4-2020a I started a modular robot arm project https://plus.google.com/communities/113871521259522147964 and found teacup as the most suitable. The arm needs additional features like positioning the joints with a rotary encoder and remembering the position for later replay. Also more endstops as only 3. Also commanding from a LCD interface and more. It would be amazing if there are people capable of adding such features to Teacup. Thanks.

phord commented 7 years ago

This is very interesting. All of the developers on here now do not have a robot arm to command and are unlikely to be able to help with robot-arm specific features.

The rotary encoder requires a very different sort of control than we use today, but they were used commonly in the past. Maybe the conversion there would not be too difficult. There is some code for LCD interface reporting, but I have not used it. I don't think it has any jog control.

More endstops should be relatively easy. That code is some of the oldest code in Teacup, and it remains a bit cumbersome. But it is trivial to duplicate the existing functionality as many times as needed for more endstops.

Position recording is interesting (to me), but wholly unnecessary for a 3d printer. I could see it being used for a mechanical 3d scanner, though. Once you have rotary counted motors working, adding the positional feedback for manual placement should be simple. But Teacup is designed to use as little RAM as possible, so it does not usually have room to record and playback a complex series of motions. You probably need to use an external controller for that, like the PC or a RasPi.