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

    Optical Endstops

    Scheduled Pinned Locked Moved Solved
    Duet Hardware and wiring
    7
    25
    1.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.
    • Adamfilipundefined
      Adamfilip @dc42
      last edited by

      @dc42 the resistors on the sensor are so small and my skills with a soldering iron arent great. I dont think I would be able. to do. thats why I wondering where I can buy a 3.3v one ready to go. wish Duet made one TBH that was plug and play.

      945a9657-4c1e-4858-8fb1-89d9a36e5349-image.png

      dc42undefined A Former User? 2 Replies Last reply Reply Quote 0
      • Adamfilipundefined
        Adamfilip @Adamfilip
        last edited by

        @Adamfilip here is my crude wiring diagram lol

        cb2b5c0f-5ee9-4de4-b1bc-02afd0cc9d29-image.png

        1 Reply Last reply Reply Quote 0
        • Adamfilipundefined
          Adamfilip @Phaedrux
          last edited by

          @Phaedrux

          Config

          ;389.86; Configuration file for Duet WiFi (firmware version 3)
          ; executed by the firmware on start-up
          ;
          ; generated by RepRapFirmware Configuration Tool v2.1.5 on Wed Jan 08 2020 19:38:55 GMT-0500 (Eastern Standard Time)
          
          ; General preferences
          ;M564 H0											; allow movement without homing
          G90                                              ; send absolute coordinates...
          M83                                              ; ...but relative extruder moves
          M550 P"TitanXY"                                  ; set printer name
          M929 S3		;Log console to SDCard
          M669 K0                                          ; Motion Kinematics for Cartesian mode
          
          ; Network
          M552 S1                                          ; enable network
          M586 P0 S1                                       ; enable HTTP
          M586 P1 S0                                       ; disable FTP
          M586 P2 S0                                       ; disable Telnet
          M586 P1 S1 C"*"									 ; allows Cross Origin Resource Sharing (CORS). 
          
          ; --- drive map ---
          ;    	 _______ 280,280
          ;   	| V6 | W7 |
          ;   	| ----- |
          ;   	| U5 | Z8 |
          ;    0,0 -------
          ;         front
          
          ; Drives
          M569 P0 S0                           			; X Motor physical drive 0 goes backwards previously P0
          M569 P1 S1										; Y Motor
          
          M569 P3 S1                                  ; E0 Extruder physical drive 3 goes Forwards
          M569 P5 S0								; FRONT LEFT Z Drive 5 on Duex 5 0.10
          M569 P6 S1 								; REAR LEFT Z Drive 6 on Duex 5 0.10
          M569 P7 S1 								; REAR RIGHT Z Drive 7 on Duex 5 0.10
          M569 P8 S0  							; FRONT RIGHHT Z Drive 8 on Duex 5 0.10
          ;M584 X0 Y1 U5 V6 W7 Z8 E3						; TEST MAPPING
          ;M584 X0 Y1 Z5:6:7:8 E3						; MOTOR MAPPING WITH 4 Z STEPPERS single y
          M584 X0 Y1:9 Z5:6:7:8 E3						; MOTOR MAPPING WITH 4 Z STEPPERS dual y
          M350 X16 Y16 Z8 I1                             ; configure microstepping without interpolation, previously 32
          M350 E16 I1                                     ; configure microstepping with interpolation
          ;M92 X80.09 Y80.28 Z321.62 E397            				; set steps per mm.
          M92 X80 Y80.0 Z2400 E478.4            				; july 21 set steps per mm
          M566 X900 Y900 Z60 E800 						; Set maximum instantaneous speed changes (mm/min) JERK
          M203 X18000 Y18000 Z750 E2500 				; Set maximum speeds (mm/min)
          M201 X3000 Y3000 Z250 E1000 					; Set accelerations (mm/s^2)
          M906 X1200 Y1200 Z1200 E600 I30 				; Set motor currents (mA) and motor idle factor in per cent X1400 Y1400 Z1300
          M204 P1500 T2000                ; Set printing acceleration and travel accelerations
          M84 S30 ; Set idle timeout
          
          M572 D0 S0.025									; Pressure Advance                                        
          
          ; Axis Limits
          M208 X0 Y0 Z-1 S1                                 ; set axis minima
          M208 X280 Y270 Z550 S0                           ; set axis maxima.
          
          ;SKEW COMPENSATION .
          ;M556 S100 X-0.2
          ;M556 S100 X-0.313			;july 21
          
          ;911 PRINT RECOVERY MODE
          M911 S19.8 R22.0 P"M913 X0 Y0 G91 M83 G1 Z1 E-5 F1000"
          
          ; Endstops
          M574 X2 S1 P"xstop"   ; X max active high endstop switch
          ;M574 Y2 S1 P"ystop"   ; Y max active high endstop switch
          M574 Y2 S1 P"ystop+e6stop" ; Dual Y Optical endstops
          
          ;M574 X2 S3 P"xstop"   ; X max active high endstop switch SENSORLESS
          ;M574 Y2 S3 P"ystop"   ; Y max active high endstop switch  SENSORLESS
          ;M915 X Y R0 F0			; enable stall detection
          ;M591 D0 P3 C"e0stop" S1 E3  ; filament monitor connected to E0_stop
          M591 D0 ; display filament sensor parameters for extruder drive 0
          
          ;M574 Z0 P"nil"        ; zstop is free
          ;M950 J1 C"!zstop"		; Use Z endstop as Emergency Stop if Triggers, due to head Plunge
          M581 P1 T0 S1 R0
          
          ;Euclid Settings
          M574 E1 S2  			 ;configure Z-probe endstop for low end on Z
          ;
          M558 P5 C"^zprobe.in" H10 F500 60 T9000 A2 S0.03    ; K0 for probe 0, P5 for NC switch, C for input pin, 
                                                        ; ^ for enabling the native pullup resistor on Duet 2 
                                                        ; hardware running RRF3  
                                                        ; H dive height of 8mm, F300 probing speed 6mm/sec, 
                                                        ; T9000 travel speed 150mm/sec,   
                                                        ; A3 number of probes 1, S0.01 max tolerance of 0.01
          											  
          G31 K0 P500 X-21 Y0 Z7.55      		; CHECK for LOOSE things first! set Z probe trigger 
                                                        ; value, offset and trigger height.  Higher numbers
                                                        ; makes nozzle closer to bed
                                                        ; switch plunger is 16.4mm to the LEFT and 29.27mm in
                                                        ; FRONT of the nozzle. Switch triggers 0.9mm BELOW nozzle
                                                        ; https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Secti
          											  
          ; Bed leveling
          ; --- drive map ---
          ;    	 _______ 280,270
          ;   	| V6 | W7 |
          ;   	| ----- |
          ;   	| U5 | Z8 |
          ;    0,0 -------
          ;         front
          M671 x-75:-75:367:367 Y-100:440:440:-100 S40     ; Define Z belts locations (Front_Left, Back_Left, Back_Right, Front_Right), S10 = MAX 10MM DIFFERENCE ALLOWED
          ;M671 x-76:-76:382:382 Y-37:421:421:-37 S40     ; Define Z belts locations (Front_Left, Back_Left, Back_Right, Front_Right), S10 = MAX 10MM DIFFERENCE ALLOWED
          ;M671 x15:15:298:298 Y15:298:298:15 S20      ; Define Z belts locations (Front_Left, Back_Left, Back_Right, Front_Right), S10 = MAX 20MM DIFFERENCE ALLOWED
          
          M557 X50:250 Y50:250 P5                      ; define mesh grid S86 =  Spacing 86mm P3 = 3 point spacing
          M376 H3									; taper bed levelling off after 10mm height
          M581
          
          ;Accelerometer
          M955 P0 C"spi.cs4+spi.cs3" I60
          M593 P"zvd" F35.5 ; use ZVD input shaping to cancel ringing at 35.5Hz
          ;M593 P"none"      ; disable input shaping
          ;M593 P"custom" H0.4:0.7 T0.0135:0.0135 ; use custom input shaping
          
          ; 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
          M140 H0											; Map heated bed to heater 0
          M143 H0 S120                                     ; set temperature limit for heater 0 to 120C
          ;M307 H0 R0.668 K0.284:0.000 D5.21 E1.35 S1.00 B0 ; PID BED Tuning
          M307 H0 R0.671 K0.370:0.000 D6.13 E1.35 S1.00 B0
          
          M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.060000e-8 ; 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
          M143 H1 S300									; set temperature limit for heater 1 to 300C
          M307 H1 R4.107 K1.013:0.000 D1.94 E1.35 S1.00 B0 V24.0   ;REVO 24V
          
          M308 S2 P"e1temp" Y"thermistor" T100000 B3950  ; configure sensor 2 as thermistor on pin e1temp
          M950 H2 C"e1heat" T2                           ; create chamber heater output on e1heat and map it to sensor 2
          M307 H2 B0 S1.00                               ; disable bang-bang mode for the chamber heater and set PWM limit
          M141 H2                                        ; map chamber to heater 2
          M143 H2 S100                                   ; set temperature limit for heater 2 to 100C
          
          
          ; Fans
          M950 F0 C"fan2" Q500                         ;create fan 2 on pin fan0 and set its frequency
          M106 P0 S0 H-1                            ; set fan 0 value. Thermostatic control is turned off
          
          
          
          ; Tools
          M563 P0 D0 H1 F0                                 ; define tool 0
          ;M563 P1 D1 H2 F1                                 ; define tool 1
          G10 P0 X0 Y0 Z0                                  ; set tool 0 axis offsets
          G10 P0 R0 S0                                     ; set initial tool 0 active and standby temperatures to 0C
          
          M17 Z										;engage z stepper to prevent gantry falling
          
          

          HomeX

          ; homex.g
          ; called to home the X axis
          ;
          ; generated by RepRapFirmware Configuration Tool v3.3.10 on Thu Dec 16 2021 09:51:49 GMT-0500 (Eastern Standard Time)
          if !move.axes[0].homed || !move.axes[1].homed     ; If the printer hasn't been homed, home it
             M98 P"0:/sys/homexy.g"  
          G91              ; relative positioning
          G1 H2 Z5 F6000   ; lift Z relative to current position
          G1 H1 X285 F1000 ; move quickly to X axis endstop and stop there (first pass)
          G1 H2 X-5 F6000  ; go back a few mm
          G1 H1 X285 F360  ; move slowly to X axis endstop once more (second pass)
          G1 H2 Z-5 F6000  ; lower Z again
          G90              ; absolute positioning
          
          1 Reply Last reply Reply Quote 0
          • Adamfilipundefined
            Adamfilip @Phaedrux
            last edited by

            @Phaedrux homeall.g homex (1).g homey (1).g homez (1).g config (1).g homexy (1).g

            1 Reply Last reply Reply Quote 0
            • Adamfilipundefined
              Adamfilip @Adamfilip
              last edited by Adamfilip

              @Phaedrux M122

              M122
              === Diagnostics ===
              RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.5 (2022-11-30 19:36:12) running on Duet WiFi 1.02 or later + DueX5
              Board ID: 08DLM-996RU-N85T0-6JKF2-3SJ6Q-1AVVR
              Used output buffers: 1 of 26 (26 max)
              === RTOS ===
              Static ram: 23836
              Dynamic ram: 75956 of which 40 recycled
              Never used RAM 11984, free system stack 134 words
              Tasks: NETWORK(ready,4.7%,242) HEAT(notifyWait,0.5%,333) Move(notifyWait,0.0%,282) DUEX(notifyWait,0.0%,24) MAIN(running,94.5%,442) IDLE(ready,0.3%,30), total 100.0%
              Owned mutexes:
              === Platform ===
              Last reset 16:24:31 ago, cause: software
              Last software reset at 2023-01-19 16:51, reason: User, GCodes spinning, available RAM 12384, slot 0
              Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
              Error status: 0x04
              Step timer max interval 0
              MCU temperature: min 33.3, current 33.9, max 35.4
              Supply voltage: min 24.0, current 24.1, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes
              Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
              Events: 0 queued, 0 completed
              Driver 0: standstill, SG min 0
              Driver 1: standstill, SG min n/a
              Driver 2: standstill, SG min n/a
              Driver 3: standstill, SG min n/a
              Driver 4: standstill, SG min n/a
              Driver 5: standstill, SG min 0
              Driver 6: standstill, SG min 0
              Driver 7: standstill, SG min 0
              Driver 8: standstill, SG min 0
              Driver 9: standstill, SG min n/a
              Driver 10: 
              Driver 11: 
              Date/time: 2023-01-20 09:16:09
              Cache data hit count 4294967295
              Slowest loop: 291.81ms; fastest: 0.18ms
              I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
              === Storage ===
              Free file entries: 9
              SD card 0 detected, interface speed: 20.0MBytes/sec
              SD card longest read time 26.8ms, write time 3.4ms, max retries 0
              === Move ===
              DMs created 83, segments created 11, maxWait 1260235ms, bed compensation in use: none, comp offset 0.000
              === MainDDARing ===
              Scheduled moves 23, completed 23, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 18], CDDA state -1
              === AuxDDARing ===
              Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
              === Heat ===
              Bed heaters 0 -1 -1 -1, chamber heaters 2 -1 -1 -1, ordering errs 0
              === GCodes ===
              Segments left: 0
              Movement lock held by null
              HTTP is idle 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
              Daemon is idle in state(s) 0
              Autopause is idle in state(s) 0
              Code queue is empty
              === DueX ===
              Read count 23, 0.02 reads/min
              === Network ===
              Slowest loop: 30.97ms; fastest: 0.00ms
              Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
              HTTP sessions: 2 of 8
              = WiFi =
              Network state is active
              WiFi module is connected to access point 
              Failed messages: pending 0, notready 0, noresp 0
              WiFi firmware version 1.27
              WiFi MAC address 84:0d:8e:b2:f8:6f
              WiFi Vcc 3.31, reset reason Turned on by main processor
              WiFi flash size 4194304, free heap 18176
              WiFi IP address 192.168.0.183
              WiFi signal strength -33dBm, mode 802.11n, reconnections 0, sleep mode modem
              Clock register 00002002
              Socket states: 0 0 0 0 0 0 0 0
              

              M98

              M98 P"config.g"
              HTTP is enabled on port 80
              FTP is disabled
              TELNET is disabled
              FTP is enabled on port 21
              Error: Unknown pin name 'e6stop'
              Extruder 0 has no filament sensor
              Endstop configuration:
              X: high end switch connected to pin xstop
              Y: none
              Z: noneError: in file macro line 111: M581: missing parameter 'T'
              Error: Accelerometer not found on specified port
              
              Phaedruxundefined 1 Reply Last reply Reply Quote 0
              • A Former User?
                A Former User
                last edited by A Former User

                This post is deleted!
                Adamfilipundefined 1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators @Adamfilip
                  last edited by dc42

                  @Adamfilip it is the resistor marked 181 that is too high a value for 3.3V. The good news is that you don't need to remove it (which is tricky), you can solder a 180 or 220 ohm resistor of the same size (probably 0603) on top of it, so that the two resistors are in parallel and make about 100 ohms.

                  Alternatively, if your Duet 2 is a sufficiently recent version, you can provide 5V power to those endstops as explained in the link that I posted.

                  5V endstops sometimes do work on 3.3V, so it's worth using M119 or the Object Model Viewer in DWC to test whether they are working.

                  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

                  Adamfilipundefined 2 Replies Last reply Reply Quote 0
                  • Adamfilipundefined
                    Adamfilip @A Former User
                    last edited by

                    @Herve_Smith 6 for $13 in US or 1 for $28 in Canada lol 28d28efb-f5c8-4b35-ae29-65e44861981d-image.png

                    1 Reply Last reply Reply Quote 0
                    • Adamfilipundefined
                      Adamfilip @dc42
                      last edited by

                      @dc42 So if i manage to solder on a 220ohm resister like this. it should work.

                      ddc4e832-177e-4b51-af7a-aaeb3e9caaf9-image.png

                      1 Reply Last reply Reply Quote 0
                      • Adamfilipundefined
                        Adamfilip @dc42
                        last edited by

                        @dc42 I can pickup some of these. but cant tell if they will work 3.3

                        https://wanhao.store/products/wanhao-duplicator-d7-end-stop-switch-v1-2

                        Adamfilipundefined 1 Reply Last reply Reply Quote 0
                        • Adamfilipundefined
                          Adamfilip @Adamfilip
                          last edited by

                          https://www.youtube.com/watch?v=g5L1AnrOytY&t=4s

                          1 Reply Last reply Reply Quote 0
                          • Phaedruxundefined
                            Phaedrux Moderator @Adamfilip
                            last edited by

                            @Adamfilip said in Optical Endstops:

                            Error: Unknown pin name 'e6stop'

                            Where is it actually connected?

                            Z-Bot CoreXY Build | Thingiverse Profile

                            Adamfilipundefined 1 Reply Last reply Reply Quote 0
                            • Adamfilipundefined
                              Adamfilip @Phaedrux
                              last edited by

                              @Phaedrux duex5 e6stop

                              1 Reply Last reply Reply Quote 0
                              • Phaedruxundefined
                                Phaedrux Moderator
                                last edited by

                                Change your pin name to duex.e6stop

                                https://docs.duet3d.com/Duet3D_hardware/Duet_2_family/DueX2_and_DueX5#pin-names

                                Z-Bot CoreXY Build | Thingiverse Profile

                                Adamfilipundefined 1 Reply Last reply Reply Quote 1
                                • Adamfilipundefined
                                  Adamfilip @Phaedrux
                                  last edited by

                                  @Phaedrux Amazing thank you! that fixed it all. its all homing properly now. im shocked to be honest.

                                  I am curious why you need to add duex before e6stop but not when declaring the drive number on duex with M584

                                  1 Reply Last reply Reply Quote 0
                                  • Phaedruxundefined Phaedrux marked this topic as a question
                                  • Phaedruxundefined Phaedrux marked this topic as a regular topic
                                  • A Former User?
                                    A Former User @Adamfilip
                                    last edited by A Former User

                                    This post is deleted!
                                    Adamfilipundefined 1 Reply Last reply Reply Quote 0
                                    • mrehorstdmdundefined
                                      mrehorstdmd @Adamfilip
                                      last edited by

                                      @Adamfilip I use endstops that have an LM393 comparator chip and LED on board with Duet2 controller. They are very reliable and precise, except that I have had problems with them when sunlight hits them directly (an easy problem to fix, once you have figured out that that's the problem).

                                      These are the exact ones I used, but they are no longer available.

                                      These are similar to the ones I used.

                                      The comparator slams the output either hard high or hard low, and it works fine with the voltage available at the pins on the controller board.

                                      https://drmrehorst.blogspot.com/2020/01/ummd-gets-opto-endstops.html

                                      https://drmrehorst.blogspot.com/2020/03/testing-ummds-xy-optical-endstops.html

                                      https://drmrehorst.blogspot.com/

                                      1 Reply Last reply Reply Quote 0
                                      • Adamfilipundefined
                                        Adamfilip @A Former User
                                        last edited by

                                        @Herve_Smith I didn't LOL at you. more at the absurdity at the amounts Canadians get charged for things. Sorry Didn't intend any offense. unfortunately the same items in canada are priced very high, so the links you provided isn't a affordable option for me.. But I do appreciate you posting it as it helps to search for local alternatives.

                                        1 Reply Last reply Reply Quote 0
                                        • Nordleundefined
                                          Nordle
                                          last edited by Nordle

                                          wouldn't it work to just run the sensor from any spare 5V pin on the baord?

                                          dc42undefined 1 Reply Last reply Reply Quote 0
                                          • Phaedruxundefined Phaedrux marked this topic as a question
                                          • Phaedruxundefined Phaedrux has marked this topic as solved
                                          • dc42undefined
                                            dc42 administrators @Nordle
                                            last edited by

                                            @Nordle said in Optical Endstops:

                                            wouldn't it work to just run the sensor from any spare 5V pin on the baord?

                                            Yes, I said that in my reply at https://forum.duet3d.com/post/305741.

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