Tumblelog by Soup.io
Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

Smooth Trajectory in CNC and 3D Printing/reprap

All CNC machines and 3D printers move their heads. They usually are driven by stepper motors. Because the stepper motors have limited torque,the intended movement speed cannot be reached at once, but acceleration is necessary.
From what I found, Makerbots do not apply acceleration yet, while current reprap Firmwares (5D or Teacup) actually can accelerate. Without acceleration, the maximum speed is limited, and/or stepper driver currents very high.

Acceleration linearly increases speed to either the intended velociy, or less if the path is to short. This is quite well explained in the
EMC2 wiki:

One tries to follow either straight lines, or arcs (no reprap derivative seems to be able to do that). However, at each directional change, the machine has to come to a complete stop, because otherwise no sudden change in direction is possible.
To overcome this, and keep velocity at high levels, in good CNC controllers there is a G64 command that defines an allowed tolerance for movement deviations. By creating e.g. arcs, whose radius is defined by the maximum deviation, the machine only needs do break to velocity defined by the radius:


For doing arc splitting, I thought of a better method, which should stay closer on the original line. One does a swing-in curve in the opposite direction:

For a single axis of the 4 axis of a 3d-printer, the normal blending can be done quite easily [source]:

If the center of the blendtime is at the original direction change, and one takes the same time-deviation to the left as to the right, the positioning is automatically correct after the blending, because the integral of velocity is the same.

It would be so awesome if something like this were implemented in the RepRap firmware.
Reposted frombernhardkubicek bernhardkubicek

Don't be the product, buy the product!