Brave new Slic3r for a brave new machine

In the video above you can see the latest slic3r doing it’s bit to ensure high quality printing on my bowden cable printer.  Retractions are limited to the absolute minimum,  ooze is wiped on the infill parts of the print, and it tries its best to prevent crossing perimeters.  It is not done yet, but the results are phenomenal.

I’ll post some proper photos when done.

Redesigned SCARA arms on the bed will make calibration easier and more repeatable.  It is supposed to be easy, not tricky, and this will ensure that.

Update!

Time for an update…

Morgan 01 coming along nicely
Morgan 01 coming along nicely
Printing mechanicals
Printing mechanicals

Almost done printing.  Next challenge would be to get all the vitamins assembled, since most of our suppliers are out of stock of vitals (like the stepper motors) until sometime in April!  Will have to make a plan…  At least I have an extra Arduino Mega, and all the parts for another RAMPS at hand.

Getting close!

Filament arrived

After running out of PLA a few days ago, I had to continue in ABS. It was a good exercise, allowing me to tune my ABS setting for Morgan a bit, and to make a couple of improvements to the hotend holder.

Some of the upgrades include printability improvements, better bowden support, and improvement of bowden to J-head interface. On Morgan 0 I sometimes have to open the bowden clamp in order to insert the filament into the head. Especially when the filament gets more curved (inside of roll) it does not play well.

More info during the weekend.

The countdown

While Morgan 0 is slowly printing out the parts for its first child I am making some final touch ups on the code as we go along.  With my filament dwindling dangerously low, this weekend may not be the birth of Morgan 01, but all good things come in time.

This weekend I will have time to make some new video material.  The Slic3r settings are also getting better.

Cheers!

Marlin kinematics update

Stuck in a city far away from my lab, I had to resort to playing with the firmware.

Based on Johann Rocholl’s Marlin for Rosstock  (a delta bot), this is the initial kinematics change I would like to test when the bot itself is finished:

in Marlin_main.cpp:

void calculate_delta(float cartesian[3])
{

 // SCARA "X" = theta
 // SCARA "Y" = psi+theta, motor movement inverted.
 //static float SCARA_C2, SCARA_S2, SCARA_theta, SCARA_psi - Defined above...
// Length of inner support arm
 //#define Linkage_1 150 //mm
// Length of outer support arm
 //#define Linkage_2 150 //mm
// SCARA tower offset (position of Tower relative to bed position)
 //#define SCARA_offset_x 100 //mm 
 //#define SCARA_offset_y -60 //mm
 SCARA_C2 = (sq(cartesian[X_AXIS])+sq(cartesian[Y_AXIS])-Linkage_1_sq-Linkage_2_sq)/(2*Linkage_1*Linkage_2);
 SCARA_S2 = sqrt(1-sq(SCARA_C2));

 SCARA_K1 = Linkage_1+Linkage_2*SCARA_C2;
 SCARA_K2 = Linkage_2*SCARA_S2;

 SCARA_theta = atan2(cartesian[X_AXIS],cartesian[Y_AXIS])-atan2(SCARA_K1, SCARA_K2);
 SCARA_psi = atan2(SCARA_C2,SCARA_S2);


 delta[X_AXIS] = SCARA_theta * SCARA_RAD2DEG; // Multiply by 180/Pi - theta is support arm angle
 delta[Y_AXIS] = (SCARA_theta + SCARA_psi) * SCARA_RAD2DEG; // - equal to sub arm angle (inverted motor)

 delta[Z_AXIS] = cartesian[Z_AXIS]; // Standard Z for Morgan
}

Now the wait…

Inverse Kinematics

The web is full of wonderful sources of information, and you can easily find all the math required to drive a SCARA arm using inverse kinematics online. Turning it into efficient code… not so easy to find. This is the part of the design that actually scared me the most.

I decided to dig into it a bit tonight, and I have to say that after grabbing a pencil, drawing some pictures and writing out some of the equations it has become a lot clearer, and I even have hope of running the kinematics straight from the Arduino Mega.  Who knew that the maths I had to struggle through at Varsity would actually come in handy after all!

When the firmware is running, I will publish my Marlin fork to github.  I aim to integrate it in such a way that it could possibly be pushed into the main branch of marlin without breaking anything else, but that is definitely a long time goal.  Let’s get Morgan running first!

Help-Desk
%d bloggers like this: