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] (Extruder won't move MARLIN 2.0/ Latest MARLIN2.1.2.1 gives an error message ) #26108

Closed
1 task done
IlyaFarm opened this issue Jul 22, 2023 · 24 comments
Closed
1 task done

Comments

@IlyaFarm
Copy link

IlyaFarm commented Jul 22, 2023

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

Yes, and the problem still exists.

Bug Description

HARDWARE: BTT Octopus V1.1; Drivers: TMC2208
FIRMWARE: Marlin 2.0.x

After configuring and compiling all motora are running exept of Extruder motor.
Recomendations from: #15926; #25566; #24882; did not help.
Cause of it I decided to try Marlin 2.1.2.1 latest release from official web site.
After configuring files Configuration.h; Configuration_adv.h; pins_BTT_OCTOPUS_V1_common.h
when I try to compile this version of Marlin V2.1.2.1 it gives me an error message:
error: 'class Temperature' has no member named 'extrude_min_temp'
Task #25324 did not help too cause when from there I goes to
#25252 > ProUI general updates #25176 > https://github.com/mriscoc/Special_Configurations > I'll get Original Configs and after configuring this files to my printer configuration I copy them onto me Marlin V2.1.2.1 directory and try to compile it,
but PlatformOI ask me to update Marlin to the version specified in the files,
which I don't know where to get.

So I don't know what to do, cause most recent version, on which I put my hopes did not work at all...

Don't forget to include

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

Additional information & file uploads

--------------------------------------------------------------------------------------------------------------------------------------------Config files.zip
All changes can be found by the symbols //!!!

@ellensp
Copy link
Contributor

ellensp commented Jul 22, 2023

you have disabled PREVENT_COLD_EXTRUSION so extrude_min_temp is not setup

Which is breaking

    #if HAS_HOTEND
      if (parser.seenval('H'))
        mat.hotend_temp = constrain(parser.value_int(), thermalManager.extrude_min_temp, thermalManager.hotend_max_target(0));
    #endif

@IlyaFarm
Copy link
Author

IlyaFarm commented Jul 22, 2023

you have disabled PREVENT_COLD_EXTRUSION so extrude_min_temp is not setup
....

When I try to compile it as Marlin V2.1.2.1 regardless of on/off Cold Extrusion, PlatformIO gives me message:
error: 'class Temperature' has no member named 'extrude_min_temp'
I tried this and that....

@ellensp
Copy link
Contributor

ellensp commented Jul 22, 2023

diff --git a/Marlin/src/gcode/lcd/M145.cpp b/Marlin/src/gcode/lcd/M145.cpp
index 942d20afd2..4940d3eac6 100644
--- a/Marlin/src/gcode/lcd/M145.cpp
+++ b/Marlin/src/gcode/lcd/M145.cpp
@@ -47,7 +47,7 @@ void GcodeSuite::M145() {
     preheat_t &mat = ui.material_preset[material];
     #if HAS_HOTEND
       if (parser.seenval('H'))
-        mat.hotend_temp = constrain(parser.value_int(), thermalManager.extrude_min_temp, thermalManager.hotend_max_target(0));
+        mat.hotend_temp = constrain(parser.value_int(), TERN(PREVENT_COLD_EXTRUSION, thermalManager.extrude_min_temp, EXTRUDE_MINTEMP), thermalManager.hotend_max_target(0));
     #endif
     #if HAS_HEATED_BED
       if (parser.seenval('B'))

@ellensp
Copy link
Contributor

ellensp commented Jul 22, 2023

get a fresh copy of marlin 2.1.2.1 as it only happens when PREVENT_COLD_EXTRUSION is undefined on current version. The above patch fixes it.

@IlyaFarm
Copy link
Author

I wrote above that I took the latest version from official site

@ellensp
Copy link
Contributor

ellensp commented Jul 22, 2023

so did I... just now...

Change that line and compile, if it errors post full error message

@ellensp
Copy link
Contributor

ellensp commented Jul 22, 2023

" #define MIN_SOFTWARE_ENDSTOP_Z false //!!! По умолчанию стоит True поэтому Сколько бы ни ставили в Z offset, ниже нуля не двинется !!!!" is invalid.
comment it out or un comment it, not true or false

@IlyaFarm
Copy link
Author

In my case string "#define MIN_SOFTWARE_ENDSTOP_Z false", allow to axis Z move below zero, cause I ned it for my printing way.

@ellensp
Copy link
Contributor

ellensp commented Jul 22, 2023

no, you just comment it out "//#define MIN_SOFTWARE_ENDSTOP_Z"

@IlyaFarm
Copy link
Author

OK, thank you, you was right about strings:
#define PREVENT_COLD_EXTRUSION
#define EXTRUDE_MINTEMP 170
After uncomment this strings, PlatformIO are compille firmware succeful.

@IlyaFarm
Copy link
Author

IlyaFarm commented Jul 22, 2023

Just now flash firmware, still not work properly, all motors are rotate, except extruder motor at 185C.

@ellensp
Copy link
Contributor

ellensp commented Jul 22, 2023

Are you sure your using correct stepper driver and plug?

octopus drivers

Black indicates where the stepper motor cable needs to be plugged in (Z can be moved right 1 plug to motor2_2)
White indicates where the stepper driver needs to be plugged in

This still applies even when you do not have a Z2, just leave a gap

@IlyaFarm
Copy link
Author

Yep I'am sure, cause if I use wrong socket for driver, Marlin wrote to me TMC driver error, and I waste two days to solve this problem throw soldering jumpers on drivers... below is a link to a picture of my board
IMG_20230723_003530

@ellensp
Copy link
Contributor

ellensp commented Jul 22, 2023

You have E0 cable plugged into z2 cable socket
Move your e0 stepper motor cable right one socket

@IlyaFarm
Copy link
Author

Why?
they go in this order: X, Y, Z, Z2, E0, E1, E2, E3, E4
Or not?

@ellensp
Copy link
Contributor

ellensp commented Jul 22, 2023

Look at the image I posted
stepper motor order is X, Y, Z, Z, Z2, E0, E1, E2, E3

Two Z's for running two z motors off 1 driver and a Z2 for a second Z on a second stepper driver

@IlyaFarm
Copy link
Author

So what for Z2 on a board?

And yep it's working, but so loud, with a hiss.

@IlyaFarm
Copy link
Author

Thanks a lot again. You're good.

@ellensp
Copy link
Contributor

ellensp commented Jul 22, 2023

You need to adjust the driver currents and check correct rsense value for each axis

Eg for E0

#define E0_CURRENT 800
#define E0_MICROSTEPS 16
#define E0_RSENSE 0.11

In Configuration_adv.h

@IlyaFarm
Copy link
Author

It's it's already done in Hardware and in Firmware.
Drivers before work fine on different board "Rumba" and was adjusted.

@ellensp
Copy link
Contributor

ellensp commented Jul 23, 2023

The variable resistors are ignored as soon as the UART is working. The Drivers are reconfigured via UART using the settings in Configuration_adv.h

@IlyaFarm
Copy link
Author

Everything fine now, I uncomment string
#define STEALTHCHOP_E
and extruder works silently, as it be before.

@IlyaFarm
Copy link
Author

If you interesting, you can try use
#define DEFAULT_MINSEGMENTTIME 6592
instead of 20000, I think the best value, cause when I was use Mega2560 based boards, this value give me better print quolity in combination with
#define MIN_STEPS_PER_SEGMENT 1
#define BLOCK_BUFFER_SIZE 32
and if was work fine with Mega 2560 I think it will be not bad with 32bit ARM MCU's , but here probably other optimal value for
#define DEFAULT_MINSEGMENTTIME

@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 Sep 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants