a5:bed-levelling-probe
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
a5:bed-levelling-probe [2019/03/29 22:12] ā cs2000 | a5:bed-levelling-probe [2019/04/07 02:58] ā [Full Firmware & Hardware Modification Guide] cs2000 | ||
---|---|---|---|
Line 13: | Line 13: | ||
==== IR Probe Bed Surface Compatibility==== | ==== IR Probe Bed Surface Compatibility==== | ||
- | For best results, the sensor needs to sense the reflection of the IR beam from the top surface of the bed. There is a potential problem when the sensor is used with a transparent bed material that reflects infrared light weakly and there is a surface below the transparent material that reflects IR much more strongly. | + | In order for this to work, the sensor needs to " |
- | **Glass (with or without coatings such as hairspray, PVA or Kapton tape):** Works as-is if placed directly on a PCB bed heater or other surface that does not reflect strongly. If there is an aluminium heat spreader or bed plate underneath the glass, then either paint the aluminium surface matt black as suggested above, or put a sheet of matt black paper between the glass and the aluminium. Coatings on the glass such as the Black Diamond coating affect the trigger height | + | **Glass (with or without coatings such as hairspray, PVA or Kapton tape):** Works as-is if placed directly on a PCB bed heater or other surface that does not reflect strongly. Coatings on the glass such as the Black Diamond coating affect the trigger height |
- | **PEI: | + | **PEI: |
- | **BuildTak: | + | **BuildTak: |
**PrintBite: | **PrintBite: | ||
Line 25: | Line 25: | ||
**Anodised aluminium, with or without PEI coating:** suitable if the finish is matt or semi-matt. | **Anodised aluminium, with or without PEI coating:** suitable if the finish is matt or semi-matt. | ||
- | **Bright Aluminium: | + | **Bright Aluminium: |
- | **Mirror: | + | **Mirror: |
**Other/Not Listed:** You will have to check yourself if your surface is transparent to IR light, an easy way to do this is with a standard TV remote control.Place your hand in front of the remote control to block the infrared signal and verify that the remote control no longer controls the TV. (Donāt wrap your hand over the front of the remote control). If the remote control still works, you may be too near the TV, you may need to back away and try blocking again. In that case, you'll need to repeat step 1 to verify the remote control works at the farther distance when it isnāt blocked. | **Other/Not Listed:** You will have to check yourself if your surface is transparent to IR light, an easy way to do this is with a standard TV remote control.Place your hand in front of the remote control to block the infrared signal and verify that the remote control no longer controls the TV. (Donāt wrap your hand over the front of the remote control). If the remote control still works, you may be too near the TV, you may need to back away and try blocking again. In that case, you'll need to repeat step 1 to verify the remote control works at the farther distance when it isnāt blocked. | ||
Line 79: | Line 79: | ||
#define Y_PROBE_OFFSET_FROM_EXTRUDER -30 // Y offset: -front +behind [the nozzle] | #define Y_PROBE_OFFSET_FROM_EXTRUDER -30 // Y offset: -front +behind [the nozzle] | ||
#define Z_PROBE_OFFSET_FROM_EXTRUDER -1.1 // Z offset: -below +above | #define Z_PROBE_OFFSET_FROM_EXTRUDER -1.1 // Z offset: -below +above | ||
+ | |||
+ | |||
+ | OPTIONAL - SLOWS DOWN PROBES FOR MORE ACCURACY | ||
+ | **Line 717**\\ | ||
+ | Original | ||
+ | < | ||
+ | Change To | ||
+ | < | ||
+ | |||
+ | |||
+ | OPTIONAL - SLOWS DOWN PROBES FOR MORE ACCURACY | ||
+ | **Line 722**\\ | ||
+ | Original | ||
+ | < | ||
+ | Change To | ||
+ | < | ||
Line 149: | Line 165: | ||
=== The Glass Bed === | === The Glass Bed === | ||
- | The original developer of these mini IR boards has specifically said he designed it to work on glass, which it does but I guess since the original design with ever smaller layer heights, the deviation is just unacceptable. Youtuber Thomas Sanladerer ran tests on this sensor and found a deviation of 20 micros, or 0.02mm which is one layer height [[https:// | + | The original developer of these mini IR boards has specifically said he designed it to work on glass, which it does but I guess since the original design with ever smaller layer heights |
+ | Ā | ||
+ | The best way to fix this is to paint the glass to give the IR beam a better material to bounce back from. The exact colour of the paint doesn' | ||
- Remove the four bed levelling screws and unplug the bed connector | - Remove the four bed levelling screws and unplug the bed connector | ||
- Remove the metal clips holding the glass bed to the metal hot plate. | - Remove the metal clips holding the glass bed to the metal hot plate. | ||
Line 160: | Line 178: | ||
- I then sanded the entire bed with 2000 grit sandpaper to end up with a perfectly smooth matte finish, this step may be unrequired though. | - I then sanded the entire bed with 2000 grit sandpaper to end up with a perfectly smooth matte finish, this step may be unrequired though. | ||
| | ||
- | In my case, I'm also going to be adding a PrintBite build surface rather than use the Black Diamond. I've had really good experience with this over the years, works really well for PLA, ABS, PETG and loads of others. The final sandwich of layers in my case would be; | + | As mentioned above, this doesn' |
- | Heated Plate > Glass Bed (With Black Diamond coating facing down) > Print Bite build surface.Ā | + | Heated Plate > Glass Bed (With Black Diamond coating facing down and painted surface facing up) > Print Bite build surface |
- | Ā | + | |
- | If you're not using a different build surface, just install it back together | + | |
=== Hardware Changes === | === Hardware Changes === | ||
- | So, assuming you have the IR module and the cable kit then lets continue, if not, find a reseller in your country here https:// | ||
- | - If you've purchased a pre-made cable, skip these steps | + | - If you've purchased a pre-made cable, |
* You need to now create a wire using the included "Cable Kit" and your own wire. | * You need to now create a wire using the included "Cable Kit" and your own wire. | ||
* Cut 3 lengths of wire at 1.5 metres and strip the ends. | * Cut 3 lengths of wire at 1.5 metres and strip the ends. | ||
- | * Insert one end of the bare wire into the small terminal pin/clamp things. You should have around a 1mm section of the cable sheath right at the end of the gripper section. | + | * Insert one end of the bare wire into the small terminal pin/clamp things |
* Use a proper terminal crimper, or if your careful use some small needle nose plyers to crimp the terminals around the wire, give the wire a tug to ensure its held in place. | * Use a proper terminal crimper, or if your careful use some small needle nose plyers to crimp the terminals around the wire, give the wire a tug to ensure its held in place. | ||
- | * Insert the terminal | + | * Insert the crimped |
- | * Solder the bare ends to the pins on your sensor, the plug end gets dealt with later in the guide. | + | * Solder the bare ends of the wire to the pins on your sensor, the plug end gets dealt with later in the guide. |
- Unscrew the Z axis end stop, you will not be using this any longer. You can either totally remove it, or just tuck it back inside the printer for safe storage. | - Unscrew the Z axis end stop, you will not be using this any longer. You can either totally remove it, or just tuck it back inside the printer for safe storage. | ||
- | - Unscrew the two screws on the vanity plate covering the X Axis carriage. These can be found on the left and right of the metal plate. You will not be re-fitting this plate, so store it, and the screws somewhere safe in case you wish to revert this mod in the future.Ā | + | - Unscrew the two screws on the vanity plate covering the X Axis carriage. These can be found on the left and right of the metal plate. You will not be re-fitting this plate.Ā |
- | - Unscrew the two screws on the X axis itself directly in front of you and then re-attach with the 3d printed bracket from the Thingiverse link at the top of this page.Ā | + | - Unscrew the two screws on the X axis itself directly in front of you and then re-attach with the 3d printed bracket from the Thingiverse link at the top of this page. You will need slightly longer M3 screws to do this.Ā |
- | - Attach the IR sensor to the two remaining holes on the bracketĀ | + | - Attach the IR sensor to the two remaining holes on the bracket.Ā |
- | - Route the 3 wire cable up, through the plastic tubing and all the way through the access hole on the right side of the machine where there will already be wires coming from.Ā | + | - Route the 3 wires up, through the plastic tubing and all the way through the access hole on the right side of the machine where there will already be wires coming from.Ā |
- | - Unscrew the 5 screws holding the Y axis, and build plate so that you can remove the top cover of the machine and see the wires and PCB's inside. | + | - Unscrew the 5 screws holding the Y axis, and build plate so that you can remove the top cover of the machine and see the wires and PCB's inside. You dont need to remove the bed to do this. |
- Locate your Z Axis End stop plug. This will be a green connector with a Blue and then a red one above it. Right above those will be an empty stepper driver slot. Unplug the old Z axis end stop and plug in your new one in its place. | - Locate your Z Axis End stop plug. This will be a green connector with a Blue and then a red one above it. Right above those will be an empty stepper driver slot. Unplug the old Z axis end stop and plug in your new one in its place. | ||
- | * If you made your own cable rather than buying a pre-made one, you will either have to use DuPont connectors here, or wire this up properly with a 3PIN JST Connector.Ā | + | * If you made your own cable rather than buying a pre-made one, you will either have to use DuPont connectors here, or wire this up properly with a 3 pin JST Connector.Ā |
- | - Make sure the cable is inserted the right way! From the top down, the wire order is VCC, GND and SignalĀ | + | - Make sure the cable is inserted the right way! From the top down, the wire order is VCC, GND and Signal.Ā |
- | - Route all the wires properly and then re-do up the whole case. | + | - Route all the wires properly and then do up the whole case. |
=== Setup and Testing === | === Setup and Testing === | ||
Now the hard parts are done, you need to complete the setup of the IR sensor and do some testing, so lets continue. | Now the hard parts are done, you need to complete the setup of the IR sensor and do some testing, so lets continue. | ||
+ | |||
+ | - First, we need be sure that your Z axis carriage is actually level. As the A5 uses two steppers and two threaded rods to hold the " carriage in place, this can get out of alignment so one side can be higher than than the other. | ||
+ | - To correct/ | ||
+ | - If the measurements are out, turn the printer off and use your hand to manually move the threaded rod couplers to manually move one side up or down. It doesn' | ||
- Turn on the printer and using the LCD or a GCODE console such as Pronterface, | - Turn on the printer and using the LCD or a GCODE console such as Pronterface, | ||
+ | - Use the LCD in the MOVE menu and Move Z down slowly (0.01mm steps) until the probe triggers. This is when the red LED light comes on. | ||
+ | - Take the current Z value on the screen and negate it. (so a value shown of 1.6 becomes -1.6), this is the offset between your print Nozzle and the sensor height. | ||
+ | - You may find the nozzle wont go low enough, if so, use a GCODE console of some sort (Pronterface) and alter the Z height offset to the value you identified earlier. As default (for safety), the Z offset written in the firmware is 1 mm. | ||
+ | * If you want to lower the head by 0.02mm then you would issue the command "M851 Z-1.2" or to raise it by 0.02mm, its "M851 Z-0.8" | ||
+ | - Next, do a bed level using the LCD and the print bed levelling knobs so that the bed is as level as you can get it using this method, basically proceed to set the correct 0.2mm layer height as if you don't have an IR sensor.\\ | ||
+ | | ||
+ | | ||
+ | Now that you have an IR probe and a nice level bed, you need to be sure that before every print, you re-level the bed, but this time we can use the new probe to do that! | ||
- | <WRAP center round alert 80%>Ā | + | G29 is the GCODE to issue a level bed routine. You can run this now I guess to see it working, but in reality, all you need to do is add the following lines AFTER your initial G28 home command |
- | Please Note: If you do a "Home all Axis" fron the touchscreen and the nozzle appears | + | |
- | - Next, do a basic bed level using the LCD and the print bed levelling knobs so that the bed is as level as you can get it using this method.\\Ā | + | **NOTE: Remember, any G28 Home command after this script will disable UBL again, so avoid placing G28's after this script.**\\ |
- | - If you find the nozzle wont go low enough, use a GCODE console of some sort (Pronterface) and alter the Z height offset. As default, the Z offset is 1 mm, this can be changed. If you want to lower the head then you would issue the command "M851 Z-1.2" or to raise it, its "M851 Z-0.8", | + | |
- | Now that you have an IR probe and a nice level bed, you need to be sure that before every print, you re-level the bed, but this time we can use the new probe to do that! | + | < |
+ | G28 ; Home All AxisĀ | ||
+ | G29 P1 ; Mesh Probe BedĀ | ||
+ | M500 ; Save To EEPROMĀ | ||
+ | M420 S1 ; Activate MeshĀ | ||
+ | </ | ||
- | G29 is the GCODE to issue a level bed routine. You can run this now I guess to see it working, but in reality, all you need to do is add the following lines AFTER your initial G28 home command in your 3d printer slicing software. | + | And your done! From now on, the printhead will perform an automatic mesh bed level using the IR probe before every single print. |
- | **NOTE: make sure you replace the value in the first line with whatever value you identified in step 3 above that gave you an accurate 0.2mm nozzle height.**\\ | + | In standard probing mode,This adds about 30 seconds to your print time and ensures |
- | < | + | With my ultra slow mods to get a better probe height, this takes a few minutes per probe cycle. Since we've saved the mesh to the EEPROM, you may wish to do this mesh periodically and just use the below as your start-up commands since we can call the mesh data back from EEPROM. |
- | M500 ; Save to EepromĀ | + | |
- | G28 ; HomeĀ | + | |
- | G29 ; Level bed</ | + | |
- | And your done! From now on, the printhead will perform an automatic mesh bed level using the IR probe before every single print! | + | < |
+ | G29 A ; Activate | ||
+ | </ | ||
==== Wiring ==== | ==== Wiring ==== |
a5/bed-levelling-probe.txt Ā· Last modified: 2020/12/25 02:13 by 127.0.0.1