How do I enable the hot end heater
-
This is what Cura does for the settings:
; Cura (Repeteir flavor - no temps) inserts the following around the call to this file ;M109 S0 ; set extruder temp and wait (no wait with S0) ;M82 ; absolute E moves ;M98 P"print_begin.g" ; invokes this file ;G92 E0 ; set E position ;G92 E0 ; set E position again (have no idea why) ;G1 F1800 E-1 ; do initial retract
The M109 is setting the extruder temp to 0 which is of no consequence so when you get to the T0/M703 commands in the print_begin.g file the temp settings commands in the filament specific config.g file (G10, M140, M558) are executed and determine the temps.
-
@fcwilt Okay, thanks, so the printer "wins" as far as which parameters are being used.
Okay, I'm trying to get the call to filament config settings to work, yet it's as if the printer isn't seeing them at all.
Here's my print_begin file:
; PrusaSlicer (RepRapflavor) inserts the following around the call to this file ;M106 S0 ; fan off ;M98 P"print_begin.g" ; invokes this file ;G21 ; set units to millimeters ;G90 ; absolute XYZ moves ;M83 ; relative E moves G32 ; home and level bed, then move to bed center and set Z datum ; select tool and configure based on filament selected T0 ; select tool 0 so extruder commands below will work M703 ; loads selected filament configuration (bed/extruder temps, extrusion ; multiplier, etc). See config.g in filament folder. ; setup to print G90 ; absolute moves G1 Z20 F2000 ; position for cleaning - set as desired G1 X0 Y-170 F10000 ; position for cleaning - set as desired M291 R"Heating Extruder & Bed" P"Please wait..." T0 M116 ; wait for temps to reach set points M291 R"Priming Extruder" P"Please wait..." T0 M83 ; insure extruder relative mode G92 E0 ; reset the extruder logical position G1 E10 F60 ; prime the extruder M400 ; wait to complete G92 E0 ; reset the extruder logical position M291 R"Clean Nozzle and Bed" P"Click OK to begin printing" S3 T0 G1 E-1.2 F60 ; retract to control oozing M400 ; wait to complete G92 E0 ; reset the extruder logical position G1 X0 Y0 F10000 ; move probe to center of bed G30 ; probe once to set Z=0 datum, necessary for loading height map G29 S1 ; load existing height map, "heightmap.csv" (created via G29 S0)
And here is my filament config.g:
M291 R"PLA+" P"Configuring..." T0 M221 S100 D0 ; set extrusion multiplier G10 S190 R190 ; set extruder temps M140 S60 R60 ; set bed temp M291 R"PLA+" P"Configuring - Done" T1
What happens is:
- Start print
- Bed heater starts warming up immediately
- Bed temp reaches 60C (hot end remains at zero C commanded and off the entire time).
- Bed is leveled and Z datum set
- Nozzle moves to front of bed and immediately, "Clean Nozzle and Bed" is displayed. At the same time, the extruder starts running, but of course with the hot end never having been enabled and the temperature remaining at zero, it just clunks away on cold filament.
So it seems to be flying right past setting extruder temperature or waiting for it to achieve the target. It is not displaying the "configuring" messages in filament config.g file, nor is it displaying "Heating bed and extruder".
Do the SD /sys/filament/PLA+ files belong somewhere else? Here is where the filament files are:
-
Well the filament folder appears to be correct as you are seeing the filament specific files but the filament folder is not contained in the system folder but rather at the same level.
This is what an FTP connection to my printer displays:
Please post the first 10-20 lines of the file you are trying to print.
Thanks.
Frederick
-
-
@fcwilt How does someone without an FTP connection create a Filament folder at the same level as SYS? I did the automated code load/upgrade, and my file structure has remained the same since. I don't see how, via the DWC, to "back out a level" in order to create a new folder. I realize I can force it to happen by removing the SD card from the printer and making it happen within my laptop, but... really?
-
@kb58 said in How do I enable the hot end heater:
@fcwilt How does someone without an FTP connection create a Filament folder at the same level as SYS? I did the automated code load/upgrade, and my file structure has remained the same since. I don't see how, via the DWC, to "back out a level" in order to create a new folder. I realize I can force it to happen by removing the SD card from the printer and making it happen within my laptop, but... really?
The DWC does it for you.
See the following:
You select the Filaments item on the left (see above)
Then you select New Filament on the right upper corner (see above)
It will ask for a name and then create the required folder and files (they are empty) in the correct location.
Then you should see the new filament name on the left in the list of filaments.
Selecting the filament should take you to the empty files ready for editing.
Frederick
-
@fcwilt Yes that is how it's set up now (had to cut and paste the code in from the laptop, rather than pointing the DWC to where to get it from).
Anyway, there's something else going on. I double checked that the filament files are where they should be, but when the print is started, it's as if it's not executing the filament config.g file. No messages and it's not setting extruder temperature. Not sure where the bed temp command of 60C is coming from but suspect that's from the slicer.
-
I don't know why I thought you were using Cura - Prusa is a bit different.
This is what I found Prusa generates and the conditions I used in configuring Prusa:
; PrusaSlicer (RepRapflavor - no temps) inserts the following around the call to this file ;M107 ; fan off (should be M106 S0) ;M98 P"print_begin.g" ; invokes this file ;G21 ; set units to millimeters ;G90 ; absolute XYZ moves ;M83 ; relative E moves
Check your settings in Prusa and see if the generated code matches the above.
Frederick
-
@fcwilt I did at 14:58
-
@kb58 said in How do I enable the hot end heater:
@fcwilt I did at 14:58
I know - I was working too fast and trying to juggle too many things at once - see my post before this one regards Prusa settings.
Frederick
-
-
A portion of "print_begin"
I think the clue is in this area. Even if the M703 on Line 12 isn't doing anything, I can't figure out why the messages on Line 20 and 22 aren't appearing.
What's strange is that this all used to work fine before adding content to the filament files... Maybe I need to back up and delete it.
-
The G32 invokes bed.g
Perhaps something is happening in bed.g that is causing the problem.
Post bed.g, please.
Frederick
-
; bed.g ; called to perform automatic bed compensation via G32 ; M561 ; clear any bed transform G28 ; home all G30 P0 X-139 Y-119 Z-99999 ; probe near left front leadscrew G30 P1 X0 Y150 Z-99999 ; probe near rear center leadscrew G30 P2 X145 Y-119 Z-99999 S3 ; probe near right front leadscrew, then perform 3-pt calibration G1 X0 Y0 G30 G30 s-1 ;M291 P"Leveling finished" R"Probing..." S1 T2 M291 P"Leveling finished" S1 T2
-
@kb58 said in How do I enable the hot end heater:
; bed.g ; called to perform automatic bed compensation via G32 ; M561 ; clear any bed transform G28 ; home all G30 P0 X-139 Y-119 Z-99999 ; probe near left front leadscrew G30 P1 X0 Y150 Z-99999 ; probe near rear center leadscrew G30 P2 X145 Y-119 Z-99999 S3 ; probe near right front leadscrew, then perform 3-pt calibration G1 X0 Y0 G30 G30 s-1 ;M291 P"Leveling finished" R"Probing..." S1 T2 M291 P"Leveling finished" S1 T2
That last M291 doesn't have the R parameter - perhaps that is the problem.
Also why are you doing the G30 S-1? It doesn't hurt but I'm just curious.
Frederick
-
Don't see how, given that:
So R is just an option title.
About the G30 s-1, it's just for checking on what the printer thinks the probe to bed offset is. Want to make sure it's not drifting.
-
@kb58 Hah, I'm back at the same point when this thread was started. I can make everything work if I manually enable the hot end heater via the DWC. I had expected the filament code to enable the hot end heater and it simply doesn't. I'll have to review that code, or insert some new code to make it happen.
-
@kb58 said in How do I enable the hot end heater:
Don't see how, given that:
So R is just an option title.
About the G30 s-1, it's just for checking on what the printer thinks the probe to bed offset is. Want to make sure it's not drifting.
Hmm... You are correct. I thought I read where it was required but it works without it.
OK - add some M291 commands with an S2 parameter and a meaningful message to print_begin.g so you can determine what is being executed and what is not.
For example before the G32 you could have:
M291 P"About to execute G32" S2
Then before the T0 you could have:
M291 P"About to execute T0" S2
Frederick
-
@fcwilt So to sort of bring this to a close, I found out through dumb luck that I have to click on the filament type in this window.
With that solved, another has to pop up, and it did. Right when it starts to do its bed leveling, it pops up a warning about "Tool not selected", but it is, and if the warning is ignored, everything works as it should anyway. While a nuisance warning, it would be nice to know why it's happening and correct it.
Here's the relevant bit:
; select tool and configure based on filament selected T0 ; select tool 0 so extruder commands work M703 ; loads selected filament configuration (bed/extruder temps, extrusion ; multiplier, etc). See config.g in filament folder. G32 ; home and level bed, then move to bed center and set Z datum
I don't get it; T0 is selected right before setting up the filament, and the tool-not-selected warning appears right when the G32 command starts. Huh.
-
Did you remove these "sanity" checks I had in print_begin.g:
; check for selected filament if move.extruders[0].filament = "" M291 R"No Filament Selected" P"Cannot Continue" S2 T0 abort ; check bed heater active temp setting if heat.heaters[0].active = 0 M291 R"Bed Heater Active Temp = 0" P"Cannot Continue" S2 T0 abort ; check extruder heater active temp setting if heat.heaters[1].active = 0 M291 R"Extruder Heater Active Temp = 0" P"Cannot Continue" S2 T0 abort
You will notice the first one checks if a filament has been selected.
Frederick