Problems after updating firmware



  • Hey Everyone,

    I seem to be having issues with my printer after updating the firmware. I have gone from 2.02 rc3 to 2.03. I have a duet ethernet and a duex2.

    The issues I am experiencing are as follows:

    1. After turning the power on to the printer and starting to run my bed leveling macro, sets bed to 55 degrees and the heater to 130 (I use a precision piezo) sometimes when it starts to heat the hotend, it will get to about 60 degrees and then the printer restarts itself. Using the old firmware was never an issue. I then rerun the macro almost straight away and it is fine.

    2. Sometimes when leveling the bed, the firmware thinks the probe has been triggered even though the light on the precision piezo has not gone blue. This then gives false bed leveling. Pressing the emergency stop button usually fixes it. It will do an entire bed leveling macro thinking that this is the case

    3. For some reason, with prints I had printed on the old firmware and they printed fine I am getting the nozzle dragging on the print causing layer shifting. None of my settings have changed. (Not sure how this could be)

    4. I am getting a lot more connection dropouts with the duet web control. I am running 2.0.0 RC7

    Any help would be appreciated. Config below

    Kind Regards,

    Sam

    ; Configuration file for Duet Ethernet (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ; generated by RepRapFirmware Configuration Tool on Wed May 30 2018 19:04:08 GMT+1200 (New Zealand Standard Time)

    ; General preferences

    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRapFirmare
    M669 k1 ; Select CoreXY mode
    M912 P0 S-0.5 ; CPU Temp adjustment to extruder PT100

    ; Network

    M550 PSam's Printer ; Set machine name
    M552 P192.168.1.40 S1 ; Enable network with Static IP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives

    M569 P0 S1 ; Drive 0 goes forwards X Axis
    M569 P1 S0 ; Drive 1 goes forwards Y Axis
    M569 P2 S0 ; Drive 2 goes forwards Z Axis FL
    M569 P3 S1 ; Drive 3 goes forwards Z Axis RL
    M569 P4 S1 ; Drive 4 goes forwards Z Axis RR
    M569 P5 S0 ; Drive 5 goes forwards Z Axis FR
    M569 P6 S1 ; Drive 5 goes forwards Extruder

    ; Motor Specifications

    M584 X0 Y1 Z2:3:4:5 U3 V4 W5 E6 P6 ; Driver 0 For X, 1 for Y, Z=2:3:4 U3 V4, Extruder 5
    M350 X16 Y16 Z16:16:16:16 U16 V16 W16 I1 ; Configure microstepping with interpolation
    M350 E8 ; Set Extruder to 8x Microstepping with no interpolation
    M92 X80 Y80 Z400:400:400:400 U400 V400 W400 E2073.4 ; Set steps per mm 81.4 2218.4 1900 2218.4
    M566 X1200 Y1200 Z120:120:120:120 U120 V120 W120 E45 ; Set maximum instantaneous speed changes (mm/min)
    M203 X12000 Y12000 Z400:400:400:400 U400 V400 W400 E3600 ; Set maximum speeds (mm/min)
    M201 X3000 Y3000 Z250:250:250:250 U250 V250 W250 E150 ; Set accelerations (mm/s^2)
    M906 X1100 Y1100 Z1850:1850:1850:1850 U1850 V1850 W1850 E700 I75 ; Set motor currents (mA) and motor idle factor in %
    M84 S30 ; Set idle timeout

    ; Axis Limits

    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X361.5 Y371.5 Z412 S0 ; Set axis maxima
    M671 X-61:-62:384:383 Y86:291:296:89 S2.5 ; Define the X and Y coordinates of the lead screw. Motor order: FL (1), RL (2), RR (3), FR (4).Snn Maximum correction in mm to apply to each leadscrew

    ; Endstops

    M574 X1 Y1 S1 ; X home to min. Y home to max. Normally Closed limit switches.

    ;Piezo Probe

    M574 Z1 S0
    M558 P8 I1 R0.4 F300 X0 Y0 Z0 A5 ; digital piezo sensor, output rises on contact, probing speed, not used to home axes
    G31 X0 Y0 Z-0.1 P500 ; sensor is nozzle and debounce value.

    ; Define mesh grid

    M557 X0:361.5 Y0:371.5 S20
    M376 H10

    ; Heaters

    M140 H1 ; Remap heated bed to heater 1
    M305 P0 X200 ; Set PT100 for Hot End
    M143 H0 S300 ; Set temperature limit for heater 0 to 300C
    M307 H0 A609.0 C239.9 D6 B0 ; set model parameters for heater 0 and use PID mode Heater 0 model: gain 609.0, time constant 239.9, dead time 6.0,
    M305 P1 X201 ; Set PT100 Channel 2 to Heat Bed
    M143 H1 S150 ; Set temperature limit for heater 1 to 130C
    M307 H1 A276.9 C1121.5 D20.4 S1.00 B0 ; Set model parameters for Heat Bed 1 and use PID mode gain 276.9, time constant 1121.5, dead time 20.4
    M305 P100 X1000 S"MCU Temperature" ; Map Duet MCU to the Extra Table
    M305 P101 X1001 S"Duet Drivers" ; Map Duet Drivers to the Extra Table
    M305 P102 X1002 S"Duex2 Drivers" ; Map Duex2 Driver to the Extra Table

    ; Part Cooling Pump

    M307 H2 A-1 C-1 D-1 ; Disable the 2th Heater to free up for cooling fan
    M106 P4 A2 X0.5 B0 F25000 H-1 C"Part Cooling" ; Part Cooling Fan Remap to Heater 2

    ;Board Cooling Fan

    M106 P1 F25000 L.3 B1 T40:65 H100:101:102 C"Duet Fan" I1 ; Set fan 1 PWR fan. Turns on when MCU temperature, hits 45C and full when the MCU temperature reaches 65C or if any TMC2660 drivers (virtual
    M106 P2 F25000 L.3 B1 T40:65 H100:101:102 C"PWR Supply" I1 ; Set fan 2 PWR fan. Turns on when MCU temperature, hits 45C and full when the MCU temperature reaches 65C or if any TMC2660 drivers (virtual

    ; Water Cooling

    M305 P103 T10000 R4700 B3950 X2 S"Water Temp" ; Create Virtual Heater for Cooling Water
    M305 P104 T100000 R4700 B3950 X1 S"Spare Temp" ; Create Virtual Heater for Other Temp Sensor
    M106 P3 H0 B1 L1 T45 C"Extruder" ; Water Cooling Pump Start
    M106 P0 H103 F25000 L.3 B1 T30:45 C"Radiator" I1 ; Set fan 4 PWR fan. Turns on when Radiator temperature (heater 103), hits 45C and full speed when the temperature reaches 65C

    ; Tools

    M563 P0 D0 H0 F4 S"Extruder" ; 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
    ;M572 D0 S0.05 ; Pressure Advance
    M592 D0 A0.024460249 B-0.001021136 ; Non Linear Extrusion
    M593 F40.5 ; Dynamic Acceleration Adjustment

    ;Filament out sensor

    M581 E3 S-1 T1 C0 ; invoke trigger 2 when a rising edge is detected on the E1 or E2 endstop input
    ;M591 D0 P3 C3 S1 R70:130 L24.8 E3.0 ; Duet3D rotating magnet sensor for extruder drive 0 is connected to E0 endstop input, enabled, sensitivity 24.8mm.rev, 70% to 130% tolerance, 3mm detection length
    ;M591 D0 ; display filament sensor parameters for extruder drive 0

    ; Automatic power saving

    M911 S20 R23 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Set voltage thresholds and actions to run on power loss


  • administrators

    Any time the Duet restarts itself, run M122 to see why. If the reason was Software, post the Software Reset Data here.



  • @dc42 Thanks for your reply. I will do that tonight. I ended up having to walk away from it last night as I was getting too frustrated.

    Do you have any idea what could be causing my issues with the Piezo probe?

    Kind Regards,
    Sam


  • administrators

    @samlogan87 said in Problems after updating firmware:

    Do you have any idea what could be causing my issues with the Piezo probe?

    I don't think it's firmware related, more likely it's caused by a bad connection.



  • @dc42 I will check that tonight as well. It just seems strange as I haven't shifted my printer at all for a good week and had multiple perfect prints and then I updated the firmware and it started straight after that.

    I will report back tonight.

    Kind Regards,
    Sam



  • @dc42 Hi David,

    I got home tonight and started the printer up. It seemed to take about 10 seconds for the printer to turn the PWM fans off and for it to display the 4 z axis motors on the Panel Due. I then homed the axis and ran my macro for bed leveling. It heated the bed up and started heating the hotend. It increased the temperature by about 10 degrees, then the DWC dropped its connection and the fans went to full speed. The panel due still displayed all 4 z axis motors. I restarted the printer and then the axis have disappeared and the fans are running full speed. I had the printer lose its config file a couple of weeks ago and I have a feeling it has happened again. I will connect to it via usb shortly. It maybe the cause of the issues I have been having.

    Regards,
    Sam



  • @samlogan87 When it misbehaves, can you run M122. Your symptoms are very similar to those that can occur if you get I2C errors. This should be fixed in 2.03 - read the notes here https://github.com/dc42/RepRapFirmware/blob/dev/WHATS_NEW.md.

    So run M122 when it misbehaves and post what is reported for I2C.



  • Hi @deckingman i can’t now. I can’t connect to it via Ethernet and the panel due can not find the board either. Just about to try connecting via USB.

    Kind Regards,

    Sam



  • HI @dc42 and @deckingman

    So I can connect to it via usb. There were lights on the ethernet port and Yat said that the ethernet was running, however I could not connect to it.

    Below is what I sent.

    m115
    FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.03 ELECTRONICS: Duet Ethernet 1.02 or later + DueX2 FIRMWARE_DATE: 2019-06-13b2<LF>
    M552
    Network is enabled, configured IP address: 192.168.1.40, actual IP address: 192.168.1.40<LF>Error: Attempt to move motors when VIN is not in range<LF>Error: Attempt to move motors when VIN is not in range<LF>Network running, IP address = 192.168.1.40<LF>
    M552 S0
    Network stopped<LF><LF>
    M552 S0
    <LF>
    M552 S1
    <LF>Network running, IP address = 192.168.1.40<LF>

    So what I did was to stop the ethernet, re enable it again and it started working. I can now connect to it and this time it has not wiped my config file, which I am happy about.

    So it seems that something has gone haywire again. Am I best to format the sd card and start again? I am wondering if the issues I was having were due to something fishy going on

    Kind Regards,

    Sam



  • @samlogan87 I'd run it as is but as soon as something fishy happens, run M122 and post the result.



  • @deckingman

    So I just got the printer standing back up (the board is under it) and started running my macro for bed leveling. It homed the X, y and z fine and then started heating. It managed to heat to the correct temp without rebooting. It is set to probe each point twice. It probed the first point once and paused in the touching position and then probed again. It did it again for the second point and then was fine for 3 and 4. It then did it again every other time. It took a while to get the m122 dump as the DWC locked up.

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet Ethernet 1.02 or later + DueX2
    Board ID: 08DGM-956GU-DJMSN-6J9D4-3SD6Q-1VR7G
    Used output buffers: 3 of 24 (13 max)
    === RTOS ===
    Static ram: 25680
    Dynamic ram: 94088 of which 76 recycled
    Exception stack ram used: 492
    Never used ram: 10736
    Tasks: NETWORK(ready,524) HEAT(blocked,1104) DUEX(suspended,156) MAIN(running,1668) IDLE(ready,160)
    Owned mutexes:
    === Platform ===
    Last reset 00:09:43 ago, cause: power up
    Last software reset time unknown, reason: User, spinning module GCodes, available RAM 10908 bytes (slot 1)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 16.4, current 31.9, max 32.2
    Supply voltage: min 24.1, current 24.2, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max 0/117
    Driver 1: standstill, SG min/max 0/1023
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Driver 5: standstill, SG min/max not available
    Driver 6: standstill, SG min/max not available
    Date/time: 2019-08-05 20:45:41
    Cache data hit count 1398330345
    Slowest loop: 1097.98ms; fastest: 0.07ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0, FreeDm: 169, MinFreeDm: 162, MaxWait: 243225ms
    Bed compensation in use: none, comp offset 0.000
    === DDARing ===
    Scheduled moves: 90, completed moves: 90, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = 1 -1 -1 -1, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.1
    Heater 1 is on, I-accum = 0.2
    === GCodes ===
    Segments left: 0
    Stack records: 3 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 ===
    Slowest loop: 542.30ms; fastest: 0.02ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex

    Something is not right and I have no idea where to go unfortunately.

    Kind Regards,

    Sam



  • just tried running it again and I am getting the same pausing between probes. M122 below

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 2 WiFi/Ethernet version 2.03 running on Duet Ethernet 1.02 or later + DueX2
    Board ID: 08DGM-956GU-DJMSN-6J9D4-3SD6Q-1VR7G
    Used output buffers: 1 of 24 (9 max)
    === RTOS ===
    Static ram: 25680
    Dynamic ram: 94088 of which 76 recycled
    Exception stack ram used: 516
    Never used ram: 10712
    Tasks: NETWORK(ready,652) HEAT(blocked,1160) DUEX(suspended,156) MAIN(running,1668) IDLE(ready,160)
    Owned mutexes:
    === Platform ===
    Last reset 00:18:51 ago, cause: software
    Last software reset at 2019-08-05 20:57, reason: User, spinning module GCodes, available RAM 10712 bytes (slot 3)
    Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 detected, interface speed: 20.0MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 29.6, current 32.6, max 35.5
    Supply voltage: min 24.1, current 24.3, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
    Driver 0: standstill, SG min/max 0/117
    Driver 1: standstill, SG min/max 0/123
    Driver 2: standstill, SG min/max not available
    Driver 3: standstill, SG min/max not available
    Driver 4: standstill, SG min/max not available
    Driver 5: standstill, SG min/max not available
    Driver 6: standstill, SG min/max not available
    Date/time: 2019-08-05 21:15:56
    Cache data hit count 2731265669
    Slowest loop: 995.99ms; fastest: 0.07ms
    I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
    === Move ===
    Hiccups: 0, FreeDm: 169, MinFreeDm: 162, MaxWait: 827462ms
    Bed compensation in use: none, comp offset 0.000
    === DDARing ===
    Scheduled moves: 90, completed moves: 90, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
    === Heat ===
    Bed heaters = 1 -1 -1 -1, chamberHeaters = -1 -1
    Heater 0 is on, I-accum = 0.1
    Heater 1 is on, I-accum = 0.2
    === GCodes ===
    Segments left: 0
    Stack records: 3 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 ===
    Slowest loop: 870.32ms; fastest: 0.02ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 1 of 8
    Interface state 5, link 100Mbps full duplex

    Kind Regards,
    Sam



  • @samlogan87 It looks like it isn't anything to do with I2C as I suspected it might be. So that's good. Maybe DC42 can make something of the software reset report.



  • @deckingman yeah it was not showing the signs I have usually seen with the i2c errors but then again I have not had it for long enough to maybe see them all. Hopefully he can shed some light as I have a few things to print.

    Kind Regards,

    Sam



  • @dc42

    Sorry I know you are probably very busy, but do you have any ideas what I could be? It almost seems like it’s buffering between come operations like probing.

    Kind Regards,

    Sam



  • So a bit of an update. I took the SD card out and backed up the files on it. I then formatted it and put everything back over onto the card and it seems to be working ok. I wonder if something happened with the SD card. I have changed the card to a 16gb one now as well.

    Kind Regards,
    Sam



  • Hey Everyone,

    So there are a couple of other things that are happening now.

    First I seem to have an issue with Z height and it is sporadic. Sometime after I run my macro, I do my usual baby stepping and it is fine and prints a nice first layer. Other times I run the macro and it homes, levels and then homes the z axis and when it goes to print, it is about 3mm above the surface. I cancel the print, and start it again without homing and it is fine. I do not run the macro. It is really confusing me now.

    The other issue is my end g-code in cura runs a M84 which should shut all the motors off. It doesn't exactly do that. DWC says the motors need to be homed to be able to move, however you can still hear the hum of the motors. If I go into the console, and type M84, it turns the motors off.

    @deckingman do you have any ideas what it could be.

    Macro:

    G28 XY ; Home XY
    G28 Z ; Home Z
    M190 S55 ; Heat bed to 55 Degrees and wait
    M104 S130 ; Heat Extruder to 130
    M109 S130 ; Heat Extruder to 130 degrees and wait
    G1 Z10 ; Move Z 10mm down
    M561 ; Clear any bed transform
    G32 ; Start 4-point probe sequence
    G28 Z ; Home Z
    G1 X0 Y0 ; Move to Home

    Here is my End GCode for Cura

    ; End Gcdoe
    G10 P0 R-273.15 S-273.15 ; Turn off Tool0
    M140 S-273.15 ; Turn off Bed
    M106 S0 ; Object fan off
    G92 E0 ; Zero Extruder
    G1 E-6 F300 ; Retract 2mm
    G92 E0 ; Zero Extruder
    G28 XY ; Home XY and U to Z max
    M84 ; All motors Off
    M290 R0 S0 ; clear babystepping

    Sam



  • @samlogan87 Hi Sam,

    Sorry but I'm a bit busy too (for the same reasons that DC is busy - the TCT show is fast approaching).

    I can't help with the probing as I don't use any form of bed level or flatness compensation. Your M84 is a bit odd. It sounds like the command to turn th motors off is happening while the previous G28 XY is still happening. So try putting M400 before the M84. That will wait for all moves to complete.

    Note. Whenever you run M84, all the axes will revert to showing as being un-homed. That's because with no holding current, it is easy to knock something out of position. So it is mandatory to always home all axes after an M84 command. Is there a particular reason why you want to turn off the motors at the end of every print?



  • Hi @deckingman

    That is not a problem and I fully understand. This forum is fantastic and I really appreciate the help.

    Yeah it seems strange. With the M84 it use to work. I think I may start from scratch as I am now having issues with DWC as well. It says it is connected and I just tried pressing emergency stop and it did nothing.

    I will download the sd card files and write the firmware back to it. Maybe the firmware is corrupted slightly. It always use to be stable and I very rarely had issues. Now it seems to be odd ones that pop up and go away when I cycle power.

    In regards to running M84, I just do it as a matter of course. I usually have prints running during the day with the wife at home and she hates my printer at the best of times, so if I can make it quite and on after the print is done, I still partially stay in her good books 😂

    Regards,

    Sam



  • @samlogan87 Maybe it's the card itself. If it was me, I think I'd be inclined to buy a new sd card, or at least try another one.


Log in to reply