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

Duet 3 6HC with Openbuilds XYZ Probe

Scheduled Pinned Locked Moved Solved
CNC
6
51
4.3k
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
    Yveske
    last edited by 17 Jan 2021, 15:57

    I'm a total noob with regards to the Duet and RepRap firmware.

    When I touch the bit with the XYZ probe manually, the probe lights up AND registers in DWC. When I try to run my macro, the axis just keeps going, pushing the XYZ probe to the side.

    It appears there is a link missing between the touch probe and the M675 or M38.2 command.

    Can someone please have a look at my config and macro file and tell me what is wrong or missing ?

    Thanks !!!
    Yveske

    config.g

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; General preferences
    G90                                         ; send absolute coordinates...
    M83                                         ; ...but relative extruder moves
    M550 P"duet3"                               ; set printer name
     
    ;DUAL Y
    M584 X0.0 Y0.1:0.2 Z0.3
     
    ; Drives
    M569 P0.0 S0                                ; physical drive 0.0 direction (0 = backwards, 1 = forwards (default 1))
    M569 P0.1 S0                                ; physical drive 0.1 direction (0 = backwards, 1 = forwards (default 1))
    M569 P0.2 S0                                ; physical drive 0.2 direction (0 = backwards, 1 = forwards (default 1))
    M569 P0.3 S1                                ; physical drive 0.3 direction (0 = backwards, 1 = forwards (default 1))
     
    M350 X16 Y16 Z16 I1                         ; configure microstepping with interpolation
    M92 X400.00 Y400.00 Z400.00                 ; set steps per mm
    M566 X300.00 Y300.00 Z300.00                ; set maximum instantaneous speed changes (mm/min)
    M203 X2500.00 Y2500.00 Z2500.00             ; set maximum speeds (mm/min)
    M201 X150.00 Y150.00 Z150.00                ; set accelerations (mm/s^2)
    M906 X2100 Y2100 Z2100 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 ( 0 = set axis maximum (default), 1 = set axis minimum)
    M208 X730 Y810 Z100 S0                      ; set axis maxima ( 0 = set axis maximum (default), 1 = set axis minimum)
     
    ; Endstops
    M574 X1 S1 P"!io0.in"                       ; configure active-high endstop for low  end on X via pin io0.in
    M574 Y1 S1 P"!io1.in+!io2.in"               ; configure active-high endstop for low  end on Y via pin io1.in
    M574 Z2 S1 P"!io3.in"                       ; configure active-high endstop for high end on Z via pin io3.in
    
    ; OUT
    M950 F0 C"out1"                             ; create LED 0 on pin out1
    M106 P0 S25                                 ; set LED 0 to 25 illumination (max 255)
    M950 F1 C"out8"                             ; create fan 1 on pin out8
    M106 P1 S90                                 ; set fan 1 to 90 speed (max 255)
     
    ; Tools
    M563 P0 F0 S"Spindle"                       ; define tool 0 as controllable spindle (tool must be present - not used)
    G10 P0 X0 Y0 Z0                             ; set tool 0 axis offsets
    T0                                          ; select tool 0
    
    ; Z-Probe
    M558 K0 P8 C"!io8.in" H10 F120 T3000        ; Z probe 0 via pin io8.in
    G31 Z10.0                                   ; set current probe status
     
    ; General
    G54                                         ; Use Workspace coordinate system
    M453                                        ; CNC Mode
    M564 S0 H0                                  ; Allow movement without homing (without axis maxima)
    
    

    touch probe.g

    ; Touch probe.g
    ; called to find workpiece bottom left corner
    ;
    
    ; Display message without time-out and allow to position the bit
    M291 T-1 S3 X1 Y1 Z1 P"Make sure the bit is positioned in the hole of the touch probe well beneath the top surface" R"Touch probe"
    
    ; Find center of cavity
    M675 X R8 F100 P0                 ; Find center in X axis
    M675 Y R8 F100 P0                 ; Find center in Y axis
    
    ; Set bit above center of probe
    G0 Z15                            ; rapid move Z axis 15 mm
    G0 X27 Y27                        ; rapid move X and Y axis to middle of probe
    
    ; Probe Z component
    G38.2 Z-15 F100                   ; seek until the probe circuit is closed Z-axis -15 mm
    
    ; Return bit to center of hole
    G0 Z15                            ; rapid move Z axis 15 mm
    G0 X-27 Y-27                      ; rapid move X and Y axis to center of cavity
    G0 Z-15                           ; rapid move Z axis -15 mm
    
    G10 P0 L20 X0 Y0 Z10              ; store relative probe offset for coordinates system 0
    
    
    1 Reply Last reply Reply Quote 0
    • undefined
      Phaedrux Moderator
      last edited by 18 Jan 2021, 05:58

      Can you please provide the results of M122 and M98 P"config.g" as well so we can get some more info about your setup and check your config for any syntax errors?

      Z-Bot CoreXY Build | Thingiverse Profile

      undefined 1 Reply Last reply 18 Jan 2021, 11:03 Reply Quote 0
      • undefined
        Yveske
        last edited by 18 Jan 2021, 08:10

        As requested the console output of M122 and M98 P"config".

        Thanks,
        Yveske

        15/01/2021, 19:14:41: Connected to duet3
        15/01/2021, 19:15:51: M122: === Diagnostics ===
        RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)
        Board ID: 08DJM-956L2-G43S4-6J1DD-3S86K-TB56F
        Used output buffers: 1 of 40 (10 max)
        === RTOS ===
        Static ram: 154604
        Dynamic ram: 162308 of which 32 recycled
        Exception stack ram used: 224
        Never used ram: 76048
        Tasks: NETWORK(ready,1972) HEAT(blocked,1416) CanReceiv(suspended,3820) CanSender(suspended,1488) CanClock(blocked,1452) TMC(blocked,204) MAIN(running,5056) IDLE(ready,76)
        Owned mutexes:
        === Platform ===
        Last reset 00:01:45 ago, cause: power up
        Last software reset at 2021-01-15 19:11, reason: User, spinning module LinuxInterface, available RAM 75952 bytes (slot 3)
        Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task MAIN
        Error status: 0
        MCU temperature: min 12.4, current 21.5, max 21.6
        Supply voltage: min 24.1, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes
        12V rail voltage: min 4.1, current 12.1, max 12.6, under voltage events: 1
        Driver 0: standstill, reads 58733, writes 25 timeouts 0, SG min/max 0/0
        Driver 1: standstill, reads 58734, writes 25 timeouts 0, SG min/max 0/0
        Driver 2: standstill, reads 58734, writes 25 timeouts 0, SG min/max 0/0
        Driver 3: standstill, reads 58734, writes 25 timeouts 0, SG min/max 0/0
        Driver 4: standstill, reads 58738, writes 22 timeouts 0, SG min/max 0/0
        Driver 5: standstill, reads 58738, writes 22 timeouts 0, SG min/max 0/0
        Date/time: 2021-01-15 19:15:51
        Slowest loop: 3.67ms; fastest: 0.14ms
        === Storage ===
        Free file entries: 10
        SD card 0 not detected, interface speed: 37.5MBytes/sec
        SD card longest read time 0.0ms, write time 0.0ms, max retries 0
        === Move ===
        Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
        Bed compensation in use: none, comp offset 0.000
        === MainDDARing ===
        Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
        === AuxDDARing ===
        Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0  CDDA state: -1
        === Heat ===
        Bed heaters = -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
        === GCodes ===
        Segments left: 0
        Movement lock held by null
        HTTP* is ready with "M122" in state(s) 0
        Telnet is idle in state(s) 0
        File is idle in state(s) 0
        USB is idle in state(s) 0
        Aux is idle in state(s) 0
        Trigger* is idle in state(s) 0
        Queue is idle in state(s) 0
        LCD is idle in state(s) 0
        SBC is idle in state(s) 0
        Daemon* is idle in state(s) 0
        Aux2 is idle in state(s) 0
        Autopause is idle in state(s) 0
        Code queue is empty.
        === Network ===
        Slowest loop: 0.82ms; fastest: 0.01ms
        Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions Telnet(0), 0 sessions
        HTTP sessions: 0 of 8
        - Ethernet -
        State: disabled
        Error counts: 0 0 0 0 0
        Socket states: 0 0 0 0 0 0 0 0
        === CAN ===
        Messages sent 0, longest wait 0ms for type 0
        === Linux interface ===
        State: 0, failed transfers: 0
        Last transfer: 18ms ago
        RX/TX seq numbers: 2739/2740
        SPI underruns 0, overruns 0
        Number of disconnects: 0
        Buffer RX/TX: 0/0-0
        === Duet Control Server ===
        Duet Control Server v3.1.1
        Code buffer space: 4096
        Configured SPI speed: 8000000 Hz
        Full transfers per second: 32.38
        15/01/2021, 19:17:53: M98 P"config.g"
        
        
        1 Reply Last reply Reply Quote 0
        • undefined
          Yveske
          last edited by 18 Jan 2021, 08:15

          Maybe interesting to note:
          I'm using a Raspberry Pi 3B+ to run DWC with voltage supplied by the Duet, with normal PC monitor, keyboard and mouse connected to the Pi.

          1 Reply Last reply Reply Quote 0
          • undefined
            Yveske @Phaedrux
            last edited by 18 Jan 2021, 11:03

            @Phaedrux
            Tried several times now, but M98 doesn't display much...

            undefined 1 Reply Last reply 18 Jan 2021, 17:30 Reply Quote 0
            • undefined
              Phaedrux Moderator @Yveske
              last edited by Phaedrux 18 Jan 2021, 17:30

              @Yveske said in Duet 3 6HC with Openbuilds XYZ Probe:

              @Phaedrux
              Tried several times now, but M98 doesn't display much...

              That's ok, it doesn't always. Any messages or errors that would be generated by the gcode in config.g normally get lost at bootup, so sending the command to load it as a macro will let any of those message be displayed. So no messages is a good thing.

              @Yveske said in Duet 3 6HC with Openbuilds XYZ Probe:

              Maybe interesting to note:
              I'm using a Raspberry Pi 3B+ to run DWC with voltage supplied by the Duet, with normal PC monitor, keyboard and mouse connected to the Pi.

              That's a risky proposition. It certainly wouldn't work well that way with a Pi4 due to its increased power draw. And even with the Pi3 I would be reluctant to run it with that many USB peripherals powered by the Pi USB ports. It may be prudent to power the Pi separately.

              See this section and the one below it on electronics power consumption.
              https://duet3d.dozuki.com/Wiki/Duet_3_Mainboard_6HC_Hardware_Overview#Section_5V

              @Yveske said in Duet 3 6HC with Openbuilds XYZ Probe:

              RepRapFirmware for Duet 3 MB6HC version 3.1.1 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)

              It would be a good idea to update your firmware to 3.2 now that it's available. Lots of fixes for the SBC version. You should be able to update by running Sudo apt update followed by sudo apt upgrade.

              https://github.com/Duet3D/RepRapFirmware/releases/tag/3.2

              After that see if behaviour has changed. Other than that I'm not sure. I've moved this to the CNC forum as well for better visibility by someone more informed.

              Z-Bot CoreXY Build | Thingiverse Profile

              undefined 2 Replies Last reply 19 Jan 2021, 08:23 Reply Quote 0
              • undefined
                Yveske @Phaedrux
                last edited by 19 Jan 2021, 08:23

                @Phaedrux thanks for pointing me to the update

                After the update it is a little bit better, but definitely not reliable yet.
                See Duet3D XYZ Touch.mp4

                It sometimes (like in the video) starts off in -X like it should, sometimes it starts going directly to +X. Sometimes it doesn't stop in X, but always fails in Y. Either way I have to hit the emergency stop to prevent it from killing yet another end stop.

                1 Reply Last reply Reply Quote 0
                • undefined
                  Yveske @Phaedrux
                  last edited by 19 Jan 2021, 09:39

                  @Phaedrux

                  It also makes no difference powering the Pi or not.
                  It's a Pi 4 2 GB I'm using, the 3B+ resides in another project of mine.

                  1 Reply Last reply Reply Quote 0
                  • undefined
                    Phaedrux Moderator
                    last edited by 19 Jan 2021, 19:10

                    At this point I would ask if you could test in standalone mode without the Pi. This will help identify if it's an issue with RRF or DSF.

                    https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_Running_in_standalone_mode

                    You can download the contents of your system tab and macros and use a separate SD card. That SD card will need the DWC files in the /www folder as well. Disconnect the Pi, connect network to the duet, put the SD card into the duet. More details in link above.

                    Z-Bot CoreXY Build | Thingiverse Profile

                    undefined 2 Replies Last reply 20 Jan 2021, 19:51 Reply Quote 0
                    • undefined
                      Yveske @Phaedrux
                      last edited by 20 Jan 2021, 19:51

                      @Phaedrux
                      Couldn't get it to work yet, didn't have much time today, will try again tomorrow

                      1 Reply Last reply Reply Quote 0
                      • chrishammundefined
                        chrishamm administrators
                        last edited by 20 Jan 2021, 21:51

                        I doubt it will make a difference to run the Duet in standalone mode in this case.

                        Is it right that your touch probe is configured as the Z probe? If yes, you should be able to check if the Z probe value in DWC goes from 0 to 1000 whenever it lights up. If it doesn't, I suspect you have a bad contact somewhere.

                        Duet software engineer

                        undefined 1 Reply Last reply 21 Jan 2021, 07:02 Reply Quote 0
                        • undefined
                          Yveske @chrishamm
                          last edited by 21 Jan 2021, 07:02

                          @chrishamm
                          The touch probe does respond to being activated, it lights up and the value on the screen goes to 1000. In the video you can see that probing even works (but not always) on the X-axis, it does always fail on the Y-axis though...

                          Will try to get my Duet to boot in standalone mode today. Due to circumstances, my Duet was left boxed for over a year and a half, so I don't have the dual boot SD card. I also don't have the PanelDue, so I can't see what it does or doesn't do on boot... That's why I went with the Pi to connect monitor, mouse and keyboard.

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            Yveske @Phaedrux
                            last edited by 21 Jan 2021, 19:04

                            @Phaedrux
                            Took me some time, but got the Duet to work, the touch probe doesn't however...
                            Something I could try next ?

                            Thanks in advance
                            Yveske

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              Phaedrux Moderator
                              last edited by Phaedrux 21 Jan 2021, 19:19

                              I'm not sure. It's quite odd. You can see the green LED flash on the X probing, and on the Y it certainly lights up, but isn't being respected.

                              Maybe related to the dual Y axis?

                              Z-Bot CoreXY Build | Thingiverse Profile

                              undefined 2 Replies Last reply 22 Jan 2021, 06:27 Reply Quote 0
                              • undefined
                                Yveske @Phaedrux
                                last edited by 22 Jan 2021, 06:27

                                @Phaedrux
                                Thanks I will try this today and let you know.

                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  Yveske @Phaedrux
                                  last edited by 22 Jan 2021, 14:40

                                  @Phaedrux
                                  Not sure how I can probe on Y with only one motor running without breaking the gantry and without disassembling...

                                  I did however simulate M675 by manually using M38.2 and M38.4 commands on all axis (X, Y and Z) and this works like a charm.

                                  Is it possible in a macro to access the coordinates after each command and use that to calculate the center of the cavity myself ?

                                  undefined 1 Reply Last reply 22 Jan 2021, 19:09 Reply Quote 0
                                  • undefined
                                    Phaedrux Moderator @Yveske
                                    last edited by 22 Jan 2021, 19:09

                                    @Yveske said in Duet 3 6HC with Openbuilds XYZ Probe:

                                    Not sure how I can probe on Y with only one motor running without breaking the gantry and without disassembling...

                                    Yeah that's not something you can easily test

                                    Z-Bot CoreXY Build | Thingiverse Profile

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      Yveske
                                      last edited by 25 Jan 2021, 13:19

                                      Is there anyone out there who can try M675 in both X and Y axis please ?

                                      Thanks,
                                      Yveske

                                      1 Reply Last reply Reply Quote 0
                                      • undefined
                                        Yveske
                                        last edited by 10 Mar 2021, 19:06

                                        No takers ?
                                        Any chance this will be fixed (if need be) in the next release ?

                                        1 Reply Last reply Reply Quote 0
                                        • dc42undefined
                                          dc42 administrators
                                          last edited by dc42 3 Oct 2021, 19:36 10 Mar 2021, 19:25

                                          Does M38.2 work properly now, and it is just M675 that doesn't?

                                          What M675 command are you sending? Have you used the P parameter to specify that you are using a Z probe, and which one?

                                          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

                                          undefined 1 Reply Last reply 11 Mar 2021, 06:48 Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA