Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Issues with pressure advance since RRF 3.4

    Scheduled Pinned Locked Moved
    General Discussion
    46
    308
    37.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Argoundefined
      Argo
      last edited by

      Since 3.4 I'm having issues with pressure advance and bulging corners.
      Usually my PA value for PLA is at 0.06.

      Below are two test prints. With the same settings. Upper test print is RRF 3.3 and other is RRF 3.4. PA value 0.06 and no enabled input shaping.

      IMG_2586.jpg

      To get the same result with RRF 3.4 I would need to drastically increase PA to around 0.1 which then causes other problems (e.g. infill lines do not connect to perimeter anymore).

      What might be the issue and how can I fix this?

      ikarisanundefined Phaedruxundefined 2 Replies Last reply Reply Quote 1
      • ikarisanundefined
        ikarisan @Argo
        last edited by

        @argo 3.4.0 or 3.4.1?

        1 Reply Last reply Reply Quote 0
        • Phaedruxundefined
          Phaedrux Moderator @Argo
          last edited by

          @argo Can you share your config.g file as well?

          Z-Bot CoreXY Build | Thingiverse Profile

          Argoundefined 2 Replies Last reply Reply Quote 0
          • Argoundefined
            Argo @Phaedrux
            last edited by

            @phaedrux

            Here's my config:

            G4 S1        ; wait 1s for expansion boards to start
            
            ; General preferences
            G90                                         ; Send absolute coordinates...
            M83                                         ; ...but relative extruder moves
            
            ; Network
            M550 P"Walross"                        	; Set machine name
            M552 S1                                     	; Enable network
            ;*** Access point is configured manually via M587
            M586 P0 S1                                  ; Enable HTTP
            M586 P1 S1                                  ; Disable FTP
            M586 P2 S1                                  ; Disable Telnet
            M575 P1 S1 B57600							; Panel Due
            
            ; Printer geometry
            M669 K1                	                    ; Select CoreXY mode
            M208 X0:290 Y-3:300 Z-0.2:270              ; Axis Limits
            M564 H0							            ; allow unhomed movement
            
            ;------- drives from top---------------------------------------------------
            ;  B -------+------ A   
            ;   | P.02 | P.03 |
            ;   -------+-------  Z-Drives
            ;   | P0.1 | P0.4 |
            ;   -------+-------
            ;        Front
            
            ; Drive Mappings
            M569 P121.0 S0 D2                             ; Drive 0: E Axis
            M569 P0.1 S1 D2                             ; Drive 1: Z-LeftFront Axis
            M569 P0.2 S0 D2                             ; Drive 2: Z-LeftRear Axis
            M569 P0.3 S1 D2                             ; Drive 3: Z-RightRear Axis
            M569 P0.4 S0 D2                             ; Drive 4: Z-RightFront Axis
            M569 P0.5 S1 D2                             ; Drive 5: Expansion: B motor (X-axis)
            M569 P0.6 S0 D2                             ; Drive 6: Expansion: A motor (Y-axis)
            
            
            ; Motor remapping for dual Z and axis Limits
            M584 X5 Y6 Z1:2:3:4 E121.0                              ; Motor mapping
            M671 X-60:-60:360:360 Y-10:370:370:-10 S20	        ; Z leadscrews positions Left Front - Let Rear - Right Rear - Right Front
            
            ; Microstepping and Speed
            M350 X32 Y32 E16 Z32 I1                     ; Configure microstepping with interpolation   
            M92 X160.00 Y160.00 Z800.00 E400.00         ; Set steps per mm	1.8 motors							
            
            ; Speeds, Acceleration and Jerk
            M566 X300.00 Y300.00 Z25.00 E400.00 P1          ; Set maximum instantaneous speed changes (mm/min)
            M203 X24000.00 Y24000.00 Z900.00 E1200.00       ; Set maximum speeds (mm/min) ; SpreadCycle
            M201 X5000.00 Y5000.00 Z1000.00 E5500.00        ; Set accelerations (mm/s^2) ; SpreadCycle
            
            ; Motor currents
            M906 X1250.00 Y1250.00 Z1100.00 E700.00 I55        ; Set motor currents (mA) and motor idle factor in percent 
            M84 S30                                            ; Set idle timeout
            
            ; Endstops for each Axis
            M574 X2 S1 P"io1.in" 					 	; Set X endstop controlled by switch
            M574 Y2 S1 P"io2.in"                      	; Set Y endstop controlled by switch
            M574 Z1 S2                                  ; Set endstops controlled by probe "OLD" VINDA
            ;M574 Z1 S1 P"io6.in"						; Z endstop switch
            
            ; Stallgaurd Sensitivy (maybe use to pause print after crash)
            M915 X S2 F0 H200 R0		                ; Set X axis Sensitivity  1.8 motors
            M915 Y S2 F0 H200 R0		                ; Set y axis Sensitivity  1.8 motors
            
            ; Input Shaper and Accelerometer
            M955 P121.0 I05 ;Accelerometer
            ;M593 P"zvdd" F46 S0.05
            
            ; Z-Probe 
            M558 P8 C"121.io2.in" I1 H2 F250:100 T6000 A500 S0.0025	; VINDA
            
            ; Mesh Grid 
            M557 X5:260 Y30:250 P7                         ; 
            
            ; Z Probe Offset (Probe behind Afterburner)
            ;G31 P1000 X0 Y25 Z1.095	; VINDA - 3Djake Nano
            G31 P1000 X0 Y25 Z0.770		; VINDA - 3DSWay Textured  
            
            
            ; Filament Runout sensor
            M591 D0 P3 L25.95 E3 R10:250 C"121.io1.in" S1		 		; Filament Sensor 
            
            ; Heatbed Heaters and Thermistor Bed 
            M308 S0 P"temp0" Y"thermistor" T100000 B4725 C7.060000e-8       ; Heatbed Thermistor
            M950 H0 C"out0" T0 Q10					                        ; Creates Bed Heater (SSR)
            M307 H0 R0.889 K0.762:0.000 D3.02 E1.35 S0.6 B0
            M140 H0										                    ; Bed uses Heater 0
            M143 H0 S116                                                    ; Set temperature limit for heater 0 to 115C Bed
            
            ; HotEnd Heaters and Thermistor HotEnd      
            M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.06e-8     	; define E0 temperature sensor 
            M950 H1 C"121.out0" T1 Q100					                            ; Create HotEnd Heater
            M307 H1 R4.568 K0.683:0.000 D4.04 E1.35 S1.00 B0 V24.4				; PID as heater
            M143 H1 S295                                                    	; Set temperature limit for heater 1 to 285C HotEnd
            M302 S15 R15														; min extrusion (cold extrusion) temp
            
            ; Fans Hotend + Part
            M950 F3 C"121.out1" Q100				; Creates HOTEND Fan
            M106 P3 T65 L1.0 X1.0 H1                 ; HOTEND Fan Settings
            M950 F0 C"121.out2" Q100				; Creates PARTS COOLING FAN
            M106 P0 H-1                         ; Parts Cooling Fan 
            
            ; Fans Electronic compartment & Exhaust
            M950 F1 C"out3" Q100				    ; Creates Case Fan 1
            M106 P1 T40 S170 L170 X170 H0                 ; Case Fan 1 Settings 
            M950 F2 C"out4" Q100				    ; Creates Case Fan 2
            M106 P2 T40 S170 L170 X170  H0                  ; Case Fan 2 Settings 
            M950 F5 C"out5" Q100				    ; Creates Exhaust Fan
            M106 P5 T82 S150 L150 X150 H0                  ; Exhaust fan
            
            ; Chamber Thermistor
            M308 S3 P"temp1" A"Chamber" Y"thermistor" T100000 B4725 C7.060000e-8     	; define chamber sensor
            
            ; Tools
            M563 P0 D0 H1 F0                            ; 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
            

            @ikarisan
            RRF 3.4.1 and 3.4.0 behave the same but the test above was with RRF 3.4.1 and RRF 3.3.

            1 Reply Last reply Reply Quote 0
            • Argoundefined
              Argo @Phaedrux
              last edited by

              @phaedrux

              Do you know if this could be firmware related or am I missing something that has changed since RRF 3.4 and I need to alter some settings?

              Phaedruxundefined 1 Reply Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @Argo
                last edited by

                @argo said in Issues with pressure advance since RRF 3.4:

                @phaedrux

                Do you know if this could be firmware related or am I missing something that has changed since RRF 3.4 and I need to alter some settings?

                It's possible that it is firmware related with the recent changes for input shaping, etc. Trying to identify the firmware version that causes the issues to appear and the setting used would be helpful.

                Z-Bot CoreXY Build | Thingiverse Profile

                Argoundefined 1 Reply Last reply Reply Quote 0
                • Argoundefined
                  Argo @Phaedrux
                  last edited by Argo

                  @phaedrux

                  For me the issues appeared since RRF 3.4 beta 7 (maybe also before but that was when I started to test the beta) for which I also created a thread but without real answer wether or not it's a error on my side or firmware related: https://forum.duet3d.com/topic/26062/3-4-0beta7-new-input-shaper-disturb-pressure-advance

                  So I'm also having issues with bulging corners with RRF 3.4 final and RRF 3.4.1.

                  I'm using those speed / acceleration settings:

                  51780fac-f1eb-42fd-ab7a-a95cd6687818-image.png

                  1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators
                    last edited by dc42

                    @argo thanks for reporting this. The implementation of PA had to be largely rewritten in RRF 3.4, so a bug may have crept in.

                    You said that for you, the problem started at RRF 3.4beta7. Can you remember what was the last RRF 3.4beta you installed that did not have the problem - was it beta6, or an earlier one?

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    Argoundefined 2 Replies Last reply Reply Quote 1
                    • Argoundefined
                      Argo @dc42
                      last edited by Argo

                      @dc42

                      I just flashed RRF 3.4 beta 2 as this is the first beta that mentions input shaping and I assume PA has been rewritten for input shaping.

                      Here is the result. PLA, direct extruder (Bondtech LGX) and PA value of 0.068 which is already too high for direct extruder printing PLA in my opinion as you can see in the example below, the infill line is too thin at the end. But the corners are still bulging. It almost looks like PA isn't applied at all for corners compared to RRF 3.3.
                      Input shaping was off (for all tests in this thread).

                      photo_2022-07-07 16.25.30.jpeg

                      M122 right after the test print:

                      M122
                      === Diagnostics ===
                      RepRapFirmware for Duet 3 Mini 5+ version 3.4.0beta2 (2021-08-03 12:43:05) running on Duet 3 Mini5plus WiFi (standalone mode)
                      Board ID: W0DS5-R296U-D65J0-40KM6-LU03Z-Z3F72
                      Used output buffers: 6 of 40 (40 max)
                      === RTOS ===
                      Static ram: 102724
                      Dynamic ram: 107996 of which 16 recycled
                      Never used RAM 27832, free system stack 118 words
                      Tasks: NETWORK(ready,10.6%,214) HEAT(delaying,0.0%,343) Move(notifyWait,0.0%,255) CanReceiv(notifyWait,0.0%,773) CanSender(notifyWait,0.0%,369) CanClock(delaying,0.0%,347) TMC(delaying,1.2%,72) MAIN(running,87.3%,432) IDLE(ready,0.0%,29) AIN(delaying,0.8%,264), total 100.0%
                      Owned mutexes: WiFi(NETWORK)
                      === Platform ===
                      Last reset 00:27:44 ago, cause: power up
                      Last software reset at 2022-07-07 15:54, reason: User, GCodes spinning, available RAM 31492, slot 1
                      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                      Error status: 0x04
                      Aux0 errors 0,0,0
                      MCU revision 3, ADC conversions started 1664433, completed 1664432, timed out 0, errs 0
                      Step timer max interval 725
                      MCU temperature: min 39.3, current 39.3, max 39.6
                      Supply voltage: min 24.4, current 24.5, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
                      Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/144/132, gc cycles 0
                      Driver 0: position 90080, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 9, reads 54, writes 0, timeouts 0, DMA errors 0
                      Driver 1: position 1120, standstill, SG min/max 2/2, read errors 0, write errors 0, ifcnt 27, reads 54, writes 0, timeouts 0, DMA errors 0
                      Driver 2: position 16852, standstill, SG min/max 2/2, read errors 0, write errors 0, ifcnt 27, reads 54, writes 0, timeouts 0, DMA errors 0
                      Driver 3: position 0, standstill, SG min/max 2/2, read errors 0, write errors 0, ifcnt 28, reads 54, writes 0, timeouts 0, DMA errors 0
                      Driver 4: position 0, standstill, SG min/max 0/0, read errors 0, write errors 0, ifcnt 27, reads 54, writes 0, timeouts 0, DMA errors 0
                      Driver 5: position 0, standstill, SG min/max 2/2, read errors 0, write errors 0, ifcnt 27, reads 54, writes 0, timeouts 0, DMA errors 0
                      Driver 6: position 0, standstill, SG min/max 2/2, read errors 0, write errors 0, ifcnt 27, reads 54, writes 0, timeouts 0, DMA errors 0
                      Date/time: 2022-07-07 16:27:48
                      Cache data hit count 3022789118
                      Slowest loop: 3.08ms; fastest: 0.12ms
                      === Storage ===
                      Free file entries: 10
                      SD card 0 detected, interface speed: 22.5MBytes/sec
                      SD card longest read time 0.0ms, write time 0.0ms, max retries 0
                      === Move ===
                      DMs created 83, segments created 12, maxWait 0ms, bed compensation in use: mesh, comp offset 0.000
                      === MainDDARing ===
                      Scheduled moves 3313, completed moves 3313, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                      === AuxDDARing ===
                      Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                      === Heat ===
                      Bed heaters = 0 -1, chamberHeaters = -1 -1
                      Heater 0 is on, I-accum = 0.2
                      Heater 1 is on, I-accum = 0.0
                      === GCodes ===
                      Segments left: 0
                      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
                      USB is idle in state(s) 0
                      Aux is idle in state(s) 0
                      Trigger is idle in state(s) 0
                      Queue is idle in state(s) 0
                      LCD is idle in state(s) 0
                      SBC is idle in state(s) 0
                      Daemon is idle in state(s) 0
                      Aux2 is idle in state(s) 0
                      Autopause is idle in state(s) 0
                      Code queue is empty
                      === Filament sensors ===
                      Extruder 0: no data received
                      === CAN ===
                      Messages queued 5, received 6, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 3, free buffers 17 (min 17), ts 3/3/0
                      Tx timeouts 0,0,0,0,0,0
                      === Network ===
                      Slowest loop: 201.07ms; fastest: 0.06ms
                      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
                      HTTP sessions: 1 of 8
                      - WiFi -
                      Network state is active
                      WiFi module is connected to access point 
                      Failed messages: pending 0, notready 0, noresp 19
                      WiFi firmware version 1.26
                      WiFi MAC address f0:08:d1:02:e7:b3
                      WiFi Vcc 3.36, reset reason Power up
                      WiFi flash size 2097152, free heap 24936
                      WiFi IP address 192.168.1.120
                      WiFi signal strength -72dBm, mode 802.11n, reconnections 0, sleep mode modem
                      Clock register 00002002
                      Socket states: 0 0 0 0 0 0 0 0
                      

                      Duet 1LC:

                      M122 B121
                      Diagnostics for board 121:
                      Duet TOOL1LC firmware version 3.4.0beta2 (2021-08-03 10:00:09)
                      Bootloader ID: SAMC21 bootloader version 2.3 (2021-01-26b1)
                      Never used RAM 2204, free system stack 2719 words
                      Tasks: Move(notifyWait,0.0%,99) HEAT(delaying,0.2%,105) CanAsync(notifyWait,0.0%,57) CanRecv(notifyWait,0.1%,74) CanClock(notifyWait,0.0%,65) ACCEL(notifyWait,0.0%,61) TMC(delaying,2.8%,57) MAIN(running,91.9%,352) IDLE(ready,0.0%,27) AIN(delaying,4.9%,142), total 100.0%
                      Last reset 00:27:40 ago, cause: power up
                      Last software reset time unknown, reason: AssertionFailed, available RAM 3392, slot 0
                      Software reset code 0x0120 ICSR 0x00000000 SP 0x2000415c Task  Freestk 129 bad marker
                      Stack: 00000544 00022ffc 00019b65 20003134 00016cff 20003134 000163d1 20000ed0 00000000 00000001 00008275 200071c8 200071c8 200071e0 00000000 20000f50 00011647 000223b8 00022474 00021ac8 00019b05 200071c8 200071c8 20000f50 000083ed 200071d8 000009c7
                      Driver 0: position 500392, 400.0 steps/mm, standstill, SG min/max 2/2, read errors 0, write errors 0, ifcnt 13, reads 386, writes 0, timeouts 0, DMA errors 0, steps req 0 done 0
                      Moves scheduled 2364, completed 2364, in progress 0, hiccups 0, step errors 0, maxPrep 0, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
                      Peak sync jitter -1/4, peak Rx sync delay 183, resyncs 0/0, no step interrupt scheduled
                      VIN: 24.2V
                      MCU temperature: min 34.4C, current 46.0C, max 46.6C
                      Ticks since heat task active 49, ADC conversions started 1659491, completed 1659489, timed out 0, errs 0
                      Last sensors broadcast 0x00000002 found 1 54 ticks ago, loop time 0
                      CAN messages queued 47, send timeouts 0, received 15, lost 0, free buffers 37, min 37, error reg 0
                      dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 0
                      Accelerometer detected: yes, status: 00
                      I2C bus errors 0, naks 0, other errors 0
                      === Filament sensors ===
                      Interrupt 4 to 8us, poll 9 to 177us
                      Driver 0: pos 339.61, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
                      
                      1 Reply Last reply Reply Quote 1
                      • Tinchusundefined
                        Tinchus
                        last edited by

                        I will add a little comment here based on my past experience tunning PA: it works very well whilw the requested speed ks close to the real speed. The further you go and the results starts to be less effective. In yor slicer config i can see a perimeter speed of 120mm s, and your infill has 260 mm s. In your pictures i see what it looks like a test cube .
                        If that cube is small, you will never reach 120, that would be the requested speed. Firmware will give so ething smaller.
                        But later in tbe infill the requested 260 speed will never be reached either but the difference between requeste and real speed will be muuuuuch bigger, so probably you wont bave very good results.
                        I would suggest to retune PA with a model that let you reach real values closer to the requested speed and retest to see if there is any difference

                        Argoundefined 1 Reply Last reply Reply Quote 1
                        • jackantubisundefined
                          jackantubis
                          last edited by

                          I have same kind of issues since 3.4.
                          Maybe the Pressure Advance don't have a 3rd order compensation for speed variation, could be a good update.
                          Made 4 measurements at different speed, make the equation in excel.
                          Can we add this with "Duet programming Gcode" ?

                          Argoundefined 1 Reply Last reply Reply Quote 0
                          • Argoundefined
                            Argo @Tinchus
                            last edited by

                            @tinchus

                            Thanks for your theory but requested speeds are reached.

                            1 Reply Last reply Reply Quote 1
                            • CCS86undefined
                              CCS86
                              last edited by

                              This is very interesting. I had noticed some of these artifacts too but hadn't pinned it down to PA changes in the 3.4 releases. Good job zeroing in on this!

                              1 Reply Last reply Reply Quote 1
                              • gnydickundefined
                                gnydick
                                last edited by

                                same experience, lurking for update

                                1 Reply Last reply Reply Quote 0
                                • CCS86undefined
                                  CCS86
                                  last edited by

                                  Well, that sucked... I tried to downgrade to 3.3 for a back to back print test and that almost destroyed my Mosquito hot end. The hot end fan spooled up with its normal blip, but then slowly wound down to zero at my normal PWM setting. The entire heat sink ended up packed with molten filament and had to be drilled out. The hot end fan won't stay running at any other PWM value than 255.

                                  Off topic, but what changed between 3.3 and 3.4 on this? I'm back on 3.4 and it runs fine again.

                                  Phaedruxundefined 1 Reply Last reply Reply Quote 0
                                  • Phaedruxundefined
                                    Phaedrux Moderator @CCS86
                                    last edited by

                                    @ccs86 How did you have it configured?

                                    When a fan is configured as thermostatic using M106, the S parameter is now ignored. If a single T value is given, then when the temperature is above the T parameter the fan will run at the PWM specified by the X (maximum PWM) parameter (default 1.0).

                                    From the 3.4 notes.

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    jumpedwithbothfeetundefined 1 Reply Last reply Reply Quote 0
                                    • Argoundefined
                                      Argo @jackantubis
                                      last edited by

                                      @jackantubis @gnydick @CCS86

                                      Could you also please provide some examples? So we can be sure we are having the same issue.

                                      gnydickundefined 1 Reply Last reply Reply Quote 0
                                      • gnydickundefined
                                        gnydick @Argo
                                        last edited by

                                        @argo https://forum.duet3d.com/post/289116

                                        gloomyandyundefined 1 Reply Last reply Reply Quote 0
                                        • jumpedwithbothfeetundefined
                                          jumpedwithbothfeet @Phaedrux
                                          last edited by

                                          @phaedrux said in Issues with pressure advance since RRF 3.4:

                                          @ccs86 How did you have it configured?

                                          When a fan is configured as thermostatic using M106, the S parameter is now ignored. If a single T value is given, then when the temperature is above the T parameter the fan will run at the PWM specified by the X (maximum PWM) parameter (default 1.0).

                                          From the 3.4 notes.

                                          Apologies for going off topic, but by that statement M106 in GCode dictionary could very much do with a rewrite 🙂

                                          6HC Voron Trident based, 6XD CNC, Mini 5 polar printer

                                          1 Reply Last reply Reply Quote 0
                                          • gloomyandyundefined
                                            gloomyandy @gnydick
                                            last edited by

                                            @gnydick Can I just check, I think in the your other thread you reported that going back to 3.3 did not make any difference to the results you are seeing? Is that correct or was the regression test you did just to 3.4?

                                            gnydickundefined 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA