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

    Firmware 2.03beta2 available

    Scheduled Pinned Locked Moved
    Firmware installation
    25
    86
    12.1k
    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 @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
                              • Martin1454undefined
                                Martin1454 @whosrdaddy
                                last edited by Martin1454

                                @whosrdaddy said in Firmware 2.03beta2 available:

                                @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)

                                If it is me you are reffering to - 2.0 or what it was called late december

                                EDIT: found out how the new 669 worked - had 2 put X-1.0:-1.0

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

                                  @martin1454 : Yeah wrong person 🙂
                                  Glad you worked it out.
                                  Weird, I also have a CoreXY but I did not have to change anything...

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

                                    From the upgrade notes for 2.03beta1:

                                    If you have a CoreXY or other Core architecture printer, and you were using any axis factor parameters in your M667 command in config.g, those parameters are no longer supported. You will need to use M669 matrix parameters instead.

                                    @Martin1454 was using a X-1 parameter in his M667 command. Swapping the X and Y motors over and adjusting the directions in M569 would have worked too.

                                    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
                                    • adri84djundefined
                                      adri84dj
                                      last edited by

                                      Hi. So far, I've been with firmware 2.02 RC3 in my Kossel.

                                      When I calibrated the bed with G32 with calibration factor 8, after two passes, I had some 0.05mm measurements, the difference between each measured point, and the first layer was very good

                                      I have updated to the latest version, 2.03 beta 2, and when doing the G32 calibration several times, I get disparate measurements between the measured points of up to 0.2mm. Now the first layers are uneven in different parts of the bed.

                                      Have I missed something? Has anything changed in this latest firmware?

                                      Thanks and best regards

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

                                        There has been no intentional change in this area. There might have been an unintentional change because the code that handles endstop corrections has changed. Can you revert to 2.02 and check whether the new firmware really is to blame?

                                        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

                                        adri84djundefined 2 Replies Last reply Reply Quote 0
                                        • adri84djundefined
                                          adri84dj @dc42
                                          last edited by

                                          @dc42

                                          Okay. I go back to 2.02 and try it later.

                                          Thank you

                                          1 Reply Last reply Reply Quote 0
                                          • adri84djundefined
                                            adri84dj @dc42
                                            last edited by

                                            @dc42 said in Firmware 2.03beta2 available:

                                            There has been no intentional change in this area. There might have been an unintentional change because the code that handles endstop corrections has changed. Can you revert to 2.02 and check whether the new firmware really is to blame?

                                            Hello,

                                            With the 2.02 final it works correctly again, as in 2.02 RC3.

                                            At least in my case there is something weird about 2.03 Beta 2.

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