the very original project is kevinakasam's https://github.com/kevinakasam/ERCF_Filament_Cutter
the very good first mod from jmillerfo's https://www.printables.com/model/886128-ercf-erec-encoder-mounted-filament-cutter ERCF EREC Encoder Mounted Filament Cutter
The above mod already works very well, I only made below changes to fit my own personal preference.
My mod/change list from the above first mod, check below change list/mod list description.
other things worth mentioning:
1 I am using ERCF V1 system with binky solution ( my own pcb design though, slightly different from binky pcb), but overall, I am using ERCF V1. I think this info is useful, I think many people are still using the older ERCF V1 and not yet purchase and building upgrading to V2. This demonstrated V1 works with filament cutter.
2 in the original cutter encoder case, the magnet holder is removed, so no magnet to open the ERCF V1 's washer front door lock, so I have to remove all washers
3 software side I am using ERCF-software-V3 which is the older ERCF software. originally it doesn't support this EREC filament cutter, but I have my own fork/branch, some work has been done to make it works with the EREC filament cutter. I think this is useful because I think some people are still using the above software and not yet not ready to upgrade to the newer happy hare 3.
https://github.com/ntchris/ERCF-Software-V3
4 I didn't change the encoder case, tested with the original cutter's encoder case, all compatible. ( well , not 100% correct, I enlarged the optical sensor cut out a little bit to fit my own PCB design)
5 electrical wiring, I am using BTT MMB CAN ercf board, we can connect the servo to STP11 port, the last one. the MMB CAN is a 3.3V system, which below normal servo's signal voltage level (5V), so some STP ports have lower signal voltage, so they may not work, if your servo doesn't move at all, try change another port ( remember change it in the config file as well). always check PIN definition. the ports pins are in very different order from normal servo connector.
6 hardware change due to the part changes:
- use 2 pcs M2.6 tapping screw for knife mount. stronger.
- button head M3 X 8mm servo centre screw,….only because it looks better than socket head screw.
cutter ERCF config
[gcode_macro _EREC_VARS] description: Empty macro to store the variables gcode: # Leave empty # These variables control the servo movement variable_servo_closed_angle : 12; Servo angle for closed postion with bowden aligned MMU variable_servo_open_angle : 155 ; must > ####. move more to have more energy? # miller v2 whole round gear design. cutter design position about to cut, knife facing PETF. Servo angle to open up the cutter and move variable_servo_duration : 0.4; Time (s) of PWM pulse to activate servo variable_servo_idle_time : 1.0; Time (s) to let the servo to reach it's position # Controls for feed and cut lengths variable_feed_length : 58; Distance in mm from gate parking position to position of blade variable_cut_length : 10 ; Amount in mm of filament to cut variable_cut_attempts : 1; Number of times the cutter tries to cut the filament ########################################################################### # Macro to perform the cutting step. Designed to be included to the # _MMU_POST_UNLOAD step # [gcode_macro EREC_CUTTER_ACTION] description: Cut off the filament tip at the MMU after the unload sequence is complete gcode: {% set vars = printer["gcode_macro _EREC_VARS"] %} _CUTTER_OPEN _MMU_STEP_MOVE MOVE={vars.feed_length + vars.cut_length} _CUTTER_CLOSE ERCF_UNLOAD_ENCODER M400 # Wait on both move queues [gcode_macro _CUTTER_CLOSE] description: Helper macro to set cutting servo the closed position gcode: {% set vars = printer["gcode_macro _EREC_VARS"] %} SET_SERVO SERVO=cut_servo ANGLE={vars.servo_closed_angle} DURATION={vars.servo_duration} G4 P{vars.servo_idle_time * 1000} RESPOND MSG="EREC Cutter closed" M400 [gcode_macro _CUTTER_OPEN] description: Helper macro to set cutting servo the open position gcode: {% set vars = printer["gcode_macro _EREC_VARS"] %} SET_SERVO SERVO=cut_servo ANGLE={vars.servo_open_angle} DURATION={vars.servo_duration} G4 P{vars.servo_idle_time * 1000} RESPOND MSG="EREC Cutter open" M400
Test gcode file, cut it 5 times.
printable doesn't allow gcode contain command it doesn't understand, cutter action command is one of the unknown command.
with my branch of software and config, below command shall move the loaded filament out for 10mm and cut, and move filament to preload position, and repeat 5 times, wait 1 second in between.
EREC_CUTTER_ACTION G4 P1000 EREC_CUTTER_ACTION G4 P1000 EREC_CUTTER_ACTION G4 P1000 EREC_CUTTER_ACTION G4 P1000 EREC_CUTTER_ACTION G4 P1000
video how to eject filament then automatically cut , and cut N times.
to demonstrate the filament cutter design works with ERCF V1 system and older software (ERCF-software-V3)
Modellquelle
