Always Need to Reload Config.g



  • My Duet is doing some wonky things. When first turned on, I home my delta (which works fine). However, if I proceed to do any moves, the steppers move in unexpected ways. For instance, if I select move down 10mm on the Duet web interface after homing my delta, two of the towers will crash into their limit switches and the third tower moves down 100+ mm. Instead of my effector moving down 10mm as expected, it moves way off to the side. The interesting thing is, if I go to my config.g file and just re-save it (no edits at all), once I reboot my Duet everything works fine (the effector moves as expected). This lasts until I have to turn the duet off or until a print completes. Then I am back to the problem I describe above; moves are erratic and not as expected. It isn't just moves either, my auto-bed leveling crashes the print head, even though the sensor detects the bed. Does anyone have any idea what may be going on here? While I can do my workaround to get my delta up and running, it would be nice to fix this issue. I also have another strange problem; no matter how I adjust my config.g or my gcode, my printer always reverses my extruder motor to pull filament out of the hotend after my print has finished. However, it doesn't pull the printhead away fro the print, and the extruder moves in reverse extremely slow and pulls the filament out of my bowden tube all the way until the tip of the filament grinds against my extruder gear and I am left with a long string of filament in my bowden from it being pulled from the hotend so slowly. I am at a lose for how to fix these issues.



  • It would help to know which Duet board it is, which firmware version you're running, and the results of an M122 diagnostic report, preferably after the problem has occured.

    Off the top of my head I would suggest trying a different SD card.



  • @phaedrux I'll upload that information as soon as my current print is finished. I would check now, but I am having trouble connecting to the web interface at the moment and don't want to abandon a print I am 5 hours into. I believe my firmware is the 1.19 version. My board is v1.02.



  • Here is my M122:

    M122
    === Diagnostics ===
    Used output buffers: 3 of 32 (6 max)
    === Platform ===
    RepRapFirmware for Duet WiFi version 1.19 running on Duet WiFi 1.0
    Board ID: 08DAM-9K9K2-NGNS0-7JKDL-3SD6M-KR3MK
    Static ram used: 21176
    Dynamic ram used: 96040
    Recycled dynamic ram: 1568
    Stack ram used: 1304 current, 4848 maximum
    Never used ram: 7440
    Last reset 00:01:29 ago, cause: power up
    Last software reset reason: User, spinning module GCodes, available RAM 7440 bytes (slot 2)
    Software reset code 0x0003, HFSR 0x00000000, CFSR 0x00000000, ICSR 0x00400000, BFAR 0xe000ed38, SP 0xffffffff
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms
    MCU temperature: min 32.6, current 36.0, max 37.0
    Supply voltage: min 24.2, current 24.3, max 24.6, under voltage events: 0, over voltage events: 0
    Driver 0: standstill
    Driver 1: standstill
    Driver 2: standstill
    Driver 3: standstill
    Driver 4: standstill
    Date/time: 2019-03-10 01:57:43
    Slowest main loop (seconds): 0.005971; fastest: 0.000034
    === Move ===
    MaxReps: 0, StepErrors: 0, FreeDm: 240, MinFreeDm 240, MaxWait: 0ms, Underruns: 0, 0
    Scheduled moves: 0, completed moves: 0
    Bed compensation in use: none
    Bed probe heights: 0.000 0.000 0.000 0.000 0.000
    === Heat ===
    Bed heater = 0, chamber heater = -1
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    Network state is running
    WiFi module is connected to access point
    WiFi firmware version 1.19
    WiFi MAC address 5c:cf:7f:a4:ab:f9
    WiFi Vcc 3.05, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 36456
    WiFi IP address 192.168.1.21
    WiFi signal strength -56dBm
    HTTP sessions: 1 of 8
    Socket states: 2 0 0 0 0 0 0 0
    Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)



  • And 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 on Tue Oct 09 2018 01:42:56 GMT-0400 (Eastern Daylight Time)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M665 R105 L214 B80 H255 ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 Y0 Z0 ; Put your endstop adjustments here, or let auto calibration find them

    ; Network
    M550 PJAW DELTA ; Set machine name
    M551 PN ; Set password
    M552 S1 ; Enable network
    ;*** Access point is configured manually via M587
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S0 ; Drive 0 goes backwards
    M569 P1 S0 ; Drive 1 goes backwards
    M569 P2 S0 ; Drive 2 goes backwards
    M569 P3 S0 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
    M92 X200 Y200 Z200 E96 ; Set steps per mm
    M566 X2400 Y2400 Z2400 E1200 ; Set maximum instantaneous speed changes (mm/min)
    M203 X20000 Y20000 Z20000 E1200 ; Set maximum speeds (mm/min)
    M201 X900 Y900 Z900 E1000 ; Set accelerations (mm/s^2)
    M906 X1400 Y1400 Z1400 E1400 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 Z0 S1 ; Set minimum Z

    ; Endstops
    M574 X2 Y2 S1 ; Set active high endstops

    ; Z-Probe
    M558 P5 X0 Y0 Z0 H30 F500 T700 I1 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds
    G31 P500 X15 Y0 Z0.8 ; Set Z probe trigger value, offset and trigger height
    M557 R80 S20 ; Define mesh grid

    ; Heaters
    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 B4725 C7.060000e-8 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C

    ; Fans
    M106 P0 S1 I0 F500 H1 T45 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P1 S1 I0 F500 H-1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 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

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured



  • @jeremy-watkins

    Here is my M122 after I reset my config.g and ran autoleveling:

    M122
    === Diagnostics ===
    Used output buffers: 3 of 32 (10 max)
    === Platform ===
    RepRapFirmware for Duet WiFi version 1.19 running on Duet WiFi 1.0
    Board ID: 08DAM-9K9K2-NGNS0-7JKDL-3SD6M-KR3MK
    Static ram used: 21176
    Dynamic ram used: 96216
    Recycled dynamic ram: 1392
    Stack ram used: 1304 current, 7696 maximum
    Never used ram: 4592
    Last reset 00:06:56 ago, cause: power up
    Last software reset reason: User, spinning module GCodes, available RAM 7440 bytes (slot 4)
    Software reset code 0x0003, HFSR 0x00000000, CFSR 0x00000000, ICSR 0x00400000, BFAR 0xe000ed38, SP 0xffffffff
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 1.9ms
    MCU temperature: min 32.1, current 36.6, max 36.9
    Supply voltage: min 24.1, current 24.3, max 24.6, under voltage events: 0, over voltage events: 0
    Driver 0: stalled standstill
    Driver 1: stalled standstill
    Driver 2: stalled standstill
    Driver 3: standstill
    Driver 4: standstill
    Date/time: 2019-03-10 03:21:13
    Slowest main loop (seconds): 0.036201; fastest: 0.000034
    === Move ===
    MaxReps: 6, StepErrors: 0, FreeDm: 240, MinFreeDm 237, MaxWait: 18372ms, Underruns: 0, 0
    Scheduled moves: 35, completed moves: 35
    Bed compensation in use: none
    Bed probe heights: -4.380 -4.300 -3.893 -3.670 -3.722
    === Heat ===
    Bed heater = 0, chamber heater = -1
    Heater 1 is on, I-accum = 0.0
    === GCodes ===
    Segments left: 0
    Stack records: 1 allocated, 0 in use
    Movement lock held by null
    http is idle in state(s) 0
    telnet is idle in state(s) 0
    file is idle in state(s) 0
    serial is idle in state(s) 0
    aux is idle in state(s) 0
    daemon is idle in state(s) 0
    queue is idle in state(s) 0
    autopause is idle in state(s) 0
    Code queue is empty.
    Network state is running
    WiFi module is connected to access point
    WiFi firmware version 1.19
    WiFi MAC address 5c:cf:7f:a4:ab:f9
    WiFi Vcc 3.05, reset reason Turned on by main processor
    WiFi flash size 4194304, free heap 38808
    WiFi IP address 192.168.1.21
    WiFi signal strength -56dBm
    HTTP sessions: 1 of 8
    Socket states: 2 0 0 0 0 0 0 0
    Responder states: HTTP(1) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)



  • First thing I notice is that your using firmware (V1.19) that is over 18 months old (released in Aug 2017) I would suggest you update to the latest versions (read the release notes carefully thru all the upgrade versions).



  • @jeremy-watkins I don't much about Deltas but if homing works fine when you first power on the printer, but subsequent moves don't work as expected, then logic would dictate that something near the end of your in your homing file is changing something that is in your config.g file. What you describe is almost as if there is a command near the end of your homing file that changes the printer from a Delta to some other kinematics class, or is playing tricks with the motor mapping, or some other such behaviour.

    So I suggest you post your homing files too. Then someone more knowledgeable than I about Delta's might be able to advise.



  • @jeremy-watkins

    This has just popped up and I think it might be the answer to your problem https://forum.duet3d.com/topic/9516/a-quick-tip-for-those-having-homing-issues



  • @deckingman I am trying that adjustment to see if it fixes my problem. Thanks! Also, I will upgrade my firmware. I think that may help my connectivity issues.



  • @jeremy-watkins said in Always Need to Reload Config.g:

    ; Endstops
    M574 X2 Y2 S1 ; Set active high endstops

    I think you've already found it, but this doesn't look right for a delta, as the Z tower endstop is missing.

    https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware#Section_Updating_WiFi_firmware_or_DuetWebControl_files



  • @phaedrux Yes, that seems to have fixed the movement issues. Now I just need to sort out the gcode that my print ends with. This may be the fault of my slicer though.


 

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