Duet 3 Inverted,pull-up, inverted + pull up?



  • Hey all,

    Trying to take things slow with my Duet 3 installation after my Duet 2 had a driver damaged and this Duet 3 will be replacing it. With that being said I can see that the Duet 3 has a lot of customizability and might be more for the experts over the Duet 2.

    Wondering if anyone can help me figure out if I need to set my endstops to a combination of these? When I did my configuration for my original Duet 2 Ethernet I don't recall needing to know if I needed to invert, pull up etc. I think I'm worried that if I set it to pull up when it shouldn't be I might blow that connection or something.

    I also noticed that there is io4.in and io4.out. Are these pins the same physically on the board but can be configured for either an input or an output? I noticed that the online configuration tool didn't block me from using it once as an input and another time as an output which is odd if they are the same pin.

    I appreciate the assistance! I still have my Duet 2 Ethernet config if that can give any useful information for what I need.



  • iox.in iox.out are not the same pin. Wiring diagram here: https://duet3d.dozuki.com/Wiki/Duet_3_Mainboard_6HC_Wiring_Diagram

    cca1d2a1-2ac1-4e3c-b61e-add11de617b2-image.png

    endstops: you can't really hurt anything with invert or pull up or any combination thereof. Wiring to simple physical switches is almost always to the outer pair of terminals for "normally closed". Wire one of those to ground and the other to iox.in, and you are in business.

    Here are my endstop definitions using simple switches, plus a BLtouch for a probe:

    M574 X1 S1 P"io1.in"                      ; Set homing switch configuration X1 = low-end, S1 = active-high (NC)
    M574 Y1 S1 P"io2.in"                      ; Set homing switch configuration Y1 = low-end, S1 = active-high (NC)
    M574 U1 S1 P"io3.in"                      ; Set homing switch configuration U1 = low-end, S1 = active-high (NC)
    M558 K0 P9 C"^io4.in" H9 A5 T6000 S0.02   ; Z probe BLtouch - Set the height of the bed when homing G28.  Combined with content of bed.g as invoked by G32, levels bed. Also used for Mesh.  
    					                        ; Hn = dive height
    				                            ;   A bigger dive height prevents a situation where the bed is out of alignment by more than the dive height
                                                ;   on any corner, which can crash the hot-end into the bed while moving the head in XY.
                                                ;   Probing speed and travel speed are similarly reduced in case the Z probe isn't connected properly (or
                                                ;   disconnects later after moving to a point) giving the user more time to stop.
                                                ; An = Number of times to probe each point. 
                                                ; Tnnn = Travel speed between probe points. 
                                                ; Snnn = Tolerance when probing multiple times. Two readings inside this window and we move on. 
    G31 K0 X28.1 Y-27.5 Z0                          ; Probe offsets
    
    M950 S0 C"^io4.out"                       ; Servo Control Pin for BLtouch. 
    

    Also note the Bltouch, which both sends a signal to the Duet and reads a signal from the duet (to retract or extend) is on io4.in for the "to duet" and io4.out for the "from duet". And it DOES need a pullup on its input and output both.



  • @singhm29 To add to what @Danal has said, the S0 parameter is replaced by using S1 and inverting the pin with a "!". So if you previously had the configuration set for normally open contacts using SO, that's when you need to invert.



  • @Danal Ah that makes alot of sense so just depending on what side of that molex header you connect to your using either ioX.in or ioX.out. Thanks for clarifying.

    I will also be adding a BLtouch to my printer so the additional snapshot really helps, is it safe to assume you didn't declare a Z endstop as you're using the BLtouch as a probe and endstop?

    Am I correct in thinking that this is how I should lay my molex connector up assuming I replicate exactly what you have?

    io4.3.3V is wired to red V+ wire of the Bltouch
    io4.in is wired to the white signal wire of the Bltouch (select pullup in config) io4.gnd is wired to black gnd wire of the Bltouch
    io4.gnd is wired to brown gnd wire of the Bltouch (can I piggy back this with the black wire onto gnd or should I be routing this to a separate ground?)
    io4.out is wired to yellow PWM wire of the Bltouch (select pull in config)



  • @deckingman very helpful I'll take a look at my old config thanks for that lesson!



  • @singhm29 said in Duet 3 Inverted,pull-up, inverted + pull up?:

    @Danal Ah that makes alot of sense so just depending on what side of that molex header you connect to your using either ioX.in or ioX.out. Thanks for clarifying.

    I will also be adding a BLtouch to my printer so the additional snapshot really helps, is it safe to assume you didn't declare a Z endstop as you're using the BLtouch as a probe and endstop?

    Correct.

    Am I correct in thinking that this is how I should lay my molex connector up assuming I replicate exactly what you have?

    io4.3.3V is wired to red V+ wire of the Bltouch
    io4.in is wired to the white signal wire of the Bltouch (select pullup in config) io4.gnd is wired to black gnd wire of the Bltouch
    io4.gnd is wired to brown gnd wire of the Bltouch (can I piggy back this with the black wire onto gnd or should I be routing this to a separate ground?)
    io4.out is wired to yellow PWM wire of the Bltouch (select pull in config)

    Yes, and the grounds on the BLt are the same. Connect either or both.


Log in to reply