Problem with extruder_heater and no bed_heater (PID and watermark) at low temperature

Basic Information:

Printer Model: Ender 3 V3 SE
MCU / Printerboard: GD32F303RET6 compiled als STM32F103 // Creality CR4NS200320C14
Host / SBC: Rasperry 3 / MainsailOS 3.0.0 (trixie)
klippy.log

Hello,
I’m currently trying to get our Ender 3 V3 SE with Klipper up and running in combination with an HE3D chocolate extruder.
The extruder is very heavy, thermally very slow to respond, and connected to the bed’s pins (Heat + Sensor). These pins are mapped to the extruder. The bed isn’t listed in the config because it’s unheated.

The temperature range is also very narrow (30°C to 40°C). The PID tuning has been completed.

With PID, the extruder is brought to the target temperature. The printer waits and does not continue printing. The extruder temperature continues to rise slowly.

With watermark, the temperature oscillates around the target value, and the printer also does not continue printing.

Basically, it had worked with the original firmware.

I have changed: nozzle_diameter: 1mm and filament_diameter: 28.7mm → Same problem.

I have no other ideas. Missing bed?

klippy_PID.log.zip (22.3 KB)

klippy_watermark.log.zip (68.3 KB)

Form-Zylinder.gcode.zip (39.4 KB)

My pure guess, I think PID cannot stabilize around the target, and so the internal check did not happen to pass.
So, for example, the heating slope is +0.1C/s at 32 degrees, because of the large dead time and thermal mass, the temperature continues to rise further, even if PWM is already disabled.
(Where klipper expects stable as slope < 0.1, and temperature within 1 degree IIRC).

I guess the workaround for the stock code is to use an alternative check:

M104 S{EXTRUDER_TEMP}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={EXTRUDER_TEMP }

Watermark should trigger ready after +2 degrees, I think, and it is expected to oscillate by definition.
You can configure the threshold manually: Configuration reference - Klipper documentation.

[extruder]
#max_delta: 2.0
#   On 'watermark' controlled heaters this is the number of degrees in
#   Celsius above the target temperature before disabling the heater
#   as well as the number of degrees below the target before
#   re-enabling the heater. The default is 2 degrees Celsius.

Where, if you have issues with the stock PID, you can give this code a try to this code: Pid calibrate: use First Order Plus Dead Time model for PID estimation by nefelim4ag · Pull Request #7243 · Klipper3d/klipper · GitHub

But I guess the alternative check for temperature should be enough in your case.

Hope that helps,
-Timofey

I don’t really get your setup. Could you explain that in more detail?

I don’t understand why PWM should be disabled. I thought PWM was always active for extruders.

For the watermark, I set the parameter to 1 degree Celsius as a test. That works too, but the printer still doesn’t move forward.
I entered the additional parameters pwm_cycle_time: 0.02 and max_power: 0.3. I’ll recalibrate the PID now (takes a long time) and test it.

The HE3D chocolate extruder weighs approximately 1.5 kg. Due to the continuous electrical load, the extruder heater was connected to the bed connection (more powerful MOSFET). In the original setup, the extruder is disabled and its sensor pin is connected to a dummy resistor (-> approx. 205 degree celsius). The extruder is controlled via the heated bed. I didn’t like that, which is why I tried to change the pin definition using alternative firmware.

I guess you are a baker, confisseur, or chocolatier? Interesting. Is it that one? “QL-60 Chocolate Extruder” https://www.aliexpress.com/item/1005009812706896.html?gatewayAdapt=glo2esp4itemAdapt. 1.5kg is a heavy load for a printhead used with your (small) Ender 3 V3 SE bedslinger, but you probably print very slow, 30-50mm/s (just gessing), so that should be ok. I love chocolate, but never printed it.
Could you post a picture of your printer? Tells more than words.

When looking in your klippy.log at the beginning (line 473) your extruder has already about 32°C (pretty hot for a human). Starting heating with a target for 32°C (line 508) does not change much as expected.

In which environment do you use your printer?

I guess, we need schematics here to understand that. Question, which “original setup”?

Well, schematics.

I hope someone helps here, I’m not good enough with logs.

The problem seems to be caused by the movements.
The printer just freezes up.

I wondered about the 1.5kg on an ender.

Set your accelerations super low?

The HE3D chocolate extruder is very sturdy. (It features a heated, sturdy mount for a food-filled syringe (60 ml) or a metal cylinder, also approximately 60 ml, attached to the end of the hotend. The plunger is driven by a stepper motor equipped with a heavy gear system.)

Using M118 commands, I was able to determine that the X and Y movements are not being executed (the M118 command was executed before, but not after). Presumably, the acceleration and/or maximum speed are too low. The Home (G28) command works for all axes beforehand.

This means the problem isn’t solved yet, but it’s not the suspected M109 issue. I’m still working on it.