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

    3HC sensorless homing

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    7
    396
    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.
    • PetrKroupaundefined
      PetrKroupa
      last edited by

      Hello,

      It is possible to use sensorless homing on 3HC board? I'm currently using 6HC + 1LC and I want to add some more axes. 3HC is the ideal solution for me.

      Thanks

      BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
      SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

      Petr

      1 Reply Last reply Reply Quote 0
      • PetrKroupaundefined
        PetrKroupa
        last edited by

        ping for visibility....

        BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
        SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

        Petr

        1 Reply Last reply Reply Quote 0
        • PetrKroupaundefined
          PetrKroupa
          last edited by

          3HC arrived yesterday so I can test it. Unfortunately, I was unable to commission sensorless homing. If I connect the U axis directly to the 6HC board it works without problems. As soon as I switch it to 3HC, I can't get sensorless up and running. I am doing something wrong?

          G28 U
          Error: Homing failed

          All boards on 3.4 rc1

          m122 b1
          Diagnostics for board 1:
          Duet EXP3HC firmware version 3.4.0rc1 (2022-02-08 09:04:27)
          Bootloader ID: SAME5x bootloader version 2.3 (2021-01-26b1)
          All averaging filters OK
          Never used RAM 158948, free system stack 177 words
          Tasks: Move(notifyWait,0.0%,126) HEAT(notifyWait,0.0%,108) CanAsync(notifyWait,0.0%,69) CanRecv(notifyWait,0.0%,76) CanClock(notifyWait,0.0%,71) TMC(notifyWait,7.8%,65) MAIN(running,90.8%,410) IDLE(ready,0.0%,39) AIN(delaying,1.3%,263), total 100.0%
          Last reset 00:00:41 ago, cause: power up
          Last software reset data not available
          Driver 0: pos -127200, 200.0 steps/mm,standstill, SG min 0, mspos 520, reads 35298, writes 5 timeouts 0, steps req 129200 done 129200
          Driver 1: pos 0, 80.0 steps/mm,standstill, SG min n/a, mspos 8, reads 35303, writes 0 timeouts 0, steps req 0 done 0
          Driver 2: pos 0, 80.0 steps/mm,standstill, SG min n/a, mspos 8, reads 35302, writes 0 timeouts 0, steps req 0 done 0
          Moves scheduled 3, completed 3, in progress 0, hiccups 0, step errors 0, maxPrep 24, maxOverdue 0, maxInc 0, mcErrs 0, gcmErrs 0
          Peak sync jitter -2/5, peak Rx sync delay 180, resyncs 0/0, no step interrupt scheduled
          VIN voltage: min 26.3, current 26.3, max 26.3
          V12 voltage: min 12.3, current 12.3, max 12.3
          MCU temperature: min 32.0C, current 33.1C, max 33.1C
          Last sensors broadcast 0x00000000 found 0 89 ticks ago, 0 ordering errs, loop time 0
          CAN messages queued 243, send timeouts 0, received 357, lost 0, free buffers 37, min 37, error reg 0
          dup 0, oos 0/0/0/0, bm 0, wbm 0, rxMotionDelay 295, adv 37055/37184
          
          ; General preferences
          M81 C"pson"
          G4 S1
          M80
          ;M575 P1 S1 B57600                               					; enable support for PanelDue
          G90                                              					; send absolute coordinates...
          M83                                              					; ...but relative extruder moves
          M550 P"malej"                                    					; set printer name
          
          ; 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 P0.0 S1                                     					; physical drive 0.0 goes forwards
          M569 P0.1 S0                                     					; physical drive 0.1 goes forwards
          M569 P0.2 S0                                     					; physical drive 0.2 goes forwards
          M569 P0.3 S0
          
          M569 P1.0 S0		;;;;;;;;;;;;;;;;;;;;;;;
          									 					; physical drive 0.2 goes forwards
          M569 P121.0 S1                                   					; physical drive 121.0 goes forwards
          M584 X0.0 Y0.1 Z0.2:0.3 E121.0 U1.0               					; set drive mapping
          M350 X16 Y16 Z16 E16 I1                          					; configure microstepping with interpolation
          M92 X200.00 Y200.00 Z400.00 E420.00 U200         					; set steps per mm
          M566 X900.00 Y900.00 Z60.00 E150.00 U500            					; set maximum instantaneous speed changes (mm/min)
          
          M203 X12000.00 Y12000.00 Z2000.00 E7500.00 U12000    					; set maximum speeds (mm/min)
          
          M201 X1500.00 Y1500.00 Z300.00 E5000.00 U1500       					; set accelerations (mm/s^2)
          M906 X800 Y800 Z800 E450 I30 U1200                    					; set motor currents (mA) and motor idle factor in per cent
          M84 S30                                          					; Set idle timeout
          
          M671 X26:240 Y105:105 S10						 					; position of Z axis motors
          
          ; Axis Limits
          M208 X0 Y0 Z0 S1 U0                              					; set axis minima
          M208 X250 Y210 Z215 S0 U300                     					; set axis maxima
          
          ; Endstops
          M574 X1 S3                                       					; configure sensorless endstop for low end on X
          M574 Y1 S3   														; configure sensorless endstop for low end on Y
          
          M574 U1 S3															;;;;;;;;;;;;;;;;;;;;;;;;;;
                                              					
          M574 Z1 S2                                       					; configure Z-probe endstop for low end on Z
          M915 X Y R0 F0 H400 S0
          M915 U R0 F0 H200 S2
          
          ; Z-Probe
          M950 S0 C"121.io0.out"                                   			; create servo pin 0 for BLTouch
          M558 P9 C"^121.io0.in" H4 F400 T18000                    			; set Z probe type to bltouch and the dive height + speeds
          G31 P500 X26 Y0 Z1.55                                    			; set Z probe trigger value, offset and trigger height
          M557 X30:250 Y0:210 S35:30                               			; define mesh grid
          
          
          ; Filament sensor
          M591 D0 P3 C"121.io1.in" S1 R50:200 L25 E10.0			 			; MFM config
          
          ; Heaters
          M308 S0 P"temp0" Y"thermistor" T100000 B4138             			; configure sensor 0 as thermistor on pin temp0
          M950 H0 C"out0"  Q10 T0                                  			; create bed heater output on out0 and map it to sensor 0
          ;M307 H0 B0 R0.161 C1877.2 D21.70 S1.00  V24.9           			; disable bang-bang mode, set PWM limit
          M307 H0 B0 R0.311 C426.5 D10.90 S1.00 V26.1
          M140 H0                                                  			; map heated bed to heater 0
          M143 H0 S120                                             			; set temperature limit for heater 0 to 120C
          M308 S1 P"121.temp0" Y"thermistor" T100000 B4680 C6.455513e-8 		; configure sensor 1 as thermistor on pin temp1
          M950 H1 C"121.out0" T1                                   			; create nozzle heater output on out1 and map it to sensor 1
          M307 H1 R3.267 C128.6:76.4 D4.80 S1.00 V25.9             			; disable bang-bang mode for heater  and set PWM limit
          M143 H1 S300                                             			; set temperature limit for heater 1 to 300C
          
          ;Sensors
          M308 S10 Y"drivers" A"6HC-drivers"
          M308 S11 Y"mcu-temp" P"121.dummy" A"1LC temp"
          M308 S12 Y"drivers" P"121.dummy" A"1LC driver"
          
          ;CPU temperature calib
          M912 P0 S-20
          
          ; Fans
          M950 F0 C"121.out1" Q500                                     		; create fan 0 on pin out7 and set its frequency
          M106 P0 S0 H-1                                           			; set fan 0 value. Thermostatic control is turned off
          M950 F1 C"121.out2+out2.tach"  ; Q500
          ;M950 F1 C"121.out2+121.out2.tach"									; create fan 1 on pin out4 and set its frequency + snimaní otáček
          M106 P1 S1 H1 T50                                        			; set fan 1 value. Thermostatic control is turned on
          
          ; Tools
          M563 P0 S"Mosquito" 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
          
          M150 X1 Q3000000													; NEOPIXEL
          M150 U120 S15														; NEOPIXEL
          
          M955 P121.0 I42  													; specify orientation of accelerometer on SAMMYC21 with CAN address 121
          
          if !exists(global.beepbeep1) || global.beepbeep1=null
          	global beepbeep1=0
          else 
          	set global.beepbeep1=0
          
          if !exists(global.fantmr1) || global.fantmr1=null
          	global fantmr1=0
          else 
          	set global.fantmr1=0
          	
          if !exists(global.endtemp1) || global.endtemp1=null
          	global endtemp1=0
          else 
          	set global.endtemp1=0
          
          if !exists(global.tiktak1) || global.tiktak1=null
          	global tiktak1=0
          else 
          	set global.tiktak1=0
          
          if !exists(global.fuufuu1) || global.fuufuu1=null
          	global fuufuu1=0
          else 
          	set global.fuufuu1=0
          
          ; Miscellaneous
          T0                                               					; select first tool
          
          

          Thanks for any help.

          BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
          SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

          Petr

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

            @petrkroupa sensorless homing is not yet supported on CAN-connected expansion boards. I expect to implement this in RRF 3.5. Please see the list of limitations on the wiki. https://docs.duet3d.com/User_manual/RepRapFirmware/CAN_limitations

            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

            PetrKroupaundefined 1 Reply Last reply Reply Quote 1
            • PetrKroupaundefined
              PetrKroupa @dc42
              last edited by

              @dc42 - Thanks for the clarification. I was hoping that this feature will be in 3.4. It is true that 3.4 brings a lot of other new things. Good work!

              BigOne:Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 400x400x420
              SmallOne : Duet3 6HC +1LC + Rpi5 +SSD, mosquito hotend, 210x250x210

              Petr

              1 Reply Last reply Reply Quote 0
              • TechnomadicJimundefined
                TechnomadicJim
                last edited by

                Looking forward to the 3.5 release as I have just run into this issue. I had a quick look in the 3.5-dev branch commit history on Github and couldn't see anything as yet. Happy to help test any RC's once they're available. Thanks!

                1 Reply Last reply Reply Quote 0
                • Cogniritundefined
                  Cognirit
                  last edited by Cognirit

                  Good afternoon, can you tell me if you managed to solve this problem? Did you end up using the limit switches on additional axes or did you change the board / firmware / find another way?

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