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

    Unable to setup an endstop for a syringe axis on Duet 2 Wifi

    Scheduled Pinned Locked Moved
    CNC
    2
    4
    148
    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.
    • maletecsciundefined
      maletecsci
      last edited by maletecsci

      We are using the Duet 2 Wifi for a threedimensional 3D printer, excepting that we added a 4th axis. It has a stepper motor with a syringe on it, and an endstop too (connected on the E0 pins). We're having trouble setting up that endstop, for making the homing process. We accomplished to move the E0 motor when doing the "homeall" process, but when the endstop gets clicked the motor doesn't stop.

      this is the configuration of the homeall:
      G91 ; relative positioning
      G1 H2 Z5 F6000 ; lift Z relative to current position
      G1 H1 X-235 Y-215 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
      G1 H2 X5 Y5 F6000 ; go back a few mm
      G1 H1 X-235 Y-215 F360 ; move slowly to X and Y axis endstops once more (second pass)
      G1 H1 Z-205 F360 ; move Z down stopping at the endstop

      T0 ; Select tool 0 for use (syringe) this enable the commands in Dashboard
      G1 H1 E0-40 F60 ; move E0 (Syringe) 10mm down in 60mm/min = 1mm/s (first pass)
      ;M18 E0 ; stop E0 axis when it hits the endstop
      G90 ; absolute positioning
      ;G92 Z0 E0 ; 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 Z5 F100 ; lift Z relative to current position
      ;G90 ; absolute positioning

      Thank you for reading, waiting for your answer!

      jay_s_ukundefined 1 Reply Last reply Reply Quote 0
      • jay_s_ukundefined
        jay_s_uk @maletecsci
        last edited by

        @maletecsci you can't home an extruder.
        If you want to move it to a set position, map the drive to a different axis, e.g. U and then carry out the move. Then map it back as the extruder

        Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

        maletecsciundefined 1 Reply Last reply Reply Quote 0
        • maletecsciundefined
          maletecsci @jay_s_uk
          last edited by

          @jay_s_uk Hi! It's my first time using Duet2, so if you could help me a little more would be great. From your answer, I understood that i should modify the config.g and create a new axis. But, where do i connect the drive? And how do i map it with the new axis?
          Here is my config.g if it's usefull

          ; Configuration file for Duet WiFi (firmware version 3.3)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool v3.3.16 on Wed May 31 2023 17:09:22 GMT-0300 (hora estándar de Argentina)

          ; General preferences
          G90 ; send absolute coordinates...
          M83 ; ...but relative extruder moves
          M550 P"My Printer" ; set printer name

          ; Network
          M552 S1 ; enable network
          M586 P0 S1 ; enable HTTP
          M586 P1 S0 ; disable FTP
          M586 P2 S0 ; disable Telnet

          ; Drives
          M569 P0 S1 ; physical drive 0 goes forwards
          M569 P1 S0 ; physical drive 1 goes forwards
          M569 P2 S1 ; physical drive 2 goes forwards
          M569 P3 S1 ; physical drive 3 goes forwards
          M584 X0 Y1 Z2 E03 ; set drive mapping
          M350 X256 Y256 Z256 I0 ; configure microstepping without interpolation
          M350 E256 I1 ; configure microstepping with interpolation
          M92 X12800.00 Y12800.00 Z12800.00 E12800.00 ; set steps per mm
          M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
          M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
          M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
          M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
          M84 S30 ; Set idle timeout

          ; Axis Limits
          M208 X0 Y0 Z0 E00 S1 ; set axis minima
          M208 X288 Y147 Z38 E035 S0 ; set axis maxima

          ; Endstops
          M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
          M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
          M574 Z1 S1 P"zstop" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin ystop
          M574 E01 S1 P"e0stop" ; configure switch-type (e.g. microswitch) endstop for low end on E0 via pin e0stop

          ; Z-Probe
          M558 P1 C"zprobe.in" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds
          G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
          M557 X15:215 Y15:195 S20 ; define mesh grid

          ; Heaters
          M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
          M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0
          M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
          M140 H0 ; map heated bed to heater 0
          M143 H0 S120 ; set temperature limit for heater 0 to 120C
          M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
          M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
          M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
          M143 H1 S280 ; set temperature limit for heater 1 to 280C

          ; Fans
          M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
          M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
          M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
          M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on

          ; Tools
          M563 P0 D0 F0 ; 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

          ; Custom settings are not defined

          Thank you for answering so quickly! Looking forward for yor reply.

          jay_s_ukundefined 1 Reply Last reply Reply Quote 0
          • jay_s_ukundefined
            jay_s_uk @maletecsci
            last edited by

            @maletecsci i think it may be enough to set up the same driver as E and U, so something like
            M584 X0 Y1 Z2 E3 U3 P3 with the U axis settings matching the E settings in the rest of the driver settings
            That will hide the U axis by default.
            Then in your homing file at the beginning, set M584 P4. That will unhide the U axis, allowing you to home it using G1 H1 Ux etc.
            Then just rehide the U axis at the end M584 P3

            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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