Optical Endstops
-
@Alex-cr these are the ones
6PCS Optical Endstop Light Control Limit Switch for RAMPS 1.4 Board 3D Printers Parts with 3 Pin Cable Accessories https://a.co/d/123OLTbI will draw up a wiring diagram tomorrow
-
Please post your full config.g and your homing files.
Also the output of sending M122 and M98 P"config.g" -
@Adamfilip if they are compatible with RAMPS then they are designed for 5V. You can convert them to 3.3V if you identify the LED series resistor and solder a lower value resistor on top of it. See https://docs.duet3d.com/User_manual/Connecting_hardware/Sensors_endstops#h-33v-compatible-optical-endstop.
-
@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.
-
@Adamfilip here is my crude wiring diagram lol
-
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
-
-
@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
-
This post is deleted! -
@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.
-
@Herve_Smith 6 for $13 in US or 1 for $28 in Canada lol
-
@dc42 So if i manage to solder on a 220ohm resister like this. it should work.
-
@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
-
-
@Adamfilip said in Optical Endstops:
Error: Unknown pin name 'e6stop'
Where is it actually connected?
-
@Phaedrux duex5 e6stop
-
Change your pin name to
duex.e6stop
https://docs.duet3d.com/Duet3D_hardware/Duet_2_family/DueX2_and_DueX5#pin-names
-
@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
-
-
-
This post is deleted! -
@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