diff --git a/Manuals/Klipper/Fluidd/printer.cfg b/Manuals/Klipper/Fluidd/printer.cfg index 7ad751f..b13331f 100644 --- a/Manuals/Klipper/Fluidd/printer.cfg +++ b/Manuals/Klipper/Fluidd/printer.cfg @@ -257,7 +257,7 @@ rotation_distance: 22.7923459 # CALIBRATED for Stealthburner ## Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio) ## Use 80:20 for M4, M3.1 ## Use 7.5:1 for Galileo -gear_ratio: 50:1 #for Galileo +gear_ratio: 5:1 #for Galileo microsteps: 32 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree nozzle_diameter: 0.400 @@ -532,127 +532,11 @@ gcode: #-------------------------------------------------------------------- - -##################################################################### -# Macros -##################################################################### - -[gcode_macro CENTER] -gcode: - G0 X175 Y175 Z30 F3600 - -[gcode_macro G32] -gcode: - SAVE_GCODE_STATE NAME=STATE_G32 - G90 - G28 - QUAD_GANTRY_LEVEL - G28 - - ## Uncomment for for your size printer: - #-------------------------------------------------------------------- - ## Uncomment for 250mm build - #G0 X125 Y125 Z30 F3600 - - ## Uncomment for 300 build - #G0 X150 Y150 Z30 F3600 - - ## Uncomment for 350mm build - G0 X175 Y175 Z30 F3600 - #-------------------------------------------------------------------- - RESTORE_GCODE_STATE NAME=STATE_G32 - - -[gcode_macro PRINT_START] -# Use PRINT_START for the slicer starting script - please customise for your slicer of choice -gcode: - start_tones - BED_MESH_CLEAR - G32 ; home all axes - BED_MESH_PROFILE LOAD=default - G90 - G0 X175 Y175 Z30 F3600 ; move nozzle away from bed - -[gcode_macro PRINT_END] -# Use PRINT_END for the slicer ending script - please customise for your slicer of choice -gcode: - M400 ; wait for buffer to clear - G92 E0 ; zero the extruder - G1 E-5 F1800 ; retract filament - G91 ; relative positioning - G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing - TURN_OFF_HEATERS - M107 ; turn off fan - G1 Z2 F3000 ; move nozzle up 2mm - G90 ; absolute positioning - G0 X125 Y250 F3600 ; park nozzle at rear - BED_MESH_CLEAR - end_tones - - - -###################################################################### -# Beeper -###################################################################### - -# M300 : Play tone. Beeper support, as commonly found on usual LCD -# displays (i.e. RepRapDiscount 2004 Smart Controller, RepRapDiscount -# 12864 Full Graphic). This defines a custom I/O pin and a custom -# GCODE macro. Usage: -# M300 [P] [S] -# P is the tone duration, S the tone frequency. -# The frequency won't be pitch perfect. - -[output_pin BEEPER_pin] -pin: PC9 -# Beeper pin. This parameter must be provided. -# ar37 is the default RAMPS/MKS pin. -pwm: True -# A piezo beeper needs a PWM signal, a DC buzzer doesn't. -value: 0 -# Silent at power on, set to 1 if active low. -shutdown_value: 0 -# Disable at emergency shutdown (no PWM would be available anyway). -cycle_time: 0.001 -# Default PWM frequency : 0.001 = 1ms will give a tone of 1kHz -# Although not pitch perfect. - -[gcode_macro M300] -gcode: - # Use a default 1kHz tone if S is omitted. - {% set S = params.S|default(1000)|int %} - # Use a 10ms duration is P is omitted. - {% set P = params.P|default(100)|int %} - SET_PIN PIN=BEEPER_pin VALUE=0.5 CYCLE_TIME={ 1.0/S if S > 0 else 1 } - G4 P{P} - SET_PIN PIN=BEEPER_pin VALUE=0 - -[gcode_macro start_tones] -gcode: - M300 S1000 P500 ; chirp to indicate starting to print - -[gcode_macro end_tones] -gcode: - M300 S440 P200 ; Make Print Completed Tones - M300 S660 P250 - M300 S880 P300 - -[gcode_macro error_tones] -gcode: - M300 S700 P1500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - [include fluidd.cfg] [include menu_bed.cfg] [include leds.cfg] [include stealthburner_leds.cfg] - +[include macros.cfg] ## Common Temperature Sensors ## "EPCOS 100K B57560G104F" diff --git a/Manuals/Klipper/Mainsail/printer.cfg b/Manuals/Klipper/Mainsail/printer.cfg index a1fd40d..e37958f 100644 --- a/Manuals/Klipper/Mainsail/printer.cfg +++ b/Manuals/Klipper/Mainsail/printer.cfg @@ -257,7 +257,7 @@ rotation_distance: 22.7923459 # CALIBRATED for Stealthburner ## Use 50:17 for Afterburner/Clockwork (BMG Gear Ratio) ## Use 80:20 for M4, M3.1 ## Use 7.5:1 for Galileo -gear_ratio: 50:1 #for Galileo +gear_ratio: 5:1 #for Galileo microsteps: 32 full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree nozzle_diameter: 0.400 @@ -532,127 +532,11 @@ gcode: #-------------------------------------------------------------------- - -##################################################################### -# Macros -##################################################################### - -[gcode_macro CENTER] -gcode: - G0 X175 Y175 Z30 F3600 - -[gcode_macro G32] -gcode: - SAVE_GCODE_STATE NAME=STATE_G32 - G90 - G28 - QUAD_GANTRY_LEVEL - G28 - - ## Uncomment for for your size printer: - #-------------------------------------------------------------------- - ## Uncomment for 250mm build - #G0 X125 Y125 Z30 F3600 - - ## Uncomment for 300 build - #G0 X150 Y150 Z30 F3600 - - ## Uncomment for 350mm build - G0 X175 Y175 Z30 F3600 - #-------------------------------------------------------------------- - RESTORE_GCODE_STATE NAME=STATE_G32 - - -[gcode_macro PRINT_START] -# Use PRINT_START for the slicer starting script - please customise for your slicer of choice -gcode: - start_tones - BED_MESH_CLEAR - G32 ; home all axes - BED_MESH_PROFILE LOAD=default - G90 - G0 X175 Y175 Z30 F3600 ; move nozzle away from bed - -[gcode_macro PRINT_END] -# Use PRINT_END for the slicer ending script - please customise for your slicer of choice -gcode: - M400 ; wait for buffer to clear - G92 E0 ; zero the extruder - G1 E-5 F1800 ; retract filament - G91 ; relative positioning - G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing - TURN_OFF_HEATERS - M107 ; turn off fan - G1 Z2 F3000 ; move nozzle up 2mm - G90 ; absolute positioning - G0 X125 Y250 F3600 ; park nozzle at rear - BED_MESH_CLEAR - end_tones - - - -###################################################################### -# Beeper -###################################################################### - -# M300 : Play tone. Beeper support, as commonly found on usual LCD -# displays (i.e. RepRapDiscount 2004 Smart Controller, RepRapDiscount -# 12864 Full Graphic). This defines a custom I/O pin and a custom -# GCODE macro. Usage: -# M300 [P] [S] -# P is the tone duration, S the tone frequency. -# The frequency won't be pitch perfect. - -[output_pin BEEPER_pin] -pin: PC9 -# Beeper pin. This parameter must be provided. -# ar37 is the default RAMPS/MKS pin. -pwm: True -# A piezo beeper needs a PWM signal, a DC buzzer doesn't. -value: 0 -# Silent at power on, set to 1 if active low. -shutdown_value: 0 -# Disable at emergency shutdown (no PWM would be available anyway). -cycle_time: 0.001 -# Default PWM frequency : 0.001 = 1ms will give a tone of 1kHz -# Although not pitch perfect. - -[gcode_macro M300] -gcode: - # Use a default 1kHz tone if S is omitted. - {% set S = params.S|default(1000)|int %} - # Use a 10ms duration is P is omitted. - {% set P = params.P|default(100)|int %} - SET_PIN PIN=BEEPER_pin VALUE=0.5 CYCLE_TIME={ 1.0/S if S > 0 else 1 } - G4 P{P} - SET_PIN PIN=BEEPER_pin VALUE=0 - -[gcode_macro start_tones] -gcode: - M300 S1000 P500 ; chirp to indicate starting to print - -[gcode_macro end_tones] -gcode: - M300 S440 P200 ; Make Print Completed Tones - M300 S660 P250 - M300 S880 P300 - -[gcode_macro error_tones] -gcode: - M300 S700 P1500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - M300 S700 P500 ; Make Print Completed Tones - [include mainsail.cfg] [include menu_bed.cfg] [include leds.cfg] [include stealthburner_leds.cfg] - +[include macros.cfg] ## Common Temperature Sensors ## "EPCOS 100K B57560G104F" diff --git a/Manuals/Klipper/leds.cfg b/Manuals/Klipper/leds.cfg index 76c0fe8..4eb2dc6 100644 --- a/Manuals/Klipper/leds.cfg +++ b/Manuals/Klipper/leds.cfg @@ -1,4 +1,4 @@ -[neopixel Case_Lights] +[neopixel caselight] # To control Neopixel RGB in case leds pin: PB13 chain_count: 70 diff --git a/Manuals/Klipper/macros.cfg b/Manuals/Klipper/macros.cfg new file mode 100644 index 0000000..a0191fe --- /dev/null +++ b/Manuals/Klipper/macros.cfg @@ -0,0 +1,238 @@ +##################################################################### +# Macros +##################################################################### + +[gcode_macro CENTER] +gcode: + G0 X175 Y175 Z30 F3600 + +[gcode_macro G32] +gcode: + SAVE_GCODE_STATE NAME=STATE_G32 + G90 + G28 + QUAD_GANTRY_LEVEL + G28 + + ## Uncomment for for your size printer: + #-------------------------------------------------------------------- + ## Uncomment for 250mm build + #G0 X125 Y125 Z30 F3600 + + ## Uncomment for 300 build + #G0 X150 Y150 Z30 F3600 + + ## Uncomment for 350mm build + G0 X175 Y175 Z30 F3600 + #-------------------------------------------------------------------- + RESTORE_GCODE_STATE NAME=STATE_G32 + + +[gcode_macro PRINT_START] +# Use PRINT_START for the slicer starting script - please customise for your slicer of choice +gcode: + start_tones + BED_MESH_CLEAR + G32 ; home all axes + BED_MESH_PROFILE LOAD=default + G90 + G0 X175 Y175 Z30 F3600 ; move nozzle away from bed + +[gcode_macro PRINT_END] +# Use PRINT_END for the slicer ending script - please customise for your slicer of choice +gcode: + M400 ; wait for buffer to clear + G92 E0 ; zero the extruder + G1 E-5 F1800 ; retract filament + G91 ; relative positioning + G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing + TURN_OFF_HEATERS + M107 ; turn off fan + G1 Z2 F3000 ; move nozzle up 2mm + G90 ; absolute positioning + G0 X125 Y250 F3600 ; park nozzle at rear + BED_MESH_CLEAR + end_tones + +[delayed_gcode _SET_CASELIGHT_OFF] +gcode: + SET_CASELIGHT_OFF + +[gcode_macro SET_CASELIGHT_ON] +description: Turn on the caselight LEDs +gcode: + SET_PIN PIN=caselight VALUE=1 + +[gcode_macro SET_CASELIGHT_OFF] +description: Turn off the caselight LEDs +gcode: + SET_PIN PIN=caselight VALUE=0 + +[gcode_macro TOGGLE_CASELIGHT] +description: Switch caselight on/off +gcode: + {% set status = printer['output_pin caselight'].value | float %} + {% if status == 0 %} + SET_CASELIGHT_ON + {% else %} + SET_CASELIGHT_OFF + {% endif %} + +[gcode_macro WAKEUP] +gcode: + SET_CASELIGHT_ON + UNDERGLOW_SET RED=255 GREEN=0 BLUE=0 + START_TEMP_MONITOR + STATUS_READY + +[gcode_macro SLEEP] +gcode: + M84 + M107 + STOP_TEMP_MONITOR + TURN_OFF_HEATERS + SET_CASELIGHT_OFF + UPDATE_DELAYED_GCODE ID=_DISABLE_COOLING DURATION=300 + UPDATE_DELAYED_GCODE ID=_DISABLE_EXHAUST DURATION=300 + SET_FAN_SPEED FAN=chamber_fan SPEED=0 + STATUS_OFF + +[delayed_gcode _TEMP_MONITOR] +initial_duration: 60.0 +gcode: + {% set mcu_target = 40 %} + {% set host_target = 55 %} + {% set encl_target = 60 %} + {% set verbose = False %} + {% set period = 60 %} + {% set default_speed = 0.5 %} + {% set printing_speed = 0.25 %} + {% set max_speed = 1.0 %} + {% set min_speed = 0.0 %} + {% set threshold = 1.1 %} + + {% set mcu = printer['temperature_sensor Mcu_temp'].temperature | float %} + # {% set encl = printer['temperature_sensor enclosure_temp'].temperature | float %} + {% set encl = 0 | float %} + {% set host = printer['temperature_sensor Host_temp'].temperature | float %} + + {% if verbose %} + { action_respond_info("Entering Temp Montor routine") } + { action_respond_info("Printer state %s" % printer.idle_timeout.state) } + {% endif %} + + {% if printer.idle_timeout.state == 'Printing' %} + {% set min_speed = printing_speed %} + {% endif %} + + {% if printer.idle_timeout.state != 'Idle' %} + + {% if mcu > (mcu_target * threshold) or host > (host_target * threshold) %} + {% if verbose %} + { action_respond_info("MCU/Host temp (%.1f/%.1f) exceeds max fan threshold (%.1f/%.1f), setting cooling to %.0f%%" % (mcu, host, mcu_target*threshold,host_target * threshold,max_speed*100)) } + {% endif %} + SET_FAN_SPEED FAN=cooling_fan SPEED={max_speed} + {% elif mcu > mcu_target or host > host_target %} + {% if verbose %} + { action_respond_info("MCU/Host temp (%.1f/%.1f) above target temp (%.1f/%.1f), setting cooling to %.0f%%" % (mcu, host, mcu_target, host_target,default_speed*100)) } + {% endif %} + SET_FAN_SPEED FAN=cooling_fan SPEED={default_speed} + {% else %} + {% if verbose %} + { action_respond_info("MCU/Host (%.1f/%.1f) temp below target temp (%.1f,%.1f) while %s, setting cooling to %.0f%%" % (mcu, host, mcu_target, host_target,printer.idle_timeout.state,min_speed*100)) } + {% endif %} + SET_FAN_SPEED FAN=cooling_fan SPEED={min_speed} + {% endif %} + + # {% if encl > (encl_target * threshold) %} + # {% if verbose %} + # { action_respond_info("Enclosure temp (%.1f) exceeds max fan threshold (%.1f), setting exhaust to %.0f%%" % (encl, encl_target * threshold,max_speed*100)) } + # {% endif %} + # SET_FAN_SPEED FAN=exhaust_fan SPEED={max_speed} + # {% elif encl > encl_target %} + # {% if verbose %} + # { action_respond_info("Enclosure temp (%.1f) above target temp (%.1f), setting exhaust to %.0f%%" % (encl, encl_target,default_speed*100)) } + # {% endif %} + # SET_FAN_SPEED FAN=exhaust_fan SPEED={default_speed} + # {% else %} + # {% if verbose %} + # { action_respond_info("Enclosure temp (%.1f) below target temp (%.1f), setting exhaust to %.0f%%" % (encl, encl_target,min_speed*100)) } + # {% endif %} + # SET_FAN_SPEED FAN=exhaust_fan SPEED={min_speed} + # {% endif %} + {% else %} + {% if verbose %} + { action_respond_info("Printer idle, skipping temperature checks. MCU: %.1f, Host: %.1f, Enclosure: %.1f." % (mcu, host, encl )) } + {% endif %} + {% endif %} + + {% if verbose %} + { action_respond_info("Exiting Temp Montor routine") } + {% endif %} + + UPDATE_DELAYED_GCODE ID=_TEMP_MONITOR DURATION={period} + +[gcode_macro START_TEMP_MONITOR] +gcode: + UPDATE_DELAYED_GCODE ID=_TEMP_MONITOR DURATION=1 + +[gcode_macro STOP_TEMP_MONITOR] +gcode: + UPDATE_DELAYED_GCODE ID=_TEMP_MONITOR DURATION=0 + +###################################################################### +# Beeper +###################################################################### + +# M300 : Play tone. Beeper support, as commonly found on usual LCD +# displays (i.e. RepRapDiscount 2004 Smart Controller, RepRapDiscount +# 12864 Full Graphic). This defines a custom I/O pin and a custom +# GCODE macro. Usage: +# M300 [P] [S] +# P is the tone duration, S the tone frequency. +# The frequency won't be pitch perfect. + +[output_pin BEEPER_pin] +pin: PC9 +# Beeper pin. This parameter must be provided. +# ar37 is the default RAMPS/MKS pin. +pwm: True +# A piezo beeper needs a PWM signal, a DC buzzer doesn't. +value: 0 +# Silent at power on, set to 1 if active low. +shutdown_value: 0 +# Disable at emergency shutdown (no PWM would be available anyway). +cycle_time: 0.001 +# Default PWM frequency : 0.001 = 1ms will give a tone of 1kHz +# Although not pitch perfect. + +[gcode_macro M300] +gcode: + # Use a default 1kHz tone if S is omitted. + {% set S = params.S|default(1000)|int %} + # Use a 10ms duration is P is omitted. + {% set P = params.P|default(100)|int %} + SET_PIN PIN=BEEPER_pin VALUE=0.5 CYCLE_TIME={ 1.0/S if S > 0 else 1 } + G4 P{P} + SET_PIN PIN=BEEPER_pin VALUE=0 + +[gcode_macro start_tones] +gcode: + M300 S1000 P500 ; chirp to indicate starting to print + +[gcode_macro end_tones] +gcode: + M300 S440 P200 ; Make Print Completed Tones + M300 S660 P250 + M300 S880 P300 + +[gcode_macro error_tones] +gcode: + M300 S700 P1500 ; Make Print Completed Tones + M300 S700 P500 ; Make Print Completed Tones + M300 S700 P500 ; Make Print Completed Tones + M300 S700 P500 ; Make Print Completed Tones + M300 S700 P500 ; Make Print Completed Tones + M300 S700 P500 ; Make Print Completed Tones + M300 S700 P500 ; Make Print Completed Tones + M300 S700 P500 ; Make Print Completed Tones \ No newline at end of file diff --git a/Manuals/Slicer/Readme.md b/Manuals/Slicer/Readme.md index 6f2ceaa..059af44 100644 --- a/Manuals/Slicer/Readme.md +++ b/Manuals/Slicer/Readme.md @@ -4,9 +4,9 @@ 2. If you are not using 350mm bed, adjust bed size. 3. If you are using different nozzle, then adjust it's size. 4. We recommend using [SuperSlicer](https://github.com/supermerill/SuperSlicer) for Voron Printers but you can also use [PrusaSlicer](https://github.com/prusa3d/PrusaSlicer). -5. Select Voron V2.4 Afterburner 0.4 nozzle as it closest default preset in slicer. +5. Select Voron V2.4 Afterburner 0.4 nozzle as it closest default preset in slicer. This should be your starting point for trying to print. 6. You can import PIF profiles in this folder, but please do read first on -[Ellis-PIF-Profile](https://github.com/AndrewEllis93/Ellis-PIF-Profile). These files are from him. +[Ellis-PIF-Profile](https://github.com/AndrewEllis93/Ellis-PIF-Profile). These files are for printer that has resolved it's teething issues. ## Voron 2.4 Bed STL for PrusaSlicer and SuperSlicer Download the appropriate STL for your bed size @@ -22,5 +22,5 @@ Import under Printer Settings > General > Bed Shape (Set ...) > Model (Load...) # Sources: [Voron Extras Github](https://github.com/VoronDesign/Voron-Extras) [Voron 2 Github](https://github.com/VoronDesign/Voron-2) -[Voron Design Docs - Slicer](https://docs.vorondesign.com/build/slicer/) +[Voron Design Docs - Slicer](https://docs.vorondesign.com/build/slicer/) [Ellis-PIF-Profile](https://github.com/AndrewEllis93/Ellis-PIF-Profile) \ No newline at end of file diff --git a/Manuals/Tuning/Readme.md b/Manuals/Tuning/Readme.md index e0f4d8d..1ab43a5 100644 --- a/Manuals/Tuning/Readme.md +++ b/Manuals/Tuning/Readme.md @@ -34,6 +34,7 @@ 1. A good result of your work should be having variance of less than 0.3mm. 1. Things that can affect this: uneven bed magnet application, uneven surfaces of bed sheet, bed itself, uneven gantry or frame, to fast bed heating. The reason why we do this heightmap is to cancel out any imperfections via software. 3. Save with provided name "default" <- this way, it will be automatically picked up by config you imported earlier. + 4. Run **SAVE_CONFIG** command Thats it for tuning. You should be now ready for your first print. If you had any issues along the way, you can take a look at [very detailed tuning guide](https://github.com/AndrewEllis93/Print-Tuning-Guide) by AndrewEllis93. You can also find some helpful tuning print files [here](../Test_Prints/).