@omtek any homing command (G28 X/Y/Z), as well as triggering a bed level (G32) or a bed mesh (G29). Main difference between these and pause/tool change is that pause and tool change may interact with the extruder for retract/unretracts?
Posts made by oliof
-
RE: 3.5.1 - 'Error: Pop(): stack underflow on Aux'
-
RE: Resolved:Macro string errors since update to 3.5.1
since the error begins with
macros/
instead of/macros
I would look for invisible characters afterP"
Changing that macro call to begin with the sdcard, i.e.
M98 P"0:/macros/...", does the error message change when you do add
0:` in front? -
RE: Fryed my power supply
@ziggymanpopo it really depends on your printer, if its a 12V system it can work. just be aware that if you want to use the 5V rail to power the board, that usually is limited in available current. EDITED TO ADD: If you have to ask these things about a PSU, you probably are at risk of doing dangerous things. Find a friend whose done it before, or a certified electrician.
@moth4017 assuming that's a 110V rating, it's 10A input? Otherwise it would not be 1000W.
Overall, hard to say, we don't have enough information about the printer or the PSU OP wants to use...
-
RE: Duet3 6HC v1.02 and later
@Sophiechka you also need to consider the maximum voltage of the capacitors, the capacitors variance (5 or 10 percent, depending), and the PCB design limits. Just because the nominal maximum of the drivers is 60V doesn't mean it's a safe practical maximum in this particular application.
NB: 48V is already in the danger zone (i.e. you should treat it like 110/220V AC in terms of safety precautions).
-
RE: Uncomment out enable bed leveling
@ziggymanpopo you would remove the semicolon to load a preexisting bed mesh.
, but I'd advise against running bed leveling (as well as the homing sequence that needs to run previous to bed leveling) directly from config.g -- imagine having a print left on the printer at power off and homing/bed leveling crashing into that (or, even more likely, a partial print after an emergency stop/ immediate halt). -
RE: Duet3 6HC v1.02 and later
@Sophiechka I believe the actual version number is part of the silkscreen of the back of the board. Input voltage is output voltage for the motors, other IO is either VIN or 12V (switchable per bank).
-
RE: M109 not waiting if temp higher?
@Chriss You would need to use
M109 R130
for a wait for cooldown. The documentation at https://docs.duet3d.com/User_manual/Reference/Gcodes#m109-set-extruder-temperature-and-wait does explain this, but it's a bit terse (-: -
RE: Adding driver to Duet 2 wifi?
@KennethR happy to hear you were able to make it work and you picked up some valuable skills along the way.
-
RE: Duet 2 to upgrade Creality CR-30 ? Possible or not ?
@StAnZ-007 X and Y are more or less standard CoreXY on this machine, You could just give Z a very high maximum axis length to make best use of this.
What's more challenging is to implement the repeat function (M303) in RepRapFirmware so that slicers emitting repeats can be used without additional post processing. You will also need to reset Z position on repeats because you can't set just the Z axis to relative mode which would be the best solution for a belt printer.
The printer also has some design limitations to take into account even if you get it to work with RRF:
- The original Core driving motors tend to flex under belt tension; you might want to look at the NAK3D double shear motor replacements.
- The X carriage tends to dip because using V-wheels on a 45 degree extrusion causes it to be unstable; you might want to look at replacing it with a rail mounted solution (I believe NAK3D also provides a kit for it but I am not sure).
- The print head itself has precious little clearance to the surface due to the way it's mounted; using something like the "nonplanar nozzle" can help with clearance but requires a different cooling solution.
- The print surface heater tends to buckle, you can shimmy it to avoid that normal v6 heater blocks seem to have just the right height.
- Tuning Z height is notoriously frustrating: too close to the top surface and the belt will spring back after it's being printed on causing weird; too far and no print adhesion. Using glue or other adhesion helpers is not an option.
- Tensioning the belt correctly is a bit challenging but not impossible. Unfortunately Creality swaps out belt material without announcement so what works for one printer may be inappropriate for another.
-
RE: Auto pressure advance turning by hotend pressure
@Richard-F that's the simple runout switch that you find on many printers. There are other filament failures you'd want to catch.
-
RE: Input shaping . can i just run a auto tune ?
@Richard-F you ran your test with EI3 enabled. Run accelerometer tests with IS disabled.
-
RE: how to do escape homing using sensor?
@achrn endstop inversion is a great idea! Much cleaner than my whole loop.
I forgot about it even though I used it with a Z probe as X endstop on a machine for a while ...
-
RE: how to do escape homing using sensor?
Maybe like this for X, calling
M98 P"escape-homex.g
from homex.g:; escape-homex.g example macro ; UNTESTED PROCEED AT YOUR OWN RISK ; safeguard if {sensors.endstops[0].endstopType = "motorStallAny" || sensors.endstops[0].endstopType = "motorStallIndividual" || sensors.endstops[0].endstopType="unknown"} abort "unsupported endstop type" ; travel speeds var fast_travel=3600 var slow_travel=600 ; determine homing move direction and length. ; this accounts for negative axis minima on center-zeroed or endstop offsets. var homing_move_length=abs(move.axes[0].min)+ move.axes[0].max + 5 var backoff_direction = 1 ; endstop at axis max if{sensors.endstops[0].highEnd} set var.backoff_direction=-1 ; endstop at axis min else set var.backoff_direction=1 ; standard homing pass if{sensors.endstops[0].highEnd G1 H1 X{var.homing_move_length} F{var.fast_travel} else G1 H1 X-{var.homing_move_length} F{var.fast_travel} ; relative positioning G91 ; move one hundredth of a millimeter until endstop stops triggering. while {sensors.endstops[0].triggered} G0 X{0.01 * var.backoff_direction} F{var.slow_travel} M400 ; back to absolute position G90 M400 ; set axis position according to endstop arrangement if {sensors.endstops[].highEnd} G92 X{move.axes[0].max} else G92 X{move.axes[0].min}
That said, to achieve a very similar effect, the convention in RRF is to do a fast homing move, backing off from the endstop for a short length, and then to do a slow homing move. Both approaches reduce the effect of overtravel on repeatability of the homing prodecure.
EDIT: This script is a little bit more complex than it would need to be to show the escape homing mechanism since I had to get this "generalized homing macro" idea out of my head. The part @R006 is interested happens in lines 30 to 37.
-
RE: Input shaping . can i just run a auto tune ?
@Richard-F if you untick the check boxes on the right, you see the measurement from the accelerometer.
Choose one checkbox after the other to see how it affects the graphs.
You usually have one peak where one or both axes (X and Y, ignore Z on a typical printer) have the highest value on the graph. That should be the frequency to set in your M593 command.
The various algorithms do different amounts of shaping "around" your target frequency (ZV does the least, EI3 and ZVDDD to the most for our purposes). You would usually pick an algorithm that results in the flattest overall curve, while affecting the narrowest range of frequencies (otherwise you get the Input Shaper-induced slowdown for frequencies where it's not needed).
Since RepRapFirmware currently does not support setting individual frequencies per axis, you may need to pick a frequency that allows you to cover both peaks without going too wide.
If your X shows a peak at frequency 41Hz, and Y shows a peak at frequency 44Hz, you can usually just set
M593 F41 P"mzv"
and call it a day. If the difference is higher, i.e. 37Hz on X and 78Hz on Y, you can try something likeM593 F63 P"zvddd"
-- it really depends on your machine though.I don't know if the upcoming re-implementation of IS will provide a facility to set per axis frequencies (like Marlin and Klipper) and algorithms (like Klipper and Marlin with Fixed Time Motion Planning), we will have to wait and see what @dc42 comes up with.
Lastly: If you have multiple peaks on your measurement, you very likely have a mechanical issue that cannot be countered by Input Shaping (loose bolts, bad tension, broken bearings in pulleys), and you need to find and fix those.
-
RE: Verifying real vs theoretical distances
@bernardomattiucci first problem is that your measurement tape is not a reliable reference. I had some with an error of up to 10% per centimeter. Get a high quality set of calipers.
-
Conditional GCode best practices PDF Points to dozuki
https://forum.duet3d.com/assets/uploads/files/1589979002114-conditional-g-code-best-practice.pdf still points to dozuki and is one of the primary hits on everyone's default search engine.
-
RE: Conditional Code Based on temperature
@PDBeal yes,
var
is local to the macro (technically block-local,var
within an if/while statement is not available outside of that; var at the beginning of a macro is available for all of the macro since that's the logical block).global
would be used for globally / cross macro variables, which also can be useful at times.See https://docs.duet3d.com/en/User_manual/Reference/Gcode_meta_commands#variables for official docs.
-
RE: Extruder Concept . AM i mad
@achrn A number of issues with teeth:
a) they elongate the material so extrusion is somewhat uneven. With too much tension on an idler this can lead to visible defects.
b) the typical dual gear extruders suffer from gear meshing issues which lead to "wood grain texture" since the gear meshing translates directly to slight deviations in the extrusion.
Back when I tested the Palatis FricEx I was able to see the difference in surface quality between a genuine Bondtech BMG and the Palatis FricEx on vase mode prints (using the identical printer with identical filament and identical gcode), and it translated well to the Papilio Lite.
c) a number of dual gear extruders have further issues due to tolerances between gears, axles, and bearings which again translate directly into the depths of the bites which affect extrusion efficiency.
A friction drive does not suffer from these issues because the transmission is indirect rather than direct.
Further advantagea of the belt extruder are that it's easier to use for co-extrusion (which was Proper Printing's premier reason to develop a belt friction extruder) and that the abrasiveness of the filament itself does not affect the extruder since it only grabs it, but does not bite it.
There are some certain drawbacks as well: The four-gear arrangements puts a limit on how small you can make these extruders, you need to hit good tolerances to avoid belt rubbing and material deposition, and closed loop belts aren't that ubiquituous. Also, at least with the Papilio you cannot adjust tension or assumed diameter, so low quality filament with variable diameter or pultrusion filament which often ends up with a lower diameter may not work too well.
(and yes, the hollow shaft extruder we discussed a short while ago also suffers less from the things above due to the reduced amount of knife-edge-to-filament contact compared to a typical dual gear setup).