(need help!) X-axis stops after 1h17min



  • Hi,
    i'm using the Duet2 Ethernet to control my coil winding machine. I use the E0-axis to unwind Coil1 and the X-axis to wind up Coil2. The problem is, after 1h and 17min the X-axis stops moving. I tried it several times and each time after 1h 17min the X-axis stops. But the E0-axis is still turning.
    Yesterday i tried it again and as expectet the X-Axis stops again at the same time.
    About 1h 17min the machine stoped, then suddenly the X-axis starts moving again.

    It seems the axis moves and stops at the same cycle over andover again.

    The machine should be able to wind up a distance of about 3000 meters at 2000 meters/sec.
    I also put in the "M564 S0 H0" command to move outside boundaries.
    But i did not get mor than 160 meters.

    I use the firmware version 2.02(RTOS)

    Here is my config.g file:
    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Tue Jan 29 2019 17:32:19 GMT+0100 (Mitteleuropäische Normalzeit)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Network
    M550 P"coil" ; Set machine name
    M552 P192.168.137.17 S1 ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S1 ; Drive 3 goes forwards
    M569 P4 S1 ; Drive 4 goes forwards
    M350 X16 Y16 Z16 E256:16 I1 ; Configure microstepping with interpolation
    M92 X166 Y80.00 Z4000.00 E120:342.8 ; Set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00:3000 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E3000:3000 ; Set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00:500.00 ; Set accelerations (mm/s^2)
    M906 X800.00 Y800.00 Z800.00 E800.00:800.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    ;M208 X0 Y0 Z0 S1 ; Set axis minima
    ;M208 X210 Y210 Z200 S0 ; Set axis maxima

    ; Endstops
    ;M574 X0 Y0 Z0 S0 ; Set active low and disabled endstops

    ; Z-Probe
    M558 P0 H5 F120 T6000 ; Disable Z probe but set dive height, probe speed and travel speed
    M557 X15:195 Y15:195 S20 ; Define mesh grid

    ; Heaters
    M140 H-1 ; Disable heated bed
    M305 P1 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S500 ; Set temperature limit for heater 1 to 280C
    M305 P2 T100000 B4138 R4700 ; Set thermistor + ADC parameters for heater 2
    M143 H2 S500 ; Set temperature limit for heater 2 to 280C

    ; Fans
    M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 S"First Extruder" D0:1 H1 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    ;////////////////////////////////////////
    M563 P1 S"Kalibrierdüse" D1 H2 ; Define tool 0
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C

    T0

    ; Custom settings
    M302 P1 ;Allow cold extrusions
    M591 D0 P2 C3 S0 ;configures filament sensing for the specified extruder
    M564 S0 H0 ;(S) allow movement of axes that have not been homed, (H) allow movement outside boundaries

    Please let me know if you have any idea whats wrong or what i have to change to move the X-axis any further.

    Thanks for you help



  • @philipp-r You may need a very long X max limit set with M208, or just reset the distance traveled every so often with a G92 X0.



  • Hi Stephen6309,

    Thanks for your fast reply. I have tried to set the X max limit in M208 to a value bigger 1000m and it just worked out. Know the X-axis moves much longer than 1h 17min.

    Thank you for your thoughts, it helped me alot.


  • administrators

    @philipp-r said in (need help!) X-axis stops after 1h17min:

    Hi Stephen6309,

    Thanks for your fast reply. I have tried to set the X max limit in M208 to a value bigger 1000m and it just worked out. Know the X-axis moves much longer than 1h 17min.

    Thank you for your thoughts, it helped me alot.

    I'm surprised that worked, because you said:

    I also put in the "M564 S0 H0" command to move outside boundaries.

    which should have been sufficient.

    You will get reduced positioning precision at large values of X. RRF uses single precision floating point to represent distances, which provides 24 bits of precision. So at 1000m X position the precision is 1000/(2^24)m. This is 1/16mm, or about 10 microsteps @ 166 microsteps/mm instead of the 1 microstep accuracy that RRF provides at low X coordinates.

    Have you considered using a second extruder instead of X? You can configure a tool with more than one extruder and use the mix ratio to set the relative movement amounts.



  • Hi,

    yes i also configured the Second Extruder (E1) as you mentiond and used this G-Code "G1 E1000000:1000000 F2000" to move the E0 and E1 axis. But it also stoped at the same Time.
    So yesterday i enabled the "M208 X50000000 Y210 Z200 S0" command and set the X-value to 50000000 and it worked fine.

    But i did not considered the presicion problem you mentiond, so i think it will be better to use the E1-axis instead.

    But the problem is i can't see any max travel value in the M208 command for the E-axis. So i don't know why the second extruder axis stoped at the same time.


  • administrators

    You could break down the movements into smaller ones (say 100mm each) and use relative extrusion.



  • ok that would be great, but then i have to write a macro/subprogram like:
    G91
    G1 X100 E100 F2000 or G1 E100:100 F2000

    and should call it for about 10 000 times to reach a distance of 1000meters.
    or i need some loop inside the G-code.

    can you tell me how i can realize that?



  • oh no i thought wasn't right!
    I could just write a code like:
    G91
    G1 X100 E100 F2000
    G1 X100 E100 F2000
    G1 X100 E100 F2000
    G1 X100 E100 F2000
    G1 X100 E100 F2000
    ...
    And copy this line of code as often as i need it to reach a certain lengh.
    Am i right?

    Just for my personal interest, how could i realize that problem with a Loop/Macro?
    Do you have any idea?


  • administrators

    @philipp-r said in (need help!) X-axis stops after 1h17min:

    oh no i thought wasn't right!
    I could just write a code like:
    G91
    G1 X100 E100 F2000
    G1 X100 E100 F2000
    G1 X100 E100 F2000
    G1 X100 E100 F2000
    G1 X100 E100 F2000
    ...
    And copy this line of code as often as i need it to reach a certain length.
    Am i right?

    That wouldn't help with the X movement, because the X values will get converted to absolute. But M83 followed by repeated G1 E100:100 would work, because extruder movements are handled as relative movements.

    Just for my personal interest, how could i realize that problem with a Loop/Macro?

    Currently that's not possible, but it's planned soon.



  • Ok thanks for your help!
    i will try it, and will report if it worked.

    Thats great that you are planning to work with loops.
    Will see forward for that.


Log in to reply