Back in the day, I really struggled to calibrate the first prototypes of the Powerbelt3D Zero. The Y axis and Z axis are so dependent on each other that I didn’t know how to handle it. It seemed so much more difficult than my normal “print a cube, measure, print another cube” process.
Over time, I drew some of my own calibration models and worked out a pretty simple step-by-step process to calibrate this type of printer. And that’s what I want to share with you today.
What is steps-per-mm?
First, let me explain a little bit about the differences between a normal 3D printer, and a tilted-axis conveyor belt 3D printer, and why the calibration can seem a little more difficult.
3D printers in today’s world use stepper motors to move each axis – XYZ and the Extruder. A stepper motor applies electrical charge to electromagnets inside them to rotate the motor or hold it in one position. For full transparency I’m not a stepper motor expert, but this is a simplified explanation.
Every time the stepper motor moves, we call that a “step”. Typical stepper motors in 3D printers rotate in “steps” that are 1.8 degrees. In the 3D printer’s firmware, we need to tell the printer how many “steps” translate into 1mm of motion.
This value can change quite a bit depending on your motor, motor drivers, micro-stepping, and mechanical setup. If this is starting to sound overwhelming, don’t worry. Your 3D printer should arrive at your door very close to the correct values. But if you’re struggling to make accurate parts, you might want to re-calibrate.
Difference between an angled printer and a standard printer
On a standard 3D printer, each axis is moved in one direction by one (sometimes two) motors. That direction typically moves independent of all other motors.
However, on an angled-axis conveyor belt 3d printer, the Y axis and the Z axis both affect one another. So, in order to calibrate each axis, we need models that help isolate each axis.
Calibrate the Z axis
The first step I use is to calibrate the Z axis, or the conveyor belt axis. I do this by printing a flat shape that is only one layer thick. Then, I can measure the 10, 20, and 30mm segments and compare the measurement to the true value the model is supposed to be.
I like to run my Zero off of Octoprint so I’ll be using that interface to mess with my steps-per-mm values, but you can also connect your printer via USB with software like Repetier Host or PronterFace if you prefer. We just need to be able to send and receive commands to the printer.
I’ll enter the command M501, and look at the steps per mm values. Because we’re calibrating the Z axis right now, we’ll look for that value.
Now we can plug the current steps-per-mm, the measured value of our print, and the value of the true measurement in the 3D model, and calculate what our new steps-per-mm should be.
For example, let’s say our current steps-per-mm is 229, and our model measured 29.4mm when it should have measured 30mm exactly. We would put those values into the equation like this. Our new steps-per-mm would be 232.
Next we can punch in the command M92 Z232. This will set the new steps-per-mm value for the Z axis. Next punch in M500 and save that value to the EEPROM in the 3D printer firmware.
Check X and Y axiis
After printing the flat Z calibration, I like to check the X and Y axiis. I do this by printing a cube tilted at the same angle of the gantry. In our case this is 35 degrees.
While I’m on the topic: I picked 35 degrees for the angle of the gantry after a ton of testing at different angles. I found that 35 degrees worked better than 45 because the filament has a more direct path to the conveyor belt. This let’s it squish into the belt more and get better adhesion. It also helps a bit with overhangs on the leading edge of a print, like when you print a benchy.
Confirm Z steps-per-mm
If you tend to print long objects, I recommend confirming Z steps-per-mm by printing a 100mm test piece, and adjusting steps.
Another area to look at is what I’ve been calling “skew”. This is something that you don’t really have to worry about on standard 3D printers. This is created because all the axiis aren’t perpendicular to each other, and can be affected by a few different factors.
You can tell if you have a skew issue if the front and back faces of a cube model don’t print totally vertically. Here, I messed up my Z steps just to illustrate the idea.
I’m not 100% sure, but I think the biggest cause of skew issues is the angle of the print bed in relationship to the XY gantry. See the XY gantry is fixed to the rest of the frame at 35 degrees by the sheet metal brackets, but the heated bed can be adjusted on the four bed leveling springs. If the front of the print bed is higher or lower than the back, this changes the angle of the hotend to the print bed ever so slightly.
Typically, I just eye-ball how the conveyor belt lays on the heated bed, and that’s good enough for me. But if you want to check specifically if the front of the heated bed needs to be adjusted, you can do that by measuring the spring distance between the heat bed mount and the bottom of the heat bed.
Then you can adjust the height of each spring to make the heat bed perfectly parallel to the frame, and by extension, at the perfect angle in relationship to the XY gantry.
After that, I usually just manually tweak the Z steps. It doesn’t seem like a perfect fix but it works for me.
Another lever you can pull is adjusting the angle of the gantry in your Slicer. I recommend IdeaMaker, and you can find the slice angle in the Advanced tab. For me, usually adjusting it plus or minus 1 degree away from the 35 degree nominal value does the trick.
By the way, if you haven’t seen it, I covered how you can set up your powerbelt3D zero in Ideamaker in this video, and there are links in that video description to printer and material profiles.
2 other factors that can affect Z steps-per-mm and accuracy
From all my experience working with these types of printers, I’ve learned that the X and Y axiis are pretty easy and straightforward to calibrate. The wild card is really the Z axis, so before I wrap up I wanted to highlight two factors that affect Z accuracy that you might surprise you – at least they surprised me.
The first is roller diameter. If you decrease the size of the rollers, you will need to increase the Z steps, and this will increase the accuracy of your conveyor belt axis.
This is because a larger diameter roller travels a further distance per degree of rotation than a smaller roller. This is a little hard for me to wrap my head around so let’s look at two circles. If we cut both of them and unroll them, the larger diameter circle will be longer than the smaller diameter circle.
The other comparison I often think of is how the inside lane of a running track is a slightly shorter distance than the outside lane of a running track for the same reason.
I don’t know, maybe I’m over-explaining here, but it’s something that surprised me over my few years of working with machines like this, so I felt it’s worth mentioning.
The second factor is belt thickness – and it matters for the same reason that roller diameter matters. If you change from a thick belt to a thin belt or vice versa, you change the distance that the conveyor belt axis moves per degree of rotation.
So if you change from a thin belt to a thicker belt, you will effectively increase the roller diameter and need to decrease the Z steps per mm.
If you change from a thick belt to a thinner belt, you effectively decrease roller diameter and will need to increase the Z steps per mm.
For these reasons, I recommend any time you change out the conveyor belt, you re-calibrate the Z axis of your printer to account for any variances there might be in the thickness of the conveyor belt.