Having a hard time geting my printer and Duet Wifi to behave



  • Hi

    I am having a hard time getting my system to home/work properly. It is a XYZ printer with dual Y motors. Everything works with manual G1 S1 commands but once it hits the end stops it stays there. I can use S2 to move out from the end stops but normal S0 command doesn't work. The homing buttons turns blue but I still cant move anything with the web interface. The G30 command makes the X or Y axis twitch and then stops with an error message.

    I have spent a couple of nights to try to figure this out but I need some help.

    Thanks
    //P

    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Feb 24 2018 04:09:19 GMT+0100 (Västeuropa, normaltid)

    ; General preferences
    G90 ; Send absolute coordinates…
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRapFirmare

    ; Drives
    M569 P0 S0 ; Drive 0 goes backwards
    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
    M584 X0 Y2 Z1 E3:4 ; Apply custom drive mapping
    M350 X16 Y16 Z16 E16:16 I1 ; Configure microstepping with interpolation
    M92 X66.667 Y66.667 Z960 E120:120 ; Set steps per mm
    M566 X900 Y900 Z12 E120:120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z600 E6000:6000 ; Set maximum speeds (mm/min)
    M201 X100 Y100 Z10 E250:250 ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z2000 E800:800 I50 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S90 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X260 Y240 Z180 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y1 S1 ; Set active high endstops

    ; Z-Probe
    M574 Z1 S2 ; Set endstops controlled by probe
    M558 P1 H5 F120 T6000 ; Set Z probe type to unmodulated and the dive height + speeds
    G31 P500 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
    M556 S0 X0 Y0 Z0 ; Set orthogonal axis compensation parameters
    M557 X15:245 Y15:225 S20 ; Define mesh grid

    ; Heaters
    M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C
    M305 P2 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 2
    M143 H2 S280 ; 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 H T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 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 D1 H2 ; Define tool 1
    G10 P1 X20 Y0 Z0 ; Set tool 1 axis offsets
    G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured


  • administrators

    This type of problem is usually caused by incorrect endstop configuration. Are your endstop switches at/near the low end (X=0, Y=0) ends of the axes, or at/near the high (X=260, Y=240) ends?



  • Hi

    Yes that has been my main thesis. My end stop are all in the low pos and they respond when touched. Probe is also responding even thou first analog value is at aprox. 0.4.

    I have tried to turn of all other end stops in the machine but haven’t succeeded for E0:E1. They are activated in the Machine properties.

    I always have the head error on X and Y.

    Even thou I struggle I want to thank you for an amazing piece of hardware. Totally configurable and silent, Very nice.


  • administrators

    The odd thing about that image is that the X and Y positions are both showing as 9999.9. That's not normal. Once the printer has been homed, limit checking is applied by default; but the firmware thinks the head is already outside limits, which probably explains why it won't accept move commands.

    When you use G1 S2 commands to move the X and Y axes, do they move in the correct directions?

    Please post your homing files.

    Which firmware version are you using?



  • Yes, the axes move correctly

    ; homex.g
    ; called to home the X axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Feb 24 2018 04:09:19 GMT+0100 (Västeuropa, normaltid)
    G91 ; relative positioning
    G1 S1 Z5 F1000 ; lift Z relative to current position
    G1 S1 X-265 F1000 ; move quickly to X axis endstop and stop there (first pass)
    G1 X5 F1000 ; go back a few mm
    G1 S1 X-265 F360 ; move slowly to X axis endstop once more (second pass)
    G1 Z-5 F1000 ; lower Z again
    G90 ; absolute positioning

    ; homey.g
    ; called to home the Y axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Feb 24 2018 04:09:19 GMT+0100 (Västeuropa, normaltid)
    G91 ; relative positioning
    G1 S1 Z5 F1000 ; lift Z relative to current position
    G1 S1 Y-245 F1000 ; move quickly to Y axis endstop and stop there (first pass)
    G1 Y5 F1000 ; go back a few mm
    G1 S1 Y-245 F360 ; move slowly to Y axis endstop once more (second pass)
    G1 Z-5 F1000 ; lower Z again
    G90 ; absolute positioning

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Feb 24 2018 04:09:19 GMT+0100 (Västeuropa, normaltid)
    G91 ; relative positioning
    G1 S1 Z5 F1000 ; lift Z relative to current position
    G90 ; absolute positioning
    G1 X15 Y15 F1000 ; go to first probe point
    G30 ; home Z by probing the bed

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    Firmware Name: RepRapFirmware for Duet WiFi
    Firmware Electronics: Duet WiFi 1.0
    Firmware Version: 1.20 (2017-12-23)
    WiFi Server Version: 1.20
    Web Interface Version: 1.20
    Web Interface by Christian Hammacher
    Licensed under the terms of the GPL v3



  • The homing macros also need to have S1 in them to create motion. So the macro halts half way thru since the later G1 commands does not have S1 or S2 in them.

    I can run Z with G1 S0 Z100 F100 commands but it runs 100mm in less than one second so the motor naturally stalls with a short scream.

    G92 X Y Z does not clear the X and Y pos error

    When G28 Z is called I get errors from deploying the probe. That is a routine not used in my macros.

    When refreshing the web interface with X and Y in the 0 pos i got this error.


  • administrators

    You can ignore the "can't find oem.json" message, although the fact that you are getting it suggests that you have enabled debugging (M111).

    Please try the following:

    1. Run the following commands without any parameters, and check that the values they report match the values you specified in config.g:

    M669 (should report that your printer is Cartesian)
    M574
    M208
    M92
    M584

    2. Restart the Duet and connect DWC. What X and Y head positions does DWC display?

    3. Press the Home X button. When it finishes, what X and Y positions does DWC display?

    4. Press the Home Y button. When it finishes, what X and Y positions does DWC display?

    5. Repeat #1 again.

    What I think is happening is that your X and Y steps/mm are somehow getting set to zero.



  • 1. Run the following commands without any parameters, and check that the values they report match the values you specified in config.g:

    M669 Kinematics is Cartesian
    M574 X: low end active high switch, Y: low end active high switch, Z: low end Z probe
    M208 Axis limits - X: 0.0 min, 260.0 max, Y: 0.0 min, 240.0 max, Z: 0.0 min, 180.0 max
    M92 Steps/mm: X: 66.667, Y: 66.667, Z: 960.000, E: 120.000:120.000
    M584 Driver assignments: X0 Y2 Z1 E3:4, 3 axes visible

    All good

    2. Restart the Duet and connect DWC. What X and Y head positions does DWC display?
    X9999.9 Y9999.9

    3. Press the Home X button. When it finishes, what X and Y positions does DWC display?
    X9999.9 Y9999.9

    4. Press the Home Y button. When it finishes, what X and Y positions does DWC display?
    X9999.9 Y9999.9

    5. Repeat #1 again.

    M669 Kinematics is Cartesian
    M574 X: low end active high switch, Y: low end active high switch, Z: low end Z probe
    M208 Axis limits - X: 0.0 min, 260.0 max, Y: 0.0 min, 240.0 max, Z: 0.0 min, 180.0 max
    M92 Steps/mm: X: 66.667, Y: 66.667, Z: 960.000, E: 120.000:120.000
    M584 Driver assignments: X0 Y2 Z1 E3:4, 3 axes visible

    All good


  • administrators

    Please try changing S0 in your M556 command to a value greater than zero, or remove or comment out the M566 command completely. I think it may be causing a divide-by-zero error.



  • Good call! Have you considered a nano cryptocurrency wallet to accept small donations? After all you saved me endless of frustrating hours and did so on a Satuarday.

    Thanks a million!


  • administrators

    I'm glad it solved the problem. I've fixed the source code to avoid this happening in future releases.

    I receive a share of the profits on Duet sales; so assuming you bought a genuine Duet from Duet3D or one of our distributors, there is no need for a donation - it's all part of the service.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.