Firmware wishlist and priorities for Duet WiFi and Duet Ethernet
-
Hi Andrew it does make sense, but my understanding was the error was less than 1 microstep. That means that there is never anything that can be compensated for by a system that the smallest correction it can input is steps.
-
A fair point, I hadn't considered the resolution required - I've just graphed the compensation assuming 16x microstepping here:
In this graph, you see that each microstep represents a change of about 6% and the correction is about half of that at around 3% - Therefore 32x or 64x microstepping should be enough to make it work.
-
You'll not get 32x let alone 64x micro-stepping holding torque accuracy except for random rare cases of pure luck. You might get 16x if your lucky. Micro stepping works sure, but it doesn't replace good old mechanical resolution. I would say 1/8th stepping calculations might be a bit more realistic.
-
In terms of positional accuracy and for low speed movements, the amount of torque required in a 3D printer (Especially for the X and Y axes) is very low - I don't believe there should be any issue in holding a position to those sorts of accuracies. (Except maybe for deltas and Z axes ?) I don't have any evidence for this though, just based on speculation and theory.
With 16x or 8x, as Tony identified the correction distance is smaller than the resolution so it doesn't make sense at these microstepping levels.
-
What might work for a delta might not work so much for a cartesian. Before I upgraded the stepper on my Z axis I think I was getting about 1/4 step holding accuracy. So for me compensation wasn't working all that great. So much better now with higher torque motor.
-
Is this for a regular cartesian machine ? What stepper motors / current are you using and what pitch of leadscrew ? I don't have any numbers for this so it would be great to put some numbers behind it.
-
Voting for number 5
-
8, 7, 20, 16
-
Hi DC42,
Just wondering where you got to with G2/G3 arc support? Not sure if you spotted my rants on other threads about my testing results from 1.18beta1 and beta3? In a nutshell, according to my interpretation of the I and J parameters the motion you create for the arc is incorrect. I've played with all kinds of values for I and J and it always ends up with a vertical linear motion before the arc actually starts regardless of the value being entered (unless I and J are both zero in which case it is a straight line to the end coordinate). Also, if the arc motion takes the head outside the min/max bed size limitations it does not clip the arc, causing the motors to skip as the head slams into the mechanical limitations.
Really just after some confirmation that you still have plans to get it working correctly as I've committed quite a bit of time on my end writing code to convert regular 3D print G-code to use arcs instead of hundreds of short lines for curved surfaces. Not much point in taking that further if G2/G3 support is going to come to a dead end on the Duet.
Many thanks for putting the time you already have into supporting arcs.
-
7, 14, 18, 16, 11
-
7
11
12
18 -
i suggested this before, but when i "heater fault" occurs why not pause the print and allow the user to "resume" the print after the fault is rectified/cleared.
-
1
5
6
14
19 -
i suggested this before, but when i "heater fault" occurs why not pause the print and allow the user to "resume" the print after the fault is rectified/cleared.
Good idea, I'll add it to the wish list.
-
XYZ Compensation
Like josef prusa does it here: https://www.youtube.com/watch?v=rYrLT5G-a9I
i know that this might sound crazy but there must be a reason why mk42 heat beds have 9 points in some very precise locations
and yes skew can be corrected but you have to measure manual. automatic would be better. maybe giving the user a chance to correct if there is skew in the hardware.
i will be given one of these for free from a german source, and then i will get one from here: https://www.indiegogo.com/projects/mk42-heated-bed-ultimate-3d-printer-build-plate/x/16302496#/
code for the feature can maybe be taken from here: https://github.com/prusa3d/Prusa-Firmware/blob/MK2/Firmware/mesh_bed_calibration.cpp#L53
but that might not be the whole picture
-
In no particular order my votes are:
4/5) does this mean that say 2 corners of the bed can be fixed and 2 Z's steppers are then driven to get the same Z at both corners? ie like on the mendel90 where you only adjust 2 of 4 screws at the bed corners
16
19
20
15 -
pause on heater fault
15
14
17 + filament monitor and pause on filament issue -
6
13
8
19
3
Consider: Use Stallguard to perform bed levelling/compensation. GCode that sets lower current, slower moves, low Stallguard Threshold (SGT) and uses this to find the bed with the hotend by treating stall notification as trigger. Once complete, returns to normal current/speed/accel settings. Complications that may arise and require a lot of custom tuning per individual printer are outlined very well in section 4.1 of the datasheet: https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2660_datasheet.pdf.
Perhaps flag that allows SGT triggers for each driver to be displayed as they are triggered to assist in tuning the individual printer's motors? -
Consider: Use Stallguard to perform bed levelling/compensation.
that would only work where the Z steppers are able to push the nozzle down
if the X ends rest on Z isolators there will be no resistance when the nozzle touches the bed, but maybe the load will lighten enough that you can say that you are at the bed
-
Consider: Use Stallguard to perform bed levelling/compensation.
that would only work where the Z steppers are able to push the nozzle down
if the X ends rest on Z isolators there will be no resistance when the nozzle touches the bed, but maybe the load will lighten enough that you can say that you are at the bed
You have a valid point - in all fairness I admit that I was particularly focused on deltas, because, I design/build/use deltas.
This idea does seem to me to be a very similar concept to the accelerometers recently being used, without having to implement any new hardware. And pretty cool that Duet is the only board that I'm familiar with that could do it.