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

    Duet3D 1HCL - Closed Loop Controller Beta test

    Scheduled Pinned Locked Moved
    Hardware dev
    20
    209
    19.1k
    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.
    • supertb1undefined
      supertb1 @lirwin17
      last edited by supertb1

      @lirwin17 I started looking into the possible issue with the splicing/ solder joint on my X axis encoder wires... I couldn't find any real issue there and I decided to to take a stab at it and switch the A+/B+ wires, low and behold it actually passed the V31 maneuver and holds position.... I couldn't believe it... the 1HCL board was trying to tell me the whole time what was wrong...lol. success... now all I need is for the homing sequence to actually return both axis to the near limit switch end of the travel and we will be good to go.

      9/30/2021, 7:05:25 PM M122 B50
      Diagnostics for board 50:
      Duet EXP1HCL firmware version 3.4.0beta3+1 (2021-09-14 15:07:31)
      Bootloader ID: SAME5x bootloader version 2.4beta (2021-07-23)
      Never used RAM 51304, free system stack 2575 words
      Tasks: Move(notifyWait,0.0%,126) HEAT(notifyWait,0.0%,95) CanAsync(notifyWait,0.0%,70) CanRecv(notifyWait,0.0%,79) CanClock(notifyWait,0.0%,72) TMC(notifyWait,43.1%,344) CLSend(notifyWait,0.0%,148) CLData(notifyWait,0.0%,142) MAIN(running,54.9%,418) IDLE(ready,0.0%,39) AIN(notifyWait,1.9%,265), total 100.0%
      Last reset 00:17:36 ago, cause: power up
      Last software reset time unknown, reason: HardFault bfarValid precise, available RAM 51580, slot 2
      Software reset code 0x0060 HFSR 0x40000000 CFSR 0x00008200 ICSR 0x00430803 BFAR 0x20030008 SP 0x2001eba8 Task MAIN Freestk 531 ok
      Stack: 00000000 00000000 00000002 20030000 00030f39 0001b8f9 0001ea4c 41000000 bf800000 00000000 533c0605 04001200 a8888700 06420000 c2010829 19a21029 50708239 5d000040 2a60041c 54540122 04801201 41200000 41c27924 4142a3fe 20000010 0002699b 00000002
      Closed loop enabled: yes, live status: 0, encoder type rotaryQuadrature, pre-error threshold: 5.000000, error threshold: 10.000000, reverse polarity: yes, tuning: 0, tuning error: 0, position -6528, raw count = 58926, collecting data: no, ultimateGain=0.000000, oscillationPeriod=0.000000, Control loop runtime (ms): min=0.000000, max=0.096000, avg=0.013333, Control loop frequency (Hz): min=6465.517578, max=18292.683594, avg=14423.078125
      Driver 0: pos -50588, 106.5 steps/mm, standstill, reads 567Moves scheduled 5, completed 5, in progress 0, hiccups 0, step errors 0, maxPrep 25, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
      Peak sync jitter -4/5, peak Rx sync delay 183, resyncs 0/0, no step interrupt scheduled
      VIN: 24.3V, V12: 12.2V
      MCU temperature: min 26.8C, current 28.4C, max 28.9C
      Ticks since heat task active 19, ADC conversions started 1034352, completed 1034351, timed out 0, errs 0
      Last sensors broadcast 0x00000000 found 0 23 ticks ago, loop time 0
      CAN messages queued 8499, send timeouts 0, received 9537, lost 0, free buffers 37, min 37, error reg 0
      dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 296, adv 37083/37183

      ; homex.g
      ; called to home the X axis
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Mon Mar 08 2021 08:53:31 GMT-0600 (Central Standard Time)
      M569 P50.0 D0 ; Turn off closed loop

      G91 ; relative positioning
      G1 H2 Z5 F6000 ; lift Z relative to current position
      G1 H1 X-240 F3000 ; move quickly to X axis endstop and stop there (first pass)
      G1 H2 X5 F6000 ; go back a few mm
      G1 H1 X-240 F240 ; move slowly to X axis endstop once more (second pass)

      G90 ; absolute positioning
      G1 X50 F3000 ; Move to a known-safe position
      M400 ; Wait for the move to complete
      G4 P500 ; Wait for the motor to settle
      M569 P50.0 D4 ; Turn closed loop back on
      M569.6 P50.0 V31 ; Perform the tuning manoeuvres for a quadrature encoder
      G1 X0 ; Move back to X0

      G1 H2 Z0 F6000 ; lower Z again

      1X.JPG
      50_2021-09-30_19.06.20 C5 X axis.csv

      Drive Config:
      G4 S1 ;wait for expansion boards to start
      M569.1 P50.0 T2 C5 E5:10 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 20 steps per motor full step.
      M569.1 P51.0 T2 C5 E5:10 ; Configure the 1HCL board at CAN address 51 with a quadrature encoder on the motor shaft that has 20 steps per motor full step.
      M569 P50.0 D4 S1 ; Configure the motor on the 1HCL at can address 50 as being in closed-loop drive mode (D4), Open loop (D2) and not reversed (S1) X axis
      M569 P51.0 D4 S1 ; Configure the motor on the 1HCL at can address 51 as being in closed-loop drive mode (D4), Open loop (D2) and not reversed (S1) Y axis
      M569 P0.0 S1 ; physical drive 0.0 goes forwards Z 1-2 axis
      M569 P0.4 S1 ; physical drive 0.4 goes forwards Extruder
      M584 X50.0 Y51.0 Z0.0:0.1 E0.4 ; set drive mapping
      M671 X-122.25:689.20 Y0:0 S3.0 ; leadscrews at left (connected to Z0) and right (connected to Z1) of X axis
      M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
      M92 X106.5 Y257 Z795.00 E339.00 ; set steps per mm
      M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
      M906 X1000 Y3000 Z3000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
      M84 S30 ; Set idle timeout
      M917 X0 Y0 ; Set the closed loop axes to have a holding current of zero

      1 Reply Last reply Reply Quote 0
      • supertb1undefined
        supertb1 @lirwin17
        last edited by

        @lirwin17 today I descided to do some more maneuvers... IE home the axis, move the axis around on it's travel and I found something strange... the axis homes fine, completes the V31 maneuver and stops around the safe distance traveled. Then when I tell it to move in a positive direction the drive makes the stepper move in the opposite direction intended.... lol... one step forward... two steps back...lol.. and the next question what should a homeall.g look like

        1 Reply Last reply Reply Quote 0
        • supertb1undefined
          supertb1 @lirwin17
          last edited by supertb1

          @lirwin17 Good afternoon Louis, today I decided to put it back in open loop and try a test print, after all the changes the first thing I wanted to do is a height map and a bed leveling... I put my microsteps back to 32... now that I got that part right.. "facepalm and long sigh" I put the B+ wires on the A+ terminal and the A+ terminals on the B+ terminal and did a homing maneuver on both axis with good results.. the axis is moving back to the home position and moving in the correct direction. Finally getting this going.
          2X.JPG
          50_2021-10-04_10.11.00 X axis manuever.csv
          5Y.JPG
          51_2021-10-04_10.13.33 Y axis manuever.csv I'm going to mess with the home all to try and get everything working correctly... fingers crossed
          So here is my Home all config currently:

          G91 ; relative positioning
          G1 H2 Z5 F6000 ; lift Z relative to current position
          G1 H1 X-605 Y-605 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
          G1 H2 X5 Y5 F6000 ; go back a few mm
          G1 H1 X-605 Y-605 F360 ; move slowly to X and Y axis endstops once more (second pass)
          G90 ; absolute positioning
          G1 X50 Y50 F3000 ; Move to a known-safe position
          M400 ; Wait for the move to complete
          G4 P500 ; Wait for the motor to settle
          M569 P50.0 D4 ; Turn closed loop back on X axis
          M569 P51.0 D4 ; Turn closed loop back on Y axis
          M569.6 P50.0 V31 ; Perform the tuning manoeuvres for a quadrature encoder X axis
          M569.6 D51.0 V31 ; Perform the tuning manoeuvres for a quadrature encoder Y axis
          G1 X0 Y0 ; Move back to X0
          G1 X10 Y10 F6000 ; go to first bed probe point and home Z
          G30 ; home Z by probing the bed
          This does not work.... it just sits there. any advice here woud be great... making great headway

          1 Reply Last reply Reply Quote 0
          • supertb1undefined
            supertb1 @dc42
            last edited by

            @dc42 I'm well into my first print in closed loop and all is well, I played with that tuning procedure a bit and after I had tried a few times to enter the PDand I variables according to the examples, the X axis it wouldn't perform the homing maneuver so I just put it back the way it was and I am happy with the amount of noise, accuracy, and temp of the motors during operations... so all in all a success. Looking forward to the next update, advice on homeall.g and any streamlining/improvements that have been made. let me know if there is any procedures you would like me to try.

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

              @supertb1 we hope to release firmware 3.4beta5 shortly, which includes some improvements to the closed loop tuning mechanism. For details, see https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta-&-RC#reprapfirmware-340beta5.

              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

              supertb1undefined 1 Reply Last reply Reply Quote 1
              • supertb1undefined
                supertb1 @dc42
                last edited by

                @dc42 Just an update, I have beta 5 installed and am in to my 3rd three day print and there is no sign of any missed steps or shifting of any kind, my prints are holding a tight tolerance and I am very happy with the results... how long before I can buy another set of boards?

                T3P3Tonyundefined 1 Reply Last reply Reply Quote 0
                • T3P3Tonyundefined
                  T3P3Tony administrators @supertb1
                  last edited by

                  @supertb1 thanks for the feedback! We will have information about the production run once the shcedule is confirmed.

                  www.duet3d.com

                  MaxGyverundefined 1 Reply Last reply Reply Quote 0
                  • MaxGyverundefined
                    MaxGyver @T3P3Tony
                    last edited by

                    I would like to give a quick thank you to everyone involved with the development of the 1HCL-Boards and the closed loop plugin.

                    Running my printer in closed loop is a real quantum leap for me. I can now comfortably print at speeds and accelerations that were really pushing the limits in open loop. In addition, the new level of reliability enables me to run larger print jobs for longer unsupervised periods. My printer was already very tough and reliable, but adding closed loop control fixed the last weak link in the chain. 🙂

                    I am eagerly awaiting further developments and improvements. For example, having linear encoders that measure the head's position on the axis independent of belts and pulleys would be the ultimate closed loop solution. But I am digressing.

                    Good job everyone!

                    Cheers Max

                    A Former User? dc42undefined 2 Replies Last reply Reply Quote 0
                    • A Former User?
                      A Former User @MaxGyver
                      last edited by A Former User

                      @dc42
                      Hey
                      While you're printing with this pieces of gold, I ask myself where I can buy this board or how I can also test it?

                      I'm producing custom extra large toolchanger, so it would be that helpful!!
                      Cheers
                      Richard

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

                        @maxgyver what kinematics does your machine use? We've experienced some issues converting one of our CoreXY machines to use the 1HCL board and motors+encoders; and we don't know whether it is as issues with this particular machine+motors+encoders or a more general problem with closed loop control of coupled motors.

                        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

                        A Former User? MaxGyverundefined 3 Replies Last reply Reply Quote 0
                        • A Former User?
                          A Former User @dc42
                          last edited by

                          @dc42
                          I have cartesian printers.
                          4 y motors
                          2 y motors
                          1x motor

                          X and Y working with a closed loop system would be nice.

                          Cheers
                          Richard

                          1 Reply Last reply Reply Quote 0
                          • samlogan87undefined
                            samlogan87
                            last edited by

                            @T3P3Tony is there any news on these boards? Still keen to get 2

                            Custom Core-XY

                            1 Reply Last reply Reply Quote 0
                            • MaxGyverundefined
                              MaxGyver @dc42
                              last edited by

                              @dc42 My Kinematics are IDEX (Dual Markforged aka Haq XY) with dual Y-Motors.

                              ; Kinematics
                              M669 K11 Y1:1:0:-1	; Matrix mapping for Axis - X:Y:Z:U
                              

                              1625213528679-example_setup.png

                              So far, I had no mayor issues converting to closed loop.

                              1 Reply Last reply Reply Quote 0
                              • A Former User?
                                A Former User @dc42
                                last edited by

                                @dc42

                                A curious european company wanna try 1HCL.

                                Please provide us some information for further planning.
                                We need the 1HCL but we can´t wait another half a year with testing etc.

                                KR
                                Richard

                                dc42undefined 1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators @A Former User
                                  last edited by

                                  @gruna-studio a first small production run is currently under way.

                                  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

                                  A Former User? tristanryerparkeundefined 2 Replies Last reply Reply Quote 1
                                  • A Former User?
                                    A Former User @dc42
                                    last edited by

                                    @dc42
                                    Nice, Can I pre order some?

                                    I need to install the 1HCL with an external encoder because my machines have a double shaft on x axis.
                                    So I can do a documentation how to place the magnetic encoder install on this board... the documentation says, that for this there will be a description in future.
                                    Let me know.
                                    Cheers
                                    Richard

                                    dc42undefined 1 Reply Last reply Reply Quote 0
                                    • dc42undefined
                                      dc42 administrators @A Former User
                                      last edited by

                                      @gruna-studio so far the best results we've seen have been using motors with built-in encoders. We're also testing some motors with external encoders, but we've had some difficulties with one of them.

                                      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

                                      A Former User? 1 Reply Last reply Reply Quote 0
                                      • tristanryerparkeundefined
                                        tristanryerparke @dc42
                                        last edited by tristanryerparke

                                        @dc42 I’d like to order some as well when they become available. Please let us know if we can pre-order.
                                        Also, could you describe in more detail the issues with closed loop corexy that you mentioned?
                                        I would be willing to help beta test the corexy functionality if that would help.
                                        Thanks and look forward to the boards,
                                        Tristan

                                        1 Reply Last reply Reply Quote 0
                                        • A Former User?
                                          A Former User @dc42
                                          last edited by

                                          @dc42
                                          Ok I understand.
                                          For me it's no option to change the style of the x axis (double shaft nema17) I must work with an external encoder.
                                          I'm happy to hear that duet will sell this board in the next months.
                                          Would like to have a few of this little fun maker.
                                          Please give us a sign when we can order some.
                                          Thanks a lot
                                          Richard

                                          dc42undefined 1 Reply Last reply Reply Quote 0
                                          • dc42undefined
                                            dc42 administrators @A Former User
                                            last edited by

                                            The first small production run of the EXP1HCL is currently undergoing testing by our assemblers. We should know more on Monday.

                                            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

                                            A Former User? 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA