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

    Possible PWM port issue & RRF3 Question

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    5
    34
    1.4k
    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 @jallen810
      last edited by

      @jallen810 said in Possible PWM port issue & RRF3 Question:

      I had a blonde moment, I can't use a normal 2pin fan can I?
      I need a 3+ wire fan right? (sorry never actually used PWM function of fans before)

      to use with E1 output? you can use 2 pin fan. 3pin fans have tachometer for RPM feedback, 4pin fans have PWM input but i'd hesitate to drive the PWM input from a pin on the duet without doin some research

      jallen810undefined 1 Reply Last reply Reply Quote 0
      • jallen810undefined
        jallen810 @A Former User
        last edited by jallen810

        @bearer okay so @Phaedrux said I can tag into the E1 heater for the 24v and then pick a heater pin on the expansion slot. My question is how do I actually physically wire this thing up?

        Red wire [from fan +V] ---> Heater4 (pin13)
        Black wire [from fan -V] ----> E1+24v

        Like this:
        Duet2WiFi Pinout 2.JPG

        A Former User? 1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators @jallen810
          last edited by dc42

          @jallen810 said in Possible PWM port issue & RRF3 Question:

          So... I have a question, why are the PWM fan ports not protected by a fuse? The only issues I have ever had with this board has been these MOSFETs . I love this board, but this is a serious Debbie Downer...

          They are, on version 1.03 and later boards... but sadly fuses blow much more slowly than mosfets do.

          On later production we've switched to mosfets with a higher peak current rating, although that's unlikely to help when the output is shorted.

          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 0
          • A Former User?
            A Former User @jallen810
            last edited by

            @jallen810 said in Possible PWM port issue & RRF3 Question:

            Red wire [from fan +V] ---> Heater4 (pin13)
            Black wire [from fan -V] ----> E1+24v

            both wires to E1 output if the fan is 24v.
            red wire to Vin
            black wire to E1-
            (E1- is switched to ground when the output is enabled, to use heater4 or any of the other pins on the expansion you'll need an external mosfet to sink more current than the microcontroller can handle)

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

              Just in case it wasn't totally clear, both fan wires will go the the E1 heater connector.

              Then in your config.g you would need the follow assuming you're going to use it as Fan0.

              Where you have: M950 F0 C"fan0" Q500 you would change it to M950 F0 C"e1heat" Q500

              The pin name e1heat comes from this list: https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_Pin_names_for_Duet_2_WiFi_Ethernet

              Z-Bot CoreXY Build | Thingiverse Profile

              jallen810undefined 1 Reply Last reply Reply Quote 0
              • jallen810undefined
                jallen810 @Phaedrux
                last edited by

                @Phaedrux so I talked with @bearer and he explained this and we tested my wiring across E1vin and mains negative. Fan worked, wiring correct.

                1.) Then I hooked up fan negative to E1negative and changed the config line u said above.
                Powered up and nothing, using fan control on both DWC and PanelDue are non responsive. my E1 LED is not lighting up. It’s almost like we forgot to associate something? Ideas?

                2.) Also, we’re you able to see anything in the config I posted that would suggest why my probe isn’t working and why my homing isn’t working?
                3.) Lastly, I’ve tested X,Y,Z movement. Y & Z work as expected. But X only moves in the negative direction (left as it is configured currently) it does not respond when asked to move +x. Does this mean I swapped one of my stepper wire pairs? How do i identify and test that without blowing something up?

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

                  Can you post the changes you've made for the fan?

                  Well your probe settings from your 3.1.1 and 2.03 are very different. One is using probe type P1 and the other P5. What I'm not familiar with probe you list, but if it worked with P5 before it should work with P5 in RRF3. So try to compare and match your settings. The only major difference between RRF2 and RRF3 there is the pin name is now included in the M558.

                  For your x movement problem, it could be a case of motor rotation direction or incorrect homing switch location.

                  In your 2.03 config your endstops are configured as low end, but in your 3.1.1 config you have them listed as high end. Which is it?

                  Z-Bot CoreXY Build | Thingiverse Profile

                  jallen810undefined 1 Reply Last reply Reply Quote 0
                  • jallen810undefined
                    jallen810 @Phaedrux
                    last edited by

                    @Phaedrux i tested the TR8 mosfet for E1 and i only get 4.5v out of it. my guess it was also blown. @bearer is helping setup external mosfets to control my fans via the 50pin expansion header. I think i am set there.

                    I played with the probe settings after noticing the same things u just mentioned.
                    I tried both probe types 1 & 5, I tried inverting the signal with a "!" in front of the C var, i tried changing the end stops for XYZ from 0, 1, 2.
                    Nothing works, the only thing i notice is the probe reading is 1000 for P1 and 983 for P5 when no metal is present (probe light off). When i put a metal object under it, the reading drops to ~20.
                    It acts this way for every permutation of the above code changes.
                    I know this, my optical sensors were wired in RRF2 to the same pin as they are now, just ~1m extra wire in between. These sensors have to run 5v+, not 3.3v per the way the OEM wired them. But if i download the sensor Mfgr's data sheet it says, it needs 12-24v in. GL_8H Sidewinder X1 Endstops Data Sheet.pdf

                    Do you suppose the extra length of wire causes enough resistance that the 5v that previously worked, now is not sufficient? If so, i could re-wire to pull off the main's power in... just a lot of extra work that i may not need to do...

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

                      @jallen810 said in Possible PWM port issue & RRF3 Question:

                      When i put a metal object under it, the reading drops to ~20.

                      I think that would be the inversion, so you'd need the ! in the pin name.

                      You might also need the pullup resistor enabled by adding a ^ to the pin name

                      M558 P5 C"!^zprobe.in" H5 F600 T6000

                      Z-Bot CoreXY Build | Thingiverse Profile

                      jallen810undefined 1 Reply Last reply Reply Quote 0
                      • jallen810undefined
                        jallen810 @Phaedrux
                        last edited by

                        @Phaedrux okay I will try that, what exactly is the application for this pull up resistor? Could it be the reason my endstops are acting funny?
                        It almost acts like the machine thinks it’s homes as soon as I push the home button... very weird.

                        My homex,y,z and all fills are updated from S to H.. so that looks fine... any other ideas other than I just need to try running 24v of power to them?

                        droftartsundefined 1 Reply Last reply Reply Quote 0
                        • droftartsundefined
                          droftarts administrators @jallen810
                          last edited by droftarts

                          @jallen810 A pull-up (or pull-down) resistor is a resistor used to ensure a known state for a signal. A switch should either send a 3.3V, or be connected to GND (0V), but some switches 'float' and give a partial voltage, which can lead to unexpected triggering. A pull up resistor will make sure that voltage is 3.3V. However, I don't think this is your issue.

                          Your probe:
                          Old RRF2 config: M558 P5 H5 F600 A1 I1 The 'I1' means the probe is inverted. A1 is the number of times the probe will probe each point (1 is default). No travel speed 'T' set.
                          New RRF3 config: M558 P1 C"zprobe.in" H5 F600 T6000 Wrong probe type, not inverted. Try:

                          M558 P5 C"!zprobe.in" H5 F600 T6000
                          

                          See https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M558_Set_Z_probe_type for details.

                          Your endstops:
                          Old RRF2 config: M574 X1 Y1 S0 endstops on low end, S0 means active low
                          New RRF3 config: M574 X2 S1 P"xstop" and M574 Y2 S1 P"ystop"
                          Both set at wrong end (X2 and Y2 should be X1 and Y1, unless you've changed the position). S1 is fine (says it's a microswitch), but needs to be inverted. Try:

                          M574 X1 S1 P"!xstop"
                          M574 Y1 S1 P"!ystop"
                          

                          See https://duet3d.dozuki.com/Wiki/Gcode?revisionid=HEAD#Section_M574_RepRapFirmware_Num_3 and https://duet3d.dozuki.com/Wiki/Connecting_endstop_switches for details.

                          Ian

                          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                          1 Reply Last reply Reply Quote 1
                          • jallen810undefined
                            jallen810
                            last edited by jallen810

                            @droftarts @Phaedrux @bearer
                            Thank you all for your help with this upgrade to RRF3, I did finally get everything working properly again! I am running my first print now! Woot woot!

                            One last question to you @droftarts, I figured out that I had to invert my endstop signals ~2hr before your comment but I had to do the following:

                            CONFIG.g

                            ;----Endstops--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                            M574 X1 S1 P"!xstop"                                       ; configure active-low endstop for low end on X via pin xstop
                            M574 Y1 S1 P"!ystop"                                       ; configure active-low endstop for low end on Y via pin ystop
                            M574 Z1 S2                                                 ; configure Z-probe endstop for low end on Z
                            
                            

                            HOMEX.g

                            ; homex.g
                            ; called to home the X axis
                            ;
                            ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Aug 15 2020 15:29:15 GMT-0400 (EDT)
                            G91              ; relative positioning
                            G1 H2 Z5 F6000   ; lift Z relative to current position
                            G1 H1 X-305 F1800 ; move quickly to X axis endstop and stop there (first pass) 305
                            G1 H2 X5 F6000  ; go back a few mm
                            G1 H1 X-305 F360  ; move slowly to X axis endstop once more (second pass)
                            G1 H2 Z-5 F6000  ; lower Z again
                            G90              ; absolute positioning
                            

                            HOMEY.g

                            ; homey.g
                            ; called to home the Y axis
                            ;
                            ; generated by RepRapFirmware Configuration Tool v3.1.4 on Sat Aug 15 2020 15:29:15 GMT-0400 (EDT)
                            G91              ; relative positioning
                            G1 H2 Z5 F6000   ; lift Z relative to current position
                            G1 H1 Y-340 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                            G1 H2 Y-5 F6000  ; go back a few mm
                            G1 H1 Y-340 F360  ; move slowly to Y axis endstop once more (second pass)
                            G1 H2 Z-5 F6000  ; lower Z again
                            G90              ; absolute positioning
                            

                            Question is: Why did I have to switch my "home" coordinate for both X&Y from 305/340 to -305/-340 when I switched to RRF?

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

                              @jallen810 said in Possible PWM port issue & RRF3 Question:

                              Question is: Why did I have to switch my "home" coordinate for both X&Y from 305/340 to -305/-340 when I switched to RRF?

                              The question is, where are your endstops?

                              Bed Area.png

                              For X if its on the left side, it's at the low end and moves to the endstop would be negative.

                              For Y, if it's at the front, it's at the low end and moves to the endstop would be negative. And vice versa.

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 0
                              • jallen810undefined
                                jallen810
                                last edited by

                                @Phaedrux here is how my bed is oriented, mind you, the code i placed above works as this diagram shows, it just doesn't make sense that is it not exactly the same as my RRF2.x was. It would seem that should not change from one to the next.
                                [Lastly, note i need to update my M557, i just noticed a typo when i was making this diagram 😃 ]

                                7c134f70-bc18-4b77-a9aa-14e2f12724e8-image.png

                                droftartsundefined A Former User? 2 Replies Last reply Reply Quote 0
                                • droftartsundefined
                                  droftarts administrators @jallen810
                                  last edited by droftarts

                                  @jallen810 You have a max Y endstop, and a minimum X endstop. Also, your drive direction assignments (S parameter in M569) are all different between your RRF2 and RRF3 configs:
                                  RRF2

                                  ;-----Drives-----------------------------------------------------------------------------------------------------------------------------
                                  M569 P0 S0 D2                                	   ; (X-Axis) drive 0 goes forwards (Jake wrong config M569 P0 S1)
                                  M569 P1 S1 D2	 	                           ; (Y-Axis) drive 1 goes forwards 
                                  M569 P2 S1 D2                                      ; (Z-Axis) drive 2 goes forwards
                                  M569 P3 S1 D2                                      ; (Extruder) drive 3 goes backward with Bondtech (titan = S0, Bondtech = S1)
                                  

                                  RRF3

                                  ; Drives
                                  M569 P0 S1                                                ; physical drive 0 goes forwards
                                  M569 P1 S0                                                ; physical drive 1 goes backwards
                                  M569 P2 S0                                                ; physical drive 2 goes backwards
                                  M569 P3 S0                                                ; physical drive 3 goes backwards
                                  

                                  So I think you have some additional sorting out to do, and that nothing has changed in behaviour between RRF2 and RRF3 in this respect. I think your RRF2 config was just wrong!

                                  First, get your drives going the right way, by testing a +ve X move sends the nozzle to the right, and a +ve Y move sends the nozzle towards the back of the bed.

                                  Then get the endstop settings correct. Should be:

                                  M574 X1 S1 P"!xstop"
                                  M574 Y2 S1 P"!ystop"
                                  

                                  Lastly, your homeall.g and homey.g should change so that the large Y move is positive; the large X should stay negative. eg:

                                  G91              ; relative positioning
                                  G1 H2 Z5 F6000   ; lift Z relative to current position
                                  G1 H1 Y340 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                                  G1 H2 Y-5 F6000  ; go back a few mm
                                  G1 H1 Y340 F360  ; move slowly to Y axis endstop once more (second pass)
                                  G1 H2 Z-5 F6000  ; lower Z again
                                  G90              ; absolute positioning
                                  

                                  Ian

                                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

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

                                    @jallen810 said in Possible PWM port issue & RRF3 Question:

                                    here is how my bed is oriented, mind y

                                    be careful of your slicer settings if you deviate from the normal cartesian layout shown by Phaedrux , you could easily end up with parts mirrored along one or more axes.

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

                                      I just wrote a post in another thread that seems applicable here.

                                      https://forum.duet3d.com/topic/18241/duet-2-wifi-bltouch-issues-on-ender-5-pro/37?_=1597982074306

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      1 Reply Last reply Reply Quote 0
                                      • jallen810undefined
                                        jallen810
                                        last edited by

                                        @Phaedrux @bearer @droftarts all very good links, i think that clears up the concept for me so i understand what i did wrong. I will investigate and test everything this weekend. I'm happy this re-wire is finally complete. I can finally get back to printing 😉

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