Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] PID tune for extruder heater works perfectly but fails when setting temp manually #24655

Closed
1 task done
ansonl opened this issue Aug 19, 2022 · 5 comments
Closed
1 task done

Comments

@ansonl
Copy link
Contributor

ansonl commented Aug 19, 2022

Did you test the latest bugfix-2.1.x code?

Yes, and the problem still exists.

Bug Description

I upgraded my Ultimaker Original/2+ to have two extruder with the community DXU modification and heating the second extruder heater does not work correctly. Temp sensor is PT100.

When I set a temperature M104 T1 S210 the second heater heats up to about 20 degrees under the target temperature before stopping heating. I have measured the power when the extruder temperature starts falling and it is no longer using any energy and is basically cooling normally.

When I autotune temperature M303 E1 C8 S210 the second heater works perfectly. It is able to maintain the temperature well. See below. Each time I set the temperature manually, it stops heating 20 degrees under the target temp and eventually halts with a heater failed error. I have set the PID values to what is found by the PID autotune.

image

I have swapped my two extruder heater wires and this issue only occurs when using the second heater and thermometer ports on the Ultimaker Controller v2.1.4. The extruder heater wiring works fine with another heater port and the second heater port only works with PID autotune.

I have not been able to figure out why the PID autotune works and setting a heating temperature as normal fails. Is there some difference in the heating routine between the M303 PID autotune and M104 that might be causing this? Thanks.

I have attached my configuration and schematics for the ultimaker controller board v2.1.4. End of the terminal log with extra logging available also attached.

Configuration.zip Note: I'm using a @EvilGremlin mechanical switching nozzle #24553 slightly modified version of bugfix which has some additional macros to accommodate switching nozzles with no servos and only running toolchange gcode. It just eliminates the mandatory servo pin error. It has no conflicts with the current bugfix and doesn't seem to change any heating code.
ultimainboard-v2-1-4.zip
gcode.log

image

Bug Timeline

New bug, unknown when it started

Expected behavior

I expect the heater to succeed in reaching the target temperature in both PID autotune and manual heating.

Actual behavior

PID autotune works perfect, manual heating always fails

Steps to Reproduce

Attach heater and PT100 thermometer in heating block to Ultimaker board v2.1.4 ports: Heater2 and Temp2

Run PID autotune to temperature such as 210. M303 E1 C8 S210
Set extruder temp to 210. M104 T1 S210 Temperature will drop after reaching within 20 degrees of target temp. Heating failed error.

Version of Marlin Firmware

2.1.1 bugfix

Printer model

Ultimaker 2+

Electronics

Stock ultimainboard v2.1.4

Add-ons

No response

Bed Leveling

No response

Your Slicer

No response

Host Software

No response

Don't forget to include

  • A ZIP file containing your Configuration.h and Configuration_adv.h.

Additional information & file uploads

No response

@Bob-the-Kuhn
Copy link
Contributor

Did you try enabling PID_PARAMS_PER_HOTEND?

@ansonl
Copy link
Contributor Author

ansonl commented Aug 19, 2022

@Bob-the-Kuhn Yes, I just tried it out and the same problem occurs. Both extruder/nozzle hardware is the same and work with when connected to heater1.

@ansonl
Copy link
Contributor Author

ansonl commented Aug 19, 2022

@Bob-the-Kuhn After a few tries, heating with the second heater port works! Thanks for the tip.

I just duplicated the first PID values in the Configuration to the second PID values. Shouldn't the printer just use the same PID values for both heaters when using a single PID in the Configuration or am I missing where multiple heaters explicitly need their own PID value in the config?

@Bob-the-Kuhn
Copy link
Contributor

You may also want to increase WATCH_TEMP_PERIOD if you get any further heating failed messages.

@ansonl ansonl closed this as completed Aug 20, 2022
@github-actions
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Oct 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants