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

Configuring sensorless homing on my Wanhao Duplicator i3

Scheduled Pinned Locked Moved
Tuning and tweaking
4
14
1.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.
  • undefined
    Steve Lynch
    last edited by 29 Apr 2019, 10:11

    I'm working on Configuring sensorless homing on my Wanhao Duplicator i3. I've followed every guide I can find, and even used the configurator tool, but the motors always hit the home point, then sit and jiggle against the frame until they decide to stop. Could you possibly show me the proper syntax for making this work?

    Here's what I'm doing now...

    ; Endstops
    M574 X1 Y1 Z1 S3 ; Set endstops controlled by motor load detection
    M913 X40 Y40 Z40
    M400 ; make sure everything has stopped before we reset the motor currents
    M913 X100 Y100 Z100 ; motor currents back to normal

    I just kind of don't get it as of now...

    Thanks!

    undefined 1 Reply Last reply 29 Apr 2019, 15:15 Reply Quote 0
    • undefined
      Veti
      last edited by 29 Apr 2019, 11:34

      from what i have read (i only have a maestro so no stall detection)
      is that your main tuning point is the threshold
      https://duet3d.dozuki.com/Wiki/Gcode#Section_M915_Configure_motor_stall_detection

      1 Reply Last reply Reply Quote 0
      • undefined
        dc42 administrators @Steve Lynch
        last edited by dc42 29 Apr 2019, 15:15

        @steve-lynch, that script you posted is not complete because it doesn't include the G1 S1 homing move. Please post your complete homing files and your config.g file.

        Note, stall detection is unreliable at low speeds, so there is a configurable minimum motor full steps/sec value below which stall detection is disabled. Your homing speed must be above this.

        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

        1 Reply Last reply Reply Quote 0
        • undefined
          Steve Lynch
          last edited by 29 Apr 2019, 21:27

          Thanks so much guys!!!! ! This is where I'm at as of now... It's not all dialed in yet.... I ripped the duet off my FT-5 to use on the wanhao, as I've never been able to fix my "weird corners" problem.. I dropped an einsy rambo in the ft-5 and it's perfect!... so I'm hoping this will make a better replacement for the burnt Melzi in my wanhao...

          ; Configuration file for Duet WiFi (firmware version 1.21)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 29 2019 05:59:21 GMT-0400 (Eastern Daylight Time)

          ; General preferences
          G90 ; Send absolute coordinates...
          M83 ; ...but relative extruder moves

          ; Network
          M550 P"Wanhao Di3 Duet" ; Set machine name
          M552 S1 ; Enable network
          M587 S"Lynch WiFi" P"internet" ; Configure access point. You can delete this line once connected
          M586 P0 S1 ; Enable HTTP
          M586 P1 S0 ; Disable FTP
          M586 P2 S0 ; Disable Telnet

          ; Drives
          M569 P0 S1 ; Drive 0 goes forwards
          M569 P1 S1 ; Drive 1 goes forwards
          M569 P2 S0 ; Drive 2 goes backwards
          M569 P3 S1 ; Drive 3 goes forwards
          M350 X128 Y128 Z128 E16 I0 ; Configure microstepping without interpolation
          M92 X640.00 Y640.00 Z3200.00 E100.00 ; Set steps per mm
          M566 X900.00 Y900.00 Z12.00 E120.00 ; Set maximum instantaneous speed changes (mm/min)
          M203 X12000.00 Y12000.00 Z1200.00 E3000.00 ; Set maximum speeds (mm/min)
          M201 X1000.00 Y1000.00 Z100.00 E5000.00 ; Set accelerations (mm/s^2)
          M906 X855.00 Y855.00 Z855.00 E855.00 I30 ; 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 X200 Y200 Z180 S0 ; Set axis maxima

          ; Endstops
          M574 X1 Y1 Z1 S3 ; Set endstops controlled by motor load detection
          M913 X40 Y40 Z40
          M400 ; make sure everything has stopped before we reset the motor currents
          M913 X100 Y100 Z100 ; motor currents back to normal
          ; Z-Probe
          M558 P5 H5 F120 T6000 ; Set Z probe type to switch and the dive height + speeds
          G31 P500 X0 Y0 Z2.5 ; Set Z probe trigger value, offset and trigger height
          M557 X25:175 Y25:175 S20 ; Define mesh grid

          ; Heaters
          M305 P0 T100000 B3988 R4700 ; Set thermistor + ADC parameters for heater 0
          M143 H0 S120 ; Set temperature limit for heater 0 to 120C
          M305 P1 T100000 B3988 R4700 ; Set thermistor + ADC parameters for heater 1
          M143 H1 S280 ; Set temperature limit for heater 1 to 280C

          ; Fans
          M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
          M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
          M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

          ; Tools
          M563 P0 S"Extruder" D0 H1 ; 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

          ; Automatic saving after power loss is not enabled

          ; Custom settings are not configured

          ; Miscellaneous
          T0 ; Select first tool

          1 Reply Last reply Reply Quote 0
          • undefined
            Steve Lynch
            last edited by 2 May 2019, 02:59

            Can you offer any help on this? You know what I'm trying to do, I just do not understand all of the "lingo" when reading the documentation... It's just not in plain language. My understanding of the firmware is..... OK, but not advanced... If you can help me get the parameters set up, I can tweak it from there... I just am having a hard time figuring out what and where to enter things like the G1S1 move you speak of...

            Thanks!!!

            1 Reply Last reply Reply Quote 0
            • undefined
              Phaedrux Moderator
              last edited by 2 May 2019, 04:06

              You've put the commands in the wrong file I'm afraid. You need to modify the homeall.g, homex, homey, homez files.

              Config.g contains the commands that are run at power on to get things configured.

              You should revert your endstops section to be what it was before, then post your homing files, since thats where you'll need to make modifications for sensorless homing.

              Z-Bot CoreXY Build | Thingiverse Profile

              1 Reply Last reply Reply Quote 0
              • undefined
                Steve Lynch
                last edited by 2 May 2019, 05:10

                Here's My homing files.... I chose Stall detection in the reprap configurator, but it doesn't seem to make a difference.. I just don't know what it's looking for...

                Thanks for checking this out..

                Home all:

                ; homeall.g
                ; called to home all axes
                ;
                ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 29 2019 05:59:22 GMT-0400 (Eastern Daylight Time)
                G91 ; relative positioning
                G1 Z5 F6000 S2 ; lift Z relative to current position
                G1 S1 X-205 Y-205 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
                G1 X5 Y5 F6000 ; go back a few mm
                G1 S1 X-205 Y-205 F360 ; move slowly to X and Y axis endstops once more (second pass)
                G1 S1 Z-185 F1800 ; move Z down stopping at the endstop
                G90 ; absolute positioning
                G92 Z0 ; set Z to axis minimum (you may want to adjust this)

                ; Uncomment the following lines to lift Z after probing
                ;G91 ; relative positioning
                ;G1 S2 Z5 F100 ; lift Z relative to current position
                ;G90 ; absolute positioning

                Home X:

                ; homex.g
                ; called to home the X axis
                ;
                ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 29 2019 05:59:22 GMT-0400 (Eastern Daylight Time)
                G91 ; relative positioning
                G1 Z5 F6000 S2 ; lift Z relative to current position
                G1 S1 X-205 F1800 ; move quickly to X axis endstop and stop there (first pass)
                G1 X5 F6000 ; go back a few mm
                G1 S1 X-205 F360 ; move slowly to X axis endstop once more (second pass)
                G1 Z-5 F6000 S2 ; lower Z again
                G90 ; absolute positioning

                Home Y:

                ; homey.g
                ; called to home the Y axis
                ;
                ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 29 2019 05:59:22 GMT-0400 (Eastern Daylight Time)
                G91 ; relative positioning
                G1 Z5 F6000 S2 ; lift Z relative to current position
                G1 S1 Y-205 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                G1 Y5 F6000 ; go back a few mm
                G1 S1 Y-205 F360 ; move slowly to Y axis endstop once more (second pass)
                G1 Z-5 F6000 S2 ; lower Z again
                G90 ; absolute positioning

                Home Z:

                ; homez.g
                ; called to home the Z axis
                ;
                ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 29 2019 05:59:22 GMT-0400 (Eastern Daylight Time)
                G91 ; relative positioning
                G1 Z5 F6000 S2 ; lift Z relative to current position
                G1 S1 Z-185 F1800 ; move Z down until the endstop is triggered
                G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

                ; Uncomment the following lines to lift Z after probing
                ;G91 ; relative positioning
                ;G1 S2 Z5 F100 ; lift Z relative to current position
                ;G90 ; absolute positioning

                1 Reply Last reply Reply Quote 0
                • undefined
                  Phaedrux Moderator
                  last edited by Phaedrux 5 Feb 2019, 05:27 2 May 2019, 05:23

                  Have you seen this?
                  https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing#Section_Configuring_sensorless_homing

                  Make sure you read and understand the limitations for sensorless homing. It is a fairly advanced setup and can be tricky to get working. It's also highly dependent on motor temperature, etc. Be ready to kill the power when testing in case it doesn't trigger.

                  So in config.g you would change the endstops configuration to be M574 X1 Y1 S3 you'd have to have a seperate line for the z axis, since you likely don't want to home Z using stall detection as well.

                  Then you'll have to change your homing files to add the motor current reduction before the homing moves, and then return it to normal afterwards. That's where the M913 X40 Y40 would go to reduce it to 40% and then M913 X100 Y100 after to put it back to normal.

                  You'll also have to increase your homing speed to at least F2400 for it to hopefully trigger properly. So that would be the G1 S1 moves. You'll also want to remove the second slower homing pass since that won't work. Once it stalls and stops, that's it.

                  G1 S1 X-205 Y-205 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
                  G1 X5 Y5 F6000 ; go back a few mm
                  G1 S1 X-205 Y-205 F360 ; move slowly to X and Y axis endstops once more (second pass)

                  On another note, looking at your config.g you should probably change your microstepping from 128 to 16 with interpolation. One of the biggest benefits of the drivers on the Duet Wifi is being able to interpolate x16 to x256. There's no sense in using more than x16 for X and Y, and with interpolation to 256 it will actually be much smoother and quieter than base 128. You'll also be less likely to overload the CPU and get missed steps.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Steve Lynch
                    last edited by Steve Lynch 5 Feb 2019, 05:36 2 May 2019, 05:33

                    I have seen this, and tried some of the settings... You kind of explained it a bit though, so I'll run back and try again.. Now that I know that it has to be in the homing file, and not just config.g, I'm not completely in the dark. I have sensorless homing on 5 of my other Marlin based printers 3 of which are prusas, and they work flawlessly. I'm using Prusa MK3 firmware on them, because it just works out of the box.. I've never had to set it up... Is it a reprap limitation? It seems everyone does it on Marlin with no problems, but RepRap comes with all sorts of warnings..

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      Phaedrux Moderator
                      last edited by 2 May 2019, 05:44

                      Well it comes with warnings because you're ramming your print head into a hard stop at speed, so it warrants caution for the first setup.

                      Prusa also has the benefit of choosing the motors to work with the electronics and firmware and test it all ahead of time. When doing it yourself with your random kit your mileage may very.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      1 Reply Last reply Reply Quote 0
                      • undefined
                        Steve Lynch
                        last edited by 2 May 2019, 07:35

                        Ok, So here's My New HomeAll.

                        I read the instructions several times, and I believe this should be correct.
                        I fixed the wiring orientation on my z endstop, and motor directions are now correct. Z homes perfectly... X just hits the end and rattles, and homing stops with "insufficient homing" error. It just doesn't seem to detect a stall, even at 10% current

                        ; homeall.g
                        ; called to home all axes
                        ;
                        ; generated by RepRapFirmware Configuration Tool v2 on Mon Apr 29 2019 05:59:22 GMT-0400 (Eastern Daylight Time)
                        G91 ; relative positioning
                        M913 X40 Y40 ; Reduce current to 40%
                        G1 Z5 F6000 S2 ; lift Z relative to current position
                        G1 S1 X-0 Y-0 F3000 ; move quickly to X and Y axis endstops and stop there (Detects Stall)
                        G1 S1 Z-185 F3000 ; move Z down stopping at the endstop
                        M913 X100 Y100 ; Return Current to 100%
                        G90 ; absolute positioning
                        G92 Z0 ; set Z to axis minimum (you may want to adjust this)

                        And here's My Config.G I started from scratch.
                        ; DuetWIFI config
                        M111 S0 ; Debug off
                        M550 DuetHaoi3 ; Machine name (can be anything you like)
                        M551 i3 ; Machine password (currently not used)
                        M552 S1 ; Enable WiFi
                        M555 P2 ; Set output to look like Marlin
                        M575 P1 B57600 S1 ; Set auxiliary serial port baud rate and require checksum (for PanelDue)

                        ; Movement
                        G21 ; Work in millimetres

                        M569 P0 S1 ; Drive 0 goes backwards
                        M569 P1 S1 ; Drive 1 goes backwards
                        M569 P2 S0 ; Drive 2 goes forwards
                        M569 P3 S0 ; Drive 3 goes forwards

                        M906 X855 Y855 Z1080 E855 ; Set motor currents (mA)
                        M201 X1000 Y800 Z100 E5000 ; Accelerations (mm/s^2)
                        M203 X12000 Y12000 Z120 E3000 ; Maximum speeds (mm/min)
                        M566 X600 Y600 Z18 E20 ; Maximum jerk speeds mm/minute

                        M574 X1 Y1 S3 ; set sensorless homing
                        M574 Z1 S0 ; set Z end stop
                        M208 X200 Y200 Z180 ; set axis maxima and high homing switch positions (adjust to suit your machine)
                        M208 X-8 Y-8 Z-0.5 S1 ; set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)

                        M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping with interpolation
                        M92 X80 Y80 Z400 E98 ; set axis steps/mm

                        G90 ; Send absolute coordinates...
                        M83 ; ...but relative extruder moves

                        ; Z-Probe
                        ; M558 P1 X0 Y0 Z1 H3 F200 T5000 ; smart IR Z probe, used for homing Z axis only, dive height 3mm, probe speed 200mm/min, travel speed 5000mm/min
                        ; G31 P500 X-45 Y45 Z0.66 ; set threshold and offsets

                        ; Heaters + Thermistors
                        M305 P0 T100000 B3950 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
                        M305 P1 T100000 B4388 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction

                        M307 H0 A193 C719.9 D8.7 B0 ; bed heater settings
                        M307 H1 A219 C128 D13.9 B0 ; extruder heater settings

                        M570 S120 ; Increase to allow extra heating time if needed

                        M106 P2 T55 H1 ; Run Coldend-Fan at 55°C

                        ; T0
                        M563 P0 D0 H1 ; tool 0 uses extruder drive 0 and heater 1
                        G10 P0 S0 R0 X0 Y0 ; set tool 0 temperatures and offsets

                        ; the end
                        M556 S100 X0 Y0 Z0 ; Put your axis compensation here
                        T0 ; Select the first head

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          Steve Lynch
                          last edited by 2 May 2019, 07:52

                          OH!!!! I think I got it!!! Lightbulb just went off over my head! lolo

                          The F Speed is like the sensitivity, yes?

                          I know it's speed, but that is relative to the stall detection... So while X seems to trigger at 2600, Y likes a slightly lower speed than 2400, or it simply stalls the minute it tries to move. That may mean I need to do a brearing as well...

                          I think I'm close, the Y axis seems to not home all of the way every time... I need to dial that in!

                          Thanks soooo much for your help dude!

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            Phaedrux Moderator
                            last edited by 2 May 2019, 16:14

                            You may need to reduce the acceleration of the Y axis temporarily for the homing moves to reduce the chance of false detecting a stall.

                            Z-Bot CoreXY Build | Thingiverse Profile

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              dc42 administrators
                              last edited by 4 May 2019, 14:36

                              I don't see any M915 commands in any of the files you have posted. Have you tuned the M915 stall detection threshold? https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing#Section_Configuring_sensorless_homing

                              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

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