Double checking settings before I install my Duet Wifi + Duex
-
@iamthebest22 At a quick glance, there area few things that leap out at me.
M584 X0 Y1 Z2:5:6. You haven't shown the mapping for the "E" motor. By default it would be drive 3 and you haven't re-purposed that drive so it should be OK. But if it was me, I would explicitly define it by adding "E3" to that M584 command.
M569 - you haven't specified drive directions for motors 5 and 6. The default is S1 which is the same as what you have specified for drive 2 but again, I would explicitly define it (then if you need to change the direction for drive 2, it will act to remind you to change drives 5 and 6 as well).
What extruder are you using? The steps per mm seem very high. Something like an E3D Titan or Bondtech with 3:1 gearing use around 400 with a 1.8 degree motor or 800 with a 0.9 degree motor (at 16X). Yours is set to 2700 which would indicate very high gearing. I can't comment on your other steps per mm but I'm guessing you are using imperial belts and lead screws yes?
Is there a reason why you you have chosen 4X micro-stepping for the Z axis?
M671 X10:505:505 Y250:118:382 S0.5. I'm not best place to comment on this as I don't need or use any form of bed levelling but you've defined the axis max as being 500 x 500 so the 505 position looks odd to me.
If you are going to use config-overide.g, then you'll need to add M501 to the end of config.g.
That's all I can see at a glance.
HTH
-
@deckingman said in Double checking settings before I install my Duet Wifi + Duex:
M584 X0 Y1 Z2:5:6. You haven't shown the mapping for the "E" motor. By default it would be drive 3 and you haven't re-purposed that drive so it should be OK. But if it was me, I would explicitly define it by adding "E3" to that M584 command.
@iamthebest22, you should definitely do as @deckingman suggests there, otherwise changes to extruder current may affect the current in the additional Z motors too.
M671 X10:505:505 Y250:118:382 S0.5. I'm not best place to comment on this as I don't need or use any form of bed levelling but you've defined the axis max as being 500 x 500 so the 505 position looks odd to me.
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.
-
@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.
-
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 timeouthopefully 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.6mmand 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 fileOh 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.
-
@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.
-
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!
-
@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. -
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 E4Again this is with S3D, but I can change to another slicer that works if necessary. Thanks!
-
x4 microstepping will probably sound like a blender. Use x16 with interpolation.
-
@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?
-
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.
-
@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.
-
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 -
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. -
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 fileand 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 -
@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 -
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 motorsgonna try that now and report back
-
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 fileand the same M671 in config.g:
M671 X-35:535:535 Y250:118:386 S0.5 ; leadscrews at middle left, front right and rear rightSTill 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=0would 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 -
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
-
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