Canan

Hi, I'm Canan

Oups ...

Never forget impossible is possible

:(


Your PC ran into a problem and needs to restart.
We're just collecting some error info, and then we'll restart for you.


0% complete



QR Code

For more information about this issue and possible fixes, visit
https://www.windows.com/stopcode

If you call a support person, give them this info:
Stop code: SYSTEM_SERVICE_EXCEPTION

Use a BLTouch

Use a BLTouch

Ender 3 Pro




Steps

Firmware update

  1. I use https://github.com/steenerson/Marlin_SKR_E3_Mini_12_512K/tree/bugfix-2.0.x-bltouchversion as base
  2. /!\ Depends on your probe placement, you have to correctly update your edge margin!
  3. > Add just after "#define NOZZLE_TO_PROBE_OFFSET" line:
  4. constexpr int nozzle_to_probe_offset[] = NOZZLE_TO_PROBE_OFFSET;
  5. #define PROBE_X_OFFSET_FROM_EXTRUDER nozzle_to_probe_offset[0]
  6. #define PROBE_Y_OFFSET_FROM_EXTRUDER nozzle_to_probe_offset[1]
  7. > Sensor at the back-right:
  8. #define MIN_PROBE_EDGE_LEFT abs(PROBE_X_OFFSET_FROM_EXTRUDER + MIN_PROBE_EDGE)
  9. #define MIN_PROBE_EDGE_RIGHT abs(MIN_PROBE_EDGE)
  10. #define MIN_PROBE_EDGE_FRONT abs(PROBE_Y_OFFSET_FROM_EXTRUDER + MIN_PROBE_EDGE)
  11. #define MIN_PROBE_EDGE_BACK abs(MIN_PROBE_EDGE)
  12. > Sensor at the back-left:
  13. #define MIN_PROBE_EDGE_LEFT abs(MIN_PROBE_EDGE)
  14. #define MIN_PROBE_EDGE_RIGHT abs(PROBE_X_OFFSET_FROM_EXTRUDER - MIN_PROBE_EDGE)
  15. #define MIN_PROBE_EDGE_FRONT abs(PROBE_Y_OFFSET_FROM_EXTRUDER + MIN_PROBE_EDGE)
  16. #define MIN_PROBE_EDGE_BACK abs(MIN_PROBE_EDGE)
  17. > Sensor at the front-left:
  18. #define MIN_PROBE_EDGE_LEFT abs(MIN_PROBE_EDGE)
  19. #define MIN_PROBE_EDGE_RIGHT abs(PROBE_X_OFFSET_FROM_EXTRUDER - MIN_PROBE_EDGE)
  20. #define MIN_PROBE_EDGE_FRONT abs(MIN_PROBE_EDGE)
  21. #define MIN_PROBE_EDGE_BACK abs(PROBE_Y_OFFSET_FROM_EXTRUDER - MIN_PROBE_EDGE)
  22. > Sensor at the front-right:
  23. #define MIN_PROBE_EDGE_LEFT abs(PROBE_X_OFFSET_FROM_EXTRUDER + MIN_PROBE_EDGE)
  24. #define MIN_PROBE_EDGE_RIGHT abs(MIN_PROBE_EDGE)
  25. #define MIN_PROBE_EDGE_FRONT abs(MIN_PROBE_EDGE)
  26. #define MIN_PROBE_EDGE_BACK abs(PROBE_Y_OFFSET_FROM_EXTRUDER - MIN_PROBE_EDGE)
  27. -> Make probing over maximum bed surface

GCode Console

  1. As Cura 3.x has not more consol to be able to check to return of your command, you should use Pronterface (free and portable)
  2. https://www.pronterface.com/
  3. /!\ If you don't know which COMM port your print is linked, simply open your "Device Manager" and plug/unplug your printer to see it!

Test commands

  1. Even if, you will see the red color of it (if it is correctly connected) and the first down and up movement when you power it on, you can also check it manually:
  2. M280 P0 S10 ;Pin down
  3. M280 P0 S90 ;Pin up
  4. M280 P0 S120 ;Test
  5. M280 P0 S160 ;Release (you must do it to stop the Test command)
  6. M280 P0 S10 ;Pin down (to let it ready)

Setup and initial probing commands

  1. You will have now to make your mesh to let your BLTouch know your bed placement, and be able to print as good as possible:
  2. M502 ;Reset settings to configuration defaults
  3. M500 ;Save current setup (WARNING: UBL will be active at power up, before any G28)
  4. M501 ;Read back in the saved EEPROM (to prevent restart)
  5. M851 X__YOUR_VALUE__ Y__YOUR_VALUE__ Z0 ;Set probe position (depends on yours, c.f: M851 X-48 Y-10 Z0) // Canan
  6. G1 E-4 F300 ;Retract 4mm of filament at 300mm/s before lift the nozzle // Canan
  7. M190 S60 ;Not required, but having the printer at temperature helps accuracy (PLA)
  8. M104 S200 ;Not required, but having the printer at temperature helps accuracy (PLA)
  9. G28 ;Home XYZ
  10. G29 ;Do automated probing of the bed
  11. M500 ;Save current setup
  12. M501 ;Read back in the saved EEPROM (to prevent restart)
  13. M503 ;To check the value

Sample of my G29 result (with 4x4 grid)

  1. 0 1 2 3
  2. 0 -0.375 -0.328 +0.182 +0.424
  3. 1 -0.266 -0.658 -0.578 +0.215
  4. 2 +0.021 -0.390 -0.091 +0.160
  5. 3 +0.277 -0.270 -0.400 -0.131

Z Offset

  1. M851 Z0 ;Reset your Z offset at 0
  2. M190 S60 ;Not required, but having the printer at temperature helps accuracy (PLA)
  3. M104 S200 ;Not required, but having the printer at temperature helps accuracy (PLA)
  4. G28 ;Home XYZ (or simply G28 Z)
  5. G1 X(BED_WIDTH / 2) Y(BED_DEPTH / 2) Z10 F5000 ;Move at center (for example: G1 X117.5 Y117.5 Z10 F5000 for an Ender 3 with 235x235mm bed)
  6. M280 P0 S10 ;Pin down
  7. -> Move down your Z axis (1mm by 1mm, then 0.1mm by 0.1mm) until the pin of probe will be go up automatically (so your __PROBE_VALUE__)!
  8. /!\ If you are at Z0 and it is still too height, you have to disable (M211 S0) temporarily the ZStop functionality to be able to go in negative value, then renable it (M211 S1)!
  9. -> Use a paper between your nozzle and your bed, and move down your Z axis nearly your bed (0.1mm by 0.1mm) until the paper can move but not easily (must be not blocked!) to have the __CURRENT_VALUE__
  10. __NEW_VALUE__ = __PROBE_VALUE__ - __CURRENT_VALUE__
  11. M851 Z__NEW_VALUE__ ;Set Z offset at __NEW_VALUE__ (the current Z value obtained)
  12. M500 ;Save current setup
  13. M501 ;Read back in the saved EEPROM (to prevent restart)

A negative Z offset value means the nozzle will go down!

  1. /!\ If __CURRENT_VALUE__ = 0, you have nothing to do!

You can now put it in your firmware and update it!

Start and end print script

  1. You will have now to edit your start and end print script to include BLTouch check (and few useful tweaks)

Start

  1. M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration
  2. M203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate
  3. M204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration
  4. M205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk
  5. M220 S100 ;Reset Feedrate
  6. M221 S100 ;Reset Flowrate
  7. G1 E-4 F300 ;Retract 4mm of filament at 300mm/s // Canan
  8. G28 ;Home
  9. G29 ;Bed levelling [Linear/Bilinear/Mesh] // Canan
  10. G1 E0 F300 ;Reset Extruder at 300mm/s to cancel retractation // Canan
  11. G92 E0 ;Reset Extruder
  12. G1 Z2.0 F3000 ;Move Z Axis up
  13. G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position
  14. G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
  15. G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
  16. G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
  17. G92 E0 ;Reset Extruder
  18. G1 Z2.0 F3000 ;Move Z Axis up
  19. ;M300 S440 P200 ;Play a tone at 440Hz during 0.2s // Canan
  20. M117 Ready ;Print a message on the LCD // Canan

End

  1. G4 ;Wait // Canan
  2. G92 E0 ;Reset extruder // Canan
  3. G91 ;Relative positioning
  4. ;G1 E-2 F2700 ;Retract a bit
  5. ;G1 E-2 Z0.2 F2400 ;Retract and raise Z
  6. G1 E-4 F300 ;Retract 4mm of filament at 300mm/s before lift the nozzle // Canan
  7. G1 Z10 F5000 ;Lifts the nozzle off of the print 10mm // Canan
  8. G1 X5 Y5 F3000 ;Wipe out
  9. G1 Z10 ;Raise Z more
  10. G90 ;Absolute positioning
  11. ;G1 X0 Y{machine_depth} ;Present print
  12. G1 X0 Y200 ;Present the print // Canan
  13. M106 S0 ;Turn-off fans
  14. M104 S0 ;Turn-off hotend
  15. M140 S0 ;Turn-off bed
  16. ;M84 X Y E ;Disable all steppers except Z
  17. M84 ;Disable motors (M17 to renable it) // Canan
  18. ;M80 ;Power down main power supply // Canan
  19. ;M300 S440 P200 ;Play a tone at 440Hz during 0.2s // Canan
  20. M117 Finish ;Print a message on the LCD // Canan

First layer calibration

  1. You have to check if everything is good, so simply print a model test
  2. First_layer_calibration.stl

Known issues

If everything works before, test to simple turn OFF your printer, be sure the pin of BLTouch is out, and turn it ON again

  1. If you have "Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)", if you don't have issue to pre-heat, it means the "thermistor" is correctly connected and is not damaged, otherwise you have to change it! Normally you don't have "thermistor" problem, so it is simply due to no constant or no connection at all from the White/Black cable coming out from the BLTouch to the Printers Z-Endstop Pins, so make sure the connection are perfect
  2. /!\ So the 2-pins black and white must be on z-axis place in correct sens!

Useful commands

  1. M111 S247 ;Debug messages mode
  2. M701 ;Load filament
  3. M702 ;Unload filament