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

    Euclid Probe / Railcore frustration. Any advice?

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    6
    23
    1.9k
    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.
    • Steve Lynchundefined
      Steve Lynch @Steve Lynch
      last edited by

      @steve-lynch

      Euclid provides a 4 point bed leveling example, I have a railcore, which uses 3 point tramming, so I pointed the script to My Bed.g script.

      I assume that is correct?

      sorry for the huge post.

      Steve Lynchundefined 1 Reply Last reply Reply Quote 0
      • Steve Lynchundefined
        Steve Lynch @Steve Lynch
        last edited by

        @steve-lynch

        This is the error I keep getting....

        1/15/2022, 9:23:15 PM deployprobe start value Probe already picked up. Manually return probe to the dock
        Error: Homing failed

        I was told that the script setup as I have it, should be able to tell whether or not the probe is already picked up, and simply act accordingly.

        That does not appear to be the case.

        Using the three wires, My probe lights are on all of the time, and turn off when it probes.

        Normal probe state shows "not triggered" and changes if I hit the micro switch.

        My homeall.g is the only script that runs all the way through.

        If I try to home only Z, it defaults to the above error.

        Alex.crundefined 1 Reply Last reply Reply Quote 0
        • Alex.crundefined
          Alex.cr @Steve Lynch
          last edited by

          @steve-lynch

          Can you please re-submit your code from your first5 post but using the code insert function of the forum? (The button looks like </>).

          I have a sneaking suspicion that your code is not indented properly so your if commands are not working properly so it is just aborting instead of jumping past the abort.

          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̶

          Steve Lynchundefined 2 Replies Last reply Reply Quote 0
          • zaptaundefined
            zapta
            last edited by

            @steve-lynch said in Euclid Probe / Railcore frustration. Any advice?:

            ; echo "Probe State = " ^sensors.probes[0].value[0]

            Have you tried to uncomment this? It will tell you what switch value the duet sees before it aborts.

            ; echo "Probe State = " ^sensors.probes[0].value[0]
            

            Also, in the DWC dashboard, the probe value should be 1000 when the Euclid is not attached to the head and 0 when it is (and 1000 if it is attached to the head and you press the switch).

            Steve Lynchundefined 1 Reply Last reply Reply Quote 0
            • Steve Lynchundefined
              Steve Lynch @Steve Lynch
              last edited by

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • Steve Lynchundefined
                Steve Lynch @Alex.cr
                last edited by

                @alex-cr My apologies... I didn't even know that was a thing.... I fixed it! I can see where this makes it much easier.. again, sorry about that.

                Alex.crundefined 1 Reply Last reply Reply Quote 0
                • Steve Lynchundefined
                  Steve Lynch @zapta
                  last edited by

                  @zapta Probe value is reading properly as you asked.

                  This is what it's showing for probe value in console:

                  1/16/2022, 12:48:55 AM G28
                  Object Model deployuser token =false
                  Lift Z in advance of deploy

                  1/16/2022, 12:49:00 AM Probe Value =0
                  deployprobe start value Probe already picked up. Manually return probe to the dock
                  Object Model deployuser token =true
                  Lift Z in advance of deploy

                  1/16/2022, 12:49:05 AM Probe Value =0
                  deployprobe start value Probe already picked up. Manually return probe to the dock
                  Error: Homing failed

                  1 Reply Last reply Reply Quote 0
                  • Steve Lynchundefined
                    Steve Lynch @Alex.cr
                    last edited by

                    @alex-cr said in Euclid Probe / Railcore frustration. Any advice?:

                    @steve-lynch

                    Can you please re-submit your code from your first5 post but using the code insert function of the forum? (The button looks like </>).

                    Fixed! Submitted as requested.

                    I have a sneaking suspicion that your code is not indented properly so your if commands are not working properly so it is just aborting instead of jumping past the abort.

                    This is the 2nd time someone has mentioned indentation today... I'm not clear as to what the rules are for indent.

                    1 Reply Last reply Reply Quote 0
                    • Alex.crundefined
                      Alex.cr @Steve Lynch
                      last edited by

                      @steve-lynch
                      No worries. Just makes it obvious when dealing with meta commands.

                      Ill take another look now.

                      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̶

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

                        This post is deleted!
                        Steve Lynchundefined 1 Reply Last reply Reply Quote 1
                        • zaptaundefined
                          zapta
                          last edited by

                          @arnold_r_clark said in Euclid Probe / Railcore frustration. Any advice?:

                          no conditional g code required

                          @Arnold_R_Clark, your code looks clean and easy to read. One reason people add conditional gcode is for extra safety. For example, what will happen with your code if something will go wrong with placing the probe away and it will stay on the head? Will it then crash when you will try to print?

                          Steve Lynchundefined A Former User? 2 Replies Last reply Reply Quote 0
                          • Steve Lynchundefined
                            Steve Lynch @zapta
                            last edited by Steve Lynch

                            @zapta Thanks for the second set of eyes on this dude!

                            That's kind of where I'm at... I can make the machine move anywhere I want, moves are easy... it's the conditional code as you guys call it, that's got me twisted. I understand that it's supposed to be an "If This, Then That" type of flow, but That's kind of above My pay grade. I'm not finding much in the manual to outline how that type of code works.

                            Like I always do, I'll at least document, and share My working code with others if I ever get it sorted.

                            I'm almost 100% certain that My problem is that I need to either uncomment, or change variables in the conditional stuff. The problem is, the example scripts provided by Euclid don't really make it clear to a non-coder like me, what variables are there for reference, and which ones should be changed.

                            1 Reply Last reply Reply Quote 0
                            • Steve Lynchundefined
                              Steve Lynch @A Former User
                              last edited by Steve Lynch

                              @arnold_r_clark

                              Thank you very much! The conditional code is what I'm struggling with. I'm concerned about it crashing if it doesn't get stowed before it gets turned off, or if a print fails, and I re-start it remotely, or whatever.

                              Your code is basically how I started off.... Just a series of movements.

                              Then everyone started telling me that I was going to destroy my machine, and I had to set it up to detect the presence of the probe.

                              I think at 48 years old, considering that I've never stepped in front of a moving train, or fallen off a building, or anything like that, It's probably safe to say that I'm capable of checking the head before I start a print.. 😁

                              It would just be nice to have the safety of the code.

                              sinned6915undefined 1 Reply Last reply Reply Quote 0
                              • zaptaundefined
                                zapta
                                last edited by

                                @steve-lynch, this is how I check after the probe was supposed to drop.

                                M400
                                G4 P250   ; Wait 250ms
                                if {sensors.probes[0].value[0]} < 750
                                  echo "Error: Clickey not dropped. Value: " ^ {sensors.probes[0].value[0]}
                                  M112  ; Emergency stop.
                                
                                1 Reply Last reply Reply Quote 0
                                • A Former User?
                                  A Former User @zapta
                                  last edited by A Former User

                                  This post is deleted!
                                  1 Reply Last reply Reply Quote 0
                                  • sinned6915undefined
                                    sinned6915 @Steve Lynch
                                    last edited by

                                    @steve-lynch the conditional gcode checks in the Euclid examples ARE safety checks. You don't need extra devices or sensors or anything. The change in probe state is reliable.

                                    If you dont want conditional gcode checks then use the Euclid RRF2 macro examples. Those are tried and true. The developement of Euclid was done under RRF2.

                                    Where have you been soliciting advice from? I do not see any questions or requests for help either at the Euclid discord channel, or in the Railcore discord. The Euclid discord is primary support venue.

                                    As to the answers to some of your questions- which are hard because of the deleted posts along the way-

                                    1. You can probe more than 3 points to calculate 3 point leveling.

                                    2. If your LED's are on with the probe half disconnected then you have mis-wired the device.

                                    3. condiotnal gcode documentation- I am not a coder either but the documentation here in the conditional gcode forum and the dozuki are where I learned what I needed to know and implement.
                                      https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands

                                    4. As to whether or not the checks are required- I think that they are worth having. As all things mechanical, nothing is foolproof, only small probablilities. You'd be surprised how quick an errant screw or nozzle clearing needle will find its way to the magnets and complete the circuit.

                                    If you need more specific help, come join us at the Discord channel linked in the docs.

                                    Steve Lynchundefined 1 Reply Last reply Reply Quote 0
                                    • Steve Lynchundefined
                                      Steve Lynch @sinned6915
                                      last edited by Steve Lynch

                                      @sinned6915

                                      I'm not a discord user, I mean, I occasionally log in if I have to, but I can't stand the platform. I have been seeking help in the railcore group, and a couple other 3d printing groups. I didn't know there was an official support discord.

                                      My probe is behaving as it should. Probe value is zero if it's connected, and 1000 if button is depressed, or probe is removed.

                                      I actually want to use the conditional code, I just don't understand it. I have the example .g files you provide, but I don't know what to uncomment, or any of that.

                                      I build CNC tool changers, I'm quite aware that errant debris can cause huge problems in devices. I realize a probe will probably just break, or fall off, but I'm used to a 3 LB razor blade going 25,000 rpm.... one of those gets away from you, and it's a real shit show. So I'm a big fan of safety checks.

                                      I'll follow your link for the meta commands.

                                      If I can't sort it out, I'll bite the bullet, and hop on discord I guess.

                                      sinned6915undefined PaulHewundefined 2 Replies Last reply Reply Quote 0
                                      • sinned6915undefined
                                        sinned6915 @Steve Lynch
                                        last edited by

                                        @steve-lynch I watch the Euclid channel and some of the other printer channels there. It the least of the evils...

                                        To confirm, what is the issue you are trying to wrangle?

                                        I assume that you are using fixed dock setup.

                                        To confirm, you are using the examples from either the euclidprobe.com or git.io/euclid repo. They should be the same.

                                        As far as the echo statements, and which need to or are are commented out, you should not have to touch them. There are really debug statements to aid users in tracking what is going on. you can comment them all out if you want.

                                        I put them in and left them because of all the effort to figure out the proper syntax. I felt it was easier to keep in and comment it out in case someone down the road needed them.

                                        For example in the deployprobe.g, the "Probe Value =" is the token that is displayed on the DWC interface.

                                        ; ***********************************************************
                                        ; Euclid Probe Fixed Dock M401 Deploy Probe Macro
                                        ; RRF3.X Firmware Example
                                        ; saveas system/deployprobe.g
                                        ; comments and echo statements throughout are provided for convenience
                                        ; ***********************************************************
                                        ; echo "Running deployprobe.g"
                                        ; if !move.axes[0].homed || !move.axes[1].homed     ; If the printer hasn't been homed, home it
                                        ;    M98 P"0:/sys/homexy.g" 
                                        
                                        ; uncomment next line to echo the probe deploy state 
                                        echo "Object Model Deployuser token =" ^sensors.probes[0].deployedByUser
                                        
                                        M564 H1 S0                   ; Allow movement BEYOND axes boundaries (for Y to reach probe dock)
                                        
                                        G91                          ; relative positioning
                                        echo "Lift Z in advance of deploy" 
                                        G1 H2 Z15 F3000              ; move Z 15 for clearance above dock.
                                        ;                            ; need to figure out some safety check on this
                                        G90                          ; absolute positioning
                                        
                                        ; uncomment next line to echo the probe value 
                                        ; echo "Probe Value =" ^sensors.probes[0].value[0]
                                        
                                        if sensors.probes[0].value[0]!=1000    ; if sensor is value other than 1000 do this
                                          ; uncomment next line to echo the probe deploy state 
                                          ; echo "deployuser token = " ^sensors.probes[0].deployedByUser
                                          ; echo "Probe State = " ^sensors.probes[0].value[0]
                                          abort "deployprobe start value Probe already picked up.  Manually return probe to the dock"
                                        
                                        ; if we're here we know it's becasue the above is true which I assume is because you have an NC switch as a probe.
                                        ; echo "Passed first logic test to deploy probe"
                                        
                                        ; Dock side position is at X0 Y30
                                        ; Docked probe postion is at X0 Y0 
                                        ; Dock exit point is at X65 Y0 
                                        
                                        G1 X5.0 Y30 F6000             ; move adjacent to probe dock location
                                        M400                          ; wait for moves to finish
                                        
                                        ; echo "Probe Pickup macro running"
                                        
                                        ; uncomment next line to echo the probe deplot state 
                                        ; echo "Object Model Deployuser token (before while loop) = " ^sensors.probes[0].deployedByUser
                                        
                                        G1 X0 Y0 F3000                ; move over dock 
                                        G4 S1                         ; pause 1.0 sec for pickup 
                                        
                                        ; uncomment next line to echo the probe value 
                                        ; echo "Probe Value =" ^sensors.probes[0].value[0]
                                        
                                        G1 X65 Y0 F1200               ;  slide probe out of dock - slowly
                                        M400
                                        G4 P500                       ; pause 0.5 seconds
                                        
                                        echo "Probe Pickup complete"
                                        
                                        ; uncomment to echo the probe deploy state 
                                        ; echo "Object Model Deployuser token (after while loop) = " ^sensors.probes[0].deployedByUser
                                        
                                        G90                           ; absolute positioning
                                        G1 X150 Y150 G3000            ; move to the center of the bed
                                        M400                          ; wait for moves to finish
                                        
                                        
                                        if sensors.probes[0].value[0]!=0
                                          ; uncomment to echo the probe deploy state 
                                          echo "Object Model Deployuser token (in abort if section)= " ^sensors.probes[0].deployedByUser
                                          abort "Deployprobe endvalue not 0 Probe not picked up!  Deployt cancelled."
                                          
                                        M564 H1 S1                    ; Restrict movement to within axes boundaries (for normal Y movement)
                                        
                                        echo "Macro deployprobe.g complete"
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • zaptaundefined
                                          zapta
                                          last edited by

                                          @arnold_r_clark said in Euclid Probe / Railcore frustration. Any advice?:

                                          conditional g code is NOT required for that to process to occur.

                                          This practice is called 'defensive programming'. That's having a gracefully handling also for conditions that 'can never occur'. 😉

                                          https://en.wikipedia.org/wiki/Defensive_programming

                                          1 Reply Last reply Reply Quote 0
                                          • PaulHewundefined
                                            PaulHew @Steve Lynch
                                            last edited by

                                            @steve-lynch Here are all my files for my RailCore, running a Duet3 Mini and 1LC toolboard.
                                            sinned helped me as I was having an issue also.
                                            download.zip.txt
                                            Hope they help you.

                                            RailCore II - Duet Mini + 1LC, Voron V0.1 - Duet Mini
                                            Voron 2.4 disassembled..... Waiting for the RailCore Mini....

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