I'd be interested in an Orbiter V2.0 or Bondtech LGX Lite or Revo Roto version.
Posts made by Philipp.R
-
RE: Combined Smart Effector and tool board for delta printers
-
RE: Error Message for "Controlled Arc Move" G2/G3
@dc42 is it possible to send you the config.g file via PN or Email because it's very sensetive to share on this platform.
-
Error Message for "Controlled Arc Move" G2/G3
Hello everyone,
I try to run an G-Code on my Printer which contains "Controlled Arc Moves" like G2 or G3.
If my G-Code has a coarse resolution it works fine. But if the segments are very small i get an error and the print get canceled!See G-Code example:
coares resolution:
G1 X224.550 Y107.950 F30000 G1 X224.550 Y167.050 E49.1068 F300 G2 X214.550 Y157.050 R10.000 G1 X165.450 Y157.050 E49.1068
fine resolution:
G1 X212.943 Y132.372 F30000 G1 X213.307 Y142.505 E0.1383 F300 G2 X212.777 Y142.510 R10.000 G1 X212.775 Y142.627 E0.1172 G2 X212.349 Y142.610 R10.000 G1 X212.342 Y142.727 E0.1171
Error message:
Now my suspicion is, that the Firmware calculates the G2 movment but at only one or two decimals of accurecy, so there will be a rounding issue and it will get Zero! Am i right?
What can i do to run this G-Code?
My Setup:
Board: Duet 3 MB6HC (MB6HC)
Firmware: RepRapFirmware for Duet 3 MB6HC 3.4.4 (2022-10-20) -
RE: Realtime Gcode Editing
@dc42 thank you for the answer. Make sense to approach it in SBC mode.
But also if i don't want to introduce additional hardware, is or will it be possible to do such changes in standalone mode too.
I'm thinking of timing the preheating process for toolchanger machines with tools in standbay mode. Or simular applications. -
Realtime Gcode Editing
Hi,
i'm just wondering, if it is already possible or intended to launch in the future to implement a realtime gcode editer into the RRF.
Right now, mostly an external post processor is used to change the gcode to the specific needs.
But would it be possible to let's say, impement a certain script which applies a modification to the gcode in future. So that the script is always about 200 lines ahead of the executed gcode and prepares it as to defined in the script.
This would eliminate the need of additional external software/postprocessors. Also it could take different actions for different tools without the need of the interaction of a user. All implemented in one Machine.
I would love to hear about wether if this feature would be useful or not?
-
RE: Wrong Feedrate with Mukti Axis G-Code
@T3P3Tony thanks for your reply. I will test it like you mentioned and report the result in a few days.
So i tested it with this configration, and now it works like it should:
M584 X0.0 E0.3:0.4 ; set drive mapping linear axes M584 A0.1 B0.2 C0.5 S1 ; set drive mapping rotational axes M350 X16 A16 B16 C16 E16:16 I1 ; configure microstepping with interpolation M92 X36.2 A28.5 B28.5 C15.0 E400.00:400.00 ; set steps per mm M566 X500.00 A500.00 B500.00 C500.00 E1200.00:1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X20000.00 A20000.00 B20000.00 C20000.00 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X2000.00 A2000.00 B2000.00 C2000.00 E2500.00:2500.00 ; set accelerations (mm/s^2) M906 X1000 A1000 B1000 C1000 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout
My Gcode is "G91 G1 X500 A500 B500 C-500 F500" and the X-Axis moved 500mm in 1min.
@T3P3Tony Thank you very much for your help
-
RE: Wrong Feedrate with Mukti Axis G-Code
@T3P3Tony i've tried the following:
first, reassign the Axes X,Y,Z to A,B,C. I tried with and without the "R" and "S" Parameter.
Then sended : G91 G1 A500 B500 F500 -> movment took 1min24sec to finish.
config.g
M584 A0.0 B0.1 C0.2 R1 S1 ; set drive mapping rotational axes M584 U0.5 E0.3:0.4 ; set drive mapping linear axes M350 A16 B16 C16 U16 E16:16 I1 ; configure microstepping with interpolation M92 A36.2 B28.5 C28.5 U15.0 E400.00:400.00 ; set steps per mm M566 A500.00 B500.00 C500.00 U500.00 E1200.00:1200.00 ; set maximum instantaneous speed changes (mm/min) M203 A20000.00 B20000.00 C20000.00 U20000.00 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 A2000.00 B2000.00 C2000.00 U2000.00 E2500.00:2500.00 ; set accelerations (mm/s^2) M906 A1000 B1000 C1000 U1000 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout
and i tried to set the X,Y,Z axes as rotational axes also with the "R" and "S" Parameter.
Then sended : G91 G1 X500 Y500 F500 -> movment took also1min24sec to finish.
M584 X0.0 Y0.1 Z0.2 R1 S1 ; set drive mapping rotational axes M584 U0.5 E0.3:0.4 ; set drive mapping M350 X16 Y16 Z16 U16 E16:16 I1 ; configure microstepping with interpolation M92 X36.2 Y28.5 Z28.5 U15.0 E400.00:400.00 ; set steps per mm M566 X500.00 Y500.00 Z500.00 U500.00 E1200.00:1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X20000.00 Y20000.00 Z20000.00 U20000.00 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X2000.00 Y2000.00 Z2000.00 U2000.00 E2500.00:2500.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 U1000 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout
Maybe i configured it wrong?
-
RE: Wrong Feedrate with Mukti Axis G-Code
@T3P3Tony Ok, let's say the machine has two tasks to do. One is to move the X-Axis to 500mm with F500 mm/min. The second task is an interaction between the remaining axes.
So the effector movment is completly constrained on the X-Axis and is linear.I want to input the G-Code "G91 G1 X500 Y500 Z500 U-500 F500". The result should be, that X-Axis moves 500mm per minute. And the remaining axes do their movements independently.
The importand thing is, that the movements of all axes should be done simultainiously and consistent.
-
RE: Wrong Feedrate with Mukti Axis G-Code
@T3P3Tony ok i see. The problem is that with the M669 ist applied, the Gcode command will be transformed to the cartesian Kinematic moves.
-
Is there a posibillity for the Duet to interpret the Gcode command for each axis indepandently?
-
Or do i have to change the matrix in a specific way to get the result i want?
-
-
RE: Wrong Feedrate with Mukti Axis G-Code
@jay_s_uk i's not a 3D-Printer but a Duet controlled machine. I can't go int details.
The kinematic is configured as followed:
M669
Kinematics is Cartesian, no segmentation, matrix:
1.00 0 0 0
0 1.00 0 0
0 0 1.00 0
0 0 0 1.00 -
Wrong Feedrate with Mukti Axis G-Code
Hi, i have issues to get the right feedrate when i run a multiaxis G-Code.
For example:
if i run a liner axis "X" with "G91 G1 X500 F500" then it moves 500mm in 1min. So as it should be.
if i run a liner axis "X" and "Y" with "G91 G1 X500 Y500 F500" then it moves 500mm in 1min 24sec.
if i run a liner axis "X", "Y" and "Z" with "G91 G1 X500 Y500 Z500 F500" then it moves 500mm in 1min 45sec.
if i run a liner axis "X","Y","Z" and "U" with "G91 G1 X500 Y500 Z500 U500 F500" then it moves 500mm in 2min.
So as i have different Steps/mm valus in config.g i also tried to set the steps/mm of X and Y the same.
For Example:
M92 X36.2 Y36.2
And then i sended the Gcode : "G91 G1 X500 Y500 F500" then it moves 500mm in 1min 24sec again. So no difference.I also increased the max. speed of all axis in the config.g to make sure no axis will lack behind.
So here are the specs of the machine.
Board: Duet 3 MB6HC (MB6HC)
Firmware: RepRapFirmware for Duet 3 MB6HC 3.4.5 (2022-11-30); Drives M569 P0.0 S0 ; physical drive 0.0 goes forwards M569 P0.1 S0 ; physical drive 0.1 goes forwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M569 P0.5 S1 ; physical drive 0.5 goes forwards M584 X0.0 Y0.1 Z0.2 U0.5 E0.3:0.4 ; set drive mapping M350 X16 Y16 Z16 U16 E16:16 I1 ; configure microstepping with interpolation M92 X36.2 Y28.5 Z28.5 U15.0 E400.00:400.00 ; set steps per mm M566 X500.00 Y500.00 Z500.00 U500.00 E1200.00:1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X20000.00 Y20000.00 Z20000.00 U20000.00 E1200.00:1200.00 ; set maximum speeds (mm/min) M201 X2000.00 Y2000.00 Z2000.00 U2000.00 E2500.00:2500.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 U1000 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout
Thank you in advance for your help.
-
RE: Conditional G Code & Multiple GCode streams - Duet3
@dc42 are there any news about the development stage of the "multiple GCode streams"?
-
RE: resurrect.g file does not finish correctly
@phaedrux thank you for the quick response.
config.g
Configure auto save on loss of power at line 81; config.g ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"" ; set printer name M575 P1 S1 B57600 ; set serial comms parameters M667 S1 ; select CoreXY mode ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S1 ; enable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S0 ; physical drive 1 goes forwards M569 P2 S0 ; physical drive 2 goes forwards M569 P3 S0 ; physical drive 3 goes forwards M569 P4 S0 ; physical drive 4 goes forwards M569 P5 S0 ; physical drive 5 goes forwards M569 P6 S1 ; physical drive 6 goes forwards M584 X0 Y1 Z2 E3:4:5:6 ; set drive mapping M350 X16 Y16 Z16 E16:16:8:16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z640 E837.00:4214.00:1240:4214.00 M566 X900.00 Y900.00 Z100.00 E120.00:120.00:120.00:120.00 ; set maximum instantaneous speed changes (mm/min) M203 X30000.00 Y30000.00 Z2000.00 E1200.00:1000.00:1200.00:1200.00 ; set maximum speeds (mm/min) M201 X800.00 Y800.00 Z1200.00 E2500.00:1000.00:250.00:2500.00 ; set accelerations (mm/s^2) M906 X1800 Y1800 Z1800 E1400:1400:1400:1400 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X-17 Y0 Z3 S1 ; set axis minima M208 X415 Y255 Z408 S0 ; set axis maxima ; Endstops M574 X1 S1 P"!xstop" ; configure active-low endstop for low end on X via pin xstop M574 Y1 S1 P"!ystop" ; configure active-low endstop for low end on Y via pin ystop M574 Z1 S2 ; configure Z-probe endstop for high end on Z only for BL-Touch ; Z-Probe M558 P9 C"^zprobe.in" H10 F900 T20000 A1 R0.75 S0.02 B0 X0 Y0 Z1 ; set Z probe type to bltouch and the dive height + speeds M950 S1 C"duex.pwm4" ; create servo pin 0 for BLTouch on exp.heater6 --> duex.pwm4 G31 P500 X25.4 Y-39.3 Z4 ; set Z probe trigger value, offset and trigger height -1.005 M557 X10:410 Y0:215 P12 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" Q100 T0 ; create bed heater output on bedheat and map it to sensor 0 M570 H0 P10 T20 S60 ; configer heaterfault detection M140 H0 M143 H0 S220 ; set temperature limit for heater 0 to 200C M307 H0 R1.086 C347.9 D2.11 S1.00 V23.9 M308 S1 P"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as thermocouple via CS pin spi.cs1 M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M570 H1 P10 T20 S60 ; configer heaterfault detection M143 H1 S510 ; set temperature limit for heater 1 to 500C M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q5 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off ; Tools M563 P0 S"Heatbed" D0 H5 F0 ; define tool 0 M563 P0 S"Tool_0" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z-5.33 ; Set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Miscellaneous M950 S0 C"duex.pwm5" ; create servo pin 0 for Magnet on exp.heater7 --> duex.pwm5 M950 J1 C"e1stop" ; Configure Pin number1 to e1stop M581 P1 T2 S0 R1 M911 S21.9 R23.0 P"M913 X0 Y0 G91 M83 G1 E-3 Z3 F800" ; Autosave at Powerfailure M376 H5 ; Set bed compensation taper ; set tools in standbay mode after start up T0 P0 ; call tool 0 without any movements G4 P500 ; wait 500 ms T-1 P0 ; remove any tool without any movements ; set tool change positions in X and Y global tool0_posX = -16.3 ; Set toolposition X for Tool 0 global tool0_posY = 315.9 ; Set toolposition Y for Tool 0 M98 P"Actual Toolnumber.html" ; call and set actual Toolnumber form file sys/Actual Toolnuber M501 ; Restore parameter from config-override.g
My emergency stop cut of the power from the duet board directly so it simulates like an conventional power outage/blackout. I configured it a while ago and it worked out with the emergency stop. Since the last time i tested it, i had a few RFF updates, so maybe there could be an issue.
-
resurrect.g file does not finish correctly
Hello,
today i tried to configure M911 " Configure auto save on loss of power".
It worked only until a certain point of the procedure.
1.print started
2.hit emergency button
4.start printer
3.typed M916 into console
4.procedure begins
5.resurrect.g also is created and resurrect-prologue.g within the resurrect.g is also executed
6.Stops after heating to preious temp and getting the right tool
7.print doesn't resumeHere my code:
line in Config.g
M911 S21.9 R23.0 P"M913 X0 Y0 G91 M83 G1 E-3 Z3 F800" ; Autosave at Powerfailure
resurrect.g
; File "0:/gcodes/mng.gcode" resume print after print paused at 2021-07-28 16:36 G21 M140 P0 S80.0 G29 S1 T-1 P0 G92 X191.590 Y158.915 Z-13.630 G60 S1 G10 P0 S0 R0 G10 P2 S0 R0 G10 P3 S0 R0 G10 P1 S200 R200 T1 P0 M98 P"resurrect-prologue.g" M116 M290 X0.000 Y0.000 Z0.000 R0 T-1 P0 T1 P6 ; Workplace coordinates G10 L2 P1 X0.00 Y0.00 Z0.00 G10 L2 P2 X65.00 Y134.00 Z0.00 G10 L2 P3 X152.00 Y160.00 Z0.00 G10 L2 P4 X237.00 Y185.00 Z0.00 G10 L2 P5 X0.00 Y0.00 Z0.00 G10 L2 P6 X0.00 Y0.00 Z0.00 G10 L2 P7 X0.00 Y0.00 Z0.00 G10 L2 P8 X0.00 Y0.00 Z0.00 G10 L2 P9 X0.00 Y0.00 Z0.00 G54 M106 S0.00 M106 P0 S0.00 M116 G92 E0.00000 M83 M486 S0 A"Process1" M486 S0G17 M23 "0:/gcodes/mng.gcode" M26 S18283 G0 F6000 Z2.150 G0 F6000 X191.590 Y158.915 G0 F6000 Z0.150 G1 F2100.0 P0 G21 M24
the procedure stop at least at line 17 in resurrect.g.
So by the way what exactly does "T1 P6" mean? Couldn't figure it out. Maybe to set the coordinate system P6 below?Is there a special order dependency for M911 in config.g?
I'm using:
Duet2Ethernet + Duex Expansionboard 5 channel
RRF 3.3 -
RE: Cancel movement with trigger
@benecito one way to go is to set up a trigger#.g file and try to disable Motormovements/currents of the E-Motor in this file when hitting your physical switch. See: https://duet3d.dozuki.com/Wiki/Gcode#Section_M18_Disable_all_stepper_motors
Also there are alot of possibilities with object model
-
RE: Cancel movement with trigger
@benecito in your M584 comment you have defined Driver3 to control your A and E axis, looks also kind of wierd to me, but i'm no sure about that.
Would also be interested to have an insight to your Gcode, do you have a A instead of an E Value for the extruding part?
Like: G1 X12 Y32 A24 -
RE: Cancel movement with trigger
@benecito you have defined M208 A40 S0... so the axis should stop after 40mm extruding right?
Did you tested it with a dry run? -
RE: Delta Frame Compensation
@jay_s_uk maybe you find some solution there: https://duet3d.dozuki.com/Wiki/Gcode#Section_M556_Axis_skew_compensation
-
RE: Problems with meta comments
@dc42 thank you for your help David it worked.
-
RE: Macros not showing on control page after updating from 1.24
Have also the same Problem with Duet2 + Exp.board, 1Bed, 4Printheads and Panel Due FW-Version 3.2.11 macros were not shown. Any progress there?