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

    Double checking settings before I install my Duet Wifi + Duex

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    30
    2.5k
    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.
    • deckingmanundefined
      deckingman @dc42
      last edited by

      @dc42 said in Double checking settings before I install my Duet Wifi + Duex:

      The M671 coordinates are those of the leadscrews, so it's usual for them to be outside the bed. This means it is the 10 that is odd, not the 505.

      For some reason, I kind of assumed it was levelling screws, which could be inboard of the bed edge. But then, if he is using 3 motors then it would make more sense to use the lead screws for automatic bed levelling.

      So, in that case, they all look a bit odd to me as it would mean that the centre of the "505 ones" is only 5mm from the edge of the bed. Just about doable with an 8mm diameter screw and 1mm of clearance but a 10mm diameter one will foul.

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

      1 Reply Last reply Reply Quote 0
      • iamthebest22undefined
        iamthebest22
        last edited by iamthebest22

        Thanks deckingman and dc42! Ohhh okay so for the lead screw position they should be bigger than the bed size itself okay.

        I'm using the Zesty Nimble, which is a 30:1 ratio, hence why it's so high.

        I'm using 4x micro for Z because I'm using T8 x 2 lead screws, which means with a 1.8 degree, each turn is only doing 0.01mm already, so 4x would mean 0.0025mm per turn. Any more and I'll lose unnn power can't remember what it's called hold weight something?

        Here's my new one:

        ; Drives
        M569 P0 S1 ; Drive 0 goes forwards
        M569 P1 S1 ; Drive 1 goes forwards
        M569 P2 S1 ; Drive 2 goes forwards
        M569 P3 S1 ; Drive 3 goes forwards
        M569 P5 S1 ; Drive 5 goes forwards
        M569 P6 S1 ; Drive 6 goes forwards
        M584 X0 Y1 E3 Z2:5:6 ; three Z motors connected to driver outputs 2, 5 and 6
        M671 X-35:535:535 Y250:118:382 S0.5 ; leadscrews at middle left, front right and rear right
        M350 Z4 I0 ; Configure microstepping without interpolation
        M350 X16 Y16 E16 I1 ; Configure microstepping with interpolation
        M92 X78.00 Y78.00 Z1505.00 E2700.00 ; Set steps per mm
        M566 X900.00 Y900.00 Z30.00 E120.00 ; Set maximum instantaneous speed changes (mm/min)
        M203 X11400.00 Y6000.00 Z180.00 E1200.00 ; Set maximum speeds (mm/min)
        M201 X500.00 Y500.00 Z20.00 E250.00 ; Set accelerations (mm/s^2)
        M906 X1700.00 Y1700.00 Z1900.00 E1710.00 I30 ; Set motor currents (mA) and motor idle factor in per cent
        M84 S60 ; Set idle timeout

        hopefully that's alot better, does my M557 look correct btw?
        M557 X12:490 Y12:490 S95.6 ; Define mesh grid probe from x=12 to 490, Y=12 to 490 with a mesh spacing of 95.6mm

        and I guess my other ones are fine too? especially my bed.g cause that's what I'm worried about.

        I updated my bed.g:
        ; bed.g
        ; called to perform automatic bed compensation via G32
        ;
        ; generated by RepRapFirmware Configuration Tool v2 on Fri Jan 04 2019 20:50:30 GMT-0800 (Pacific Standard Time)
        M561 ; clear any bed transform
        G28 ; Home all axis
        M401 ; deploy Z probe (omit if using bltouch)
        G30 P0 X10 Y250 Z-99999 ; probe near a leadscrew
        G30 P1 X505 Y382 Z-99999 ; probe near a leadscrew
        G30 P2 X505 Y118 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors
        M402 ; retract probe (omit if using bltouch)
        G29 ; probe the bed and enable compensation and save height map to file
        G29 S1 ; Load height map from file

        Oh and I forgot to ask, for my precision piezo up there, is the R to set the wait time before probing? cause mine has a slight issue where it needs 0.8 sec wait after it reaches each probe point before it actually probes or else it'll somehow "detect" it hits the bed when it didn't at like 2 of the probe points

        I'm also using slic3r PE for this, is there a way to not turn on the heater ONLY (bed is on) until probing is finished, that's because I'm using a bed that's the flex magnetic bed, so if the heater is on, the piezo will well melt the bed. What would be the proper gcode starting for that?

        Sorry for the multiple questions.

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

          @iamthebest22 said in Double checking settings before I install my Duet Wifi + Duex:

          I'm using 4x micro for Z because I'm using T8 x 2 lead screws, which means with a 1.8 degree, each turn is only doing 0.01mm already, so 4x would mean 0.0025mm per turn. Any more and I'll lose unnn power can't remember what it's called hold weight something?

          I think you are getting things a bit confused here. T8 x 2 is a bit meaningless - or maybe a better way putting that is that T8 x 2 can mean different things depending on the what the supplier decides it means. The T8 is fine - it's the diameter. The x 2 is ambiguous. It usually means pitch which is the distance between thread peaks. BUT the important thing to know is the "lead". This is sometimes listed as being the helical pitch. The lead is how far a nut would travel in one turn of the screw. It just happens that if the screw has a single start thread, then the lead is the same as the pitch. But lead screws often have multiple threads offset from each other. So a 2 start screw would have two helical threads offset by 180 degrees. The pitch between thread peak would be 2mm but the lead (or helical pitch) is double - i.e. 4 mm. Likewise a 4 start thread might have a pitch of 2mm but the lead would be 8mm. So T8 x 2 is meaningless unless the number of thread starts is also quoted.

          However, assuming your screws are 2mm pitch single start, then the lead is also 2mm. So one turn of the screw will move a nut or the bed) 2mm, not 0.01 mm. I think you are confusing whole steps with turns. So a 1.8 degree motor would have 200 full steps per revolution and as one revolution equals 2mm of linear movement, then you have 100 full steps per mm. So one full step equates to 0.01mm, not one turn. That's all fine because it means that any layer height that is a multiple of 0.01mm will use full steps. You can use any value micro-stepping you like to divide the full steps into smaller units. 4x is fine but your reasoning for it is a bit flawed if I may say so.

          But going back to your steps per mm for the Z axis, if the lead of the screw is 2mm, then as I have shown above, that equates to 100 full steps per mm. So using 4 x micro stepping, your steps per mm ought to be 400 but you've set it to 1505. In fact, whatever value of micro stepping you use, the steps per mm will be that value multiplied by 100 - so 100, 200, 400, 800, 1600, 3200 etc. If the screws are 2 start, then those values would be halved. So 1505 isn't valid number for a metric screw which is why I asked if they were imperial screws.

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

          1 Reply Last reply Reply Quote 0
          • iamthebest22undefined
            iamthebest22
            last edited by

            Ohhh I see what you mean, that's my fault, that 1505 is a placeholder, that is not the number I'll be using, it's copied pasta from someone else who is using imperial screws

            Yeah I'm getting my terms confused (also doesn't help that the people I talk with uses multiple different terms incorrectly >.<) Yes I am using a T8 lead screw, single start, 2mm pitch, so a full turn is 2mm, while a whole step on the motor is 0.01mm.

            Oh and I meant holding torque, it's from this (I'm not very good at articulating myself) https://www.machinedesign.com/archive/microstepping-myths

            hence why I'm using 4x microsteps. I just changed the Z to 400 anyways since that's what it's suppose to be.

            Other than that, is everything else looking good? like my bed.g and about how to keep heater cartridge off during probing (but bed still on at 60C to 80C whatever I'm printing). Thanks!

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

              @iamthebest22
              Ref holding torque. If you were using multi start screws, then the helix angle is very steep, which means that downward pressure (i.e. the weight) of the bed can make the screws rotate. However, in your case, you have single start screws with a shallow helix angle so even if you disconnect power to the motors completely, the bed won't move. So 4x micro stepping is OK but you could also use 16x with interpolation and it will run quieter. But you'll only notice that when you do a long Z move like homing after a tall print.
              Ref the bed.g - I can't help because I don't use any form of levelling or flatness compensation.
              Ref the order of things happening in the slicer. I've found that the best way is to encompass all the pre and post print commands in a macro. Then simply call the relevant macro from the slicer start and end gcodes. By not setting any temperatures in the slicer, I now have full control over what happens and in what order. Slic3R PE does things the way that are best suited to Prusa printers which isn't necessarily the best way to do things on other printers.

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

              1 Reply Last reply Reply Quote 0
              • iamthebest22undefined
                iamthebest22
                last edited by

                ah okay thanks Deckingman.

                Here's what I have tried with my other small HEVO to no avail in Simplify3D, keep in mind though that this small hevo that I was testing still uses an old firmware (haven't had time to update it yet), for this new build it'll be using the newest firmware available
                in the starting gcode:

                G28 ; home all axes
                M104 S0 ; set nozzle to ensure 0 temp while auto bed leveling
                G92 E0
                M104 S0 ; set nozzle AGAIN to ensure 0 temp while auto bed leveling
                M140 S[first_layer_bed_temperature] ; set bed temp
                M190 S[first_layer_bed_temperature] ; wait for bed temp
                M104 S0 ; set nozzle to ensure 0 temp while auto bed leveling
                G4 S60 ; Dwell for 60 seconds or 1 minute to ensure bed gets evenly heated
                G28
                G32 ; ABL for Duet Wifi
                G1 Z5 F300 ; lift nozzle
                M104 S[first_layer_temperature] ; set extruder temp
                M109 S[first_layer_temperature] ; wait for extruder temp
                G92 E0
                G1 F4000 X5 Y5 Z0.2 ; position for priming
                G1 F200 E4

                Again this is with S3D, but I can change to another slicer that works if necessary. Thanks!

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

                  x4 microstepping will probably sound like a blender. Use x16 with interpolation.

                  Z-Bot CoreXY Build | Thingiverse Profile

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

                    @iamthebest22 I'm a bit confused because further up you said you were using Slic3R but the code you just posted was what you were using in S3D.

                    No matter.......You said that the above start code was "to no avail". What was the issue when you tried it?

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

                    1 Reply Last reply Reply Quote 0
                    • iamthebest22undefined
                      iamthebest22
                      last edited by

                      Hi @ Phaedrux, I will

                      @deckingman oh sorry yeah so what I meant is this, I have another small HEVO that I was testing uses S3D , this big one that will have the Duet installed currently has an 8 bit board and uses slic3r PE.

                      The issue was basically, despite that code, it still turned on the heater to desired temperature before probing, instead of waiting till after probing was done to turn heater cartridge to desired temperature.

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

                        @iamthebest22 Yes OK.

                        It kind of depends of what order the slicer puts commands into the gcode file. I suspect what happens is the slicer starts off by selecting the tool and/or starts heating the hot end, then it inserts the start gcode commands. Rather than doing the start code commands first, then setting the temperatures. You should be able to tell. Try putting a comment at the beginning of your start gcode such as ";begin". Then slice an object and look at the generated gcode. I suspect you'll find something like M109 Snnn before the "begin" comment.

                        Which gets me back to what I said about using a macro instead of the start gcode. But when I use my macros, I still have to set the hot end and bed temperatures to zero for exactly that reason.

                        A possible way around it is to do similar to what I do in a macro but in your start gcode. i.e. Set the hot end and bed temperatures to zero in the slicer itself, then use your start gcode to heat the bed, do the probing, then heat the hot end. If the slicer gives you the option of using different temperatures for the first layer and subsequent layers, then all you need do is set the first layer temperature to zero. Of course this does mean that you can't use placeholders like [first_layer_temperature] and instead you'll have to use fixed values.

                        So your start gcode could look something like this:

                        M140 Snn ; start heating bed but don't wait (where nn is the bed temperature you want)
                        G28 ; home all
                        M190 Snn ; wait for bed to finish heating
                        G4 S60; Dwell as in your code above
                        G32; bed levelling
                        G1 Z5; lift nozzle as in your code above
                        G1 F4000 X5 Y5; position for priming as above
                        M109 Snnn; heat nozzle and wait
                        G1 F200 E4 prime nozzle.

                        I notice that you had some G92 E0 commands in your start code. This is to zero the extruder when using absolute extrusion. You've set Duet to use relative extrusion (M83) in your config.g so as long as you stick with this (which I recommend) then you don't need to zero the extruder (but make sure the slicer is also set to give relative extrusion values).

                        Also, you used both M140 followed immediately by M190 and also M104 followed immediately by M109. You don't need do that. M104 and M140 both set the temperature but don't wait. M190 and M109 both set temperatures but also wait.

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

                        1 Reply Last reply Reply Quote 0
                        • iamthebest22undefined
                          iamthebest22
                          last edited by iamthebest22

                          Ah okay I will try that as soon as I can, but another problem has popped up in the meantime:

                          Installed my Duet Wifi, everything works really well, the independent motor bed leveling and ABL all works after that. The problem I have now is, the independent Z leveling seems to make things worse and worse. It started out fine, but then after each one (followed by a G29 for a 6 x 6 probe) which I did for more testing, it made the right side with one leadscrew lower and lower away from the right side (which has two lead screws). When I first started, it had a small variation of front to back 0.3mm height difference, but after more G32, it got bigger and bigger and now the probe can't compensate for the difference because it's bigger than 0.5mm now, really confused what's going on @_@

                          EDIT: Here's a pic to show what I mean, the side where's it's much higher has the two motors, the one on the left is the one with one motor. It wasn't like this, it was almost within 0.3mm of each other before, and now like I said above to big it can't compensate.
                          https://www.dropbox.com/s/5bls0r2x0c3skpm/2019-03-20 20.57.30.jpg?dl=0

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

                            https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

                            Are you sure you have the motors listed in the right order?
                            Can you also confirm that your 0,0 origin point is at the front left of the printer? Maybe you have an axis mirrored.

                            Z-Bot CoreXY Build | Thingiverse Profile

                            1 Reply Last reply Reply Quote 0
                            • iamthebest22undefined
                              iamthebest22
                              last edited by

                              That's what I used, maybe I'm not sure since this is my first time doing this. I can confirm 0,0 is at the front left of the printer, the axis' are not mirrored.

                              here is my bed.g

                              ; bed.g
                              ; called to perform automatic bed compensation via G32
                              ;
                              ; generated by RepRapFirmware Configuration Tool v2 on Fri Jan 04 2019 20:50:30 GMT-0800 (Pacific Standard Time)
                              M561 ; clear any bed transform
                              G28 ; Home all axis
                              G28 Z ; Home Z again for more accuracy
                              M401 ; deploy Z probe (omit if using bltouch)
                              G30 P0 X10 Y250 Z-99999 ; probe near a leadscrew
                              G30 P1 X495 Y382 Z-99999 ; probe near a leadscrew
                              G30 P2 X495 Y118 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors
                              M402 ; retract probe (omit if using bltouch)
                              G29 ; probe the bed and enable compensation and save height map to file
                              G29 S1 ; Load height map from file

                              and the M671 code in the config.g :

                              M584 X0 Y1 E3 Z2:5:6 ; three Z motors connected to driver outputs 2, 5 and 6
                              M671 X-35:535:535 Y250:118:382 S0.5 ; leadscrews at middle left, front right and rear right

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

                                @iamthebest22 said in Double checking settings before I install my Duet Wifi + Duex:

                                Y250:118:382

                                118 and 382 look backwards compared to what you have in bed.g

                                G30 P1 X495 Y382 Z-99999 ; probe near a leadscrew
                                G30 P2 X495 Y118 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors

                                Z-Bot CoreXY Build | Thingiverse Profile

                                1 Reply Last reply Reply Quote 0
                                • iamthebest22undefined
                                  iamthebest22
                                  last edited by

                                  Oh those have to be in the same order too o.o Oh okay here's the new one:

                                  G30 P0 X10 Y250 Z-99999 ; probe near a leadscrew
                                  G30 P1 X495 Y118 Z-99999 ; probe near a leadscrew
                                  G30 P2 X495 Y382 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors

                                  gonna try that now and report back

                                  1 Reply Last reply Reply Quote 0
                                  • iamthebest22undefined
                                    iamthebest22
                                    last edited by

                                    Okay I'm at a lost, so with this new bed.g here:
                                    M561 ; clear any bed transform
                                    G28 ; Home all axis
                                    G28 Z ; Home Z again for more accuracy
                                    M401 ; deploy Z probe (omit if using bltouch)
                                    G30 P0 X10 Y250 Z-99999 ; probe near a leadscrew
                                    G30 P1 X495 Y118 Z-99999 ; probe near a leadscrew
                                    G30 P2 X495 Y386 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors
                                    M402 ; retract probe (omit if using bltouch)
                                    G29 ; probe the bed and enable compensation and save height map to file
                                    G29 S1 ; Load height map from file

                                    and the same M671 in config.g:
                                    M671 X-35:535:535 Y250:118:386 S0.5 ; leadscrews at middle left, front right and rear right

                                    STill the same thing:
                                    here are the results in order (from 1st to 3rd test):
                                    https://www.dropbox.com/s/qmsah7ugzzd3oju/2019-03-20 22.59.03.jpg?dl=0
                                    https://www.dropbox.com/s/zkvr63qdu63wifi/2019-03-20 23.06.10.jpg?dl=0
                                    https://www.dropbox.com/s/g4muizvuubdfsr9/2019-03-20 23.09.24.jpg?dl=0

                                    would the firmware have anything to do with it? The one I'm using is according to the general section in the webui:

                                    Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
                                    Firmware Electronics: Duet WiFi 1.02 or later + DueX5
                                    Firmware Version: 2.0(RTOS) (2018-06-05b3)
                                    WiFi Server Version: 1.21
                                    Web Interface Version: 1.21.2-dc42

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

                                      I'm not an expert on independent motor leveling.

                                      You're a little out of date on the firmware but I don't think that would explain it

                                      Z-Bot CoreXY Build | Thingiverse Profile

                                      1 Reply Last reply Reply Quote 0
                                      • iamthebest22undefined
                                        iamthebest22
                                        last edited by

                                        I successfully updated the firmware to 2.02 (december build) and also web server to 1.22 . Then I tried doing it again, the deterioration still happens, but at a much slower rate, took 5 tries instead of 3 AND instead of it being left side to right side, it looks like now it's front to back side before it couldn't compensate anymore and it goes slanted again. Thanks for the help though so far, but could anyone else also shed light on this? Thank you very much in advance.

                                        Pic: (after 3 tries using the newest firmware):
                                        https://www.dropbox.com/s/cmxlcfpjaatirtt/2019-03-21 00.27.02.jpg?dl=0

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

                                          @iamthebest22 Can't help directly as I don't use that feature but have you read this? https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

                                          The only other thing I can suggest is that you start a new thread specifically entitled "Problems setting up auto bed levelling" or some such. That is likely to bring it to the attention of more people who do have the experience and knowledge. Make sure you follow the usual guidelines and provide all the necessary information about your printer, it's configuration (link or list the files), firmware version, your bed.g file etc, as well as description of what you expect to happen and what is actually happening. https://forum.duet3d.com/topic/5909/guide-for-posting-requests-for-help/11

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

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

                                            When you set up independent lead screw bed levelling:

                                            • You must list the leadscrew coordinates in the M671 command in the same order as you list the Z motors in the M584 command. You have this:

                                            M584 X0 Y1 E3 Z2:5:6 ; three Z motors connected to driver outputs 2, 5 and 6
                                            M671 X-35:535:535 Y250:118:382 S0.5 ; leadscrews at middle left, front right and rear right

                                            You are telling the firmware that the motor connected to driver 2 (the Duet Z output) drives the leadscrew at X=-35 Y=250. is that correct? Similarly for the other 2 motors.

                                            • The order of the probe points in bed.g doesn't matter.

                                            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
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA