Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. petriheino
    • Profile
    • Following 5
    • Followers 0
    • Topics 9
    • Posts 55
    • Best 9
    • Controversial 0
    • Groups 0

    petriheino

    @petriheino

    9
    Reputation
    17
    Profile views
    55
    Posts
    0
    Followers
    5
    Following
    Joined Last Online

    petriheino Unfollow Follow

    Best posts made by petriheino

    • DDA & Move Debugging

      Im trying to debug move commands

      1. Nothing with M111 S1 P6 ;DDA logging
      2. Nothing with M111 S1 P4 ;Move logging
      3. Only works with both P6 & P4 on

      When both P6 & P4 is enabled, im getting this type of debug info via USB serial, two or more blocks of data repeating as below.

      pr 1 ts=512267325 DDA: start=[186.160995 83.862999 7.200000] end=[185.625000 84.664001 7.200000] s=0.963793 vec=[-0.556132 0.831094 0.000000 0.000000 0.000000]
      2021-09-12 23:46:28,086 - a=600.000000 d=600.000000 reqv=15.416668 startv=15.416668 topv=15.416668 endv=15.416668
      2021-09-12 23:46:28,087 - cks=58609 sstcda=24088 tstcddpdsc=82697 exac=0
      2021-09-12 23:46:28,088 - DM0: dir=F steps=79 next=1 rev=80 interval=740 2dtstc2diva=0
      2021-09-12 23:46:28,090 - accelStopStep=1 decelStartStep=80 2c2mmsda=35681189 2c2mmsdd=35681189
      2021-09-12 23:46:28,092 - mmPerStepTimesCdivtopSpeed=758400 fmsdmtstdca2=0 cc=56250 acc=0
      2021-09-12 23:46:28,094 - DMY: dir=F steps=64 next=1 rev=65 interval=915 2dtstc2diva=0
      2021-09-12 23:46:28,096 - accelStopStep=1 decelStartStep=65 2c2mmsda=44118924 2c2mmsdd=44118924
      2021-09-12 23:46:28,097 - mmPerStepTimesCdivtopSpeed=937744 fmsdmtstdca2=0 cc=0 acc=0
      2021-09-12 23:46:28,101 - DMX: dir=B steps=43 next=1 rev=44 interval=1363 2dtstc2diva=0
      2021-09-12 23:46:28,103 - accelStopStep=1 decelStartStep=44 2c2mmsda=65665377 2c2mmsdd=65665377
      2021-09-12 23:46:28,106 - mmPerStepTimesCdivtopSpeed=1395712 fmsdmtstdca2=0 cc=0 acc=0
      2021-09-12 23:46:28,111 - Transformed 163.43 77.45 7.20 to 13074 6196 2880
      

      Can this info be read to check what was the requested motor move for extruder? Because after each gcode theres more than one output logging info block similar to above, which one should be read?

      Is it intentional that if not both S6 and S4 are enabled, there is no debug info? Now both M111 S1 P6 ;DDA debug and M111 S1 P4 ;Move debug has to be enabled to get any data.

      posted in Firmware developers
      petriheinoundefined
      petriheino
    • RE: Bed compensation not working as expected.

      @marcossf
      Could you try to add G29 S2 before each? Could that work (reset the mesh)?

      I noticed that if not using G29 S2 in start.g file, then z motor stepcount gets lost when repeating measurement with G30 -> G29. This can be seen by using M114 and comparing the Z stepcount. Maybe observing Z stepcount would be also good to do.

      Im also trying to solve issues related to G29 and hopefully soon will measure Z axis with encoder.
      My earlier theread here Mesh Bed Leveling G29 issues.

      posted in General Discussion
      petriheinoundefined
      petriheino
    • RE: PA tuning Disparencies

      By doing more testing with Retraction distance 0.6mm and retraction speed 1800mm/min, the gaps increase if adjusting pressure advance from 0.04 to 0.07.

      Could this issue be related to extrusionPending inside dda.cpp?

      Because otherwise print quality is very good but starting point always fails by either missing material or having too much.

      Would it make sense to add anything like this to end or beginning of DDA::Prepare etc?

      if ( moveBuffer.hasPositiveExtrusion && axesMentionedExceptZ.IsNonEmpty() )
      {
      extrusionPending = 0
      }
      
      posted in Tuning and tweaking
      petriheinoundefined
      petriheino
    • RE: DDA & Move Debugging

      @bot
      By disabling Pressure Advance, retract and un-retract steps are matching, 662 and 662.

      posted in Firmware developers
      petriheinoundefined
      petriheino
    • RE: Bed compensation not working as expected.

      Hey developers, is there any documentation that could help to troubleshoot mesh? Ive been trying to read the code and understand how to debug mesh, and looked at the Gcode states. Should we concentrate on some of them, where the readings go wrong?

      Case 29 (G29)
      gridProbing states.png

      Case 30 (G30)

      probingAtPoint0
      probingAtPoint1
      probingAtPoint2a
      probingAtPoint2b
      probingAtPoint3
      probingAtPoint4
      probingAtPoint4a
      probingAtPoint5
      probingAtPoint6
      probingAtPoint7
      
      posted in General Discussion
      petriheinoundefined
      petriheino
    • PA tuning Disparencies

      Re: PA tuning
      Re: Enhancing pressure advance

      Hi,

      After countless trials with configurations, I can also confirm having similar difficulties in PA tuning and retraction tuning as other users on this forum.

      By tuning extuder jerk, retraction distance and micro stepping resolution (16x to 256x) Ive been able to make the start point from missing material to having too much material (dot) with direct drive extruder.

      The next segments are also effected - if a dot is formed, it measures 0.5mm, and the next lines measure 0.3mm, after it settles to 0.4mm after few millimeters of printing.

      Another forum user suggested dynamic unretraction constant. But using firmware from mdealer fork didn’t seem to help.

      Similar thing happens when attempting PA calibration method of Marlin PA1.5 so I tried injecting M572 D0 P0 commands to the gcode at G10 and M572 D0 P0.04 at G11. This helped in line test but not in round shape.

      Also, when using low retraction amounts, they work nicely in calibration, but in real print start randomly stringing, leaking alot when retracting and moving (when printing larger areas). Large retraction amounts make gaps. Tested with both Simplify3D code and Cura code with absolute, relative and firmware retraction modes.

      Could we make some changes to firmware where extruder or filament amount is reset at the event of retraction / unretraction?

      Other possible solution would be if the DDA would detect that this is a retraction move, and all corrections should reset when the retraction event is noticed. What would firmware developers suggest?

      posted in Tuning and tweaking
      petriheinoundefined
      petriheino
    • RE: DDA & Move Debugging

      @bot
      Previous post done with M566:
      Maximum jerk rates (mm/min): X: 300.0, Y: 300.0, Z: 600.0, E: 3000.0, jerk policy: 1. It resulted in 699 retraction steps and 656 un-retraction steps

      I went ahead and re-captured with M566 E120 but it seems to make the problem worse, by resulting in 713 retraction steps, making problem worse (not affecting un-retraction.) Signal seems same, and motor sound is same (one 2A motor stand-alone on table)

      posted in Firmware developers
      petriheinoundefined
      petriheino
    • PanelDue 5i Wifi config issues

      Hi,

      several times using PanelDue 5i to setup new printer is cumbersome and time-consuming to setup networking.

      Could these features be added?

      • Longer max characters lenght in console to type in long WIFI config messages (with long SSID & password)
      • Network discovery (like selecting Wifi SSID from list and more)
      posted in PanelDue
      petriheinoundefined
      petriheino
    • RE: Pressure advance over retraction

      @oliof Thanks for noticing, seems like comment was left out by accident. Will measure tomorrow again.

      posted in General Discussion
      petriheinoundefined
      petriheino

    Latest posts made by petriheino

    • RE: Issues with pressure advance since RRF 3.4

      @Threepwood skipping of steps could take less than 10 milliseconds, the motor movement amount involved could be miniscule and be hard to detect, and be non-dependant on other configs or print settings.

      I had to connect another motor as extruder, connect a sort of clock dial to shaft, then did these short segment tests to see if motor returns to zero position Jetty Firmware Acceleration Test Scripts

      This changed PA calibration cubes dramatically for me. Might be worth a shot.

      posted in General Discussion
      petriheinoundefined
      petriheino
    • RE: Issues with pressure advance since RRF 3.4

      @gloomyandy Thanks for the suggestion, Ive been working on that and will probably release at some point, but I have only very rudimentary test equipment. Probably some testing could be done by Duet team to show that the RRF PA Algorithm is funtioning as intended and not affected by FW updates or configurations. This could help other developers to also jump in to possibly improve the algorithm.

      posted in General Discussion
      petriheinoundefined
      petriheino
    • RE: Issues with pressure advance since RRF 3.4

      Hi, I also struggle alot with PA calibration on direct extruder printers with Duet/RRF for a long time. I ended up measuring step signal of extruder to understand what is going on.

      By comparing Klipper and Marlin PA, RRF appears to be completely different. There is very high pulse rate extra step signals at start and endpoints (and, I believe also in corners). For comparison, Marlin and Klipper appear to not insert extra step signals. @Threepwood could it be possible that your extruder is skipping steps during these high speed transitions?

      Considering FW development, probably step signal measurement could be used instead of print testing, in that way testing is fast, and not dependent on the printer.

      posted in General Discussion
      petriheinoundefined
      petriheino
    • RE: Issues with pressure advance since RRF 3.4

      Hi folks, my guess is OP simply did finer calibrations after update and found out underlying RRF issues regarding PA, Retraction, Extruder steps and acceleration relation... I got similar results (improvements) with Klipper conversion. I did some testing and posted it here earlier.

      posted in General Discussion
      petriheinoundefined
      petriheino
    • RE: Issues with pressure advance since RRF 3.4

      @dc42 Could you share any of your test methods? Im currently just plotting step/dir signal outputs.

      posted in General Discussion
      petriheinoundefined
      petriheino
    • RE: Pressure advance over retraction

      @dc42 Thanks, will look into it more. Could you please explain what would be considered a high value of pressure advance?

      posted in General Discussion
      petriheinoundefined
      petriheino
    • RE: Pressure advance over retraction

      @oliof Thanks for noticing, seems like comment was left out by accident. Will measure tomorrow again.

      posted in General Discussion
      petriheinoundefined
      petriheino
    • RE: Pressure advance over retraction

      @gloomyandy thanks for the request, please find below measurement results by slicer based retractions (G1 E0.3) commands.

      Test file: one loop retract test e moves.gcode

      After power on, 1st run:

      • Retraction: 5188 steps over 153ms
      • Un-retraction: 671 steps over 17ms

      2nd run:

      • Retraction: 708 steps over 34ms
      • Un-retraction: 671 steps over 17ms

      3rd run:

      • Retraction: 708 steps over 34ms
      • Un-retraction: 671 steps over 17ms

      Test repeated 2 times from power on.

      posted in General Discussion
      petriheinoundefined
      petriheino
    • RE: Heater timeout

      Hi, did anybody actually get this working with daemon.g or other means?

      posted in Firmware wishlist
      petriheinoundefined
      petriheino
    • RE: Pressure advance over retraction

      @gloomyandy

      Sure, here goes:

      To repeat, only need config.g on sd card and solder wires to estep0 and dir, connect to logic analyser and record the steps while running gcode.

      M122

      SENDING:M122
      === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.1 (2022-06-01 21:05:28) running on Duet WiFi 1.02 or later
      Board ID: 08DGM-917NK-F23T0-6J1FJ-3SN6N-TD88G
      Used output buffers: 1 of 26 (3 max)
      === RTOS ===
      Static ram: 23860
      Dynamic ram: 74944 of which 12 recycled
      Never used RAM 13264, free system stack 184 words
      Tasks: NETWORK(ready,6.1%,332) HEAT(notifyWait,0.0%,339) Move(notifyWait,0.0%,363) MAIN(running,93.0%,466) IDLE(ready,0.9%,30), total 100.0%
      Owned mutexes: USB(MAIN)
      === Platform ===
      Last reset 00:01:43 ago, cause: power up
      Last software reset at 2021-09-28 11:06, reason: User, GCodes spinning, available RAM 12928, slot 0
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      [ERROR] Error status: 0x00
      
      Aux0 errors 0,0,0
      Step timer max interval 0
      MCU temperature: min 30.8, current 33.2, max 33.6
      Supply voltage: min 0.9, current 12.2, max 12.2, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
      Events: 0 queued, 0 completed
      Driver 0: standstill, SG min n/a
      Driver 1: standstill, SG min n/a
      Driver 2: standstill, SG min n/a
      Driver 3: standstill, SG min n/a
      Driver 4: standstill, SG min n/a
      Driver 5:
      Driver 6:
      Driver 7:
      Driver 8:
      Driver 9:
      Driver 10:
      Driver 11:
      Date/time: 1970-01-01 00:00:00
      Cache data hit count 4177985741
      Slowest loop: 4.86ms; fastest: 0.13ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Storage ===
      Free file entries: 10
      SD card 0 detected, interface speed: 20.0MBytes/sec
      SD card longest read time 3.2ms, write time 0.0ms, max retries 0
      === Move ===
      DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
      === MainDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === AuxDDARing ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 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 ready with "M122" 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
      Daemon is idle in state(s) 0
      Autopause is idle in state(s) 0
      Code queue is empty
      === Network ===
      Slowest loop: 1.41ms; fastest: 0.00ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
      HTTP sessions: 0 of 8
      - WiFi -
      Network state is active
      WiFi module is idle
      Failed messages: pending 0, notready 0, noresp 0
      WiFi firmware version 1.23
      WiFi MAC address 84:0d:8e:b2:f4:67
      WiFi Vcc 3.39, reset reason Turned on by main processor
      WiFi flash size 4194304, free heap 27600
      Clock register ffffffff
      Socket states: 0 0 0 0 0 0 0 0
      

      Config.g

      ; Configuration file for Duet WiFi (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.1.4 on Mon Oct 19 2020 17:24:09 GMT+0300 (Eastern European Summer Time)
      
      ; General preferences
      G90                                            ; send absolute coordinates...
      M83                                            ; ...but relative extruder moves
      M550 P"Duet 2 Wifi"       ; set printer name, Serial 
      
      ; Network
      M552 S1                                        ; enable network
      M586 P0 S1                                     ; enable HTTP
      M586 P1 S0                                     ; disable FTP
      M586 P2 S0                                     ; disable Telnet
      
      ; Drives
      M569 P0 S0                                     ; physical drive 0 goes forwards
      M569 P1 S0                                     ; physical drive 1 goes forwards
      M569 P2 S1                                    ; physical drive 2 goes forwards
      M569 P3 S0                                     ; physical drive 3 goes forwards
      M584 X0 Y1 Z2 E3                               ; set drive mapping
      M350 X16 Y16 Z16 I1							; Microstepping X Y Z
      M350 E256 I0								; Microstepping E
      M92 X80.00 Y80.00 Z400.0 E2240.000         	; set steps per mm
      M906 X2000 Y2000 Z1400 E1600 I30	; Currents and idle factor
      M84 S30	; Idle timeout
      ;Kinematics
      M566 X300 Y300 Z600 E3000						;instantaneous speed change / Jerk (mm/min)
      M566 P1 									;Jerk policy
      M203 X6000 Y6000 Z3000 E6000				;max speeds (mm/min)
      M201 X2000 Y2000 Z180 E9000					;accelerations (mm/s^2)
      M204 P600 T600                              ;Print/Travel Accel
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                               ; set axis minima
      M208 X250 Y165 Z210 S0                         ; set axis maxima
      
      ; Endstops
      ;M574 X1 Y1 Z2 S1                        ; set active high endstops
      M574 X1 S1 P"xstop"                             ; configure active-high endstop for low end on X via pin null
      M574 Y1 S1 P"ystop"                             ; configure active-high endstop for low end on Y via pin null
      M574 Z2 S1 P"zstop"                                    ; configure Z-probe endstop for high end on Z
      ;M574 Z1 S2
      
      ; Z-Probe;
      M950 S0 C"exp.heater3"					; create servo pin 0 for BLTouch
      M558 P9 C"^exp.e2stop" H5 F120 T1800 ;Bltouch setup
      G31 P25 X0 Y40 Z1.95		;Higher Value
      M557 X10:240 Y40:140 P6:6	; define mesh grid
      
      ; Heaters
      M308 S1 P"e0temp" Y"thermistor" T100000 B4900 C1.09016e-7 ; configure sensor 1 as thermistor on pin e0temp
      M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
      M307 H1 B0 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
      ;M143 H1 S300                                   ; set temperature limit for heater 1 to 300C
      
      ; Fans
      M950 F0 C"exp.heater4" Q250 			;12V Fan Extension - Print cooling fan
      M106 P0 S0 H-1 					; Set fan 0 value.
      
      M950 F1 C"exp.heater5" Q250 			;12V Fan Extension - Heatsink fan
      M106 P1 S255 H-1 ; Set fan 1 value.
      
      M950 F2 C"fan2" Q250 ; 12V Fan Extension - LED 24V
      M106 P2 S255 H-1 ; Set fan 2 value.
      
      ; 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
      
      ; Custom settings are not defined
      
      ; Miscellaneous
      M575 P1 S1 B57600                              ; enable support for PanelDue
      M501
      
      posted in General Discussion
      petriheinoundefined
      petriheino