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

    1HCL closed loop steppers on CoreXY

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    14
    1.2k
    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.
    • Alex.crundefined
      Alex.cr
      last edited by

      Hey All,

      I have just implemented a set of 1HCL boards and a set of 17HS19-2004D-E1000 (link). They are installed on the XY(AB) on my Voron 2.4.

      Overall its pretty slick system. I only have 2 small prints completed but I am impressed with the completeness given the short development cycle. The closed loop system seems to cut back on ringing by a good margin as well.

      I was reading in the main Closed-Loop thread about issues with CoreXY. Things seem to be ok functionality wise, but the system is LOUD. I am assuming because the steppers are coupled they are constantly fighting each other. I followed the tuning guide and it caused the printer to sound like it was running on old Pololu stepper drivers on an 8 bit system.

      I was able to cut the noise back by dropping the D parameter back significantly. I am going to try increasing the holding current from 10% to 75% and see if that helps.

      Any other ideas? I am also more than willing to help out on the testing side.

      Voron2.4/Duet3 SBC+6HC+3HC+1LC+1HCL(x2) - Delta/Duet2 Wifi - CubePro/Duet2 Wifi+Duex5 - Laser/Duet3 Mini5+ - Cel Robox - U̶p̶3̶0̶0̶+/D̶u̶e̶t̶3̶ ̶6̶H̶C̶+̶LC1̶ - F̶T̶-̶5̶/̶D̶u̶e̶t̶2̶ ̶W̶i̶f̶i̶ - S̶o̶l̶i̶d̶o̶o̶d̶l̶e̶

      dc42undefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @Alex.cr
        last edited by

        @alex-cr I am aware that the motors connected to the EXP1HCL are often noisy when moving. We have plans to further develop the EXP1HCL firmware and reducing noise will be one of our aims.

        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

        Alex.crundefined 1 Reply Last reply Reply Quote 1
        • Alex.crundefined
          Alex.cr @dc42
          last edited by

          @dc42

          That’s good news. Regardless, I am super impressed. Thanks for putting out a great product.

          Voron2.4/Duet3 SBC+6HC+3HC+1LC+1HCL(x2) - Delta/Duet2 Wifi - CubePro/Duet2 Wifi+Duex5 - Laser/Duet3 Mini5+ - Cel Robox - U̶p̶3̶0̶0̶+/D̶u̶e̶t̶3̶ ̶6̶H̶C̶+̶LC1̶ - F̶T̶-̶5̶/̶D̶u̶e̶t̶2̶ ̶W̶i̶f̶i̶ - S̶o̶l̶i̶d̶o̶o̶d̶l̶e̶

          dc42undefined 1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators @Alex.cr
            last edited by

            @alex-cr one of the issues is that with an encoder resolution of 1000 cpr the best resolution we can possibly get is 4000 transitions per revolution, which for a 1.8deg motor is equivalent to x20 microstepping. Whereas in open loop mode the driver can do interpolation up to x256 microstepping.

            It may be that we could implement a hybrid mode, basically open loop most of the time with the firmware switching to closed loop when the encoder indicates an unacceptable deviation from target.

            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

            o_lampeundefined 1 Reply Last reply Reply Quote 2
            • o_lampeundefined
              o_lampe @dc42
              last edited by

              @dc42
              That would also act as audible-alarm, so the user knows something is wrong when the motors start to get noisy

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

                @dc42 I saw you posted about the noise using the HCL boards. Is that in both open and closed loop modes that you will try and reduce noise as man it’s loud. I thought it was because I put sides on it that’s making it noisey but I took them off and it’s still noisey.

                Custom Core-XY

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

                  @samlogan87 in open loop mode the motor should be quiet, assuming you have microstep interpolation enabled as usual, because then the stepper driver chip operates just as on the MB6HC. How quiet depends on the motor. In my tests with a large Nema 34 motor, it is quiet in open loop mode but somewhat noisy in closed loop mode.

                  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

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

                    @dc42 hmm, I may need to play around with it then. I have done a major upgrade to the printer with new mounts made of aluminium and changing belts from 6mm to 9mm and then the new boards and it is substantially louder. Here is a video of it now. I will find one previously

                    https://youtube.com/shorts/nAJHBpGT3ow?feature=share

                    Custom Core-XY

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

                      @samlogan87 were you running on open or closed loop mode when you made that video?

                      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

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

                        @dc42 that was open loop. I am waiting until LDO have their “fast” steppers sorted with encoders before I use the board to its full potential. I am running the boards at 48v’s if that means anything/ helps

                        Custom Core-XY

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

                          @samlogan87 please post your config.g file.

                          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

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

                            @dc42 Hi David, Sorry was away on holiday. Please see my config file

                            ; Configuration file for Duet 3 (firmware version 3.3)
                            ; executed by the firmware on start-up
                            ;
                            ; generated by RepRapFirmware Configuration Tool v3.3.10 on Wed Dec 08 2021 21:12:19 GMT+1300 (New Zealand Daylight Time)
                            
                            ; General preferences
                            M575 P1 S1 B57600                                               		; enable support for PanelDue
                            G90                                                             		; send absolute coordinates...
                            M83                                                             		; ...but relative extruder moves
                            M550 P"Sam's Printer"                                           		; set printer name
                            M669 K1                                                         		; select CoreXY mode
                            
                            ; Wait a moment for the CAN expansion boards to start
                            G4 S2
                            
                            ; Network
                            M552 P0.0.0.0 S1                                                		; enable network and acquire dynamic address via DHCP
                            M586 P0 S1                                                      		; enable HTTP
                            M586 P1 S0                                                      		; disable FTP
                            M586 P2 S0                                                      		; disable Telnet
                            
                            ; Drives
                            M569 P10.0 S1 F8                                                 		; physical drive 10.0 goes forwards
                            M569 P11.0 S1 F8                                                 		; physical drive 11.0 goes forwards
                            M569 P0.2 S0 F10                                                 		; physical drive 0.2 goes forwards
                            M569 P0.3 S0 F10                                                   		; physical drive 0.3 goes forwards
                            M569 P0.4 S1 F10                                                   		; physical drive 0.4 goes forwards
                            M569 P0.5 S1 F10                                                   		; physical drive 0.5 goes forwards
                            M569 P20.0 S1                                                  			; physical drive 20.0 goes forwards
                            M584 X10.0 Y11.0 Z0.2:0.3:0.4:0.5 E20.0 P6                    			; set drive mapping
                            M350 X16 Y16 Z16:16:16:16 U16 V16 W16 E16 I1                       		; configure microstepping with interpolation
                            M92 X80 Y80 Z400:400:400:400 U400 V400 W400 E690	       				; set steps per mm
                            M566 X800 Y800 Z120:120:120:120 U120 V120 W120 E300  	       			; set maximum instantaneous speed changes (mm/min)
                            M203 X60000 Y60000 Z400:400:400:400 U400 V400 W400 E7200       			; set maximum speeds (mm/min)
                            M201 X30000 Y30000 Z250:250:250:250 U250 V250 W250 E10000          		; set accelerations (mm/s^2)
                            M906 X1550 Y1550 Z1800:1800:1800:1800 U1800 V1800 W1800 E1200 I60   	; set motor currents (mA) and motor idle factor in per cent
                            M84 S30                                                        			; Set idle timeout
                            
                            ; Axis Limits
                            M208 X0 Y0 Z0 S1                                               			; set axis minima
                            M208 X363.5 Y352 Z412:412:412:412 U412 V412 W412 S0                     ; set axis maxima
                            M671 X-45:-46:408:405 Y92:296:300:92 S3.0  								; 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 S1 P"10.io0.in"                                       	 		; configure switch-type (e.g. microswitch) endstop for low end on X via pin 11.io0.in
                            M574 Y1 S1 P"10.io1.in"                                        			; configure switch-type (e.g. microswitch) endstop for low end on Y via pin 11.io2.in
                            M574 Z1 S2                                                      		; configure Z-probe endstop for low end on Z
                            
                            ; Z-Probe
                            M558 P8 R1.0 C"!^20.io2.in" H5 F250		                            	; set Z probe type to unmodulated and the dive height + speeds
                            G31 P500 X0 Y0 Z-0.20                                          		; set Z probe trigger value, offset and trigger height
                            M557 X0:363.5 Y0:352 S20                                     			; define mesh grid                                       	
                            
                            ; Heaters
                            M308 S0 P"spi.cs0" Y"rtd-max31865"                              		; configure sensor 0 as PT100 on pin spi.cs1
                            M950 H0 C"out1" T0                                              		; create bed heater output on out0 and map it to sensor 0
                            M307 H0 R0.200 K0.148:0.000 D38.10 E1.35 S1.00 B0                       ; disable bang-bang mode for the nozzle heater and set PWM limit
                            M140 H0                                                         		; map heated bed to heater 0
                            M143 H0 S150                                                    		; set temperature limit for heater 0 to 150C
                            M308 S1 P"20.temp0" Y"pt1000"                                  			; configure sensor 1 as PT1000 on pin 123.temp0
                            M950 H1 C"20.out0" T1                                          			; create nozzle heater output on 123.out0 and map it to sensor 1
                            M307 H1 R2.366 K0.162:0.000 D9.88 E1.35 S1.00 B0 V24.0					; PID control Magnum Plus PT1000  
                            ;M307 H1 R2.104 C430.2 D9.13 S1.00 V24.2									; PID control Magnum Plus PT1000                                                		
                            M143 H1 S400                                                    		; set temperature limit for heater 1 to 400C
                            
                            ; Fans
                            
                            ; Part Cooling Pump
                            			
                            M950 F3 c"out2" Q25000													; Assign Part Cooling Fan to Heater Port 2
                            M106 P3 X0.5 B0 H-1 C"Part Cooling" 									; Part Cooling Fan Remap to Heater 2		 
                            
                            ; Water Cooling
                            
                            M950 F4 c"!out6+out6.tach"												; Water Cooling Pump Output
                            M106 P4 H1 B15 L0.2 X.75 T50 C"Extruder"								; Water Cooling Pump Start
                            M308 S10 P"temp0" Y"thermistor" A"Water Temp" T10000 B3950				; Create Heater for Cooling Water
                            M950 F0 c"!out9" Q25000													; Assign Fan 0 to Fan 0 Port and Inverse
                            M106 P0 H10 L.3 B.5 T60:80 C"Radiator"									; Set fan 4 PWR fan. Turns on when Radiator temperature (heater 103), hits 30C and full speed when the temperature reaches 60C
                            
                            ;Board Cooling Fan					
                            
                            M308 S20 P"mcutemp" Y"mcutemp" A"Duet Board" 							; Map Duet MCU to the Extra Table
                            M308 S21 P"10.mcutemp" Y"10.mcutemp" A"Board 10 MCU"					; Map Duet Drivers to the Extra Table
                            M308 S22 P"11.mcutemp" Y"11.mcutemp" A"Board 20 MCU"					; Map Duex2 Driver to the Extra Tabl
                            M308 S23 P"20.mcutemp" Y"20.mcutemp" A"Tool Board MCU"					; Map Duex2 Driver to the Extra Tabl
                            M308 S24 P"temp1" Y"thermistor" A"Control Area" T100000 B3950  			; Create Virtual Heater for Control Area
                            M950 F1 c"!out4+out4.tach" Q25000										; Assign Fan 1 to Fan 1 Port and Inverse
                            M106 P1 L.3 B.5 T40:65 H20 C"Duet Fan"									; 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 		
                            M950 F2 c"!out5+out5.tach" Q25000										; Assign Fan 2 to Fan 2 Port and Inverse
                            M106 P2 L.3 B.5 T40:65 H22 C"Control Area"								; 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 
                            
                            ; Tools          		
                            M563 P0 S"Extruder 1" D0 H1 F3 											; 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
                            M955 P20.0 I24															; Accelerometer
                            M572 D0 S0.005															; Pressure Advance
                            ;M592 D0 A0.009541 B0.001755											; Non Linear Extrusion 0.4mm pla
                            M593 P"zvddd" F60														; Input Shaping
                            
                            
                            ;Filament out sensor
                            
                            M591 D0 P3 C"20.io1.in" S0 R70:130 L26.26 E3.0 							; magnet sensor for extruder 0 is connected to E2 endstop input, enabled, sensitivity 24.8mm.rev, 70% to 130% tolerance, 3mm detection length 25.88			
                            M591 D0 																; display filament sensor parameters for extruder drive 0
                            
                            ;Tool Board Buttons
                            M950 J10 C"20.button1"
                            M581 T2 P10 S1
                            
                            ; Custom settings are not defined
                            
                            ; Miscellaneous
                            M911 S20 R23 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"             			; set voltage thresholds and actions to run on power loss
                            
                            

                            Cheers Sam

                            Custom Core-XY

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

                              @samlogan87 thanks.

                              I am wondering whether microstep interpolation is working. If you send M350 X16 Y16 I0 does the motor get noisier, still in open loop mode? If you then send If you send M350 X16 Y16 I1 does it get quieter?

                              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

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

                                @dc42 said in 1HCL closed loop steppers on CoreXY:

                                M350 X16 Y16 I0

                                Hi David, I gave it a go and it was much worse without the interpolation. On a side note, it doesn't seem you can change that parameter on the fly as I was getting this error and the printer would unhome x and y, but the z was fine

                                4/20/2022, 6:50:19 AM	M350 X16 Y16 I1
                                Cancelled printing file 0:/gcodes/Voron_Design_Cube_v7.gcode, print time was 0h 3m
                                Error: G0/G1: insufficient axes homed
                                4/20/2022, 6:46:38 AM	M32 "0:/gcodes/Voron_Design_Cube_v7.gcode"
                                File 0:/gcodes/Voron_Design_Cube_v7.gcode selected for printing
                                4/20/2022, 6:45:32 AM	M350 X16 Y16 I0
                                Cancelled printing file 0:/gcodes/Voron_Design_Cube_v7.gcode, print time was 0h 1m
                                Error: G0/G1: insufficient axes homed
                                4/20/2022, 6:44:00 AM	M32 "0:/gcodes/Voron_Design_Cube_v7.gcode"
                                File 0:/gcodes/Voron_Design_Cube_v7.gcode selected for printing
                                

                                Regards,
                                Sam

                                Custom Core-XY

                                1 Reply Last reply Reply Quote 0
                                • o_lampeundefined o_lampe referenced this topic
                                • First post
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA