@jay_s_uk Wow I seriously have read over that 10 times I think. sorry for the unnessecary question
Thanks all!
![](/assets/uploads/profile/uid-12082/12082-profileavatar-1735914996469.jpeg)
Best posts made by SanderLPFRG
-
RE: On-device start gcode handling
-
RE: longterm probe reliability testing
@Notepad works really well, thanks!
Got good results too, and plotted them in graphs! which shows a fun correlation of the temperature drift of our probe!
Thanks for the script! Appreciate it
-
Home aditional V/W axis individually with probe
Hi all,
We have made a 3D printer with 2 micro-Z printhead axes (V and W), which move the IDEX printheads up and down 14mm to level 2 different tool types and automatically adjust/calibrate the printhead Z-offset.
We first got this system working with a microswitch type probe, which we, in a macro, temporarily reconfigured as an endstop for axis V/W, which we then "homed" towards the printed until triggered. When done for both tools, this calibrated the Z-offset automatically.
Now, however, we moved over to a loadcell probe (analog readout via configuring as scanning Z-probe, amplified and filtered with custom CAN-communicated PCB) which we cannot configure as an endstop to home towards.
My question is;
Is it possible to do a G30 S-1 probe (just probe and stop) with a probe number defined (K0/K1), but move axis V or W instead of the Z-axisnote;
running 3.6.0 beta-2 -
RE: Other analog Scanning Z Probes?
@SanderLPFRG Got it working, version mismatch.
-
RE: M291 S4+ commands not working on RRF 3.5beta2
@chrishamm It works!!
It both updated correctly, and now the M291 functions correctly.
Massive thanks Chris and Tony.I'll now work on trying to understand how I can use the input to trigger Gcode commands
-
RE: Trying to fix my dual markforged (HAQ-XY) kinematics
@gloomyandy said in Trying to fix my dual markforged (HAQ-XY) kinematics:
at it is probably not a good thing
Ill redesign the belt tensioning mechanism and the belt mounting, when measuring it indeed looks to be too loose
WIll see what this does -
RE: How do I use the filament sensor as a trigger for autoloading??
@OwenD I did exactly that yesterday late afternoon. It is working now.
; Custom buttons M950 J1 C"^io2.in" ; define logical input for E1 filamentsensor M581 P1 T2 S0 R2 ; define trigger for filament auto load (trigger2.g) M581 P1 T4 S1 R1 ; define trigger for filament runout (trigger4.g)
Thank you very much both!
-
RE: Cannot use M291 input as variable in loop
@OwenD Damn, this did the trick. Thank you so much owen! also thanks @chrishamm
-
RE: longterm probe reliability testing
My goal is to test a shitload of probes, and see how much it starts to deviate after thousands. Your script might actually work, let me test
Latest posts made by SanderLPFRG
-
RE: move outside of machine limits with G2 move, in tool 2
@droftarts 3.6.0 beta 2 and beta 3 tried both
-
move outside of machine limits with G2 move, in tool 2
when printing with tool 2, I often get a "outside of machine limits" error at the first G2 movement of a Gcode, even if the moves are well within these limits. Below I attached my config, the first part of the failing code, and the console with error.
Testing I already did;
- The same code does print correctly with Tool 1.
- The same model (nothing else changed) does print when arc fitting is disabled
Could this be a bug?
Console;
24/01/2025, 12:04:19: Connected to one.local 24/01/2025, 12:05:07: Connection established 24/01/2025, 12:05:57: M32 "0:/gcodes/ONE_P-0026789 v1_0.2mm_PETG_1d13h17m.gcode": File 0:/gcodes/ONE_P-0026789 v1_0.2mm_PETG_1d13h17m.gcode selected for printing 24/01/2025, 12:06:01: : Warning: Tool 0 was not driven because its heater temperatures were not high enough or it has a heater fault 24/01/2025, 12:07:58: : Leadscrew adjustments made: 0.715 1.917 0.735, points used 3, (mean, deviation) before (0.464, 0.433) after (-0.000, 0.000) 24/01/2025, 12:08:33: : Leadscrew adjustments made: 0.283 0.278 0.292, points used 3, (mean, deviation) before (0.290, 0.004) after (-0.000, 0.000) 24/01/2025, 12:10:09: : Cancelled printing file 0:/gcodes/ONE_P-0026789 v1_0.2mm_PETG_1d13h17m.gcode, print time was 0h 4m 24/01/2025, 12:10:09: : Error: in GCode file line 53: G2: outside machine limits <---------------- this is the error I mean
Gcode;
; generated by PrusaSlicer 0.1.0 on 2025-01-23 at 14:07:14 UTC ; Speed; ** ; Visual; ** ; Strengh ;***** ; external perimeters extrusion width = 0.44mm ; perimeters extrusion width = 0.44mm ; infill extrusion width = 0.44mm ; solid infill extrusion width = 0.44mm ; top infill extrusion width = 0.44mm ; first layer extrusion width = 0.44mm M201 X7000 Y7000 Z200 E10000 ; sets maximum accelerations, mm/sec^2 M203 X24000 Y24000 Z720 E6000 ; sets maximum feedrates, mm / min M204 P4000 T5000 ; sets acceleration (P, T), mm/sec^2 M566 X480.00 Y480.00 Z120.00 E1200.00 ; sets the jerk limits, mm/min ; printing object P-0026789 v1.stl id:0 copy 0 ; stop printing object P-0026789 v1.stl id:0 copy 0 ;TYPE:Custom ;Prusaslicer section; ; Define prusaslicer variables ; called with M98 P"0:/macros/print-start" M98 P"0:/macros/print-start" A220 B240 C50 D243.852 E356.148 F193.852 H306.148 I1 J"false" K"true" L"FLEX" O"PETG" Q0.4 R0.4 S150 T170 G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion ; Begin toolchange script ; End toolchange script T1 ; Filament gcode M107 ;LAYER_CHANGE ;Z:0.2 ;HEIGHT:0.2 ; printing object P-0026789 v1.stl id:0 copy 0 G1 E-.7 F2100 ; stop printing object P-0026789 v1.stl id:0 copy 0 G1 Z1.7 F720 G1 X272.388 Y226.982 F24000 G1 Z.2 F720 G1 E.7 F1500 M204 P2000 ;TYPE:Skirt/Brim ;WIDTH:0.44 G1 F3300 G2 X303.244 Y214.197 I27.609 J23.006 E6.30864 ;< ------------- this is line 53, gives the error G2 X281.929 Y218.923 I-3.136 J36.289 E.73211 G2 X272.427 Y226.936 I18.068 J31.065 E.41247 M204 P4000
Config;
;------------------------------ General settings -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ; Preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"one" ; set printer name G4 S5 ; Set global variables global leftloadedfilament = "PLA" global rightloadedfilament = "PLA" global leftnozzlesize = "0.40" global rightnozzlesize = "0.40" global variableprobel = 10000 global variableprober = 10000 ; Reset probe trigger values on reset ;------------------------------ Drive and motion -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ; Drive & motion definition M569 P60.0 S1 ; physical drive 60.0 goes backwards (E1) M569 P61.0 S0 ; physical drive 61.0 goes backwards (E2) M569 P0.0 S0 ; physical drive 0.0 goes backwards (X) M569 P0.1 S0 ; physical drive 0.1 goes backwards (Y1) M569 P0.4 S1 ; physical drive 0.4 goes forwards (Y2) M569 P0.5 S0 ; physical drive 0.5 goes forwards (U) M569 P50.0 S0 D3 ; physical drive 50.0 goes forwards (V) M569 P51.0 S0 D3 ; physical drive 51.0 goes forwards (W) M569 P1.0 S0 ; physical drive 1.0 goes forwards (Z1) M569 P1.1 S0 ; physical drive 1.1 goes forwards (Z2) M569 P1.2 S0 ; physical drive 1.2 goes forwards (Z3) M970 X1 U1 Y1 M584 X0.0 U0.5 Y0.1:0.4 E60.0:61.0 Z1.0:1.1:1.2 V50.0 W51.0 ; set drive mapping M669 K11 X1:0:0:0 Y1:1:0:-1 Z0:0:-1:0 U0:0:0:1 ; set markforged kinematics M350 X16 U16 Y16 Z16 V32 W32 I1 ; configure axis microstepping with interpolation M350 E16:16 I1 ; configure extruder microstepping with interpolation M92 X80 Y80 Y80 E800:800 Z800.00 V17777.78 W17777.78 ; set steps per mm M906 X2100 U2100 Y2100 E580:580 Z1900 V165 W165 I40 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; set idle timeout ; Machine axis limits M208 X-70.5 U0 Y0 Z0 V0 W0 S1 ; set axis minimal M208 X600 U672.5 Y510 Z600 V14 W14 S0 ; set axis maximal M671 X702.75:300:-102.75 Y47.125:-537.35:47.125 S10 ; Z leadscrews are at (-41,-14), (130,325.5) and (601, -14) and set compensation allowance to 20mm ;M671 X-102.75:300:702.75 Y-47.125:537.35:-47.125 S10 ; Z leadscrews are at (-102.75,-47.125), (300,537,35) and (702,75, -47,125) and set compensation allowance to 20mm ; Machine movement limits M203 X30000 U30000 Y30000 E12000:12000 Z1200 V180 W180 ; set maximum speeds (mm/min) M201 X8000 U8000 Y8000 E2500:2500 Z100.00 V2 W2 ; set maximum accelerations (mm/s^2) ; Machine motion settings M593 P"MZV" F37 S0.05 ; set ZVD input shaping to cancel ringing at 40.5Hz M566 X540 U540 Y540 E1200:1200 Z900 V100 W100 ; set instantaneous speed changes (mm/min) M204 P1500 T8000 ; set actual accelerations ;------------------------------ Sensors and inputs ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ; Endstops M574 X1 S1 P"^!50.io1.in" ; configure switch-type endstop for low end on X via pin 2.io3.in M574 U2 S1 P"^!51.io1.in" ; configure switch-type endstop for high end on U via pin 2.io1.in M574 Y2 S1 P"io2.in" ; configure switch-type endstop for high end on Y via pin 2.io2.in M574 V2 S1 P"50.io0.in" ; configure switch-type endstop for high end on V via pin 1.io2.in M574 W2 S1 P"51.io0.in" ; configure switch-type endstop for high end on W via pin 1.io3.in ; Z-Probe M558 K0 P11 C"50.temp2" H7:1 F300:120 T21000 A3 S0.05 R1 ; Set E1 Z probe, set dive height, probe speed, required accuracy and travel speed set global.variableprobel = {sensors.probes[0].value[0]}+2750 G31 K0 P{global.variableprobel} X0 Y0 Z-0.45 ; Set Z offset of E1 probe M558 K1 P11 C"51.temp2" H7:1 F300:120 T21000 A3 S0.05 R1 ; Set E1 Z probe, set dive height, probe speed, required accuracy and travel speed set global.variableprober = {sensors.probes[1].value[0]}+2750 G31 K1 P{global.variableprober} U0 Y0 Z-0.45 ; Set Z offset of E1 probe M557 X25:575 Y25:475 P7:5 ; define mesh grid M376 H10 ; Filament control buttons ;M950 J1 C"2.io2.in" ; define logical input for E1 filamentsensor ;M581 P1 T2 S0 R0 ; define trigger for filament auto load triggers trigger2.g ;M950 J2 C"2.io3.in" ; define logical input for E1 filamentunload ;M581 P2 T3 S0 R0 ; define trigger for filament auto unload triggers trigger3.g ;M950 J3 C"2.io4.in" ; define logical input for E2 filamentsensor ;M581 P3 T4 S0 R0 ; define trigger for filament auto load triggers trigger4.g ;M950 J4 C"2.io5.in" ; define logical input for E2 filamentunload ;M581 P4 T5 S0 R0 ; define trigger for filament auto unload triggers trigger5.g ; Accelerometer inputs M955 P"50.0" I16 ; configure accelerometer sensor, set orientation, sampling and resolution M955 P"60.0" I46 ; configure accelerometer sensor, set orientation, sampling and resolution M955 P"51.0" I16 ; configure accelerometer sensor, set orientation, sampling and resolution M955 P"61.0" I46 ; configure accelerometer sensor, set orientation, sampling and resolution ;------------------------------ Heaters and Fan outputs ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ; Heaters, Bed zones M308 S0 P"temp0" Y"thermistor" A"Bed zone 1" T100000 B3950 ; configure bed zone 1 temperature sensor M950 H0 C"out1" T0 ; create bed heater output and map it to correct sensor M307 H0 R0.362 K0.500:0.000 D6.39 E1.35 S1.00 B0 ; enable and set PID temperature control for bed zone 1 M140 P0 H0 ; map bed zone 1 to correct heater M143 H0 S120 ; set temperatare limit for heater 0 to 120C M308 S1 P"temp1" Y"thermistor" A"Bed zone 2" T100000 B3950 ; configure bed zone 2 temperature sensor M950 H1 C"out2" T1 ; create bed heater output and map it to correct sensor M307 H1 R0.362 K0.500:0.000 D6.39 E1.35 S1.00 B0 ; enable and set PID temperature control for bed zone 2 M140 P1 H1 ; map bed zone 1 to correct heater M143 H1 S120 ; set temperatare limit for heater 1 to 120C ; Heaters, extruder M308 S2 P"60.temp0" Y"thermistor" A"Nozzle1" ; configure left printhead temperature sensor M950 H2 C"60.out0" T2 ; create left printhead heater output and map it to correct sensor M307 H2 R2.581 K0.635:0.000 D4.58 E1.35 S1.00 B0 V23.7 ; enable and set PID temperature control for left printhead M143 H2 P1 S350 ; set temperature limit for left printhead to 280C M572 D0 S0.01 ; set pressure advance for left printhead ;M308 S4 P"temp3" Y"thermistor" A"HeatsinkLeft" T100000 B4138 M308 S3 P"61.temp0" Y"pt1000" A"Nozzle2" ; configure right printhead temperature sensor M950 H3 C"61.out0" T3 ; create left printhead heater output and map it to correct sensor M307 H3 R2.736 K0.422:0.391 D4.34 E1.35 S1.00 B0 V24.0 ; enable and set PID temperature control for lerightt printhead M143 H3 P2 S350 ; set temperature limit for right printhead to 280C M572 D1 S0.01 ; set pressure advance for right printhead ;M308 S5 P"temp2" Y"thermistor" A"HeatsinkRight" T100000 B4138 ; Fans M950 F0 C"60.out1" Q317.5 ; create fan 0 (E1 part) on pin 2.out3 and set its frequency M106 P0 S0 H-1 C"Tool1 part" ; set fan 0 value. Thermostatic control is turned off M950 F1 C"61.out1" Q317.5 ; create fan 1 (E2 part) on pin 2.out4 and set its frequency M106 P1 S0 H-1 C"Tool2 part" ; set fan 1 value. Thermostatic control is turned off M950 F2 C"60.io0.out" Q500 ; create fan 2 (E1 heat) on pin out5 and set its frequency M106 P2 S1 H2 T45:50 ; set fan 2 value. Thermostatic control is turned on M106 P2 S1 H2 T45:50 C"Tool1 Heat" ; set fan 2 value. Thermostatic control is turned on M950 F3 C"61.io0.out" Q500 ; create fan 3 (E2 heat) on pin out6 and set its frequency M106 P3 S1 H3 T45:50 C"Tool2 Heat" ; set fan 3 value. Thermostatic control is turned on M950 F4 C"1.out3" Q500 ; create fan 4 (SBC) on pin out6 and set its frequency M106 P4 S1 H-1 C"PC" ; create fan 4 value. Thermostatic control is turned on M950 F5 C"1.out4" Q500 ; create fan 5 (main) on pin out6 and set its frequency M106 P5 S1 H-1 C"Mainboard" ; set fan 0 value. Thermostatic control is turned of M950 F6 C"1.out5" Q500 ; create fan 6 (exp1) on pin out6 and set its frequency M106 P6 S1 H-1 C"Expansion" ; set fan 0 value. Thermostatic control is turned off M950 F8 C"out4" Q500 ; create fan 8 (Extraction) on pin out6 and set its frequency M106 P8 S0.1 H-1 C"Extraction" ; set fan 3 value. Thermostatic control is turned on ;------------------------------ Miscellaneous ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ; Configure chamber LED ;M950 F10 C"out3" ; create chamber LED strip on correct pin ;M106 P10 C"LED" S1.0 ; define chamber LED name and set starting value ; Configure status LED M950 F11 C"1.io0.out" Q500 ; create red LED strip on correct pin M106 P11 C"RGB Red" S0.0 ; define red LED name and set starting value M950 F12 C"1.io1.out" Q500 ; create green LED strip on correct pin M106 P12 C"RGB Green" S0.0 ; define green LED name and set starting value M950 F13 C"1.io2.out" Q500 ; create blue LED strip on correct pin M106 P13 C"RGB Blue" S1.0 ; define blue LED name and set starting value ;------------------------------ Tool definition --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ; Tool Left M563 P0 S"Left" D0 H2 X0 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Tool Right M563 P1 S"Right" D1 H3 X3 F1 ; define tool 1 G10 P1 U0 Y0 Z0 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Tool Duplication M563 P2 S"Dulplication" D0:1 H2:3 X0:3 F0:1 ; tool 2 uses both extruders, hot end heaters and fans, and maps X to both X and U G10 P2 X150 Y0 U-150 S0 R0 ; set tool offsets and temperatures M567 P2 E1:1 ; set mix ratio 100% on both extruders
-
RE: manual bed probe - for loadcell
@jay_s_uk yeahh I tried that already, but selective probing with scanning-type probe still tries to, youknow, scan.
Guess the only possibility is to enable the possibility to define a type1 probe on a CANboard
-
RE: manual bed probe - for loadcell
@jay_s_uk Hi, thanks for the reply
You mean setting the Probe type to P0? can I then still do a G30 probe with the load cell? -
manual bed probe - for loadcell
Hi,
I can now only configure our analogue-in loadcell probe as a SZP, which reads the signal correctly, and G30 functions well, but when doing a G29, it tries to scan the bed, resulting in a nozzle that scrapes the bed.
Until I figure out the firmware, I want to enable a simple mesh probe manually, which I want to do with;
M561 ; clear any bed transform ; If the printer hasn't been homed, home it if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed G28 ; Probe the bed and do auto calibration G1 X{move.axes[0].min} Y{move.axes[1].min} U{move.axes[3].max} Z10 F12000 ; go to neutral position ;Start probing G30 P0 X25 Y25 Z-99999 G30 P1 X299.5 Y25 Z-99999 G30 P2 X574 Y25 Z-99999 G30 P3 X25 Y250 Z-99999 G30 P4 X299.5 Y250 Z-99999 G30 P5 X574 Y250 Z-99999 G30 P6 X25 Y475 Z-99999 G30 P7 X299.5 Y475 Z-99999 G30 P8 X574 Y475 Z-99999 G29 S3 P"usual.csv" ; save probed points to "usual.csv"
I wonder if such thing is even possible, any tips?
-
RE: Other analog Scanning Z Probes?
@dc42 is it okay if I try to enable this functionality in a branch via github? If I manage I will make a pull request for you to integrate it into the main branches.
Lot to learn for myself, but I like a challenge.
-
RE: Other analog Scanning Z Probes?
@SanderLPFRG Got it working, version mismatch.
-
RE: Other analog Scanning Z Probes?
@dc42 I just tried to build with the latest master branch of the libtinyusb from here; https://github.com/Duet3D/LibTinyusb
I also tried the 3.6.0 beta2 release, which is the same as the rrf sourcecode I am trying to build
still did not work, same error
-
RE: Other analog Scanning Z Probes?
@dc42 please note that the tusb.h file is actually present
-
RE: Other analog Scanning Z Probes?
@dc42 said in Other analog Scanning Z Probes?:
Yeahh the biggest issue is that I do not want the loadcell configured as a scanning-type probe, but as a normal analog probe, which is prohibited for CANboards. so I am leaning to version 2.
I am trying to build new firmware for the 6HC (to remove the error it raises when remote Z probe type is not 8, 9 or 11) but I am getting building errors regarding the CoreN2G...
"../src/TinyUsbInterface.cpp:28:10: fatal error: tusb.h: No such file or directory"