5 Bar Parallel Scara Workmodes - CNC plasma cutter
-
@NortonAntivirus hello, I'll try to help you. I implemented this kinematics.
Homing is just to tell the firmware where your actuators/steppers are located. The workmode is meant to differentiate the 4 possible positions of the proximal/distal arms (2 possibilities each, this is explained in documentation). You can separate the two aspects:
- homing
- then setting the workmode you like
- then moving the steppers to a position where moves are allowed with G1 H2
- then make moves inside the set workmode
If documentation (which is made by me) stated that L0 uses all 4 modes, the documentation will be wrong, I'll check it. One of the workmodes must be set. I probably wrote that one mode is the default. For specific arm positions, it's very difficult to change from one workmode to the other (specific singularity positions).
-
@JoergS5 Thanks so much for your prompt reply, I am really happy that I have managed to get the device working as I expect in mode 2. Here is the part which I thought meant I would be able to use multiple modes, I had seen some previous posts by Pontus and I thought it was mooving between modes 1 and 2.
Do you have any suggestions for accuracy? Ultimately I am trying to make an arm with around 500mm proximal and distal lengths, for use with a CNC plasma cutter. I have seen products like the arcdroid which follow a calibration procedure, or is the best bet to do accurate homing and arm lengths?
Kind Regards
-
@NortonAntivirus thanks for your comment about the documentation, I'll correct it. I planned to implement it, but I've seen that a change between the modes without manual assistance will not be possible (a crossing of singularities is necessary). I'll change the documentation.
500 mm is a very long arm, you'll need high precision. Some ideas from my prototypes and other projects:
- using high gears with high precision. There are threads in the forum to discuss the gear types (harmonic, cycloid, worm, planetary, belt based). When using belt based gears, you can create multi-stage gears, I've created them in the robotics topic
- good hinges without play
- good arms without vibration/bending
- the arms can be enforced by parallel structures/parallelogram and maybe additonal ideas like tensegrity
- the endpoint payload should be as light as possible
My recommendation would be to start with small arms (100 or 200 mm each).
-
@NortonAntivirus an example of a multistage belt from my new prototype is
which uses 12/60 teeth in two stages, which makes 1:25
-
@JoergS5 Once again thank you for the information. I recently found some Nema17 harmonic drives, with a 30:1 ratio and less then 2 arcmin of backlash, i figured these would be a good starting point. I will also being using closed loop nema 17 steppers which should also hopefully help I may well end up starting smaller in that case. Im after a 400mm x and 300mm y work area ideally but can change that with testing.
Kind regards
-
@JoergS5 Oh awesome, is this the inner arm of a serial scara configuration?
-
@NortonAntivirus no, thats the C axis of a CoreXY 5 axis prototype. The axis you see in the middle is the A axis. At the top, the table is mounted.
-
@JoergS5 Oh that makes sense, so it allows you to multiply the ratio and keep within the part, very neat. do you have any posts about the 5 axis corexy, it sounds very interesting and i'd like to read more.
-
@NortonAntivirus I'll make a big post in a few days about CoreXY 5 axis together with the information to use it with robot kinematics (configuration, homing, samples with FullControl).
-
@NortonAntivirus a word to belt based gears. I don't like the 12 teeth pulley much, because they are at the limit (low number of teeth engaged, only 5 mm boring possible, high belt stress by low radius). Voron printers use 80 teeth pulleys, so 80 teeth pulleys are available now in growing number. So a 16/80 teeth based gear (or 20/80 for lower ratio) will be probably better. I'll probably change to this combination in the future.
-
@NortonAntivirus ok, final comment about the belt gear: I prefer short belts, because I expect better behaviour regarding tension. In this case I want to validate that the kinematics calculates AC offsets correctly. This is the reason for the big distance. I'm using the stepper as counterweight, so the force to rotate the A axis is lower.
-
@JoergS5 Hi again Joerg, I am continuing to make progress and have been testing some Harmonic drives (which seem great so far). I am looking into fixing my Plasma cutter head to the Scara, however I was wondering if its possible to set a cantilevered offset in both X and Y. Currently the 'hotend' can be either in the centre of the two distal joints or an extension of the left or right sides, is it instead possible to have an offset that is a combination of both? I am basically trying to offset my 'hotend' like follows.
Many thanks -
@NortonAntivirus the XY steppers change XY, but they rotate the endpoint by the Z axis as well. That's the reason why an offset as you wish, tool offsets and mesh compensation offset (of the BLTouch and similar) are not supported in this version.
There is a solution in sight, the robot kinematics, which I am currently working on. 5 bar scara will be supported for 5 axis (but for 3 axis also). It supports whishes like yours, because it calculates positions and orientation for all cases. I've added a short documentation chapter "Five bar parallel Scara 5 axis" at https://docs.duet3d.com/en/User_manual/Machine_configuration/robot_5_axis_CNC , explaining the specifics of the 5 bar kinematics.
-
@JoergS5 Thank you for the response, in this case I shall try to design the tool location to be in the hotend positions listed in the documentation, then maybe in future I can try to implement the Robot CNC 5 Axis methods
Kind Regards
Olly -
@NortonAntivirus that's a good strategy.
For users who want to use mesh compensation with a probe with offset, I have an idea: place the BL Touch to a cantilevered position, home to this position (ie the BL Touch is the endpoint), create mesh, correct the coordinates by the offset in the csv file, home to the endpoint, use mesh.
-
@JoergS5 Just as another question. My plasma cutter will only work in two axis, X and Y. Is it possible to offset the hotend position in both x and y or does it need to be colinear with one of the distal arms? Im just trying to figure out it my plasma torch can be mounted to the side of the Left Distal arm or if it needs to be mounted where both distal arms intersect. The first image below shows it at the intersect of both distal arms, the second image shows where I would ideally mount it, with an X and Y offset. Is it possible to apply this X and Y offset to the 5 bar parallel scara?
-
@NortonAntivirus i thought this was your original question: xy offset in relation to the distal arms. The answer is that the kinematics doesn't support this calculation. The hotend needs to be on one of the distal arms (= negative cantilevered value, however I've never tested this case), on the hinge of the two distal arms or in the prologation (=cantilevered) of one of the distal arms.
The mathematical reason is, calculations are based on circle intersection calculations, which give coordinates as result, but not the orientation (=angle in XY plane) of the endpoint. This angle would be necessary to know to calculate how much your XY offset is rotated in respect to the distal-arms-hinge position.
XY are rotary actuators, which change positions and orientation (linear actuators only change positions), so XY offsets do not remain their values, but need to be calculated with trigonometric functions (cos, sin).
The Z axis is irrelevant for calculations of XY position, because it is a linear axis perpendicular to the XY plane.
BTW even if you don't have a Z axis, you should configure a dummy Z, because firmware code uses the Z axis, and a missing Z will probably produce errors.
-
@JoergS5 Once again thank you very much for your help I have made it so my plasma torch is in the hinge of the two distal arms. I had found in the prototype I needed to configure a dummy Z as well
Many thanks -
This post is deleted!