Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. ironhydroxide
    • Profile
    • Following 0
    • Followers 0
    • Topics 6
    • Posts 67
    • Best 6
    • Controversial 1
    • Groups 0

    ironhydroxide

    @ironhydroxide

    7
    Reputation
    8
    Profile views
    67
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    ironhydroxide Unfollow Follow

    Best posts made by ironhydroxide

    • RE: Linear Quadrature Encoder Calibration Error

      @btmclain I see you have standstill current at 0% (M917 X0), have you tried commenting out this line, or increasing the standstill current value?

      on my system when I add the M917 X0 I also get this clunk. Removing it and I have no clunk when tuning.

      posted in General Discussion
      ironhydroxideundefined
      ironhydroxide
    • Having troubles with Closed Loop tuning Plugin

      some background. I recently started playing with Duet, so I could be considered complete noob (though I have plenty of 3d printer and CNC experience)

      I picked up a Duet mini5+, a 1HCL board (ver 1.0a), and a magnetic encoder (v0.3).
      Upgraded the firmwares to 3.5.1
      I've got it setup very minimally on the desk just getting used to the software/setup.

      I'm trying to follow the guide, (still can't post links) but the Plugin never allows me to select a driver. "No data available"

      I can move the motor in open and closed loop.
      and even do a manual M569.5, then open the subsequent file in the plugin.
      I just can't get the plugin to cause the recording/tuning moves.

      I thought maybe it was my version, Started with RRF Version 3.5.1 on all, Updated to 3.5.4 on Mini 5+ 1HCL and DWC. uninstalled and reinstalled the ClosedLoop plugin 3.5.1. Same situation. Can move, can record, cannot get the plugin to cause the move.

      is there something obvious i'm just missing?

      Config.g

      ; Configuration file for RepRapFirmware on Duet 3 Mini 5+ Ethernet
      ; executed by the firmware on start-up
      
      ; General
      G91 ; Relative coordinates
      M83 ; relative extruder moves
      M550 P"TestSaw" ; set hostname
      
      ; Network
      M552 P192.168.1.14 S1 ; configure Ethernet adapter
      M553 P255.255.255.0 ; set netmask
      M554 P0.0.0.0 ; set gateway
      M586 P0 S1 ; configure HTTP
      
      ; Wait a moment for the CAN expansion boards to become available
      G4 S2
      
      ; Closed Loop Drivers
      M569.1 P50.0 T3 E0.0:0.0 S200 R40 I0 D0 ; only magnetic shaft encoder
      
      M569 P50.0 S1 D4 ; driver 123.0 goes forwards (extruder 0) FEED
      
      ; Axes
      M584 E50.0 ; set axis mapping
      M350 E16 ; configure microstepping 
      M906 E800 ; set axis driver currents
      
      ; (micro)Steps/mm Calculation:
      ; E: Driver 16 microsteps
      ; E: Motor 400steps/rev (89080.1598:1) {6400}
      ; E: Belt Reduction 1/2 (0.5)(222.7003995:1) {12800}
      ; E: Harmonic Reduction 1/100 (0.01)(111.35019977:1) {12800000}
      ; E: Pinch Roller Radius 7.212148 mm (circ 45.3153) (1.1135:1) {28246.530421/mm}
      ; E: Encoder Roller Diameter 12.954 mm (circ 40.6962)(1,610.371484 ticks/mm)
      M92 E28246.530421 ; configure microsteps per mm 
      M566 E0 P1 ; set maximum instantaneous speed changes (mm/min)
      M203 E17.7 I0.1 ; set maximum speeds (mm/min)
      M201 E5462.962963 ; set accelerations (mm/s^2) 
      
      ; Kinematics
      M669 K0 ; configure Cartesian kinematics
      
      ; Spindles
      M950 R0 C"nil + io1.out" Q500 L60:10000 ; configure spindle #0 ;P"io1.out" 
      
      ; Tools
      M563 P0 S"Blade" D0 F0 R0 ; create tool #0
      
      ; Miscellaneous
      M453 ; select CNC mode
      T0 ; select first tool
      
      ; Remove Requirement for homing
      G92 E0 ;
      
      posted in Tuning and tweaking
      ironhydroxideundefined
      ironhydroxide
    • RE: [3.6.0-rc.3] sticky probe with 1HCL board

      @dc42 Sorry, been out the last 4 days on holiday. I'll test that build today and let you know asap.

      posted in Beta Firmware
      ironhydroxideundefined
      ironhydroxide
    • RE: Closed Loop Calibration Error

      @btmclain to do the tuning it needs to be in closed loop.

      Generally you home the axis in open loop, move it to a "safe" location (not crashing the machine), set it to closed loop, then do the calibration.

      I suggest you read the tuning documentation here

      posted in General Discussion
      ironhydroxideundefined
      ironhydroxide
    • RE: Support for BISS-C Encoders on 1HCL via IC-Haus IC-MB4 Chip

      This would also help me,
      With BiSS-C I would be able to select an appropriate encoder for my desired setup (17+ bit resolution required)

      There's a post I found where someone was supposedly able to "read" a BiSS-C encoder with SPI in the "SimpleFOCproject" community forum. (can't post links yet, but search for SPI BiSS-C SimpleFoc and it'll likely come up. )

      posted in Firmware wishlist
      ironhydroxideundefined
      ironhydroxide
    • RE: Linear Quadrature Encoder Calibration Error

      @btmclain By "manually" i mean not in a homing macro, but by sending the gcode manually either in the DWC console or connected SBC.
      But after rereading your first post, I assume that's what you've done.

      I think your issue may lie in the initial configuration of the encoder. the C parameter should be the number of cycles from the quadrature encoder per motor revolution.
      I don't see anywhere you specify the motion relationship between motor and linear encoder, the linear encoder you specify has a 5um/pulse output, (20um/cycle)
      With your C value of 1000 that works out to a movement of 20mm/motor rotation. is that correct?

      Are you doing a small motor movement in open loop mode before attempting calibrations?

      When playing with my setup I was able to somehow get the system to move in closed loop with only a magnetic encoder calibration, then I was able to confirm the linear encoder cycles/rotation value (i had to iterate a few times as the documentation says Pulses per revolution, I believe it should say cycles/revolution instead as that is what I ended up at to get the correct movement) Once I had the C value in the ballpark I was able to get the system to calibrate the Quadrature encoder (M569.6 V1) successfully.

      posted in General Discussion
      ironhydroxideundefined
      ironhydroxide
    • RE: Super accurate laser cutter

      @flopes
      I am also trying to build a super accurate machine with the Duet.
      At the moment i have yet to achieve my target, but it's hopeful.

      far as I understand it you'll need 1HCL boards for each motor, and if you want to go closed loop then a magnetic encoder board for the motors.

      If you don't go closed loop the only way to get the encoder ticks (at the moment) is to run a M122 B(can address) and parse the result for the encoder tick.

      If you do go closed loop, you'll want to tune the values, and spend quite a bit of time tuning at the speeds/accelerations you plan to run.

      posted in CNC
      ironhydroxideundefined
      ironhydroxide

    Latest posts made by ironhydroxide

    • RE: [3.6.0-rc.3] sticky probe with 1HCL board

      @dc42 Ran a full cycle of my test without a sticky probe.

      on the start of the second cycle I had a weird thing happen, where the G30 did not return, I was watching the movement and it seemed to be due to my secondary attempt speeds being too slow and the debounce was ignoring the contact (blade moved down, contacted, blade moved up and started moving down slowly, but the probe never triggered again and the system hit the bottom stop)

      I'm still calling this probe sticky issue no longer an issue. Again, thank you very much for your work in this.

      While i have your attention though, would it be possible to get the encoder counts from 1HCL boards into the object model? or is that a huge change? (would make my tests of skew much easier)

      posted in Beta Firmware
      ironhydroxideundefined
      ironhydroxide
    • RE: [3.6.0-rc.3] sticky probe with 1HCL board

      @dc42 Sounds good, I'll load this last one in and start the test.

      I am probing below 5mm/s, though would like to keep the overshoot less than 1um, so that's a good "limit" value for me as I try and increase the speed of the system.

      Thanks again for your hard work in this. It really is amazing what the Duet team is doing.

      posted in Beta Firmware
      ironhydroxideundefined
      ironhydroxide
    • RE: [3.6.0-rc.3] sticky probe with 1HCL board

      @dc42 I'll gladly do more testing.

      As for trigger latency, I have not had the chance to drag my scope in and connect it, so I don't have enough data to even guess at a range.
      I will attempt to get it connected today and get some traces, but no promises there.

      posted in Beta Firmware
      ironhydroxideundefined
      ironhydroxide
    • RE: [3.6.0-rc.3] sticky probe with 1HCL board

      @dc42 Ran a second test through,
      Finished without sticky probe making it now 11,656 probes without "Probe already triggered"

      Though however in this run I did get a single instance of "failed to enable probe" directly after a Can Response timeout.
      Below is the eventlog of that section.
      luckily my macro calls M122 B50.0 just after probing, so it did just that and the result is logged

      that said, still didn't have a problem, so... fixed, unless you feel the failed to enable probe could be indicative of a larger problem.

      025-05-20 11:22:51 [warn] Error: CAN response timeout: board 50, req type 6061, RID 1051
      2025-05-20 11:22:52 [warn] Error: G30: Failed to enable probe
      2025-05-20 11:22:52 [warn] Warning: Discarded std reply src=50 RID=1051 exp=1052 ""
      2025-05-20 11:22:52 [debug] Diagnostics for board 50:
      2025-05-20 11:22:52 [debug] Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-rc.3+1 (2025-05-16 09:23:09)
      Bootloader ID: SAME5x bootloader version 2.4 (2021-12-10)
      All averaging filters OK
      2025-05-20 11:22:52 [debug] Never used RAM 51300, free system stack 154 words
      Tasks: EncCal(1,nWait 6,0.0%,469) Move(3,nWait 7,0.0%,124) CLSend(3,nWait 6,3.0%,125) TMC(2,nWait 6,65.0%,313) HEAT(2,nWait 6,1.3%,105) CanAsync(5,nWait 4,0.0%,66) CanRecv(3,nWait 1,0.0%,31) CanClock(5,nWait 1,0.0%,63) MAIN(1,running,14.5%,249) IDLE(0,ready,15.3%,29) AIN(2,nWait 2,0.9%,255), total 100.0%
      Owned mutexes:
      Last reset 05:16:46 ago, cause: software
      2025-05-20 11:22:52 [debug] Last software reset time unknown, reason: HardFault zeroDiv, available RAM 51444, slot 2
      Software reset code 0x0060 HFSR 0x40000000 CFSR 0x02000000 ICSR 0x00000803 BFAR 0xe000ed38 SP 0x20002cc0 Task TMC Freestk 366 ok
      2025-05-20 11:22:52 [debug] Stack: 00000000 20002d2f 00000000 00000000 00000000 00026359 00026368 41000000 0018a715 00024de3 20019948 20019948 00000001 00025d53 00025d3d 2001a874 001ceac9 00027c73 01601008 a0180030 08004d84 41c31e52 05c80021 3a341809 002ad181 2001a7c0 001ceac9
      2025-05-20 11:22:52 [debug] Moves scheduled 37991, hiccups 0 (0.00/0.00ms), segs 3, step errors 0 (types 0x0), maxLate 0 maxPrep 12, ebfmin 0.00 max 0.00
      Phase step loop runtime (us): min=6, max=102, frequency (Hz): min=5813, max=17857
      Sync err accum 91, peak jitter 1/3, peak Rx delay 174, resyncs 0/0, next timer interrupt due in 7 ticks, enabled, next step interrupt due in 4293675087 ticks, disabled
      VIN voltage: min 24.4, current 24.4, max 24.4
      V12 voltage: min 12.2, current 12.2, max 12.2
      MCU temperature: min 32.5C, curr
      2025-05-20 11:22:52 [debug] Driver 0: pos -7187, 10060.2 steps/mm, standstill, SG min 0, mspos 888, reads 33820, writes 0 timeouts 0
      2025-05-20 11:22:52 [debug] Last sensors broadcast 0x00000000 found 0 57 ticks ago, 0 ordering errs, loop time 0
      CAN messages queued 3346, send timeouts 0, received 27, lost 0, ignored 0, errs 0, boc 0, free buffers 38, min 37, error reg 0
      dup 0, oos 0/0/0/0, rxMotionDelay 288, adv 36164/37169
      2025-05-20 11:22:52 [debug] Closed loop driver 0 mode: open loop, pre-error threshold: 7.50, error threshold: 50.00, encoder type linearComposite, position 1696
      Shaft: Encoder reverse polarity: yes, full rotations 2, last angle 9974, minCorrection=-15.4, maxCorrection=10.9, agc 15, mag 4604, no error
      Lin: Encoder reverse polarity: no, raw count 1693
      Accelerometer: none
      I2C bus errors 0, naks 0, contentions 0, other errors 0
      
      posted in Beta Firmware
      ironhydroxideundefined
      ironhydroxide
    • RE: [3.6.0-rc.3] sticky probe with 1HCL board

      @dc42
      I am tentatively calling this one fixed.
      A complete run of my test and no sticky probe. 5810 probes in succession, not a single "Probe already triggered" error as well.

      I have started another run, but all things point to the sticky probe issue being fixed.

      Z drift on the other hand.... seems to potentially be a further issue. I will address that in the other post, to keep things clean.

      posted in Beta Firmware
      ironhydroxideundefined
      ironhydroxide
    • RE: [3.6.0-rc.3] sticky probe with 1HCL board

      @dc42 Sorry, been out the last 4 days on holiday. I'll test that build today and let you know asap.

      posted in Beta Firmware
      ironhydroxideundefined
      ironhydroxide
    • RE: [3.6.0-rc.3] sticky probe with 1HCL board

      @dc42 Ah, no worries.

      Loaded the latest, 5/15 build date,
      Almost immediately the same symptoms.
      Probe is good, then probe remains triggered,
      next probe errors for already triggered,

      Stays triggered until I manually trigger the probe and it resets.

      Ran this 3x, symptoms the same each time.

      and subjectively felt the occurrence to be much earlier in the run.

      posted in Beta Firmware
      ironhydroxideundefined
      ironhydroxide
    • RE: Super accurate laser cutter

      @flopes
      I am also trying to build a super accurate machine with the Duet.
      At the moment i have yet to achieve my target, but it's hopeful.

      far as I understand it you'll need 1HCL boards for each motor, and if you want to go closed loop then a magnetic encoder board for the motors.

      If you don't go closed loop the only way to get the encoder ticks (at the moment) is to run a M122 B(can address) and parse the result for the encoder tick.

      If you do go closed loop, you'll want to tune the values, and spend quite a bit of time tuning at the speeds/accelerations you plan to run.

      posted in CNC
      ironhydroxideundefined
      ironhydroxide
    • RE: [3.6.0-rc.3] sticky probe with 1HCL board

      @dc42 said in [3.6.0-rc.3] sticky probe with 1HCL board:

      M115 B50 should report the build date/time as 2025-05-13 11:05:26.

      I'm getting
      Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-rc.3+1 (2025-05-14 08:29:27)

      Downloaded twice, and loaded rc1, then this download just to make sure it's loaded correct.

      posted in Beta Firmware
      ironhydroxideundefined
      ironhydroxide
    • RE: [3.6.0-rc.3] sticky probe with 1HCL board

      @dc42 said in [3.6.0-rc.3] sticky probe with 1HCL board:

      do you mean that it failed to trigger when it made contact, but when you broke and remade contact then it did trigger?

      that it remained triggered after a probe was completed, and my script went through 5 instances of probe, seeing the probe triggered and backing off more from the tube. then it aborts the print if the probe points aren't close enough together.

      So, probe success,
      probe stays triggered,
      probe commanded but errors due to already contacted,
      backs off the tube a bit,
      Probe commanded but errors due to already contacted
      repeat 4x more.
      Abort print,

      I find probe in triggered state after abort
      confirm voltage at pin is high (~3v)
      manually ground the pin and watch the green light on 1HCL show up.
      unground the pin and watch the green light go out, as well as probe status in DWC go from 1000 to 0.

      I'll test that bin and let you know.

      posted in Beta Firmware
      ironhydroxideundefined
      ironhydroxide