You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Happy Hare Setup for my Sovol SV08 with "Demon Klipper Essentials Unified" and Microswiss Hotend.
MMX is connected directly via USB to the Printer (no U2C)
First configure mmu/base/mmu.cfg and provide the correct board_pins. Refer to the Documentation provided by the MMX Project and Low Rider MMU Project.
The Configuration should be as follow:}
Hardware
Pin
Gate 0
PB7
Gate 1
PB5
Gate 2
PB6
Gate 3
PB8
Servo
PB9
Neopixel LEDs
PD3
For the Stepper
Hardware
Pin
UART
PA15
STEP
PD0
DIR
PD1
ENABLE
PD2
For the Gate Sensor we use the SOVOL SV08 Stock Filament Runoutsensor.
My Final Configuration is:
For LEDs to work properly configure under [neopixel mmu_leds]
color_order: RGB
I also recommend to increase the hold_current as 0.1 was, in my case, to low for the speed that the Sovol SV08 can reach.
hold_current=0.4
Configure other MMU Settings
First of all we need to enable Motor sync in mmu/base/mmu_parameters.cfg. Set
sync_to_extruder: 1 # Gear motor is synchronized to extruder during print
sync_gear_current: 70 # % of gear_stepper current (10%-100%) to use when syncing with extruder during print
sync_form_tip: 1 # Synchronize during standalone tip formation (initial part of unload)
sync_purge: 1 # Synchronize during standalone purging (last part of load)
Also make sure toolhead is correctly configured. In my case i have set those values:
(I did not meassure everything 100% correclty so meassure your setup again; also i use a Microswiss Hotend)
toolhead_extruder_to_nozzle: 78 # Distance from extruder gears (entrance) to nozzle
toolhead_sensor_to_nozzle: 62 # Distance from toolhead sensor to nozzle (ignored if not fitted)
toolhead_entry_to_extruder: 29 # Distance from extruder "entry" sensor to extruder gears (ignored if not fitted)# This setting represents how much residual filament is left behind in the nozzle when filament is removed, it is thus# used to reduce the extruder loading length and prevent excessive blobbing but also in the calculation of purge volume.# Note that this value can also be measured with the `MMU_CALIBRATE_TOOLHEAD` procedure#
toolhead_residual_filament: 25 # Reduction in extruder loading length because of residual filament left behind
variable_min_toolchange_z : 10.0 ; The absolute minimum safety floor (z-height) for ALL parking moves
...
variable_park_toolchange : 255, 363, 5, 0, 2 ; x,y,z-hop,z_hop_ramp,retract for "toolchange" operations (toolchange,load,unload)
variable_park_runout : 255, 363, 5, 5, 2 ; x,y,z-hop,z_hop_ramp,retract
variable_park_pause : 255, 363, 5, 0, 2 ; x,y,z-hop,z_hop_ramp,retract (park position when mmu error occurs)
variable_park_cancel : 255, 363, 10, 0, 2 ; x,y,z-hop,z_hop_ramp,retract
variable_park_complete : 255, 363, 10, 0, 2 ; x,y,z-hop,z_hop_ramp,retract
...
variable_park_travel_speed : 60 ; Speed for any travel movement XY(Z) in mm/s
I also disabled WIPETOWER and therefore needed to set force_purge_standalone: 1
Finally restart your Firmeware and check if the Gate Sensors are properly working.
Configure Print Files
As we use the default Filament Sensor and we use it as MMU_GATE we need to disable it in the printer.cfg.
Either remove or comment the whole section [filament_switch_sensor filament_sensor]
Also set variable_runout_sensor=False in Demon_User_Files/demon_user_settings_vx.x.x.cfg
Run MMU_CALIBRATE_SELECTOR SPACING=60 GATE=3 this will add mmu_selector_angles as propery to your specified [save_variables].
Now run
service klipper stop
sudo nano /path/to/my/save_variables_file
Modify the property mmu_selector_anglesto have the angle at the correct Gate.
For me the Servo Angle's need to be mmu_selector_angles = [180, 120, 60, 0] and Start Klipper again via service klipper start
in mmu/base/mmu_parameters.cfg the value for selector_gate_angles can also be adjusted instead of going through calibration if you already know which angle will trigger which gate.
For Gate 1-3 this can be simplified, as we only have one motor for all gates, by running:
MMU_SELECT GATE=1,2,3 and calibrate Distance via MMU_CALIBRATE_GEAR MEASURED=<myValue>
Calibrate Bowden
Reference: https://github.com/moggieuk/Happy-Hare/wiki/MMU-Calibration-TypeA#---step-5-calibrate-bowden-length
As the Stock Sovol SV08 only have a normal Filament Runout sensor we push the Filament until it reaches the Toolhead Gears and then run
MMU_CALIBRATE_BOWDEN BOWDEN_LENGTH=1000 MANUAL=1
This will reverse check the distance and will save the value in the [save_variables] under mmu_calibration_bowden_lengths
Also configure/set the distance the Filament needs to travel additionaly after Unloading so that the PTFE Splitter is free via gate_parking_distance in mmu/base/mmu_parameters.cfg
Clean Nozzle after Load, in mmu/base/mmu_macro_vars.cfg
variable_user_post_load_extension : 'CLEAN_NOZZLE'; Executed after default logic but before restoring toolhead position
if still using DEMON MACRO PRINT_END and PAUSE Location is defined as x=255 y=363 the PRINT_END Macro will relatively move the head by x=5 y=5 and therefore into an Out or Range area.
This will cause a cancel in the end sequence.
You can either remove PRINT_END or enable _CUSTOM_PRE_END in Demon_User_Files/demon_custom_expansion_vx.x.xcfg to move the head x=-5 y=-5 before moving it back again.