Filament change script ?

I want to have a gcode script on the sd that does this:

heat nozzle
reverse the extruder about 800mm (lenght of bowden tube) at fast speed
beeps so i know its done
wait for me to push knob on display
extrude first the same lenght as before at fast speed
then extrude 200mm at slow speed
switch off heater


is that even possible?




Comments

  • Yes it is possible, normal gcode file to call. Only problem is the key press. Users normally use

    - M226 P<pin> S<state 0/1> - Wait for pin getting state S. Add X0 to init as input without pull-up and X1 for input with pull-up.

    with the pin for the ok button to solve this.

  • edited October 2017
    the key i have ind mind is the knop you turn to select menu's etc (i have one of the full graphic dislays)

    so maybe that is not as good an idea?

    could an option in the menu be created in the next dev version that does this? it would help a lot in the daily use of the printer 

    now i have to heat up and ask it to reverse 160mm x 8 times to unload... then load new filament and extrude 160mm x 8 plus some extra to get the old filament out
  • So you want a menu entry? Well that requires manual changes in the code but is possible if you can programm. But this is such a special function that I will not implement it in the mainstream version, sorry.
  • edited October 2017
    so far i have this

    G90 ; absolute positioning
    G92 E0 ; zero the extruded length
    M109 S225 ; wait for extruder temp
    G1 E-100 F1800 ; reverse 100mm Fast
    G1 E-100 F1800 ; reverse 100mm Fast
    G1 E-100 F1800 ; reverse 100mm Fast
    G1 E-100 F1800 ; reverse 100mm Fast
    G1 E-100 F1800 ; reverse 100mm Fast
    G1 E-100 F1800 ; reverse 100mm Fast

    but it only reverses 100mm

    will try with 10ms pause between each

    EDIT: 500ms pause in between each reverse did not change anything


  • edited October 2017
    ahh.... there are a filament change option in the LCD

    that is precise what i want... now i just need it to change it to 500mm and not 50


    EDIT: that worked for the unload, but once i clicked the display to say i was done it only did a very short extrude

    maybe the filament change procedure could be expanded to automatic extrude users dont have to turn the extruder manual. in my own case i will have to move 700mm by hand to get the filament to the hotend. that is painfull when the printer can do it for me

    but at least my trouble is half way over.... i could live with a filament load script if i just knew how to make it do more than one extrude in the same script
  • to load filament i did this gcode:

    G90 ; absolute positioning
    G92 E0 ; zero the extruded length
    M109 S225 ; wait for extruder temp
    G1 E100 F1800 ; extrude 100mm Fast
    G1 X126 F1800; move x
    G1 E100 F1800 ; extrude 100mm Fast
    G1 X127 F1800; move x
    G1 E100 F1800 ; extrude 100mm Fast
    G1 X128 F1800; move x
    G1 E100 F1800 ; extrude 100mm Fast
    G1 X129 F1800; move x
    G1 E100 F1800 ; extrude 100mm Fast
    G1 X130 F1800; move x
    G1 E100 F1800 ; extrude 100mm Fast
    G1 X131 F1800; move x
    G1 E160 F400 ; extrude 160mm Slow
    M104 S0 ; extruder off
    M84 ; disable motors

    i did move the x carraige to get arround the max extrude lenght, but it only did one extrude and then shut off the heater
  • figured it... i had to add to the extrude as i used absolute pos
  • i ended up with

    G90 ; absolute positioning
    G92 E0 ; zero the extruded length
    M109 S225 ; wait for extruder temp
    G1 E-100 F1800 ; reverse 100mm Fast
    G1 E-200 F1800 ; reverse 100mm Fast
    G1 E-300 F1800 ; reverse 100mm Fast
    G1 E-400 F1800 ; reverse 100mm Fast
    G1 E-500 F1800 ; reverse 100mm Fast
    G1 E-600 F1800 ; reverse 100mm Fast
    G1 E-700 F1800 ; reverse 100mm Fast
    M84 ; disable motors
    M117 Press the button
    M226 P35 S0
    G92 E0 ; zero the extruded length
    G1 E100 F1800 ; extrude 100mm Fast
    G1 E200 F1800 ; extrude 100mm Fast
    G1 E300 F1800 ; extrude 100mm Fast
    G1 E400 F1800 ; extrude 100mm Fast
    G1 E500 F1800 ; extrude 100mm Fast
    G1 E600 F1800 ; extrude 100mm Fast
    G1 E700 F100 ; extrude 100mm Slow
    G1 E760 F50 ; extrude 60mm Slower
    M104 S0 ; extruder off
    M84 ; disable motors
  • Best solution is not to change positioning mode but to add a 
    G92 E0
    for each move. That way relative and absolute behaves the same and afterwards the setting is the old one.
  • hello people.
    i have a Kossel delta printer, and i have a litle problem:
    Pausing the print and then changing the filament does something where the printhead starts again forward of where it is supposed to start. Layer shifting x with -, and y with +.
    My settings:
    // Delta settings...
    #define DELTA_DIAGONAL_ROD 275 // mm
    #define DELTA_ALPHA_A 210
    #define DELTA_ALPHA_B 330
    #define DELTA_ALPHA_C 90
    #define DELTA_RADIUS_CORRECTION_A 0
    #define DELTA_RADIUS_CORRECTION_B 0
    #define DELTA_RADIUS_CORRECTION_C 0
    #define DELTA_DIAGONAL_CORRECTION_A 0
    #define DELTA_DIAGONAL_CORRECTION_B 0
    #define DELTA_DIAGONAL_CORRECTION_C 0
    #define END_EFFECTOR_HORIZONTAL_OFFSET 25
    #define CARRIAGE_HORIZONTAL_OFFSET 28.8
    #define DELTA_MAX_RADIUS 225
    #define ROD_RADIUS 171.19
    #define PRINTER_RADIUS 105
    #define DELTA_HOME_ON_POWER 0
    #define STEP_COUNTER
    #define DELTA_X_ENDSTOP_OFFSET_STEPS 0
    #define DELTA_Y_ENDSTOP_OFFSET_STEPS 0
    #define DELTA_Z_ENDSTOP_OFFSET_STEPS 0
    #define DELTA_FLOOR_SAFETY_MARGIN_MM 5

    any help, please?

  • On deltas I would always home after a filament change. If you move position while changing the firmware ha sno chance to detect this, but homing corrects that.
  • Repetier said:
    On deltas I would always home after a filament change. If you move position while changing the firmware ha sno chance to detect this, but homing corrects that.
    Thanks for the reply. at the change of filament, the head automatically rises by 10mm on the Z axis. After the filament is changed, homing is done, but the head returns to where the print was interrupted, but on the axes x and y we have a gap of approximately 15mm. 

    if necessary, I can send you config.h to look at the rest of the settings. thank you very much
  • What is your homing position - is it at the very top or do you go down a bit after hitting the endstop? Later is often required since no moves at top are allowed and moving down in some angles can cause problems.

    Also important is that you did not use G92 X Y in your gcode. homing would lose these informations and make in deed a gap of that offset.
  • after reaching the end stop, the car descends 3mm.
    I'll make a movie when I get home.


  • this is video with crazy printer:(
  • edited October 2017
    and, when i put the pause

    what is wrong?
    thank you for your patience and excuse the insistence, but it ends me mentally.



  • First thing I see is using old firmware version 0,.92. Not sur eif it gets much better in 1.0 but we fixed so many things I can not say if there was something related.

    Second
    #define ENDSTOP_Z_BACK_ON_HOME 1
    is what I was talking about. On deltas I would set it to 20, but if you do remember to reduce z  length in eeprom by 19mm or you crash through the bed.

    #define FILAMENTCHANGE_X_POS 0
    #define FILAMENTCHANGE_Y_POS 0
    #define FILAMENTCHANGE_Z_ADD  2
    should be somewhere beside the normal print so choose a perimeter position, maybe 0,-radius so it waits outside your print, not that I have seen this move in your video.

    Hope it then already get much better.


  • edited October 2017
    thank you. i use Repetier-Firmware configuration tool for version 0.92.9, and i set
    #define ENDSTOP_Z_BACK_ON_HOME 20 

    #define FILAMENTCHANGE_X_POS 10
    #define FILAMENTCHANGE_Y_POS 0
    #define FILAMENTCHANGE_Z_ADD  10 

    problem with change filament and pause/start print resolved.


  • Repetier said:
    First thing I see is using old firmware version 0,.92. Not sur eif it gets much better in 1.0 but we fixed so many things I can not say if there was something related.


    hello. where find firmware v1.0?
     i find only 0.92.9 (https://www.repetier.com/firmware/v092/)
  • On that pag eis also a link to dev version = 1.0
  • Hello everybody.
    I come back with the following problem: after an upgrade made to diagonal rod and modified some cables, I started to have problems with the printer, namely randomly shifting the layers. below images. I went to V1 repetier firmware.
    do we find any solutions? Thanks for the help
  • Make sure always_check_endstops is 0 so endstops do not disturb. If that was already it is a physical/hardware problem. Somewhere you must have lost some steps causing the offset. So as always
    - Hang on some plastic nose
    - Motor stopped for a short while (overheating)
    - Not enough current
    - Too much jerk, acceleration, speed

    You can also add 
    #define 

    REDUCE_ON_SMALL_SEGMENTS

    so it reduces speed on smaller segments. These can cause problems since jerk is only compared between 2 moves but having 3 moves making a 180° turn will not be catched here and split into 2 separate problems.

  • thank you very much. now I am trying new settings
Sign In or Register to comment.