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

    Firmware 2.03beta2 available

    Scheduled Pinned Locked Moved
    Firmware installation
    25
    86
    12.2k
    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.
    • kazolarundefined
      kazolar
      last edited by

      I checked that again. I have a beefy wire there, but I can go up a gauge. I also noticed that the ground wire has things running next to it, so I'm suspecting some interference. So my current plan is to move to a different case with the boards side by side instead one on top of the other and a much beefier ground wire. Since pure reboot doesn't solve it, I'm leaning towards some electrical noise built up which clears up on power down.

      dc42undefined 1 Reply Last reply Reply Quote 0
      • dc42undefined
        dc42 administrators @Veti
        last edited by

        We recently had a report from one of one OEMs that the cables from normally-open endstop switches connected to the endstop inputs on the DueX5 appeared to be picking up interference from extruder cables or elsewhere, and this was triggering I2C errors. So my current advice to users experiencing I2C errors is:

        • Make sure there is a short thick ground wire between the VIN- terminals of the Duet and the DueX;
        • Try adding the additional I2C pullup resistors that I already described;
        • Don't connect normally-open endstop switches to the endstop inputs on the DueX (or if you must, use a 1K pullup resistor to +3.3V and preferably also an RC filter).

        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
        • dc42undefined
          dc42 administrators @kazolar
          last edited by

          @kazolar said in Firmware 2.03beta2 available:

          I checked that again. I have a beefy wire there, but I can go up a gauge. I also noticed that the ground wire has things running next to it, so I'm suspecting some interference. So my current plan is to move to a different case with the boards side by side instead one on top of the other and a much beefier ground wire. Since pure reboot doesn't solve it, I'm leaning towards some electrical noise built up which clears up on power down.

          The beefy ground wire needs to be short as well.

          Mounting the boards back-to-back is a good option, because it makes for easy fan cooling and it allows you to use a short thick ground wire between the two VIN terminal blocks.

          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

          kazolarundefined 1 Reply Last reply Reply Quote 0
          • kazolarundefined
            kazolar
            last edited by

            @dc42 so I'll leave the case be. That's easier obviously. I have very good cooling, CPU reported temperature doesn't go above 27c. I'll replace the ground wire, though it's at least an 18 gauge silicone insulated wire, but I can go to 16? Or 14. Wire is short, basically just long enough to jump between the boards. And will add the resistors as you suggested in the other post. It's rather curious that i2c timeouts (not errors although not sure if it's a difference) don't start until several hours of operation. I was calibrating my extruder offsets and checking my z probe etc so I was running homing routine multiple times and lead screw compensation routine,I am using normally closed end stops, I've had issues with normally open in the past. Hopefully I can resolve this and move to the latest firmware since I am presently stuck on rc5 since i2c is a bit more resilient there.

            1 Reply Last reply Reply Quote 0
            • gavatron3000undefined
              gavatron3000
              last edited by

              18 gauge is only around 0.8mm² the wiki says around 2.5mm² is recommended which is around 13-14 gauge

              Dont know if it's a pattern yet but I've read about a few issues with the duex and all those people seem to be running solid core cable.

              1 Reply Last reply Reply Quote 0
              • kazolarundefined
                kazolar
                last edited by kazolar

                Thanks, will bump up to 14 gauge. I'm using stranded wires crimped in ferrules. I'm guessing, the insufficiently thick ground would the source of my issues. I'm not sure solid core can be crimped, or tightened adequately.

                1 Reply Last reply Reply Quote 0
                • gavatron3000undefined
                  gavatron3000
                  last edited by

                  Yes completely agree

                  1 Reply Last reply Reply Quote 0
                  • kazolarundefined
                    kazolar @dc42
                    last edited by

                    @dc42 I installed a 14 gauge ground wire -- while at it also did the VIN wire. Both are 1/2 the length they were before, couldn't get shorter than this now. I left the 16 gauge(it was 16 not 18 before) going to the PSU, it's coupled in a ferrule together with a very short 14 gauge jumper to duex5. The printer itself with everything on never pulls more than 200w, since my I'm using an AC bed, 16 gauge wire has not been an issue for 24v DC power.

                    Now the main question is, how do I test the i2c bus for reliability. Under normal conditions it takes a long time for me to start seeing timeouts, is there a test routine, something that would send a bunch of data on i2c which you would expect to produce some errors if the wiring was at issue (I don't mind running some custom firmware to bang on the i2c bus).

                    Thanks again.

                    dc42undefined 1 Reply Last reply Reply Quote 1
                    • SMK2019undefined
                      SMK2019
                      last edited by

                      Will do later today.

                      1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators @kazolar
                        last edited by dc42

                        @kazolar said in Firmware 2.03beta2 available:

                        @dc42 I installed a 14 gauge ground wire -- while at it also did the VIN wire. Both are 1/2 the length they were before, couldn't get shorter than this now. I left the 16 gauge(it was 16 not 18 before) going to the PSU, it's coupled in a ferrule together with a very short 14 gauge jumper to duex5. The printer itself with everything on never pulls more than 200w, since my I'm using an AC bed, 16 gauge wire has not been an issue for 24v DC power.

                        Now the main question is, how do I test the i2c bus for reliability. Under normal conditions it takes a long time for me to start seeing timeouts, is there a test routine, something that would send a bunch of data on i2c which you would expect to produce some errors if the wiring was at issue (I don't mind running some custom firmware to bang on the i2c bus).

                        Thanks again.

                        You could try sending repeated commands to change the speed of the DueX fans. Each one will require an I2C transaction.

                        Here's another possibility: pick one of the DueX servo outputs that corresponds to an unused heater channel, connect the servo control pin of that output to the cathode of a small signal diode, and connect the anode of that diode to one of the DueX endstop inputs. Then use M307 to disable that heater, and M42 to set up 50% PWM on that servo output at a low frequency. Every time the endstop input toggles, the DueX will signal a change to the Duet, and the Duet will do an I2C transaction to find out what changed.

                        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

                        kazolarundefined 1 Reply Last reply Reply Quote 0
                        • Edgars Batnaundefined
                          Edgars Batna
                          last edited by

                          Is there a certain resistance that shouldn't be exceeded on the ground connection between the boards? I've got really thick wires running from both boards to the power supply and I measured the resistance to be somewhere around 0.4 Ohms. Since I get the errors extremely rarely, I added an additional, short but significantly thinner wire between the boards, which appeared to halve the resistance. Would this be good enough?

                          dc42undefined 1 Reply Last reply Reply Quote 0
                          • dc42undefined
                            dc42 administrators @Edgars Batna
                            last edited by

                            @edgars-batna, you should be looking for 0.1 ohms or less. Bear in mind that your multimeter may read greater than zero ohms when you short the leads together, in which case subtract that value from the reading you get between the two terminal blocks. My multimeter reads 0.2 ohms between the ground side screws of the two VIN terminal blocks, and also 0.2 ohms if I short the leads together.

                            Inductance matters too, which is why the wire must be kept short. The reason is that the stepper motors draw large pulsing currents when they are energised, and this will cause there to be ground noise between the Duet and DueX unless that wire has low resistance and inductance.

                            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

                            Edgars Batnaundefined 1 Reply Last reply Reply Quote 0
                            • Edgars Batnaundefined
                              Edgars Batna @dc42
                              last edited by

                              @dc42 Thanks, it's exactly as you described, so I suppose the value should be good enough now.

                              1 Reply Last reply Reply Quote 0
                              • kazolarundefined
                                kazolar @dc42
                                last edited by

                                @dc42 I ran some gcode shifting fan speed for tool 3 (fan on the duex5) repeatedly a few hundred times and no i2c errors or timeouts. Wonder if that means it's solved. I'll try the servo trick. Would adding the resistors hurt any?

                                1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators
                                  last edited by dc42

                                  Adding the resistors won't hurt. We're going to reduce the values of the ones on the DuetX in the next manufacturing batch.

                                  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
                                  • whosrdaddyundefined
                                    whosrdaddy
                                    last edited by whosrdaddy

                                    Just posting here to confirm that 2.03 beta is working fine on my CoreXY with sensorless homing.

                                    here is my last print (printed in ABS):

                                    0_1552824161524_behelit.jpg

                                    it's a sleeping Crimson Behelit. (Berserk fans will know what this is 🙂 )

                                    1 Reply Last reply Reply Quote 0
                                    • Martin1454undefined
                                      Martin1454
                                      last edited by Martin1454

                                      So after updating to 2.03 b2, my COREXY is now mirrored? before it homed with 0,0 towards the left front of the printer, but now it is the right front?

                                      ; executed by the firmware on start-up
                                      ;
                                      ; generated by RepRapFirmware Configuration Tool on Tue Jul 31 2018 15:05:50 GMT+0200 (Centraleuropæisk sommertid)
                                      
                                      ; General preferences
                                      G90                                                                    ; Send absolute coordinates...
                                      M83                                                                    ; ...but relative extruder moves
                                      M555 P1                                                                ; Set firmware compatibility to look like RepRapFirmare
                                      
                                      M667 S1 X-1.0                                                               ; Select CoreXY mode
                                      
                                      ; Network
                                      M550 PD-bot EVO                                                         ; Set machine name
                                      M551 Psmorum2765                                                       ; Set password
                                      M552 S1                                                                ; Enable network
                                      M587 S"Egsdal" P"smorum2765" I192.168.1.31 J192.168.0.1 K255.255.255.0 ; Configure access point and IP addresses. You can delete this line once connected
                                      M586 P0 S1                                                             ; Enable HTTP
                                      M586 P1 S0                                                             ; Disable FTP
                                      M586 P2 S0                                                             ; Disable Telnet
                                      
                                      ; Drives
                                      M569 P0 S1                                                             ; Drive 0 goes forwards
                                      M569 P1 S0                                                             ; Drive 1 goes backwards
                                      M569 P2 S1                                                             ; Drive 2 goes forwards
                                      M569 P3 S1                                                             ; Drive 3 goes forwards
                                      M569 P4 S1 C65972                                                           ; Drive 4 goes forwards
                                      M569 P5 S0                                                             ; Drive 5 goes forwards
                                      M569 P6 S1                                                             ; Drive 6 goes forwards
                                      M569 P7 S1                                                             ; Drive 7 goes forwards
                                      M569 P8 S1                                                             ; Drive 8 goes forwards
                                      M569 P9 S1 C65972
                                                                                                  ; Drive 9 goes forwards
                                      
                                      M584 X4 Y9 Z2:1:0 E6:5                                                     ; Apply custom drive mapping
                                      M350 X16 Y16 Z16 E16:16 I1 S2                                            ; Configure microstepping with interpolation
                                      M92 X200 Y200 Z800 E2700:2700                                          ; Set steps per mm
                                      M566 X1500 Y1500 Z18 E40:1200                                          ; Set maximum instantaneous speed changes (mm/min) jerk
                                      M203 X8400 Y8400 Z800 E2400:2400                                       ; Set maximum speeds (mm/min)
                                      M201 X500 Y300 Z250 E150:1000                                           ; Set accelerations (mm/s^2)
                                      M906 X1000 Y1000 Z1000 E1100:1100 I40                                  ; Set motor currents (mA) and motor idle factor in per cent
                                      M84 S10                                                               ; Set idle timeout
                                      
                                      ; Axis Limits
                                      M208 X0 Y0 Z0 S1                                                       ; Set axis minima
                                      M208 X320 Y290 Z500 S0                                                 ; Set axis maxima
                                      
                                      
                                      
                                      
                                      ; Define the X and Y coordinates of the leadscrews.
                                      ; Must come after M584 (Set drive mapping), M667 (Select CoreXY Mode) and M669 (Choosing Kinematics type)
                                      ; Motor order: Front left (1), front right (2), rear right (3).
                                      ; Snn Maximum correction in mm to apply to each leadscrew (optional, default 1.0)
                                      M671 X-50:367.0:367.0 Y177:33:315 S20 P2 F1.25
                                      
                                      ; Endstops
                                      M574 X1 Y1 S3                                                          ; Set endstops controlled by motor load detection
                                      
                                      ; Z-Probe
                                      M307 H5 A-1 C-1 D-1                                                    ;dissable heater 5 for PWM use
                                      M574 Z1 S2                                                             ; Set endstops controlled by probe
                                      M558 P9 H5 F500 T5000                                                 ; Set Z probe type to BL touch and the dive height + speeds
                                      G31 P25 X0 Y88 Z1.81                                                     ; Set Z probe trigger value, offset and trigger height
                                      M557 X50:280 Y70:260 S40                                               ; Define mesh grid
                                      
                                      ; Heaters
                                      M305 P0  T100000 B4725 C7.06e-8 R4700 H0                                 ; Set thermistor + ADC parameters for heater 0
                                      M307 H0 B1 A397.7 C1129.5 D15.1	V24.3						; set bed to bit bang 
                                      M143 H0 S130                                                            ; Set temperature limit for heater 0 to 80C
                                      M305 P4  T100000 B4725 C7.060000e-8 R4700 X5                               ; Set thermistor + ADC parameters for heater 1
                                      M143 H4 S360                                                           ; Set temperature limit for heater 1 to 360C
                                      M305 P7  T100000 B4725 C7.06e-8 R4700  X3                              ; Set thermistor + ADC parameters for heater 2
                                      M143 H7 S360                                                           ; Set temperature limit for heater 2 to 360C
                                      
                                      ; Fans
                                      M106 P5 S0 B0.0 H4:7 T50 L255 C"Water-pump"
                                      M106 P6 S0 B0.0 L255 H4:7 T50 C"Radiator fan"
                                      M106 P4 S0 B0.0 C"Part fan";
                                      
                                      ;LEDS
                                      M106 P7 S0 F100 B0.0 C"LED light"
                                      
                                      
                                      ; Tools
                                      M563 P0 D1 H4 F4                                                          ; Define tool 0
                                      G10 P0 X-10 Y0 Z0                                                        ; Set tool 0 axis offsets
                                      G10 P0 R0 S0   
                                                                                              ; Set initial tool 0 active and standby temperatures to 0C
                                      M563 P1 D0 H7 F4                                                          ; Define tool 1
                                      G10 P1 X10 Y0 Z0                                                       ; Set tool 1 axis offsets
                                      G10 P1 R0 S0                                                           ; Set initial tool 1 active and standby temperatures to 0C
                                      
                                      
                                      
                                      
                                      ; Automatic saving after power loss is not enabled
                                      
                                      ; Custom settings are not configured
                                      
                                      ; Miscellaneous
                                      M501                                                                   ; Load saved parameters from non-volatile memory
                                      

                                      and home all:

                                      M400; make sure everything has stopped before we make changes
                                      M280 P5 S160 ;
                                      M574 X1 Y1 S3		;		
                                      M913 X30 Y30 		; XY motors to 30% current	
                                      M915 X Y H400 S3 R0 F0	; set X and Y to sensitivity , do nothing when stall, unfiltered
                                      
                                      
                                      ; X axis home		
                                      G91			; use relative positioning
                                      G1 Z10 F6000 S2    ; lift Z relative to current position
                                      G1 S1 X-405 F6000 ; move quickly to X axis endstop and stop there (first pass)
                                      G1 X5 F6000       ; go back a few mm
                                      G1 S1 X-405 F4000  ; move slowly to X axis endstop once more (second pass)
                                      
                                      ; Y axis home
                                      G1 S1 Y-305 F6000 ; move quickly to Y axis endstop and stop there (first pass)
                                      G1 Y5 F6000       ; go back a few mm
                                      G1 S1 Y-305 F4000  ; move slowly to Y axis endstop once more (second pass)
                                      G90               ; absolute positioning
                                      M913 X100 Y100; motor currents back to 100%
                                      
                                      ; Z-axis
                                      
                                      M561                     ; Clear any bed transform
                                      G1 X160 Y130 F6000
                                      G30
                                      G32                      ; Start 3-point probe sequence - Bed.g
                                      ;M375 P"bareplate.csv"    ; Load heightmap
                                      ;G1 Z20.0 F6000           ; Move Z to 20
                                      ;G1 X5 Y5    		 ; Move Head to front left
                                      M402;
                                      

                                      and bed.g

                                      M561 ; clear any bed transform
                                      ;G28 Z;
                                      M561; Clear bed height map 
                                      ; Probe the bed at 3 points
                                      
                                      G30 P0 X20 Y95 Z-9999;
                                      G30 P1 X20 Y270 Z-9999;
                                      G30 P2 X260 Y270 Z-9999;
                                      G30 P3 X260 Y95 Z-9999;
                                      G30 P4 X145 Y135 Z-9999 S3;
                                      G1 X20 Y20
                                      

                                      Also ruins my auto leveling/3 screw setup
                                      0_1553355697428_Unavngivet.png

                                      chas2706undefined 1 Reply Last reply Reply Quote 0
                                      • chas2706undefined
                                        chas2706 @Martin1454
                                        last edited by

                                        @martin1454
                                        In your config.g remove M667 S1 and replace it with M669 K1. That will sort it!

                                        Martin1454undefined 1 Reply Last reply Reply Quote 0
                                        • Martin1454undefined
                                          Martin1454 @chas2706
                                          last edited by

                                          @chas2706 said in Firmware 2.03beta2 available:

                                          @martin1454
                                          In your config.g remove M667 S1 and replace it with M669 K1. That will sort it!

                                          Still mirrored 😕

                                          1 Reply Last reply Reply Quote 0
                                          • whosrdaddyundefined
                                            whosrdaddy
                                            last edited by

                                            @chas2706 : from which firmware did you upgrade may I ask?
                                            If coming from an older firmware (pre 1.19), the Y motors will need reverse direction. (you can do that in firmware)

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