This guide is for self built Morgans based on Marlin and RAMPS electronics only. For commercial Morgans, or machines built using Smoothieware compatible electronics, please look under the “Support” menu dropdown.
This is the Morgan calibration guide. A large part of this calibration is only done on initial system calibration, and if the machine had to taken apart for upgrades or repairs.
In order to ensure that the calibration succeed, please make sure the following is in place:
- Ensure motor currents are correct: Most stepper motors are rated for lower voltages than the 12V supply, and you want that – but be sure not to overdrive the motor in order to prevent damage to it.
- Check the motor spec for maximum current – usually also printed on the motor label.
- Using a multimeter, set the current limit to under the specified current by adjusting the potentiometer to match the voltage:
- A4988 : Current = Vpot * 2.5
- DRV8825: Current = Vpot * 2
- You will find that you probably need less current than specified – you can experiment later after calibration is done. Lower currents will cause less heat related problems.
- Homing is working, and the position is over the top platform, in an angle position not reached when moving the head over the edges of the print bed. There is a YouTube video to explain the end stop placements.
- “Theta” (X) motor and end-stop must be fitted to the top drive wheel (Tube mount) and “Psi” (Y) motor and end-stop fitted to to lower (Rod mount) drive wheel.
- MAX end-stops are used for homing.
- Measure the distance from the center of the printbed to the center of the driveshaft assembly – 100. This is the Y offset. Enter this distance (with a negative sign) into the “SCARA Tower offset Y” in the configuration.h file on Marlin. This tells the firmware where your print bed is relative to the SCARA drive shaft, and errors here can cause your machine to miss the print bed.
Example: Distance measured = 156mm -100 = 56.
configuration.h, line 113:
#define SCARA_offset_y -56 //mm
- Measure the position of the nozzle after homing relative to the bed zero position. Bed zero is to the top right when viewed from the front. Enter this position into the configuration.h file of Marlin (homing offset) and upload the firmware again. It does not need to be very accurate, but the closer the better. (read: easier calibration)
#define MANUAL_X_HOME_POS -35 #define MANUAL_Y_HOME_POS -55 #define MANUAL_Z_HOME_POS 235 // Distance between nozzle and print surface after homing.
- Enter the initial X and Y steps per degree correctly for the hardware you have installed:
- 0.9 deg motors with 32uStepping will need close to 430
- 1.8 with 32 will be 215.
- 1.8 with 16 is 107.
- Compensate accordingly for other combinations:
- The above numbers assume the use of T2,5 belt with 16 teeth (40mm circumference) T2 belt with 16 teeth will be 32mm and will require you to multiply the above numbers with 1.25 – 430 will become 537 etc,
M92 X(steps) Y(steps)
- NB: If the arms cannot reach calibration positions, it may be because of the soft end-stop limits:
- Please install the latest Marlin firmware from qharley Git. It now takes care of the soft end-stops during calibration.
Z axis calibration
Adjust the Z steps per mm.
Make sure the bed is mechanically adjusted to be 100% squared off to the copper drive pipe, in both X and Y directions. Also ensure that the maximum Z speed does not exceed the capabilities of the stepper motor / driver. The default speed assumes the use of the high speed drill bit lead screw. It has a 30mm per revolution travel, and M8 lead screw is 1.25mm standard. Adjust accordingly.
- Home the machine
- Move to first position
G1 X100 Y100 Z150 F5000
- Measure the height of the bed from the edge of the top platform.
- Move to second position
G1 Z50 F5000
- Measure again, and subtract the reading from the first.
- Calculate: 100/(calculated distance) * (current Z step/mm). Current steps can be seen by issuing M503 and looking at the number next to M92 for Z
- Enter new value:
M92 Z(calculated steps)
Run the routine on the Z-cal flowchart below to do the automatic bed level correction adjustment.
Morgan Z-Cal flowchart
Here are some initial Slic3r config files. Extract it into your Slicer config folder (~/.Slic3r)
The printer configs include one for 3mm and 1.75mm filament. The initial gcode to make it prime properly is included,
For general printing the “MQ 15” program gives good results. LQ MQ and HQ refers to layer hight – 0.4, 0.2 and 0.1 respectively.
The SCARA-cal phantom has been included in the Git source of Morgan. It contains an STL file to be printed after the Arms and Z calibration has been completed.
Enter the details of measuring the calibration piece with a caliper, and the current settings of your machine into the spreadsheet supplied (Updated 23 Oct 2013) and it will give you a fresh set of settings to apply.
NB: Initially only adjust the Theta (X) and Psi (Y) steps/mm settings. X and Y scaling will not be required if the machine has been made to close tolerances, and measured correctly.
Remember to reprogram the M360 and M364 positions into M206 X and Y again after changing M92 settings.
In order to optimize heating on your machine, perform Marlin PID autotuning.
More information will be added to this page, and will be amended when required.