Not all 3D printers have auto bed-leveling, and for those that don’t, it can be irritating when you have to adjust things manually after every few prints. A majority of budget machines on the market don’t come with this helpful tool, and buying one to add yourself can cost a pretty penny.
This prompted TechKiwiGadgets to come up with a 3D printed LED bed leveling device that relies on a sensor and a LED bar graph to measure the relative distance between the sensor and the extruder.
This add-on does not require any code alterations to your firmware or any special wiring. You can simply attach it to your printer whenever you want to tune the bed level. And then, voila, you can remove it when you are done with the bed leveling process.
Note: This particular unit is measured for the Creality Ender 3 printer, but it can be altered for other printers. TechKiwiGadgets insists that a metal print bed is a prerequisite before using this tool
This LED-based bed leveler uses a pulse induction sensor coil that is powered by an Arduino Nano. The sensor coil has separate RX and TX coil so that when a pulse is induced into the TX coil, an electromagnetic field is created around the RX coil. A voltage is then induced into the RX coil as a result of the changing field. This voltage is detected and intensified before the PCB board reads the pulse width signal.
In the Arduino code, a smoothing algorithm is used to eliminate the noise from pulses. In addition, the code also has a calibration algorithm that takes the average of readings over a short time after the tool is switched on. This algorithm sets a threshold to compare the signal against.
Whenever a metallic surface/object comes close to the electromagnetic field, this field gets disrupted, and some of this energy is diverted into “eddy currents” that form in the metallic surface/object. This effect results in the pulse width – detected in the RX coil – reducing. In a nutshell, you will be measuring the loss of power into the metallic surface.
Another algorithm translates the pulse width variation into an LED bar graph to indicate the relative distance between the bed and the coil.
The calibration button is used to reset the baseline height and to re-center the LED indicator to the center of the bar graph.
Main Components:
Extras:
The 3D files are available on Thingiverse courtesy of TechKiwiGadgets.
Print settings:
Wind twenty turns of the copper wire on the inside and outside coil formers; making sure there is an extra 15cm of wire left that will be connected to the circuit board. Each former has two holes; one will be for the entry and another for the exit.
Fasten the coils into place using hot glue to prevent them from unwinding then push the two coils into each other until they join, but leave the four wires oriented in one direction.
Thread these wires through the wire guides of the main 3D printed body. You must know where each wire is coming from before connecting to the circuit board later. Push the conjoined coils into the opening of the 3D printed unit, but don’t glue the head first because you will need to add LEDs.
TechKiwiGadgets recommends testing the circuit with a breadboard. Testing is a great way of confirming that your components are well connected and the coil is wound as required. You can then transfer the set up to the Vero board.
For troubleshooting purposes, TechKiwiGadgets has provided an image of the Oscilloscope traces on Instructables.
Once you have ascertained that your connections are right, follow these steps:
You are now ready to test your circuit before you attach the coils.
The coils will be connected to the Arduino, which you will connect to a computer to load the code. The code needed for this tool is available on TechKiwiGadgets’ Instructables project page.
First, add “FastLED.h” to control the LEDs then initiate the IDE function to test your setup. This circuit should give you around 480uS.
Note: The coils have a polarity that will likely affect performance. Therefore, if you experience issues, TechKiwiGadgets recommends reversing the polarity of either coil.
Breadboard testing will give a lower output when compared to the finished unit. TechKiwiGadgest suspects that this is as a result of lost capacitance caused by the 3D housing. But this should not be a major concern
Once you have conducted all the tests, you can now put the leveler on your printer to figure out how it works exactly.
After finishing the assembly, TechKiwiGadgets tested this bed leveling unit on an Ender 3.
Here are the testing steps:
Your 3D printer bed leveler is now ready to be used whenever you want to level your bed!
License: The text of " 3D Printer Bed Leveling Tool" by All3DP is licensed under a Creative Commons Attribution 4.0 International License.