a5:bed-levelling-probe

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
a5:bed-levelling-probe [2019/04/06 22:46]
cs2000 [Full Firmware & Hardware Modification Guide]
a5:bed-levelling-probe [2019/05/12 06:51] (current)
cs2000 [Setup and Testing]
Line 12: Line 12:
 </WRAP> </WRAP>
  
-==== IR Probe Bed Surface Compatibility====+ 
 +=====Initial Considerations===== 
 +From my testing and learning as a complete newbie to this whole automatic bed levelling jibberish, three things have become vitally important, you need to pay attention to all three for the system to work. 
 + 
 +==== Levelling the X Axis ==== 
 + First, we need be sure that your X 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/check this, move the Z axis as high as it will go and use come calipers to measure the distance from the bottom rail to the frame, this should be identical. 
 +  - If the measurements are out, turn the printer off and use your hand to manually move the threaded rod couplers to move one side up or down. It doesn't matter what height they actually are, just make sure they're the same!  
 + 
 +==== Print Surface ==== 
 +More detail on this is below, but the quick detail is the A5's glass bed is NOT suitable for an IR probe on its own. Glass is a poor reflector of IR light and the Black diamond build surface interferes with the reflection pattern. I would HEAVILLY advise you but a good surface such as PrintBite, I have had amazing consistence with this. 
 + 
 +==== Z Axis Friction ==== 
 +Whatever lubricant JGAurora use on the threaded rods lifting the Z axis is utter garbage. After only 3 weeks, the stuff on my rods had turned all sticky meaning the //tiny// movements the printer has to do were not being performed correctly. This manifested itself in what sounded like a grinding noise coming from both of the Z axis steppers. I would recommend checking yours moves freely, and if youre concerned, clean the old stuff off and replace it with something like Machine Oil, or your preferred choice of lubricant. 
 + 
 +The reason for this is if the motors turn enough to say, raise the bed 1mm, but for 50% of the movement, they stall because of the friction, your next probe measurement is going to be way off. I had probes that were (apparently) 44mm offset from probe point 1, that's utter madness and was caused by the motors stalling for a portion of their move on every single measurement point. **Lube up your rods people!** 
 + 
 +See the [[:lubrication|printer lubrication page for some recommendations]]. 
 + 
 + 
 +=====IR Probe Bed Surface Compatibility=====
 In order for this to work, the sensor needs to "see" 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 "see" 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. 
  
Line 34: Line 54:
  
  
-==== How-To Install IR Probe ====+=====How-To Install IR Probe =====
 Steve Wagg has put together an EXCELLENT [[https://www.thingiverse.com/thing:2750505|guide on performing this mod on thingiverse]]. Steve has a modified version of the community firmware that is ready to go, configured for use with the IR sensor plugged into the **Z-min socket**. Steve Wagg has put together an EXCELLENT [[https://www.thingiverse.com/thing:2750505|guide on performing this mod on thingiverse]]. Steve has a modified version of the community firmware that is ready to go, configured for use with the IR sensor plugged into the **Z-min socket**.
  
Line 40: Line 60:
  
  
-==== Full Firmware & Hardware Modification Guide ====+=====Full Firmware & Hardware Modification Guide =====
  
-=== What to Buy? ===+=====What to Buy? =====
 Infrared sensor - [[https://miscsolutions.wordpress.com/mini-height-sensor-board/|IR Sensor Link]] Infrared sensor - [[https://miscsolutions.wordpress.com/mini-height-sensor-board/|IR Sensor Link]]
  
Line 50: Line 70:
  
 Or, you'll need you own wire and either DuPont connectors or a 3pin JST Plug and tools to wire this up. Or, you'll need you own wire and either DuPont connectors or a 3pin JST Plug and tools to wire this up.
-=== Firmware Edits ===+ 
 +=====Firmware Edits =====
 Since this is what frightens most people, lets start here.\\ Since this is what frightens most people, lets start here.\\
   * Grab a fresh copy of Marlin 1.1.8c from Sams repository http://sampin.ch/A5-firmware\\   * Grab a fresh copy of Marlin 1.1.8c from Sams repository http://sampin.ch/A5-firmware\\
-  * At the time of writing, you want the file "JG A5 Custom Main Marlin 1.1.8C.zip" 1.1.9 is **NOT** recommended, development hasn't finished on that version yet (14/03/2019)\\+  * At the time of writing, you want the file "JG A5 Custom Main Marlin 1.1.8C.zip". The newer 1.1.9 beta is **NOT** recommended, development hasn't finished on that version yet (14/03/2019)\\
   * Extract the ZIP file and open up the Configuration.h file in Notepad or Arduino IDE 1.8.5 and make the following edits; \\     * Extract the ZIP file and open up the Configuration.h file in Notepad or Arduino IDE 1.8.5 and make the following edits; \\  
  
Line 81: Line 102:
  
  
 +OPTIONAL - SLOWS DOWN PROBES FOR MORE ACCURACY 
 **Line 717**\\ **Line 717**\\
 Original Original
Line 88: Line 110:
  
  
 +OPTIONAL - SLOWS DOWN PROBES FOR MORE ACCURACY
 **Line 722**\\ **Line 722**\\
 Original Original
Line 162: Line 185:
  
  
-=== 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 on todays 3D printers, 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://youtu.be/il9bNWn66BY?t=286|Link to His Video]] on plain glass, community testing has resulted in WILDLY inaccurate heights, basically, do NOT do this if you plan to use the standard Black Diamond glass as your print surface, it just wont work.  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 on todays 3D printers, 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://youtu.be/il9bNWn66BY?t=286|Link to His Video]] on plain glass, community testing has resulted in WILDLY inaccurate heights, basically, do NOT do this if you plan to use the standard Black Diamond glass as your print surface, it just wont work. 
  
Line 181: Line 204:
  
  
-=== Hardware Changes ===+=====Hardware Changes =====
  
   - If you've purchased a pre-made cable, you can skip these steps;   - If you've purchased a pre-made cable, you can skip these steps;
Line 202: Line 225:
  
    
-=== 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/check this, move the Z axis as high as it will go and use come calipers to measure the distance from the bottom rail to the frame, this should be identical. 
-  - 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't matter what height they actually are, just make sure they're the same!  
  
   - Turn on the printer and using the LCD or a GCODE console such as Pronterface, issue a G28 or push the home all axis button on the LCD, otherwise the axis don't respond!\\   - Turn on the printer and using the LCD or a GCODE console such as Pronterface, issue a G28 or push the home all axis button on the LCD, otherwise the axis don't respond!\\
   - 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.   - 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. +  - Take the current Z value on the printers LCD 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 enoughif so, use a GCODE console of some sort (Pronterface) and alter the Z height offset to the value you identified earlierAs default (for safety)the Z offset written in the firmware is mm+    * My Screen showed 1.6mmI perfonally found I needed to add 0.2mm onto thisso my final value became -1.8 
-     * 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". Yes, INCREASING the number LOWERS the head, backwards to what youd thing logically, but were using a - sign before it, so the logic is correct. Issue a M500 command to save this value in the EEPROM once you've figured out what it is.\\ +     * If you want to lower the head by 0.02mm then you would issue the command "M851 Z-1.80" or to raise it by 0.02mm, its "M851 Z-1.4". Yes, INCREASING the number LOWERS the head, backwards to what you'd think logically, but were using a - sign before it, so the logic is correct. Issue a M500 command to save this value in the EEPROM once you've figured out what it is. In my case, a value of -1.80 works well.\\ 
-  - 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.\\  +  - 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 pretending as if you don't have an IR sensor.\\  
      
      
Line 224: Line 243:
  
 <code> <code>
-G29 P1 Do automated probing of the bed +G28 ; Home All Axis 
-G29 S1 ; Save UBL mesh points to EEPROM +G29 P1  Mesh Probe Bed 
-G29 A ; Activate the UBL System +M500 ; Save To EEPROM 
-M500 ; Save current setup. WARNING - UBL will be active at power up, before any G28+M420 S1 ; Activate Mesh
 </code> </code>
  
 And your done! From now on, the printhead will perform an automatic mesh bed level using the IR probe before every single print.  And your done! From now on, the printhead will perform an automatic mesh bed level using the IR probe before every single print. 
  
-In standard probing mode,This adds about 30 seconds to your print time and ensures that crucial first layer goes down perfect every time!+In standard probing mode, This adds about 30 seconds to your print time and ensures that crucial first layer goes down perfect every time!
  
-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.+If you also performed the 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.
  
 <code> <code>
-G29 A ; Activate the UBL System from EEPROM.+G28 ; Home All Axis 
 +M420 S1 ; Activate Mesh
 </code> </code>
  
-==== Wiring ====+=====Useful Mesh Bed Levelling Commands===== 
 +G29 -  Issue this command to probe the bed and create a mesh using the IR probe\\ 
 +G29 Q - Issue this command to check if mesh bed levelling is enabled\\ 
 +M420 V - Issue this command to view the current mesh data (useful for comparing results)\\ 
 +M500 - Save the current mesh data to EEPROM\\ 
 +M503 - Show the current data in the EEPROM\\ 
 +M420 S1 - Activate the mesh bed levelling data in the print job\\ 
 + 
 +=====Wiring Photos=====
  
 Hotend Sensor Wiring Hotend Sensor Wiring
Line 253: Line 281:
  
  
-==== Testing ==== +=====Testing =====
 You can test your ends top function using Pronterface, and entering gcode M119. This will report the status of all the endstops. You can put your finger under the sensor to trigger it, and then run M119 to see if the change in status is reported. You can test your ends top function using Pronterface, and entering gcode M119. This will report the status of all the endstops. You can put your finger under the sensor to trigger it, and then run M119 to see if the change in status is reported.
  
a5/bed-levelling-probe.1554551216.txt.gz · Last modified: 2019/04/06 22:46 by cs2000