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

    First homing attempts failing.

    Scheduled Pinned Locked Moved
    General Discussion
    7
    98
    12.4k
    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.
    • dc42undefined
      dc42 administrators
      last edited by

      I've replicated your system as best I can, but I am using a DueX5 to drive three Nema 23 motors because I don't have any external drivers. Here is a video showing X homing behaviour. I have connected a NC push button to the X endstop input, and I press it to simulate the endstop switch being triggered. When I press it, the X endstop LED goes out and the homing move stops as it should.

      https://www.dropbox.com/s/otl3gkwt8pkx249/2017-12-11%2011.44.25.mp4?dl=0

      I tested with both 1.19.2 and 1.20RC1 firmware versions.

      Are you quite certain that you have the X and Y endstop switches plugged into the correct connectors, and not swapped? The order of the endstop connectors is Z Y X E0 E1. In the Machine properties page of DWC, the first row (which starts "Drive 0") shows the X endstop state. Under "Endstop hit" is shows "No" when the endstop switch is connected but not pressed, and "Yes" when I hold the button down.

      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
      • sjason1377undefined
        sjason1377 Banned
        last edited by

        OK now my turn. I'm going to make my own video and show exactly to the best of my ability a visual inspection and demonstration of the behavior. Hope I can figure out how to upload video here in proper resolution.

        1 Reply Last reply Reply Quote 0
        • sjason1377undefined
          sjason1377 Banned
          last edited by

          https://www.dropbox.com/s/0e4zo5gx2p2cdnz/00009.MTS?dl=0

          Here's my video

          1 Reply Last reply Reply Quote 0
          • sjason1377undefined
            sjason1377 Banned
            last edited by

            As you can see I demonstrated switches working. Than I showed a failed S1 attempt. Next you see the x carriage moves under S2. Last you see the x homing behavior. Notice that there is a tiny move in the beginning. Less than a mm. The digital distance readout changes twice. From 70 to -220, than to zero all without moving, or using a homing switch. This clearly displays a board with an ability to run a file in an inappropriate manner. This board is assigning a coordinate without activating a switch. The failure to produce motion is 1 issue, how about confirming a homing run without feed back from it's switch. And what's with the busy sign that takes 30 plus seconds to clear. Something has to be wrong more than user error. If need be I will hook up a meter to show full voltage rise and fall for my switches. Anything else you wanna see let me know, otherwise I got mail this board back. I really would like to sort this out first, because I don't want to get stuck with a refusal to except the return in the long run if it's config related. But firmware bugs are not my fault.

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

              Thanks for the video. I will study it in more detail tomorrow. Meanwhile, I think the issue must be to do with the different timings that happen during homing moves because of the extra homing switch checks. Please can you try a fee more things:

              1. Does the Y axis behave the same way, i.e. after G91 you can do G1 S2 Y moves, but G1 S1 Y moves don't work, even though the endstop is showing as not triggered?

              2. In your M569 commands for the external drivers, change T2 to T5 to lengthen the minimum step pulse width and interval.

              3. Try firmware 1.20RC1.

              Also please provide a link to the data for the stepper drivers you are using.

              The problems you are having are really bugging me too, and I hope we can get them sorted soon.

              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
              • dc42undefined
                dc42 administrators
                last edited by

                PS - if those tests don't resolve the issue, I thought of another useful test. Let's eliminate the endstop switches from the equation, by disconnecting them from the Duet and changing S1 to S0 in the M574 command, to make the endstops read as not triggered all the time. Then see whether G1 S1 movement commands move the head the distance commanded, just as G1 S2 commands do.

                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
                • sjason1377undefined
                  sjason1377 Banned
                  last edited by

                  The new firmware 1.20RC1 allows x and y to complete homing with nothing changed in any of my files.! Now
                  i am on left with the bl touch smart 3.3v logic sensor to work and I'll be printing. I wanted to thank Dave, Tony, and the other members for there help with this issue. They say cleanliness is next to Godliness, I now say patients is. Forgive me for some of the comments i made in response to so answers. More patients is in the works.

                  Now I could probably get probing done quit if I could receive a review of all the files pertaining to z homing and whatever feature allows for leveling. My bed is machine cast aluminum plate further flattened using lapping plate diamond slurry. You'd think at 50/1000000's of the inch over the longest distance, That I wouldn't need it. I didn't realize the bed heat and glass cover would ruin my perfectly flat level running bed, but they are terrible in comparison.

                  Ok so I got M280 P7 S10 to deploy the probe. M280 P7 S90 retracts well also. Solid red light changes blue on deploy. Probe indicator on web interface reads 1000 . This value doesn't change. Sensor doesn't report contact with bed surface.

                  Probe is wired to the z probe in and gnd pins not the special probe pin. no z homing swith either. I must has missed something in instruction on this thing. Documentation doesn't support rep rap firmware from bl touch's end. What I find from Duet side of things is a case of catch up due to the release of many version of this probe and firmware. This things config setup has changed so many times I'm clueless.

                  An help will be great, Thank all!

                  ; homez.g
                  ; called to home the Z axis

                  G91 ;relative moves
                  G1 z5 F200 ;raise head 5mm to ensure it above trigger height
                  G90 ;back to absolute moves this might be wrong G91
                  G1 X140 Y140 F2000 ;put probe at bed center
                  G91 ; relative moves
                  G1 Z-210 S1 F100 ; move down until triggered height
                  G90 ;back to absolute
                  G92 Z0.3

                  ; homeX,Y.g
                  ; called to home all axes
                  ;
                  ; generated by RepRapFirmware Configuration Tool on Sat Nov 25 2017 12:15:39 GMT-0500 (Eastern Standard Time)

                  ; Relative positioning
                  G91
                  G1 Z5 F3000 ;lift Z 5mm
                  G1 X-295 y-295 F1500 S1 ;relative move to x,y -310mm neg dir stop at switch
                  G1 X5 Y5 F1000 ;relative back off switch 5mm pos dir
                  G1 X-10 Y-10 F360 S1 ;relative move x,y -310mm alliance neg stop at switch slowly
                  G90 ;absolute moves
                  G1 X140 Y140 F4000 ; put probe center of bed
                  G30 ;lower probe set height
                  G0 X140 Y140 Z2.5 F1500 ; absolute move to bed center first probe position

                  ; bed.g
                  ; called to perform automatic bed compensation via G32
                  ;
                  ; generated by RepRapFirmware Configuration Tool on Sat Nov 25 2017 12:15:39 GMT-0500 (Eastern Standard Time)

                  ; Clear any bed transform
                  M561

                  ; Home all axes
                  G28

                  ; Deploy the mechanical Z probe
                  M98 Pdeployprobe.g

                  ; Probe the bed at 4 points
                  G30 P0 X40 Y40 H1 Z-99999
                  G30 P1 X40 Y260 H1 Z-99999
                  G30 P2 X210 Y260 H1 Z-99999
                  G30 P3 X210 Y40 H1 Z-99999 S
                  ; Retract the mechanical Z probe
                  M98 Pretractprobe.g

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

                    I'm puzzled - I can't think what I changed in 1.20 series firmware that could be making the difference! But I'm glad it's working. I'm sorry it has taken so long to resolve what was evidently a firmware issue.

                    Regarding your bltouch, there are at least 2 issues here:

                    1. Your Z probe is not working with the firmware. The Z probe reading should be 0 when the probe is deployed but not triggered. it should go to 1000 (possibly too briefly to see) when the probe is triggered.

                    To test a Z probe, with the head well above the bed, deploy the probe and send G30. The head should move towards the bed (or vice versa). Trigger the probe by holding something under it. That should stop the movement. If it doesn't, cut the power to prevent the head crashing into the bed.

                    However if you are getting a Z probe reading of 1000 all the time, that isn't going to work because the G30 command will provoke the message "Error: Z probe already triggered at start of probing move".

                    Please post a photo showing how you have connected the bltouch to the Z probe connector. Also post the lines you have added to config.g to support the Z probe - you should have at least a M558 command and a G31 command.

                    2. Your Z homing file is set up to use a microswitch, not a Z probe. To home Z using a Z probe you need to use a G30 command, not a G1 S1 command. See https://duet3d.com/wiki/Configuring_RepRapFirmware_for_a_Cartesian_printer#Homing_Z_using_a_Z_probe. Your homeall.g file is already set up to home Z using a G30 command.

                    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
                    • sjason1377undefined
                      sjason1377 Banned
                      last edited by

                      Questions,

                      (1) For homez.g I'm no use M280 P7 S10 to deploy G30 to trigger height M280 P7 S90 to retract G92 Z0 to set height. That's working well. Thanks!

                      (2) Second I see option for M98, G32 G31 for probing multi location. I want a bed.g file that will measure and compensate for rolling variation of flatness with a total of .7 mm of adjustment over 87,000 Sq mm's.
                      I think the 16 point version might work. However after using the Escher3d cal. I see M or Gcode telling firmware what probing feature it's running. G28 to home x,y M98,M98 will be changed to M280's M98 doesn't work. Than G30 for every measured point line by line or isn't G32 0r G31?
                      And how do I tell firmware to store and run height values every time only running bed.g every so often to check stored values are still correct?

                      (3) My bed is mounted on thk 15mm rails attached solid cold drawn steel bars 65mm high 20mm wide. Bed is constructed with 12.7 mm thing aluminum plate bolts direct to linear guide way carriage blocks, 3 on each side 50mm long each. machine frame is just as stiff. My bed leveled state will never change outside of thermal variation. So I need a good 1 shot probing run and a repeated use file of the recorded deviation in flat/level.

                      This is what calulator produced for bed.g

                      ; bed.g file for RepRapFirmware, generated by Escher3D calculator
                      ; 16 points, 6 factors, probing radius: 120, probe offset (40, 16)
                      G28
                      M98 Pdeployprobe.g
                      G30 P0 X0.00 Y101.58 Z-99999 H0
                      G30 P1 X58.11 Y69.26 Z-99999 H0
                      G30 P2 X87.32 Y15.40 Z-99999 H0
                      G30 P3 X82.86 Y-47.84 Z-99999 H0
                      G30 P4 X39.02 Y-107.21 Z-99999 H0
                      G30 P5 X-41.04 Y-112.76 Z-99999 H0
                      G30 P6 X-103.92 Y-60.00 Z-99999 H0
                      G30 P7 X-118.18 Y20.84 Z-99999 H0
                      G30 P8 X-77.13 Y91.93 Z-99999 H0
                      G30 P9 X0.00 Y41.92 Z-99999 H0
                      G30 P10 X30.32 Y17.51 Z-99999 H0
                      G30 P11 X33.52 Y-19.35 Z-99999 H0
                      G30 P12 X0.00 Y-60.00 Z-99999 H0
                      G30 P13 X-51.96 Y-30.00 Z-99999 H0
                      G30 P14 X-51.96 Y30.00 Z-99999 H0
                      G30 P15 X0 Y0 Z-99999 S6
                      M98 Pretractprobe.g

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

                        For general bed compensation, you should use G29 mesh probing. See https://duet3d.com/wiki/Using_mesh_bed_compensation. If you are using multiple independently-driven Z leadscrews, you can use G32 and bed.g to adjust them if you wish, see https://duet3d.com/wiki/Bed_levelling_using_multiple_independent_Z_motors. Or you can use G31 and bed.g to tell you the corrections you need to make to your bed levelling screws, see https://duet3d.com/wiki/Using_the_manual_bed_levelling_assistant.

                        The calculator is for generating probe points for calibrating delta printers.

                        Normal practice for deploying and retracting the Z probe is to use M401 and M402, not to invoke the deployprobe.g and retractprobe.g files directly with M98. The probe will automatically be deployed before probing and retracted after probing if necessary; however in a bed.g file you may want to use M401 and M402 explicitly so that it only deploys and retracts the probe once, instead of once per probe point.

                        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
                        • sjason1377undefined
                          sjason1377 Banned
                          last edited by

                          M401 isn't working M280 P7 S10 is what bl touch instructions say to use on deploy and M280 P7 s90 retract. I've seen this written in many examples, but also some users need to ad a T0 in the deploy.g and retract.g but it doesn't work for many of us either. Seem like plain M280 Your P# and S10/90 is what working with this thing. It's providing trigger now. I start at 0 and triggered 1000. So if I run G29 will these result be used to alter the performance of print begining to actual simulate a level surface? Or do these options just for measuring purposes, still requiring manual leveling?

                          1 Reply Last reply Reply Quote 0
                          • sjason1377undefined
                            sjason1377 Banned
                            last edited by

                            1 final question. I use a 5v psu so that I have pwr to m80 the 24 supply. When not using printer, is the correct turn on, off option for the board itself simply to switch off the 5v? Or is there some form of boot it off? Or is it better to just leave the 5v side on forever? Board life span is my main concern not energy. I of coarse disconnect from the interface first.

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

                              @sjason1377:

                              M401 isn't working M280 P7 S10 is what bl touch instructions say to use on deploy and M280 P7 s90 retract. I've seen this written in many examples, but also some users need to ad a T0 in the deploy.g and retract.g but it doesn't work for many of us either. Seem like plain M280 Your P# and S10/90 is what working with this thing. It's providing trigger now. I start at 0 and triggered 1000. So if I run G29 will these result be used to alter the performance of print begining to actual simulate a level surface? Or do these options just for measuring purposes, still requiring manual leveling?

                              M401 calls sys/deployprobe.g and M402 calls /sys/retractprobe.g so you need to put the correct M280 commands in those files. But in addition, M401 and M402 remember whether the probe is deployed or retracted, so that the firmware doesn't run those files automatically if the probe is already deployed.

                              Successful completion of probing after sending G29 S0 or just G29 will cause the height map to be used for subsequent prints until you power off or reset the printer, or cancel compensation by sending M562 or G29 S2. It also saves the height map to a file on the SD card so that you can load it subsequently with G29 S1.

                              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
                              • dc42undefined
                                dc42 administrators
                                last edited by

                                It's up to you whether you supply 5V to the board continuously when you are not using it; but I would turn it off. The board uses about 1W of power when it is idle.

                                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
                                • sjason1377undefined
                                  sjason1377 Banned
                                  last edited by

                                  I have E3 extruder external drive pinned to LCD drive 10.

                                  LCD_DB5 -> Step 10
                                  LCD_DB6 -> Dir 10
                                  LCD_DB7 -> Enable 10 –-------------<<<<<
                                  ENC_B -> Endstop 10----(not used)

                                  All the expansion header board external drive connector provide bot + and - for step,dir,enable.
                                  What is the polarity of the enable coming from this single enable pin. And where is what is the correct source pin to complete it's circuit? I am using one of the 3.3v to 5v double separate supplied pwr modules, with opti-iso. Need that 4 pin for E3 to enable.

                                  Other dives X5, Y6, Z7, E8:9:10

                                  KL 5056 drives 1.2ms step
                                  5v logic 1.5ms dir/ active high or low set by J1 jumper inside driver enclosure

                                  Thanks

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

                                    By default the enable signals are all active low. So when connecting external drivers, it's easiest to connect the enable output to the -EN driver input and the EN+ driver input to +3.3V.

                                    If you connected the driver enable input between the Duet enable output and ground instead, you can use the R1 parameter in the M569 command for that driver to invert the polarity.

                                    Most external drivers intended for use with 5V driver signals work OK on 3.3V signals.

                                    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
                                    • First post
                                      Last post
                                    Unless otherwise noted, all forum content is licensed under CC-BY-SA