RepRapFirmware 3.0RC1 released
-
Next question...
After I set M669 K1 and run the CoreXY tests the motors run as expected. But running a simple "G91", "G1 H2 X10" results in both axis moving in plus direction. And "G1 H2 Y10" moves X+ and Y-.
-
@3dmntbighker said in RepRapFirmware 3.0RC1 released:
Next question...
After I set M669 K1 and run the CoreXY tests the motors run as expected. But running a simple "G91", "G1 H2 X10" results in both axis moving in plus direction. And "G1 H2 Y10" moves X+ and Y-.
Do you mean "both axis moving" or "both motors moving"?
-
@3dmntbighker said in RepRapFirmware 3.0RC1 released:
Next question...
After I set M669 K1 and run the CoreXY tests the motors run as expected. But running a simple "G91", "G1 H2 X10" results in both axis moving in plus direction. And "G1 H2 Y10" moves X+ and Y-.
It's always been that way on CoreXY machines, because G1 H2 moves are individual motor moves.
-
@dc42 said in RepRapFirmware 3.0RC1 released:
@3dmntbighker said in RepRapFirmware 3.0RC1 released:
Next question...
After I set M669 K1 and run the CoreXY tests the motors run as expected. But running a simple "G91", "G1 H2 X10" results in both axis moving in plus direction. And "G1 H2 Y10" moves X+ and Y-.
It's always been that way on CoreXY machines, because G1 H2 moves are individual motor moves.
Well my homex no longer functions after changing S commands to H commands.
M400 ; make sure everything has stopped before we make changes
M913 X70 Y70 ; reduce motor current to 60% to prevent belt slipping
G91 ; relative positioning
G1 Z5 H2 F2000 ; drop bed relative to current position ; happens
G4 P250 ; wait 250msec
G1 X-300 H1 F3000 ; move quickly to X end stop and stop there (first pass) ; never happens
G4 P250 ; wait 250msec
G1 X30 F1000 ; Move Away 5mm X axis ; never happens
G1 X-35 H1 F2000 ; doesn't happen
M913 X100 Y100 ; motor current back to normal
G1 Z-5 H2 F200 ; drop bed relative to current position ; doesn't happen
G90 ; absolute positioning
G1 X20 F1000
M300 S600 P100If I run Home X a second time nothing happens and I get a spinner.
-
@3dmntbighker That's odd. Homing works for me on my CoreXY using H1. Mine is a bit complicated because it's actually a CoreXYUVAB but the pure X moves are essentially the same as yours. The major difference I see in your file is the use of G4 which I don't bother with. Try taking those out. If that fixes it, you may have found a bug.
Edit, There is one other difference in my homing files. I don't use H2 in the Z move - I have M564 H0 in my config.g to allow moves prior to homing. So if taking out the G4 commands doesn't fix it, try using M564 H0 instead of the H2 Z move and report back (in case you've unearthed a bug).
-
@deckingman said in RepRapFirmware 3.0RC1 released:
@3dmntbighker That's odd. Homing works for me on my CoreXY using H1. Mine is a bit complicated because it's actually a CoreXYUVAB but the pure X moves are essentially the same as yours. The major difference I see in your file is the use of G4 which I don't bother with. Try taking those out. If that fixes it, you may have found a bug.
Edit, There is one other difference in my homing files. I don't use H2 in the Z move - I have M564 H0 in my config.g to allow moves prior to homing. So if taking out the G4 commands doesn't fix it, try using M564 H0 instead of the H2 Z move and report back (in case you've unearthed a bug).
Now X doesn't move at all after the Z move...
M400 ; make sure everything has stopped before we make changes
M913 X70 Y70 ; reduce motor current to 60% to prevent belt slipping
G91 ; relative positioning
G1 Z5 F2000 ; drop bed relative to current position
G1 X-300 H1 F3000 ; move quickly to X end stop and stop there (first pass)
G1 X30 F1000 ; Move Away 5mm X axis
G1 X-35 H1 F2000
M913 X100 Y100 ; motor current back to normal
G1 Z-5 F200 ; drop bed relative to current position
G90 ; absolute positioning
G1 X20 F1000
M300 S600 P100config.g
M111 S0 ; Debug off
; Network
M550 P"5Rails" ; Set machine name
M552 P192.168.1.100 S1 ; Enable network set IP
M553 P255.255.255.0 ; Netmask
M554 P192.168.1.1 ; Gateway
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable TelnetM555 P2 ; Set output to look like Marlin
; *** Machine configuration
M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it)
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S0 ; Drive 2 goes backwards
M569 P3 S1 ; Drive 3 goes forwards
M569 P4 S1 ; Drive 4 goes forwards; Endstops
M574 X1 S0 P"xstop" ; X min active low endstop switch
M574 Y1 S0 P"ystop" ; Y min active low endstop switch
M574 Z1 S0 P"zstop" ; Z min active low endstop switch
M591 D0 P2 C"e0_stop" S1 ; E0 filament sensor active highM669 K1 ; set CoreXY mode
M564 H0 ; Allow moves prior to homing
M92 X100 Y100 Z1000 ; Set axis steps/mm
M92 E415 ; Set extruder steps/mm
M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation
M906 X1000 Y1000 Z800 E800 I50 ; Set motor currents (mA)
M201 X1000 Y1000 Z100 E900 ; Accelerations (mm/s^2)
M203 X40000 Y30000 Z800 E1800 ; Maximum speeds (mm/sec)
M566 X800 Y800 Z50 E800 ; Maximum jerk speeds mm/secM208 X300 Y275 Z330 ; set axis maxima (adjust to suit your machine)
M208 X0 Y0 Z0 S1 ; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves; Z probe type
M558 P8 I1 R2 A5 F400 T3000 H5 ; Peizo Z probe, also used for homing the Z axisG31 Z0.2 P600 ; Set the probe height and threshold (put your own values here)
M557 X25:275 Y15:265 S50 ;
M375 ; Load heightmap.csv
M376 H10 ; Taper off bed compensation up to 10mmM308 S0 P"bed_temp" Y"thermistor" R2200 T100000 B3950 ; Put your own H and/or L values here to set the bed thermistor ADC correction
M308 S1 Y"rtd-max31865" R400 P"spi.cs1" F60 ; Activate PT100 hotend temp sensor
M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0
M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1
M501 ; Load config_override.g for 40W Auto tune
; M301 H2 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 1; Tool definition
M563 P0 D0 H1 ; Define tool 0
G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures; *** If you are using axis compensation, put the figures in the following command
M556 S78 X0 Y0 Z0 ; Axis compensation hereT0 ; select first hot end
-
@3dmntbighker Sounds like a similar issue to https://forum.duet3d.com/topic/13409/large-core-homing-issue
Ian
-
It doesn't matter if I set X end stop active high or active low. The axis won't home (move) unless I hold the switch on, and stops when I release.
-
@3dmntbighker said in RepRapFirmware 3.0RC1 released:
It doesn't matter if I set X end stop active high or active low. The axis won't home (move) unless I hold the switch on, and stops when I release.
To clarify that, are you saying that you can change between S0 and S1 but the axis won't move unless you press the switch? What does M119 give you with and without the switch depressed?
-
@deckingman said in RepRapFirmware 3.0RC1 released:
@3dmntbighker said in RepRapFirmware 3.0RC1 released:
It doesn't matter if I set X end stop active high or active low. The axis won't home (move) unless I hold the switch on, and stops when I release.
To clarify that, are you saying that you can change between S0 and S1 but the axis won't move unless you press the switch? What does M119 give you with and without the switch depressed?
Correct
M119
Endstops - X: at min stop, Y: at min stop, Z: at min stop, Z probe: at min stopPressed:
M119
Endstops - X: not stopped, Y: at min stop, Z: at min stop, Z probe: at min stopAlso, after I attempt to home X nothing will move. None of the axis respond to the move buttons in the interface. Changing M574 from S0 to S1 gives the same result.
-
@3dmntbighker So all the end stops are inverted. In which case changing from S0 to S1 should fix it. Unless you have unearthed a bug..........
Try using "!" to invert the end stops instead of the "S" parameter. i.e. M574 X1 S0 P"xstop" should give you one condition and M574 X1 S0 P"!xstop" should invert it. You want M119 to say "not stopped" normally and "at min stop" when the switch is pressed.
-
Another thought.......you haven't got any M574 commands in your config-overide file which might be overriding config.g have you?
-
@3dmntbighker Assuming you get the endstops configured, here are my working corexy homing files if they'll help. Notice I don't use H2 at all.
; homex.g G91 G1 Z2 F200 G1 H1 X-500 F6000 G1 X4 F600 G1 H1 X-10 G1 Z-2 F200
; homey.g G91 G1 Z2 F200 G1 H1 Y-500 F6000 G1 Y4 F600 G1 H1 Y-10 G1 Z-2 F200
; homexy.g G91 G1 Z2 F200 G1 H1 X-500 Y-500 F6000 G1 H1 X-500 F6000 G1 H1 Y-500 F6000 G1 X4 Y4 F600 G1 H1 X-10 G1 H1 Y-10 G1 Z-2 F200
homexy.g gets called from homeall.g
Oops, forgot to mention... If Z isn't already homed, you'll need to add H2 to the Z moves.
-
@deckingman said in RepRapFirmware 3.0RC1 released:
Another thought.......you haven't got any M574 commands in your config-overide file which might be overriding config.g have you?
No
-
So, my config.g is shown above. But if I "select all" in the editor and paste into a standard text editor I get the following (ignore the extra stuff I had clipped out):
0:/sys/config.g ; *** CoreXY sample config file for dc42 Duet firmware M111 S0 ; Debug off ; Network M550 P"5Rails" ; Set machine name M552 P192.168.1.100 S1 ; Enable network set IP M553 P255.255.255.0 ; Netmask M554 P192.168.1.1 ; Gateway M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet M555 P2 ; Set output to look like Marlin ; M575 P1 B57600 S1 ; Comms parameters for PanelDue ; *** Machine configuration M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it) M569 P1 S1 ; Drive 1 goes forwards M569 P2 S0 ; Drive 2 goes backwards M569 P3 S1 ; Drive 3 goes forwards M569 P4 S1 ; Drive 4 goes forwards ; *** If you use an endstop switch for Z homing, change Z0 to Z1 in the following line, and see also M558 command later in this file ; Endstops M574 X1 S0 P"xstop" ; X min active low endstop switch M574 Y1 S0 P"ystop" ; Y min active low endstop switch M574 Z1 S0 P"zstop" ; Z min active low endstop switch M591 D0 P2 C"e0_stop" S1 ; E0 filament sensor active high ; M915 X Y S5 R0 F0 ; set X and Y to sensitivity 5, do nothing when stall, unfiltered... NOT on Maestro :-( M669 K1 ; set CoreXY mode M564 H0 ; Allow moves prior to homing M92 X100 Y100 Z1000 ; Set axis steps/mm M92 E415 ; Set extruder steps/mm ; M203 X15000 Y15000 Z1500 E3600 ; Maximum speeds (mm/sec) ; M566 X600 Y600 Z50 E900 ; Maximum jerk speeds mm/sec M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M906 X1000 Y1000 Z800 E800 I50 ; Set motor currents (mA) M201 X1000 Y1000 Z100 E900 ; Accelerations (mm/s^2) ; M203 X40000 Y30000 Z800 E1800 ; Maximum speeds (mm/sec) M203 X4000 Y3000 Z800 E1800 ; Maximum speeds (mm/sec) M566 X800 Y800 Z50 E800 ; Maximum jerk speeds mm/sec M208 X300 Y275 Z330 ; set axis maxima (adjust to suit your machine) M208 X0 Y0 Z0 S1 ; set axis minima (adjust to make X=0 and Y=0 the edges of the bed) G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Z probe type M558 P8 I1 R2 A5 F400 T3000 H5 ; Peizo Z probe, also used for homing the Z axis G31 Z0.2 P600 ; Set the probe height and threshold (put your own values here) ; The following M557 commands are not needed if you are using a bed.g file to perform bed compensation ; *** Adjust the XY coordinates in the following M557 commands to suit your build and the position of the Z probe M557 X25:275 Y15:265 S50 ; M375 ; Load heightmap.csv M376 H10 ; Taper off bed compensation up to 10mm ; Thermistors and heaters ; *** If you have a Duet board with 1K thermistor series resistors, change R4700 to R1000 to the following M305 commands ; You can also use S and B parameters to define the parameters of the thermistors you are using M308 S0 P"bed_temp" Y"thermistor" R2200 T100000 B3950 ; Put your own H and/or L values here to set the bed thermistor ADC correction M308 S1 Y"rtd-max31865" R400 P"spi.cs1" F60 ; Activate PT100 hotend temp sensor M950 H0 C"bed_heat" T0 ; heater 0 uses the bed_heat pin, sensor 0 M950 H1 C"e0_heat" T1 ; heater 1 uses the e0_heat pin and sensor 1 ; M305 P1 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction ; M305 P2 R4700 H0 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction ; M301 H1 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 0 ; M307 H0 A90.0 C700.0 D10.0 S1.00 V0.0 B1 ; Old bed heater PID settings ; M307 H1 A497.3 C234.6 D3.7 B0 ; ***Auto tune derived 30W preferred extruder 0 PID settings *** ; M308 P101 X1001 S"DuetDriversTemp" ; Virtual heater to display stepper driver over temp flags M501 ; Load config_override.g for 40W Auto tune ; M301 H2 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 1 ; Tool definition M563 P0 D0 H1 ; Define tool 0 G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures ; *** If you have a dual-nozzle build, un-comment the following 3 lines ; M563 P1 D1 H2 ; Define tool 1 ; G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures ; *** If you are using axis compensation, put the figures in the following command M556 S78 X0 Y0 Z0 ; Axis compensation here ; M98 PStartup.g ; Play tune T0 ; select first hot end 5Rails Send code... Status Idle Mode: FFF Tool Position X 20.0 Y 0.0 Z 0.01 Extruder Drives Drive 0 0.0 Speeds Requested Speed 0 mm/s Top Speed 0 mm/s Sensors Vin 24.2 V MCU Temperature 40.5 C Tools Extra Control All Tool Heater Current Active Standby Tool 0 T0 - PLA Heater 1 active 23.2 C 0 0 Bed Heater 0 off 22.5 C 0 0 Temperature Chart System Directory
Is the extra stuff at the end normal?
-
@3dmntbighker said in RepRapFirmware 3.0RC1 released:
I think the stuff after the T0 is just from copying from the DWC web page.
In any case, try putting the "M669 K1" at the top of the file. I don't think it'll make a difference but it may.
-
This is covered In the upgrade notes. S0 is no longer supported in M574. Use S1 and invert the pin using ! at the start of the pin name.
-
@gtj0 said in RepRapFirmware 3.0RC1 released:
@3dmntbighker said in RepRapFirmware 3.0RC1 released:
I think the stuff after the T0 is just from copying from the DWC web page.
In any case, try putting the "M669 K1" at the top of the file. I don't think it'll make a difference but it may.
Yeah, looking at the file directly on the SD card it looks normal. I can enter M669 K1 in the console and no difference. It really seems to be an issue with M574? There seems to be no way to change the end stop from active high to active low. Changing M574 it always acts the same.
-
@dc42 said in RepRapFirmware 3.0RC1 released:
This is covered In the upgrade notes. S0 is no longer supported in M574. Use S1 and invert the pin using ! at the start of the pin name.
It's not noted in the M574 section of the RepRap changes document. Nor on the main G-code page. Which does have many notations about RRF3.
Thanks, I'm operational now. I had some issues with the Piezo sensor but I resolved those.
-
@3dmntbighker TBH, I didn't know that S0 had been withdrawn either. I was going by this thread https://forum.duet3d.com/topic/13136/m574-usage-on-rrf-3 where David said his intention was not to withdraw S0.