forked from Zero-Grav/ERCF-Software-V3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathercf_hardware.cfg
134 lines (118 loc) · 5.93 KB
/
ercf_hardware.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
## Enraged Rabbit : Carrot Feeder config file with config for {brd_type} mcu
##
## EASY-BRD Setup Notes:
## J6 Jumper setting:
## Option 1: Pins 2-3 and 4-5, i.e. .[..][..]
## This is for sensorless selector setup. Note that this enables the option disables the "extra"
## switch so the toolhead sensor (if used) would have to be connected to the main mcu
## Option 2: Pins 1-2 and 4-5, i.e. [..].[..]
## It you are NOT using sensorless selector. The "extra" switch is enabled for other uses
##
## Fysetc Burrows ERB Setup Notes:
## No jumper configuration is required on this board, but but have 12v/24v supply connected
## Firmware install:
## > make menuconfig (rpi2040, No bootloader)
## > make
## Put card in boot loader mode:
Press & Hold ‘BOOTSEL’ ; click ‘RST’ ; Release ‘BOOTSEL’
## > make flash FLASH_DEVICE=2e8a:0003
##
[mcu ercf]
serial: {serial}
# FILAMENT DRIVE GEAR STEPPER ---------------------------------------------------------------------------------------------
# Adapt accordingly to your setup and desires
# The default values are tested with the BOM NEMA14 motor
# Please adapt these values to the motor you are using
# Example : for NEMA17 motors, you'll usually set the stealthchop_threshold to 0
# and use higher current
[tmc2209 manual_stepper gear_stepper]
uart_pin: {gear_uart_pin}
uart_address: 0
interpolate: True
run_current: 0.5 # NEMA14 motor
hold_current: 0.1 # Can be small
sense_resistor: 0.110
stealthchop_threshold: 0 # 999999 to enable stealthChop
[manual_stepper gear_stepper]
step_pin: {gear_step_pin}
dir_pin: {gear_dir_pin}
enable_pin: {gear_enable_pin}
rotation_distance: 22.7316868 # Bondtech 5mm Drive Gears. Must be manually verified and tuned.
gear_ratio: 80:20
microsteps: 8 # Recommend 8 or 16. Try both to avoid Klipper 'Timer too close' error (also try adjusting num_moves)
full_steps_per_rotation: 200 # 200 for 1.8 degree, 400 for 0.9 degree
velocity: 50
accel: 400
#
# Uncomment if you want to use sensorless SELECTOR with the ERCF EASY BRD (yes, this is on the gear stepper!)
# This should be the pin of the physical selector endstop and is used to determine the difference between the true
# endstop and a blockage preventing selector movement. Don't forget to set 'sensorless_selector: 0' in ercf_parameters.cfg
#endstop_pin: ^{gear_endstop_pin} # Comment if using physical endstop switch (default)
# SELECTOR STEPPER --------------------------------------------------------------------------------------------------------
[tmc2209 manual_stepper selector_stepper]
uart_pin: {selector_uart_pin}
uart_address: 1
run_current: 0.5 # NEMA17 motor
hold_current: 0.3 # Can be small if not using sensorless selector
interpolate: True
sense_resistor: 0.110
stealthchop_threshold: 0 # 999999 to enable stealthChop
#
# Uncomment the lines below if you want to use sensorless selector homing
# (and configure ercf_parameters.cfg correctly)
# or comment out if using physical endstop switch (default)
#diag_pin: ^{selector_diag_pin} # Set to MCU pin connected to TMC DIAG pin
#driver_SGTHRS: 75 # 255 is most sensitive value, 0 is least sensitive
[manual_stepper selector_stepper]
step_pin: {selector_step_pin}
dir_pin: {selector_dir_pin}
enable_pin: {selector_enable_pin}
rotation_distance: 40
microsteps: 16 # Don't need high fidelity
full_steps_per_rotation: 200 # 200 for 1.8 degree, 400 for 0.9 degree
velocity: 200
accel: 600
#
# Select the endstop switch physical (for normal selector) or virtual (sensorless selector homing)
#endstop_pin: tmc2209_selector_stepper:virtual_endstop # Uncomment for sensorless selector homing
endstop_pin: ^{selector_endstop_pin} # Uncomment for physical homing option (default)
# SELECTOR SERVO -----------------------------------------------------------------------------------------------------------
[ercf_servo ercf_servo]
pin: {servo_pin}
maximum_servo_angle: 180
minimum_pulse_width: 0.00085
maximum_pulse_width: 0.00215
## ENCODER -----------------------------------------------------------------------------------------------------------------
## The encoder_resolution is determined by running the ERCF_CALIBRATE_ENCODER. Be sure to read the manual
[ercf_encoder ercf_encoder]
encoder_pin: ^{encoder_pin} # EASY-BRD: ^ercf:PA6, Flytech ERB: ^ercf:gpio22
encoder_resolution: 1.339226 # Set AFTER 'rotation_distance' is tuned for gear stepper (see manual)
extruder: extruder # The extruder to track with for runout/clog detection
# These are advanced but settings for Automatic clog detection mode. Make sure you understand or ask questions on Discord
desired_headroom: 8.0 # The runout headroom that ERCF will attempt to maintain (closest ERCF comes to triggering runout)
average_samples: 4 # The "damping" effect of last measurement. Higher value means clog_length will be reduced more slowly
## TOOLHEAD SENSOR ---------------------------------------------------------------------------------------------------------
# Uncomment this section to enable toolhead sensor support
#
## ERCF Toolhead sensor START
#[filament_switch_sensor toolhead_sensor]
#pause_on_runout: False # Must be False
#switch_pin: {toolhead_sensor_pin}
## ERCF Toolhead sensor END
## CUTTER SERVO -----------------------------------------------------------------------------------------------------------
# Uncomment this section if you want to use a cutter
#[ercf_servo ercf_cutter_servo]
#pin: {cutter_servo_pin}
#maximum_servo_angle: 180
#minimum_pulse_width: 0.00085
#maximum_pulse_width: 0.00215
## NOTE: normal size servos (such as the servo on the cutter referenz design) usually use
## minimum_pulse_width: 0.0005
## maximum_pulse_width: 0.0025
## nowadays.
## CUTTER SENSOR ---------------------------------------------------------------------------------------------------------
# Uncomment this section if you want to use a cutter
# Late versions will not need a cutter sensor but it is recommended
#
#[filament_switch_sensor cutter_sensor]
#pause_on_runout: False # Must be False
#switch_pin: {cutter_sensor_pin}