@jay_s_uk Wow I seriously have read over that 10 times I think. sorry for the unnessecary question
Thanks all!
Best posts made by SanderLPFRG
-
RE: On-device start gcode handling
-
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: 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: 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: 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
-
longterm probe reliability testing
Hi all,
we are trying to test the reliability of our new loadcell probing system to see if it lasts 10 years.
it equals to a load of probes (213.000) which I plan to test in 4 stages (53.250 per test)
I wanted to test it with a loop;
while iterations<53250 G30 P{iterations} Z-9999 ;endif G30 P53250 Z-9999 S-1
But quite quickly I get the error "Error: G30: Z probe point index out of range"
Is there a different way to do these long tests?
-
RE: z-probe ADC voltage
@droftarts Hi,
Get it, so I can only connect a digital sensor to the expansion boards??
May I ask why this limitation is in place? and is there a way to hack myself around it in firmware? Like can I trick the firmware into thinking there is a SZP connected? that seems to put out analog signal as well.
-
RE: z-probe ADC voltage
Thanks for the quick reply.
The loadcell circuit is now implemented to a custom Devboard we made, and therefore hardwired to a "Thermistor input". (based of of this previous topic; https://forum.duet3d.com/post/262561) We will see if we can rewire it to an IO input.
Can we then configure the P1 analog sensor from an expansion board??
As for the files; sure, we got a lot of help from the community so it would be nice to give something back. I cannot give the schematic tho, since that is still in development.
Basically, we self-developed the wheatstone-bridge load cell sensor with the 4-wire pinout (EXC+, EXC-, Sig- and Sig+). Then we wired these to an INA818 op-amp to amplify the signal significantly and used some diodes to limit the output voltage to 80mV and 1.92V to protect the ADC input on the chip. Amplification is set with a resistor -
RE: z-probe ADC voltage
Tapping into this conversation; We made a loadcell amplifier board with the INA818 op-amp to boost the loadcell signal and we got a range of 80mV to 2.3V output, which we now wired to the temp2 input of our roto toolboard.
It successfully works when we configure it as a linear-analog sensor with M308, after which it shows as a temperature readout.
is there a way to convert this software-wise to a probing input?? I cannot figure out how to set P1 or P3 type from a thermistor input pin
-
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: Trying to fix my dual markforged (HAQ-XY) kinematics
@droftarts yeahh it is a big printer, belts are hanging free for 700mm, I need to tighten them a shitload to fix it, could this be the issue?
-
RE: Trying to fix my dual markforged (HAQ-XY) kinematics
@droftarts to aid troubleshooting, I made 4 videos of short moves (20mm) at 200mm/s, at 10.000mm/s^2;
Only X-motor (Pure X-move);
Pure X.mp4Only Y-motors (Diagonal move to front-middle);
Diagonal.mp4Both X and Y middle of bed (Pure Y move);
Pure Y middle.mp4Both X and Y all the way at left of bed (Pure Y move);
Pure Y left.mp4You can see that the printhead only wobbles side-to-side on movement including both motors, and it is the same on the exact middle and all-left on the X axis
-
RE: Trying to fix my dual markforged (HAQ-XY) kinematics
Thanks @droftarts!
Here you go, if you need anything else, please let me know!
M122;
M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.5.1 (2024-04-19 14:30:55) running on Duet 3 MB6HC v1.02 or later (SBC mode) Board ID: 0JD4M-958L1-M2NSW-6J1DL-3S46S-12KTW Used output buffers: 1 of 40 (19 max) Error in macro line 80 while starting up: M955: Accelerometer not found on specified port === RTOS === Static ram: 155208 Dynamic ram: 91404 of which 2172 recycled Never used RAM 94352, free system stack 202 words Tasks: SBC(2,ready,0.9%,396) HEAT(3,nWait 6,0.0%,321) Move(4,nWait 6,0.0%,336) CanReceiv(6,nWait 1,0.1%,770) CanSender(5,nWait 7,0.0%,334) CanClock(7,delaying,0.0%,346) TMC(4,nWait 6,9.0%,54) MAIN(2,running,89.9%,103) IDLE(0,ready,0.1%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:21:07 ago, cause: power up Last software reset at 2024-07-13 18:28, reason: User, Gcodes spinning, available RAM 93944, slot 1 Software reset code 0x6003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 MCU temperature: min 25.4, current 37.9, max 38.1 Supply voltage: min 23.9, current 23.9, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.3, max 12.5, under voltage events: 0 Heap OK, handles allocated/used 99/10, heap memory allocated/used/recyclable 2048/180/0, gc cycles 0 Events: 1 queued, 1 completed Driver 0: standstill, SG min n/a, mspos 8, reads 6680, writes 14 timeouts 0 Driver 1: standstill, SG min n/a, mspos 8, reads 6680, writes 14 timeouts 0 Driver 2: standstill, SG min n/a, mspos 8, reads 6680, writes 14 timeouts 0 Driver 3: standstill, SG min n/a, mspos 8, reads 6680, writes 14 timeouts 0 Driver 4: standstill, SG min n/a, mspos 8, reads 6680, writes 14 timeouts 0 Driver 5: standstill, SG min n/a, mspos 8, reads 6680, writes 14 timeouts 0 Date/time: 2024-07-13 20:12:27 Slowest loop: 20.29ms; fastest: 0.08ms === Storage === Free file entries: 20 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP* is doing "M122" in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger* is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 11321, received 80667, lost 0, errs 1, boc 0 Longest wait 1ms for reply type 6018, peak Tx sync delay 333, free buffers 50 (min 49), ts 6340/6339/0 Tx timeouts 0,0,0,0,0,0 === SBC interface === Transfer state: 5, failed transfers: 0, checksum errors: 0 RX/TX seq numbers: 48340/48340 SPI underruns 0, overruns 0 State: 5, disconnects: 0, timeouts: 0 total, 0 by SBC, IAP RAM available 0x253c0 Buffer RX/TX: 0/0-0, open files: 0 === Duet Control Server === Duet Control Server version 3.5.1 (2024-04-19 16:20:35, 32-bit) HTTP+Executed: > Executing M122 Code buffer space: 4096 Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0 Full transfers per second: 39.14, max time between full transfers: 484.9ms, max pin wait times: 31.7ms/1.2ms Codes per second: 0.08 Maximum length of RX/TX data transfers: 4818/984
M699;
M669 Kinematics is markForged, no segmentation, modified matrix: 1.00 0 0 0 0 0 1.00 1.00 0 -1.00 0 0 0 0 -1.00 0 0 0 0 0 0 1.00 0 0 0 0 0 0 1.00 0 0 0 0 0 0 1.00
Config.g;
; generated by Sander Hesp for Leapfrog 3D printers ;------------------------------ General settings -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ; Preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"ONE" ; set printer name ; Set global variables global leftloadedfilament = "PLA" global rightloadedfilament = "PLA" global leftnozzlesize = "0.40" global rightnozzlesize = "0.40" ;------------------------------ Drive and motion -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ; Drive & motion definition M569 P0.0 S0 ; physical drive 0.0 goes backwards (E1) M569 P0.1 S0 ; physical drive 0.1 goes backwards (Y1) M569 P0.2 S0 ; physical drive 0.2 goes backwards (X1) M569 P0.3 S0 ; physical drive 0.3 goes backwards (X2) M569 P0.4 S1 ; physical drive 0.4 goes forwards (Y2) M569 P0.5 S0 ; physical drive 0.5 goes forwards (E2) M569 P1.0 S0 ; physical drive 1.0 goes forwards (V) M569 P1.1 S0 ; physical drive 1.1 goes forwards (W) M569 P2.0 S0 ; physical drive 2.0 goes forwards (Z1) M569 P2.1 S0 ; physical drive 2.1 goes forwards (Z2) M569 P2.2 S0 ; physical drive 2.2 goes forwards (Z3) M584 X0.2 U0.3 Y0.1:0.4 E0.0:0.5 Z2.0:2.1:2.2 V1.0 W1.1 ; 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 I0 ; configure axis microstepping with interpolation M350 E16:16 I1 ; configure extruder microstepping with interpolation M92 X80 Y80 Y80 E833.33:821.82 Z800.00 V17777.78 W17777.78 ; set steps per mm M906 X2100 U2100 Y2100 E580:580 Z1900 V200 W200 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 (301, -14) and set compensation allowance to 20mm ; Machine movement limits M203 X30000 U30000 Y30000 E7200:7200 Z900 V300 W300 ; set maximum speeds (mm/min) M201 X15000 U15000 Y8000 E8000:8000 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 X420 U420 Y420 E3000:3000 Z900 V100 W100 ; set instantaneous speed changes (mm/min) M204 P5000 T12000 ; set actual accelerations ;------------------------------ Sensors and inputs ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ; Endstops M574 X1 S1 P"^!2.io3.in" ; configure switch-type endstop for low end on X via pin 2.io3.in M574 U2 S1 P"^!2.io1.in" ; configure switch-type endstop for high end on U via pin 2.io1.in M574 Y2 S1 P"2.io2.in" ; configure switch-type endstop for high end on Y via pin 2.io2.in M574 V2 S1 P"^1.io2.in" ; configure switch-type endstop for high end on V via pin 1.io2.in M574 W2 S1 P"^1.io3.in" ; configure switch-type endstop for high end on W via pin 1.io3.in ; Z-Probe M558 K0 P8 C"^1.io0.in" H3 F600:100 T21000 A3 S0.05 ; Set E1 Z probe, set dive height, probe speed, required accuracy and travel speed G31 K0 P200 X0 Y0 Z-0.5 ; Set Z offset of E1 probe ;M558 K1 P8 C"1.io1.in" H3 F600:100 T21000 A3 S0.05 ; Set E1 Z probe, set dive height, probe speed, required accuracy and travel speed ;G31 K1 P500 U0 Y0 Z0.2 ; Set Z offset of E1 probe M557 X25:575 Y25:475 P9:9 ; define mesh grid ; 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 P0 I46 S1344 R10 C"spi.cs1+spi.cs0" ; configure accelerometer sensor, set orientation, sampling and resolution ;------------------------------ Heaters and Fan outputs ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ; Heaters, Bed zones M308 S0 P"1.temp0" Y"thermistor" A"Bed zone 1" T100000 B3950 ; configure bed zone 1 temperature sensor M950 H0 C"1.out1+out0" 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"1.temp1" Y"thermistor" A"Bed zone 2" T100000 B3950 ; configure bed zone 2 temperature sensor ;M950 H1 C"1.out0" T1 ; 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 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"temp0" Y"pt1000" A"Nozzle1" ; configure left printhead temperature sensor M950 H2 C"out1" 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 S280 ; set temperature limit for left printhead to 280C M572 D0 S0.10 ; set pressure advance for left printhead ;M308 S4 P"temp3" Y"thermistor" A"HeatsinkLeft" T100000 B4138 M308 S3 P"temp1" Y"pt1000" A"Nozzle2" ; configure right printhead temperature sensor M950 H3 C"out2" 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 S280 ; set temperature limit for right printhead to 280C M572 D1 S0.10 ; set pressure advance for right printhead ;M308 S5 P"temp2" Y"thermistor" A"HeatsinkRight" T100000 B4138 ; Fans M950 F0 C"2.out3" Q317.5 ; create fan 0 (E1 part) on pin 2.out3 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"2.out4" Q317.5 ; create fan 1 (E2 part) on pin 2.out4 and set its frequency M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off M950 F2 C"out5" 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 M950 F3 C"out6" Q500 ; create fan 3 (E2 heat) on pin out6 and set its frequency M106 P3 S1 H3 T45:50 ; set fan 3 value. Thermostatic control is turned on M950 F4 C"out8" Q500 ; create fan 4 (SBC) on pin out6 and set its frequency M106 P4 S1 H-1 ; set fan 4 value. Thermostatic control is turned on M950 F5 C"out7" Q500 ; create fan 5 (main) on pin out6 and set its frequency M950 F6 C"1.out6" Q500 ; create fan 6 (exp1) on pin out6 and set its frequency M950 F7 C"2.out6" Q500 ; create fan 7 (exp2) on pin out6 and set its frequency M106 P5 S1 H-1 ; set fan 0 value. Thermostatic control is turned of M106 P6 S1 H-1 ; set fan 0 value. Thermostatic control is turned off M106 P7 S1 H-1 ; set fan 0 value. Thermostatic control is turned off ; Define electronic temperature sensors M308 S11 Y"mcu-temp" P"dummy" A"Mainboard" ; define mainboard temperature sensor M308 S12 Y"drivers" P"dummy" A"Steppers Mainboard" ; define mainboard stepper temperature sensor M308 S13 Y"mcu-temp" P"1.dummy" A"Expansion 1" ; define expansion 1 temperature sensor M308 S14 Y"drivers" P"1.dummy" A"Steppers Expansion 1" ; define expansion 1 stepper temperature sensor M308 S15 Y"mcu-temp" P"2.dummy" A"Expansion 2" ; define expansion 2 temperature sensor M308 S16 Y"drivers" P"2.dummy" A"Steppers Expansion 2" ; define expansion 2 stepper temperature sensor ;------------------------------ 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.out3" 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.out4" 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.out5" 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 U-2.4 Y-1.3 Z-0.25 ; 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: Trying to fix my dual markforged (HAQ-XY) kinematics
@o_lampe It is the same everywhere.
Also happens on slow prints..
Moves with only X or only Y motors (left to rigt, or diagonal) are fine, so it only happens when a move requires both motors