Why doesn't this M574 configuration work
-
Ok, I'll do that but if not configured correctly would that cause the issue I'm having? I thought the axes limits were to prevent over extending an axes and hitting a hard stop.
-
@luckyflyer i think you're correct, but i'm happy to defer to higher powers on most thing config.
however having Z-0.6 in you M208 and G92 Z0 in your homeall seems odd to me.
-
Hmm, I did not catch that. I have the -.6 because my bed has a dip in the middle. Front left corner is much closer to 0 but I'll change home all anyway.
-
Double check your axis limits max and min settings to see if they match the way the new endstop configuration is set up.
Ok I get what your saying.
-
@luckyflyer said in Why doesn't this M574 configuration work:
Double check your axis limits max and min settings to see if they match the way the new endstop configuration is set up.
Is this the way axis limits should be set up with the new M574 config?
; Axis Limits
M208 X0 Y310 Z-0.6 S1 ; set axis minima
M208 X310 Y0 Z320 S0 ; set axis maximaAs @bearer said several posts ago, you need to swap the Y values over in those two commands. As they stand, no motion will be allowed.
-
Nuramori, can you post your config.g file, thanks
-
I can run this code from the console and it prints as it should, at the correct location etc.
G92 E0
G1 X130.0 Y5 Z0.0 F2000
G1 X40.0 E20.0 F1000.0This is part of my starting script in S3d. I believe that this tells me that my M208 and M574 commands which are configured thus,
; Axis Limits
M208 X0 Y0 Z-0.6 S1 ; set axis minima
M208 X300 Y300 Z300 ; set axis maxima; Endstops
M574 X1 S1 P"!io1.in" ; configure for low end, active-low endstop on X via pin io1.in
M574 Y2 S1 P"!io2.in" ; configure for high end, active-low endstop on Y via pin io2.in
M574 Z1 S1 P"!io3.in" ; configure for low end, active-low endstop on Z via pin io3.inare configured correctly in config.g.
However when a S3d print is loaded via dwc with this start code the tool position display in dwc advances to Y5 and then very briefly at X130 then to X40 and stays there and does not change, no filament is extruded.I now believe that there is something not configured correctly in Simplify 3d for this printer configuration because S3d works correctly when M574 is set to Y1 instead of Y2. Do the experts agree with this or am I missing something?
-
I'll also add the with the above configuration when homed X=0 Y=300 Z=0 is displayed and that all movements from the console are correct.
I sure would like to get this problem resolved.
-
@luckyflyer Please post the contents of the Starting Script tab in Simplify3D.
-
Complete start script
M109 S195 ; wait for hotend temp
M190 S60 ; wait for bed temp
G28 ; home all axes
G29 S1 ; load bed mesh
G92 E0 ;set extruder to 0
G1 X130.0 Y5 Z0.0 F2000 ; move tool
G1 X40.0 E20.0 F1000.0 ; extrude 90 mm of filament to prime nozzle
G92 E0 ; set extruder to 0 -
This is my config.g file, run on a coreXY that's set up as you have (x endstop on the left as min, y endstop at that back as max) for you to compare. It homes to the back left corner, and 0,0 is the front left corner.
I have a toolboard and triple independent z axis on a duet3, so there are parts you can ignore. I always put a pin name legend in the beginning, which helps me keep my wiring organized as a reference when coding this file....
; Configuration file for Duet3 (firmware version 3.01 RC12) ; executed by the firmware on start-up ; ; --------------- Pin/connection Mapping Legend ------------------- ; 0.out0 - Bed heater ; 0.out1 ; 0.out2 ; 0.out3 ; 0.out4 - Radiator cooling fan - WC heatsink ; 0.out5 ; 0.out6 ; 0.out7 ; 0.out8 ; 0.out9 - Duet board cooling fan ; 0.out4.tach - Radiator cooling fan rpm wire - WC heatsink ; 0.out5.tach ; 0.out6.tach ; 0.io0.in ; 0.io1.in - Emergency stop switch ; 0.io2.in - Y max active low endstop switch ; 0.io3.in ; 0.io4.in ; 0.io5.in ; 0.io6.in ; 0.io7.in ; 0.io8.in ; 0.io0.out ; 0.io1.out ; 0.io2.out ; 0.io3.out ; 0.io4.out ; 0.io5.out ; 0.io6.out ; 0.io7.out ; 0.io8.out ; 0.servo, out10 (only on v0.5, not on v0.6) ; 0.pson ; 0.spi.cs0 ; 0.spi.cs1 ; 0.spi.cs2 ; 0.spi.cs3 ; 0.temp0 - Bed Thermistor ; 0.temp1 ; 0.temp2 ; 0.temp3 - Coolant Temp Sensor ; 0.mcu-temp - MCU sensor ; ;----------Toolboard 1 (CAN ID#20) ; 20.out0 - Hotend Heater ; 20.out1 ; 20.out2 - Parts cooler on printhead ; 20.out1.tach ; 20.out2.tach ; 20.io0.in - Z probe type to bltouch current - Piezo future ; 20.io1.in - X min active low endstop switch ; 20.io0.out - GPIO port 0 on toolboard io0, servo mode - BLTouch Z-Probe ; 20.temp0 - Extruder Thermistor ; 20.temp1 ; 20.button0 ; 20.button1 ; ; ----------------------------------------------------------------- ; ; General preferences G4 P2000 ; Hold your Horses. G90 ; send absolute coordinates... M83 ; ...but relative extruder moves G21 ; Set units to Millimeters M550 P"DUET3" ; set printer name M575 P1 S1 B115200 ; Set things up for the PanelDue M584 X0.3 Y0.2 Z0.0:0.1:0.4 E20.0 ; set drive mapping to each axis M669 K1 ; Select CoreXY mode - New format ; Network M552 S1 ; enable network ; M552 P192.168.3.120 ; Static IP Address M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S0 ; physical drive 0 goes backwards - Z Axis Left (1) M569 P0.1 S0 ; physical drive 1 goes backwards - Z Axis Right Back (2) M569 P0.2 S0 D3 ; physical drive 2 goes backwards - Y Axis, activate Stealthchop M569 P0.3 S0 D3 ; physical drive 3 goes backwards - X Axis, activate Stealthchop M569 P0.4 S0 ; physical drive 4 goes backwards - Z Axis Right Front (3) M569 P20.0 S1 D3 ; physical drive 5 goes forwards - Extruder 1 ; Set up three Z-axis location M671 X-42.5:390.9:390.9 Y172.5:291.5:49.5 S5 ; leadscrews at 1 - left, 2 - rear right and 3 - front right M92 X199.27 Y199.27 Z397.23 E2700 ; set steps per mm M350 X16 Y16 Z16 E16 I1 ; configure micro-stepping with interpolation M566 X800.00 Y800.00 Z400.00 E240.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z2500.00 E1200.00 ; set maximum speeds (mm/min) M201 X6000.00 Y6000.00 Z800.00 E800.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E800 I30 ; set motor currents (mA) and motor idle factor in percent*100 M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X320 Y320 Z350 S0 ; set axis maxima ; Endstops M574 X1 S1 P"20.io1.in" ; X min active high endstop switch M574 Y2 S1 P"0.io2.in" ; Y max active high endstop switch ; Z-Probe - BLTouch - *CURRENT* M574 Z1 S2 ; set endstops controlled by probe M558 P9 C"^20.io0.in" H5 F2000 T12000 ; set Z probe type to bltouch and the dive height + speeds (bltouch NEEDS pullup) ; G31 P100 X28.5 Y-5 Z2.65 ; set Z probe trigger value, offset and trigger height - 0.25MM NOZZLE G31 P100 X-29.99 Y1.04 Z0.55 ; set Z probe trigger value, offset and trigger height - 0.40MM NOZZLE ; Z-Probe - PIEZO - *FUTURE* ; M574 Z1 S2 ; set endstops controlled by probe ; M558 P8 C"20.io0.in" H10 F2000 T20000 ; set Z probe type to PIEZO and the dive height + speeds ; G31 P100 X0 Y0 Z-0.1 ; set Z probe trigger value, offset and trigger height G30 ; Probe Z ; Configure Heaters and Sensors M308 S0 P"0.temp0" Y"thermistor" T100000 B3950 ; Configure bed temperature sensor M950 H0 C"0.out0" T0 ; Define heater 0 (bed heater) - bed_heat pin and Temp Sensor 0 M143 H0 S120 A2 ; set temperature limit for heater 0 to 120c M140 H0 ; Map heated bed to heater 0 M308 S1 P"20.temp0" Y"thermistor" T100000 B3950 ; Configure extruder 1 temperature sensor M950 H1 C"20.out0" T1 ; Define heater 1 (hot-end E0) to use the "20.out0" pin and Temp Sensor 1 M143 H1 S265 A2 ; set temperature limit for heater 1 to 265C M308 S2 P"mcu-temp" Y"mcu-temp" A"Duet Board" ; Configure MCU sensor M308 S3 P"temp3" Y"thermistor" T10000 B3988 A"Coolant" ; Configure coolant sensor ; Configure Fans M950 F0 C"20.out2" Q100 ; Define Fan_0 for use - Parts Cooler on Printhead - 4010 fan M950 F1 C"!0.out4+^0.out4.tach" Q25000 ; Define Fan_1 for use - Radiator cooling - WC heatsink. - PWM fan M950 F2 C"0.out9" Q25000 ; Define Fan_2 for use - Duet board cooling fan M950 S0 C"20.io0.out" ; Define GPIO port 0 on IO0, servo mode - BLTouch Z-Probe - *CURRENT* M950 J0 C"^!0.io1.in" ; Input 0 uses 0.io1.in pin, pullup enabled ; Fans M106 P0 S0 ; set fan 0. Parts Cooler on Printhead M106 P1 T25:40 H2 ; Set fan 1. Manages Radiator fan for water-cooled loop. M106 P2 T35:45 H2 ; Set fan 2. Manages Duet board fan. ;Set PID values M307 H0 A289.6 C634.8 D0.9 V23.3 B0 ; disable bang-bang mode for the bed heater and set PWM limit M307 H1 A561.8 C236.5 D5.8 V23.3 B0 ; disable bang-bang mode for the extruder heater and set PWM limit ; Pressure Advance M572 D0 S0.25 ; Set pressure advance to offset elasticity ; Filament Sensor ; M591 D20.0 P7 C"0.io3.in" S0 L1.84 ; Detect filament issues ; Tools M563 P0 S"Extruder 1" D0 H1 F0 ; define tool 0. Fan 0 operates with an active hot-end G10 P0 X0 Y0 Z0 R0 S0 ; set tool 0 axis offsets active and standby temperatures to 0C ; Emergency Stop M574 S1 P"^!0.io1.in" ; Define Emergency endstop - emergency stop switch condition M581 P0 S1 T0 ; Define action to be taken with activation of emergency stop switch ; Miscellaneous T0 ; select first tool -
Thanks Nuramori, what slicer do you use?
-
@luckyflyer I use Cura 4.6.1 That actually reminds me, just for giggles, do you have any start code in your slicer, and if so, perhaps posting it may help too. You never know.
-
look above I just posted it.
-
Do you happen to also have an override.g file in your sys folder on the duet?
-
I can execute this part of my start code from the console, it works perfectly, but not from within s3d.
G92 E0
G1 X130.0 Y5 Z0.0 F2000
G1 X40.0 E20.0 F1000.0 -
No override .g
-
@luckyflyer I think the issues you're experiencing could caused by the lack of a T0. Here's a few thoughts.
Recommend adding these to the top to make sure typical defaults are set.
G90 ; absolute positioning M83 ; set extruder to relative mode - enable relative extruder distances in the slicer T0 ; select tool M107 ; part fan off M220 S100 ; reset speed multiplier M221 S100 ; reset extrusion multiplier On the G-Code tab enable "Relative extrusion distances"
Not sure I'd recommend this unless your mesh stays incredibly consistent.
G29 S1 ; load bed mesh
This is not necessary.
G92 E0 ;set extruder to 0
This prime line is extruding at Z0, and it's pushing out quite a bit of filament in only 90mm.
G1 X130.0 Y5 Z0.0 F2000 ; move tool G1 X40.0 E20.0 F1000.0 ; extrude 40 mm of filament to prime nozzle If you're using a 0.4 nozzle try this instead.
G1 X130.0 Y5 Z0.3 F2000 ; move tool G1 X40.0 E10 F1000 ; prime nozzle This isn't necessary.
G92 E0 ; set extruder to 0
-
Thanks mwolter, So my revised start code should look like this,
G90 ; absolute positioning
M83 ; set extruder to relative mode - enable relative extruder distances in the slicer
T0 ; select tool
M107 ; part fan off
M220 S100 ; reset speed multiplier
M221 S100 ; reset extrusion multiplier
M109 S195 ; wait for hotend temp
M190 S60 ; wait for bed temp
G28 ; home all axes
G1 X130.0 Y5 Z0.3 F2000 ; move tool
G1 X40.0 E10 F1000 ; prime nozzle -
Also I must say that S3d was and still would work correctly when the Y endstop is configured to Y1 and all associated homing data is reset to the way it was before the Max Y endstop change.
And my mesh isn't very prettyxmin,xmax,ymin,ymax,radius,xspacing,yspacing,xnum,ynum
15.00,295.00,15.00,252.00,-1.00,56.00,47.40,6,6
0.103, 0.110, 0.197, 0.286, 0.240, 0.068
0.014, 0.063, 0.101, 0.112, 0.111, -0.057
-0.041, 0.018, 0.041, -0.002, -0.011, -0.112
-0.003, -0.007, -0.061, -0.036, -0.018, -0.091
0.058, -0.010, 0.002, -0.037, 0.031, -0.074
0, 0, 0, 0, 0, 0