Anycubic i3 Mega

From Blue-IT.org Wiki

Support

Cura Plugins

Electric Print Cost Calculator

Octoprint Plugin

Start GCODE

With Nossle Clean (Cura 2.6.) and Octoprint 1.3.11

[UPDATE 06/2019 - only works with Cura 3.2]

First of all: ONLY put the code into Cura! DO NOT PUT it into Octoprint or both. This would mess things up.

End Codes will remain the same.

; CUSTOM START GCODE WITH NOSSLE CLEAN
; Anycubic i3 Mega Scnd. Gen.
; Put ONLY in Cura 3.6+ and NOT in Octoprint
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G1 Z15.0 ;move the platform down 15mm
G28                          ; Home X/Y/Z axis
M190 S{material_bed_temperature_layer_0}
M109 S{material_print_temperature_layer_0}
G0 X1 Y0 Z0.15 F9000         ; Move in 1mm from edge and up [z] 0.15mm
G92 E0                       ; Set extruder to [0] zero
G1 X100 E50 F500             ; Extrude 100mm filament along Y axis 190mm long to prime and clean the nozzle
G92 E0                       ; Reset extruder to [0] zero end of cleaning run
G1 E-3 F500                  ; Retract filiment by 3 mm to reduce string effect
G1 X3 X100 Z15 F9000         ; Move over and rise to safe Z height
G1 X3 Y0 Z15 F9000	      ; Move back to front of bed at safe Z height to shear strings
M117 Printing...
G5

With Nossle Clean

[UPDATE 06/2019 - only works with Cura 3.2]

; CUSTOM START GCODE WITH NOSSLE CLEAN
; ORIGINAL ANYCUBIC i3 MEGA STARTCODE (some disabled)
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G1 Z15.0 F{speed_travel} ;move the platform down 15mm
;G92 E0 ;zero the extruded length
;G1 F200 E3 ;extrude 3mm of feed stock
;G92 E0 ;zero the extruded length again
;G1 F{speed_travel}
;M117 Printing...
;G5

; http://diy3dtech.com/nozzle-cleaning-g-code/
; Place as start G-Code in Slicer
; Use of this code is at your own risk (no warranties made or implied)
;
M117 Clean			; Indicate nozzle clean in progress on LCD
;M109 S<your temp>   		; Uncomment to set your own temp [run warmer to clean out nozzle]
; M107				; Turn layer fan off
; G21				; Set to metric [change to G20 if you want Imperial]
; G90                          ; Force coordinates to be absolute relative to the origin
G28                          ; Home X/Y/Z axis
G0 X1 Y0 Z0.15 F9000         ; Move in 1mm from edge and up [z] 0.15mm
G92 E0                       ; Set extruder to [0] zero
G1 X100 E50 F500             ; Extrude 100mm filament along Y axis 190mm long to prime and clean the nozzle
G92 E0                       ; Reset extruder to [0] zero end of cleaning run
G1 E-3 F500                  ; Retract filiment by 3 mm to reduce string effect
G1 X3 X100 Z15 F9000         ; Move over and rise to safe Z height
G1 X3 Y0 Z15 F9000	      ; Move back to front of bed at safe Z height to shear strings
;
; Ensure extruder is not reset by other code or it will be 3mm short [see next line also]
;G1 E3 F500					; Uncomment if you believe exruder will be reset
; Recommend turning off SKIRT in the slicer to avoid strings pulled into first layer
; Begin printing with sliced GCode after here
G1 F{speed_travel}
M117 Printing...
G5

Original

; ORIGINAL ANYCUBIC i3 MEGA STARTCODE
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G1 Z15.0 F{speed_travel} ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3mm of feed stock
G92 E0 ;zero the extruded length again
G1 F{speed_travel}
M117 Printing...
G5

End Code

Original

; ANYCUBIC i3 MEGA END GCODE
M104 S0 ; turn off extruder
M140 S0 ; turn off bed
M84 ; disable motors
M107
G91 ;relative positioning
G1 E-1 F300 ;retract the filament a bit before lifting the nozzle to release some of the pressure
G1 Z+0.5 E-5 ;X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more
G28 X0 ;Y0 ;move X/Y to min endstops so the head is out of the way
G1 Y180 F2000
M84 ;steppers off
G90
M300 P300 S4000


Calibrating extruder

I got an updated extruder for my i3 mega - the one of the i3Mega S. I did not want to flash my firmware, so I had to to calibrate the extruder.

It took me a while, until I recognized, the sending M92 Exxx codes to the printer had no effect. I googled a lot and found out, that the printer works with another subset of gcodes:

The whole idea is to set a "multiplicator" value instead of a fixed one. The command is

M8011 S0.002 ; set multiplicator to 0.002
M8500        ; save to EEPROM

That was my starting point get exact 100mm of filament out of the extruder. The formula to precice the solution is:

new multiplicator = ( messured value (mm) /  [1] ) * [2]
[1] filament length reference value in mm - here 100mm
[2] the acual messured value, that went through the extruder -  here 0.002 (our starting point)

Do this until [2] = [1] :-) Voilà.