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

    Euclid Probe / Railcore frustration. Any advice?

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

                      @paulhew

                      Hey Man,
                      I just noticed I had never responded to thank you for sending me these files. I wanted to apologize.
                      I know you probably don't Remember, but either way, it bothered me that I had not acknowledged you...

                      So again Thanks so much!

                      Being able to see how you had it set up really helped me to understand how the different instruction sets interacted.

                      Take care!
                      Steve

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

                        @steve-lynch I have removed you from my Rude User and Hit lists. 🤣

                        Its cool, glad it helped you.

                        Laters,

                        Paul

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

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