Jump to content

Biqu Hurakan Filament Runout cancels print


Recommended Posts

I recently was printing a very long/large file and the filament runout sensor tripped, which is what I would expect.  What I didn't expect was that as soon as I touched the gantry, the gantry dropped to the build plate because the stepper motor was no longer powered.  The printer had also dropped my bed temp and nozzle temps.  Effectively, at 99% of the print being done, the printer had cancelled my print.  I went looking in the config files for the Pause macro (found under mainsail.cfg) and I find this: 

[gcode_macro PAUSE]
description: Pause the actual running print
rename_existing: PAUSE_BASE
  {% if printer.virtual_sdcard.is_active == True %}
    {% if printer.pause_resume.is_paused == False %}
    {% endif %}
  {% endif %}

So then I look at the _TOOLHEAD_PARK_CANCEL macro and I find this:

description: Helper: park toolhead used in PAUSE and CANCEL_PRINT
variable_retract_extrude: 10.0
variable_extrude_extrude: 11.0
  ##### set park positon for x and y #####
  # default is your max posion from your printer.cfg
  {% set x_park = printer.toolhead.axis_minimum.x|float + 5.0 %}
  {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
  {% set z_park_delta = 2.0 %}
  ##### calculate save lift position #####
  {% set max_z = printer.toolhead.axis_maximum.z|float %}
  {% set act_z = printer.toolhead.position.z|float %}
  {% if act_z < (max_z - z_park_delta) %}
    {% set z_safe = z_park_delta %}
  {% else %}
    {% set z_safe = max_z - act_z %}
  {% endif %}
  ##### end of definitions #####
  {% if printer.extruder.can_extrude|lower == 'true' %}
    G1 E-{retract_extrude} F2100
    {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %}
  {% else %}
    {action_respond_info("Extruder not hot enough")}
  {% endif %}
  {% if "xyz" in printer.toolhead.homed_axes %}
    G1 Z{z_safe} F900
    G1 X{x_park} Y{y_park} F6000
    {% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %}
  {% else %}
    {action_respond_info("Printer not homed")}
  {% endif %}

The issue that I ran into, is that since the printer had disengaged the power to the stepper motor, that once I hit resume, the printer had no idea where it was anymore and couldn't restart the print (because it needed to home).  The question that I have then, is what do I need to change in macro to make sure the z motor stays engaged, the filament auto unloads, the temp on the nozzle stays on, and then it loads the filament when I tell it to resume?  Thanks in advance.


Link to comment
Share on other sites

  • 5 weeks later...

I'm not sure why your z stepper was disabled, because that's usually the result of a M18 or M84 command, which I don't see in your macros. 


Are you on the OS that shipped with the printer? Or have you updated to their V2.2.1 firmware? https://github.com/bigtreetech/CB1/releases/download/V2.2.1/Hurakan_Debian11_Mainsail_kernel5.16_20221119.img.xz

Link to comment
Share on other sites

  • 3 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...