Jump to content

Printing temperature not being set at start of print


Slashee_the_Cow
Go to solution Solved by GregValiant,

Recommended Posts

Posted · Printing temperature not being set at start of print

Hiya!

 

Running Cura 5.4.0 on Windows 10; Printer is Ender 3 v2 Neo (there isn't a profile for it in Cura, but I think it's just the v2 with the auto-leveller preinstalled? I'm using that profile)

So the problem I'm having (and unlike the last time I'm pretty sure Cura is at least slightly involved in this) is that when I start a print, the printer doesn't start heating up the extruder, I  have to set the temperature manually, whereas the bed does get the message and starts heating to the set temperature. Temperature changes in the middle of a print do take effect. I'm guessing it's just that missing a bit of gcode at the start to set the initial temperature, but I don't speak enough Marlin or have a close enough relationship with Cura to figure this one out myself.

 

Thanks

 

Attached files are just a random print that exhibits the problem.

CE3E3V2_ButtonSlide5-Levitate4.3mf CE3E3V2_ButtonSlide5-Levitate4.gcode

  • Link to post
    Share on other sites

    • Solution
    Posted (edited) · Printing temperature not being set at start of print

    This is from the Gcode you posted.  (I added the comments.)

     

    ;Generated with Cura_SteamEngine 5.4.0
    M140 S50    ;start to heat the bed
    M105           ;temperature update request
    M190 S50   ;wait for the bed to reach the set point
    M104 S200 ;start to heat the hot end
    M105           ;temperature update request
    M109 S200 ;wait for the hot end to reach the set point

     

    So the heating commands are there but the hot end does not start to heat up until the bed is done heating.  Cura adds the commands in that order to keep the heavy load of "both at once" off the power supply.

     

    There is no "bed leveling command" in your startup gcode.  If you have an ABL it isn't being called.  Typically printers equipped with ABL would have either a G29 or an M420 in the startup to run the ABL routine in the printer.

    Edited by GregValiant
  • Link to post
    Share on other sites

    Posted (edited) · Printing temperature not being set at start of print
    17 hours ago, GregValiant said:

    So the heating commands are there but the hot end does not start to heat up until the bed is done heating.  Cura adds the commands in that order to keep the heavy load of "both at once" off the power supply.

     

    There is no "bed leveling command" in your startup gcode.  If you have an ABL it isn't being called.  Typically printers equipped with ABL would have either a G29 or an M420 in the startup to run the ABL routine in the printer.

    A) Does it make much difference keeping the load of both off the power supply? When I use the preheat option on the printer, it does both at once.

     

    B) That's probably because I'm using a profile for the Ender 3 v2 (not Neo) which doesn't have the ABL built in. Where in the code do I want to insert the M420?

     

    Edit:

    image.thumb.png.41b2d4e20de3bdeb75dbe68997d0320f.png

    Based on the Marlin documentation, I added the 

    M420 S
    G29

    after the G28 (which was already there). That seem about right?

    Edited by Slashee_the_Cow
    Added gcode changes
  • Link to post
    Share on other sites

    Posted · Printing temperature not being set at start of print

    I'm a "piece of paper" guy but that does look alright.

    Both M420 and G29 have parameters that can be set.  You might want to check the Ender group over on Reddit to see if anyone there uses the extra parameters for the ABL commands.

     

    If you set your StartUp as shown below - the heaters will come on together and you won't get drooling during the ABL routine.

    When Cura sees "replacement patterns" in the startup gcode it knows it doesn't need to "automatically" enter the temps prior to the StartUp.

     

    ; Ender 3 Custom Start G-code

    G21 ;metric units

    M82 ;absolute extrusion

    G90 ;absolute movement

    M220 S100 ;reset feedrate

    M221 S100 ;reset flowrate

    M104 S150 ;start to pre-heat the hot end below ooze temperature

    M190 S{material_bed_temperature_layer_0} ;wait for the bed to get hot.

    G92 E0 ; Reset Extruder

    G28 ; Home all axes

    M420 ;>>>>>>>>>>>this might need some more thought

    G29 ;>>>>>>>>>>>>>this one also

    G0 Z10 F600 ;move up

    G0 X0 Y0 F6000 ;move to the corner to ooze while heating

    M109 S{material_print_temperature_layer_0} ; wait for the hot end 

    G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position

    G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line

    G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little

    G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line

    G92 E0 ; Reset Extruder

    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed

    G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish

     

  • Link to post
    Share on other sites

    Posted · Printing temperature not being set at start of print

    So you're the expert (and I'm just someone who can read enough documentation to be dangerous), but is there a good reason I shouldn't use M140 to start heating the bed and then run the M190 wait after levelling the bed? Something like:

    ; Ender-3 v2 Neo Custom Start G-code
    G21 ; Metric units
    M28 ; Absolute extrusion
    G90 ; Absolute movement
    M220 S100 ; Reset feed rate
    M221 S100 ; Reset flow rate
    M104 S150; Start heating the hot end below ooze level
    M140 S{material_bed_temperature_layer_0} ; Start heating up the bed
    G92 E0 ; Reset Extruder
    G28 ; Home all axes
    M420 S ; Enable bed leveling
    G29 ; Level bed
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G0 X0 Y0 F6000 ; Move to corner for a place to dribble while heating
    M190 S{material_bed_temperature_layer_0} ; Wait until bed is hot 
    M109 S{material_print_temperature_layer_0} ; Wait until hot end is at its hot end
    G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
    G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
    G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
    G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
    G92 E0 ; Reset Extruder
    G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
    G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish

     

  • Link to post
    Share on other sites

    Posted · Printing temperature not being set at start of print

    In the second line is a typo.  Should be M82 ; Absolute extrusion.

     

    The bed heater on my Ender 3 Pro consists of an electric grid on the bottom of an aluminum plate.  The aluminum has good thermal conductivity so heating is probably very consistent across it's surface.

    The actual glass build surface is also nicely thermally conductive but it only physically contacts the bed at (as few as) 3 points.  The glass heats outward from each contact point and so heating across the glass isn't consistent.  That causes some "shape changing" due to varying thermal expansion in different areas of the glass as it heats.  If you are heating to 50° for PLA any waviness in the plate is likely minor and changes in flatness between leveling at say 32° and printing at 50° wouldn't be much but leveling at 32° when the target temp of the plate is 80° for PETG is a whole different thing.

    Once the temperature normalizes across the "real" build surface the shape is set for the print and that is when you want the ABL to run.  I think it's sound practice to allow it to get up to temperature before leveling.

    There are some machines that add a G4 wait command after the M190 just to insure that the bed is at the same temperature all across it's surface.  That further insures that the "flatness" of the plate doesn't change between leveling and printing.

    The other thing to consider is that the print might be 10 hours long.  Getting the first layer right is important so the extra couple of minutes can make a difference from a "success rate" point of view.

     

  • Link to post
    Share on other sites

    Posted · Printing temperature not being set at start of print
    24 minutes ago, GregValiant said:

    In the second line is a typo.  Should be M82 ; Absolute extrusion.

    Thanks... that probably explains why it just sat there doing nothing until I tried again after removing the first few lines

    /me looks up M28 Yep, that explains it.

     

    I think the Ender 3 v2 Neo has some sort of metal build plate? Just wondering if that changes much (although I'm assuming the principle is the same, so I am changing the code, and I was wrong to question you in the first place, sensei).

     

    Have I said thanks to you enough yet? Either way, thanks.

  • Link to post
    Share on other sites

    Posted · Printing temperature not being set at start of print

    You have to ask questions in order to understand and "understanding" the what, why and how in 3d printing is important.  I strive to be correct when I respond to things here.  If I don't know something I either don't respond or I school myself on the subject.

    I write a little code (poorly) and since it didn't take long for me to get sick of the clumsy LCD button/knob thing, I wrote an app to do everything it does.  The link below downloads the full app for Windows (VB doesn't port to anything else) from Google Drive.  The app handles everything except for "Abort right this second!!".

    There are instructions and a readme.  If you decide to install it just unzip to a folder and run the setup file.  You may have to fool your anti-virus into allowing to install as it is unsigned (which costs money).

    Rather than trying to print a Gcode file over the USB it lists the file names that are on the SD card and you pick the one you want to print.  You still need to move the SD card back and forth.  I tried uploading files to the SD via the USB and it's pathetically slow.

     

    Greg's Toolbox

    • Like 1
    Link to post
    Share on other sites

    Posted (edited) · Printing temperature not being set at start of print

    Ironically I'm back at the point where it's heating the bed fully before starting heating up the hot end, because the hot end  is plenty capable of getting hot enough during the bed levelling (the G29 makes it do the same levelling program as when I select the levelling option on the control panel).

     

    On 8/15/2023 at 2:11 AM, GregValiant said:

    (VB doesn't port to anything else)

    Not sure if this is a bit hopeful or not, but can you send me the source code? I know a bit of my way around Python, C# (mostly because of Unity) and Java so I might be able to work something out. If you don't want to do it, that's cool. If you'd rather send me the source code personally then you can email it to me <edit: email address not needed>

    Edited by Slashee_the_Cow
    removed email address
  • Link to post
    Share on other sites

    Posted · Printing temperature not being set at start of print

    What I don't know about Github fills libraries, but the repository is HERE.

    I didn't put the installation files up (please see previous sentence).  I used VS2019.

     

    • Like 1
    Link to post
    Share on other sites

    Posted · Printing temperature not being set at start of print
    45 minutes ago, GregValiant said:

    What I don't know about Github fills libraries

    Likewise! Fortunately I know that git clone is a thing and that's enough to get me the code.

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • UltiMaker Cura 5.8 beta released
        Another Cura release has arrived and in this 5.8 beta release, the focus is on improving Z seams, as well as completing support for the full Method series of printers by introducing a profile for the UltiMaker Method.
        • 1 reply
      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
        • 3 replies
    ×
    ×
    • Create New...