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

    M581/M950 slight confusion re pin inversion

    Scheduled Pinned Locked Moved
    Firmware installation
    2
    15
    399
    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.
    • A Former User?
      A Former User
      last edited by A Former User

      The S parameter used in RRF_2.x is removed. The command waits for a low-to-high input transition. To wait for a high-to-low transition, invert the pin name using '!'.

      So the trigger is always low to high in RRF3, no S parameter. If you need a high to low transition, invert the pin (from reading the docs, can try to test it this afternoon if no-one verifies before that)

      deckingmanundefined 1 Reply Last reply Reply Quote 0
      • deckingmanundefined
        deckingman @A Former User
        last edited by

        @bearer Scroll down a bit further to RepRapFirmware 3.01RC2 and later.

        Quote :

        "S Whether trigger occurs on an inactive-to-active edge of that input (S1, default), active-to-inactive edge (S0), or ignores that input (S-1). By default, all triggers ignore all inputs."

        Ian
        https://somei3deas.wordpress.com/
        https://www.youtube.com/@deckingman

        1 Reply Last reply Reply Quote 0
        • A Former User?
          A Former User
          last edited by

          my bad!

          what transition do you need to trigger on btw? i'll try to poke it in a bit

          deckingmanundefined 1 Reply Last reply Reply Quote 0
          • deckingmanundefined
            deckingman @A Former User
            last edited by deckingman

            @bearer said in M581/M950 slight confusion re pin inversion:

            my bad!

            what transition do you need to trigger on btw? i'll try to poke it in a bit

            TBH, I'm not exactly sure which state on the UPS is high and which is low. Basically, if you look at my OP, those two original M581 commands did the job. So that's what I want to replicate. The first used pin inversion and I've annotated it "high to low", the second used the same pin but no inversion and I've annotated it "low to high".

            EDIT - but there is no guarantee that my original annotation was correct 🙂

            Ian
            https://somei3deas.wordpress.com/
            https://www.youtube.com/@deckingman

            1 Reply Last reply Reply Quote 0
            • A Former User?
              A Former User
              last edited by A Former User

              this is the Meanwell DR-UPS40 - and you need both a power fail and power good trigger right?

              edit; hmm, it would depend on wiring, is the other side of the "DC OK" relay wired to ground or 24v(/5v/etc)?

              deckingmanundefined 1 Reply Last reply Reply Quote 0
              • deckingmanundefined
                deckingman @A Former User
                last edited by

                @bearer IIRC, it's just a pair of contacts, neither of which are connected to anything at the UPS end. I'll take a gander at the printer when I get chance and let you know which pins I've connected those contacts to - I suspect it will have been io.in and gnd but I'll confirm.

                Ian
                https://somei3deas.wordpress.com/
                https://www.youtube.com/@deckingman

                1 Reply Last reply Reply Quote 0
                • deckingmanundefined
                  deckingman
                  last edited by deckingman

                  Confirmed - UPS contacts are connected to io.in and gnd on the Duet board.

                  Edit. Pretty sure they are normally open but close on mains power failure.

                  Edit 2 - On the other hand, it could be the other way round 🙂

                  Ian
                  https://somei3deas.wordpress.com/
                  https://www.youtube.com/@deckingman

                  A Former User? 1 Reply Last reply Reply Quote 0
                  • A Former User?
                    A Former User @deckingman
                    last edited by

                    @deckingman said in M581/M950 slight confusion re pin inversion:

                    Edit. Pretty sure they are normally open but close on mains power failure.

                    according to the datasheet (asuming it is the meanwell ups) it is Relay contact : Short when DC voltage between 21~29V( 3%), relay contacts.

                    I have a similar setup 95% done, will poke it a little in an hour or two, I need to sort it out soner or later myself anyway

                    deckingmanundefined 1 Reply Last reply Reply Quote 0
                    • deckingmanundefined
                      deckingman @A Former User
                      last edited by

                      @bearer It is the Meanwell one https://www.meanwell.com/Upload/PDF/DR-UPS40/DR-UPS40-SPEC.PDF

                      Those contacts you mention are battery fail. I'm using the other set of contacts "Battery Discharge" on that pdf I linked to.

                      Quote :
                      "Relay contact : Short when battery in discharge condition, relay contacts"

                      Ian
                      https://somei3deas.wordpress.com/
                      https://www.youtube.com/@deckingman

                      1 Reply Last reply Reply Quote 0
                      • A Former User?
                        A Former User
                        last edited by A Former User

                        Battery Discharge - gotcha, the DC OK would presumably stay OK even when using battery power.

                        M950 J1 C"^exp.4"  ;battery discharge NO Relay. Short to ground when running off batteries + pull up
                        M581 P1 T2 R0 S0   ;S0=falling edge, i.e. when switch closes to ground = dc input loss
                        M581 P1 T3 R0 S1   ;S1=raising edge, i.e. when contacts opens to pull up = dc input restore
                        

                        does the comments make more sense now? tested with 3.1.1 on a Duet 2

                        (the rest is just to complete the refrence for anyone who stumbles into the thread.)
                        Shorting exp.4 to ground causes T2/trigger2.g to run.

                        ;trigger2.g power fail
                        M300 S2000 P300
                        G4 P200
                        M300 S1500 P150
                        G4 P300
                        M118 P3 S"Power fail"
                        

                        releasing the short causes T3/trigger3.g to run

                        ;trigger3.g power restore
                        M300 S2000 P300
                        G4 P200
                        M300 S2500 P150
                        G4 P300
                        M118 P3 S"Power restore"
                        

                        edit; oh and Duet people: would having the most recent notes up top make more sense in the wiki thingy, to match the whats_new order?

                        deckingmanundefined 1 Reply Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman @A Former User
                          last edited by

                          @bearer Cheers - I'll go with that. I did wonder about enabling pull ups (but I didn't before on the old pre RC beta firmware).

                          But I'm unable to test it out. Long story short - I managed to cycle the mains power with the aid of a long stick but neither macro triggered. Then I dragged the printer out of it's "booth" (which is no mean feat) and discovered that I'm not getting a change of state on the relay contacts (nor the battery discharge light) when mains power gets interrupted. Either the UPS has developed on fault on that relay, or maybe the battery voltage needs to drop below a threshold. With mains power I have 27.6 V on the DC output, but without mains power I still have 26.8 V because the batteries are fully charged. I don't have a hot end fitted at the moment so no easy way to put a load on the system to bring the battery voltage down.

                          I'll put your code in (without the beeps in the macros 🙂 ) and test it out when I get the printer put back together.

                          Thanks for the help.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          1 Reply Last reply Reply Quote 0
                          • A Former User?
                            A Former User
                            last edited by A Former User

                            Either the UPS has developed on fault on that relay, or maybe the battery voltage needs to drop below a threshold

                            Its not immediately clear if the discharge contact follows the same condition as the discharge LED, if so yo need 2A load to trigger the contact, something to test when you get a hotend (or 6 or 7) wired back in 😄

                            BTW, the io4.in on the 6HC have hardwired pull ups, but adding the ^ just ensures anyone else who finds and copies the config will have it working if they use a pin without a hardwired pull up (like exp.4 on the Duet2)

                            deckingmanundefined 1 Reply Last reply Reply Quote 1
                            • deckingmanundefined
                              deckingman @A Former User
                              last edited by

                              @bearer One final quick question on this. If one were to invert the input in the M950 and then switch the S0 and S1 in the two M581 commands, would it still work? (i.e. a kind of double inversion).

                              Ian
                              https://somei3deas.wordpress.com/
                              https://www.youtube.com/@deckingman

                              1 Reply Last reply Reply Quote 0
                              • A Former User?
                                A Former User
                                last edited by

                                It does, but when I tested that it seemed more prone to noise, i.e. multiple triggers (although there is no scientific reason for it afaik, could be gremlins). But I chose the non inverted option as I hoped the comments would be clearer that way

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