Open bbturbo1 opened 4 years ago
Kind of same for me. Ender 3 Pro with 4.2.7 board. After a few layer it starts the filament run-out procedure. After continue the print it starts the same a few layers after.
* Filament Runout Sensors
* Mechanical or opto endstops are used to check for the presence of filament.
*
* RAMPS-based boards use SERVO3_PIN for the first runout sensor.
* For other boards you may need to define FIL_RUNOUT_PIN, FIL_RUNOUT2_PIN, etc.
*/
#define FILAMENT_RUNOUT_SENSOR
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_ENABLED_DEFAULT true // Enable the sensor on startup. Override with M412 followed by M500.
#define NUM_RUNOUT_SENSORS 1 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
#define FIL_RUNOUT_STATE LOW // Pin state indicating that filament is NOT present.
#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
//#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins.
// Set one or more commands to execute on filament runout.
// (After 'M412 H' Marlin will ask the host to handle the process.)
#define FILAMENT_RUNOUT_SCRIPT "M600"
// After a runout is detected, continue printing this length of filament
// before executing the runout script. Useful for a sensor at the end of
// a feed tube. Requires 4 bytes SRAM per sensor, plus 4 bytes overhead.
#define FILAMENT_RUNOUT_DISTANCE_MM 7
#ifdef FILAMENT_RUNOUT_DISTANCE_MM
// Enable this option to use an encoder disc that toggles the runout pin
// as the filament moves. (Be sure to set FILAMENT_RUNOUT_DISTANCE_MM
// large enough to avoid false positives.)
#define FILAMENT_MOTION_SENSOR
#endif
#endif```
I have the same problem.
I'm having the same behavior with the 4.2.2 board.
Currently using the following firmware to help rule out error in my build config.
https://marlin.crc.id.au/firmware/Ender%203%20-%20v4.2.2%20Board%20-%20BLTouch/
I'm observing sensor state changes using M119 when manually feeding filament through the sensor so physical layer should be good. It's configured for 7mm as verified from the console. Same results from SD or OctoPrint and no issues if filament sensor is disabled with Gcode.
Setting M412 D10 got me up and running. The 7, 8 and 9 would false trigger pretty consistently but so far working without issue with 10mm (D10)
lstepnio commented 12 days ago Setting M412 D10 got me up and running. As lstepnio says would false trigger pretty consistently but so far working without issue with M412 D10 = 10mm (D10)
So I will add M412 D10 to my Start G Code
https://marlinfw.org/docs/gcode/M412.html
Here are some video details of the Issue I have before using the M412 D10 in my Start G Code:-
I am having the same issue however I am running Klipper. Here is my configuration maybe someone can tell me what is causing the conflict.
`# This file contains pin mappings for the Creality "v4.2.7" board. To
[include menu.cfg] # custom lcd display menu
[stepper_x] step_pin: PB9 dir_pin: PC2 enable_pin: !PC3 microsteps: 16 rotation_distance: 40 endstop_pin: ^PA5 position_endstop: 0 position_min: 0 position_max: 235 homing_speed: 50
[stepper_y] step_pin: PB7 dir_pin: PB8 enable_pin: !PC3 microsteps: 16 rotation_distance: 40 endstop_pin: ^PA6 position_endstop: -12 position_min: -12 position_max: 235 homing_speed: 50
[stepper_z] step_pin: PB5 dir_pin: !PB6 enable_pin: !PC3 microsteps: 16 rotation_distance: 8 endstop_pin: probe:z_virtual_endstop
position_min: -4 position_max: 250
[extruder] max_extrude_only_distance: 700.0 step_pin: PB3 dir_pin: PB4 enable_pin: !PC3 microsteps: 16 rotation_distance: 33.500 nozzle_diameter: 0.400 filament_diameter: 1.750 max_extrude_only_distance: 100 heater_pin: PA1 sensor_type: ATC Semitec 104GT-2 sensor_pin: PC5 control: pid pid_Kp: 21.527 pid_Ki: 1.063 pid_Kd: 108.982 min_temp: 0 max_temp: 300 pressure_advance: 0.01 pressure_advance_smooth_time: 0.040
[heater_bed] heater_pin: PA2 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC4 control: pid pid_Kp: 54.027 pid_Ki: 0.770 pid_Kd: 948.182 min_temp: 0 max_temp: 130
[fan] pin: PA0
[mcu] serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 restart_method: command
[printer] kinematics: cartesian max_velocity: 300 max_accel: 3000 max_accel_to_decel: 3000 square_corner_velocity: 5.0 max_z_velocity: 5 max_z_accel: 100
[board_pins]
aliases:
EXP1_1=PC6,EXP1_3=PB10,EXP1_5=PB14,EXP1_7=PB12,EXP1_9=
[display] lcd_type: st7920 cs_pin: PB12 sclk_pin: PB13 sid_pin: PB15 encoder_pins: ^PB14, ^PB10 click_pin: ^!PB2
[bltouch] sensor_pin: ^PB1
control_pin: PB0 pin_up_touch_mode_reports_triggered: False probe_with_touch_mode: True x_offset: -44 y_offset: -5 pin_move_time: 0.4
[safe_z_home] home_xy_position: 155,120 # Nozzle coordinates speed: 250 z_hop: 10 z_hop_speed: 10
[bed_mesh] speed: 80
mesh_min: 15, 15
mesh_max: 175, 210
probe_count: 3, 3
[screws_tilt_adjust] screw1: 71,35 # Probe coordinates screw1_name: front left screw screw2: 230,35 screw2_name: front right screw screw3: 230,200 screw3_name: rear right screw screw4: 71,200 screw4_name: rear left screw horizontal_move_z: 5. speed: 250. screw_thread: CCW-M4
[virtual_sdcard] path: ~/.octoprint/uploads/
[display_status]
[pause_resume]
[input_shaper] shaper_freq_x: 77.8 shaper_type_x: 3hump_ei shaper_freq_y: 33.6 shaper_type_y: mzv
[include macros.cfg]
[include mainsail.cfg]
[gcode_macro G29] gcode: BED_MESH_CALIBRATE BED_MESH_OUTPUT ; report the bed leveling mesh points. G1 X2 Y10 Z5 F4000 [gcode_macro CANCEL_PRINT] rename_existing: BASE_CANCEL_PRINT gcode: TURN_OFF_HEATERS CLEAR_PAUSE SDCARD_RESET_FILE BASE_CANCEL_PRINT
######################################################################
###################################################################### [filament_motion_sensor filament_sensor] detection_length: 7.0
extruder: extruder
switch_pin: PA4
runout_gcode: FILAMENT_RUNOUT
[gcode_macro FILAMENT_RUNOUT] gcode: M300 S1 P10 M600 M300 S1 P10
[gcode_macro M600] gcode: {% set X = params.X|default(25)|float %} {% set Y = params.Y|default(25)|float %} {% set Z = params.Z|default(10)|float %} SAVE_GCODE_STATE NAME=M600_state PAUSE G91 G1 E-.8 F2700 G1 Z{Z} G90 G1 X{X} Y{Y} F3000 G91 G1 E-15 F1000 RESTORE_GCODE_STATE NAME=M600_state
######################################################################
######################################################################
[output_pin BEEPER_pin] pin: PC6
pwm: True
value: 0
shutdown_value: 0
cycle_time: 0.001
[gcode_macro M300] gcode:
{% 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
For now I set the runout to 100mm
I just installed the new creality V4.2.7 board on an ender 5 and I cannot get this sensor to work. I’ve watched every video I can find and changed my firmware correctly (based on what I’ve been told) even messed with switching between low and high multiple times. I’ve swapped the actual pins on the connector, just to see if that could have been it, and nothing. I just get the printer to do one pass of a purge line and then it tells me to change the filament.