Home all not working



  • @Corexy said in Home all not working:

    M305 P1 T100000 B4138 C0 R4700 L0 H0 X200 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 200

    Remove all the T B C R L H stuff and just use M305 P1 X200



  • @Phaedrux said in Home all not working:

    @Corexy said in Home all not working:

    M305 P1 T100000 B4138 C0 R4700 L0 H0 X200 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 200

    Remove all the T B C R L H stuff and just use M305 P1 X200

    And of course that fixed it, thank you again.

    As we've had a couple of cases of excessive text causing problems here, do you see any other lines that could be cleaned up? I'm keen to scrape this right back to just what it needs now, as I run the old one with all sorts of extra folders in there, and it did start up fiddly sometimes. I want to make this one dead clean and back it all up on my laptop to avoid this drama moving forward.

    ; Configuration file for Duet WiFi
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Oct 22 2016 18:28:19 GMT+1100 (AUS Eastern Daylight Time)

    ; General preferences
    M111 S0 ; Debugging off
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X195 Y195 Z175 S0 ; Set axis maxima
    M557 X20:180 Y20:180 S40

    ; Endstops
    M574 Z0 S0 ; Define active low and unused microswitches
    M574 X1 Y1 S1 ; Define active high microswitches
    M558 P1 X0 Y0 Z1 H5 F600 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P500 X0 Y0 Z2.78 ; Set Z probe trigger value, offset and trigger height

    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes backwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping without interpolation
    M92 X80 Y80 Z800 E127 ; Set steps per mm
    M566 X1600 Y1600 Z12 E800 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z1200 E8000 ; Set maximum speeds (mm/min)
    M201 X1200 Y1200 Z20 E1200 ; Set accelerations (mm/s^2)
    M906 X1100 Y1100 Z800 E600 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Heaters
    M143 S280 ; Set maximum extruder temperature to 280C
    M143 H0 S140 ; Set maximum bed temperature to 140C
    M305 P0 T100000 B4000 C0 R4700 L0 H0 ; Set thermistor + ADC parameters for heater 0
    M305 P1 X200 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 200
    M307 H0 A144.9 C625.3 D1.0 B0
    M307 H1 A999.7 C377.6 D13.5 B0

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    T0

    ; Network
    M550 PZortrax M200 ; Set machine name
    M552 S1 ; Enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Custom settings are not configured



  • It looks ok otherwise.



  • You don't have an M584 command, which sets the drive mapping. This should be the first command in the "Drives" section. However, you're using the standard mapping (M584 X0 Y1 Z2 E3), so it's not necessary. If you have two Z motors (currently individually connected to ZA and ZB, or wired together) you could split them, which would allow for X gantry levelling. But that might sound difficult to you!

    You can remove:

    • M111 S0 as debugging is off by default
    • G21 as working in millimetres is default
    • M555 P2 as compatibility with Marlin is default

    I'd move:

    • Endstop section to after the Drives section (though it doesn't really matter) and include M208 commands
    • Network to the beginning (if any command in config.g causes the config.g to abort, at least you get network!), and put machine name in quotes (good practice for string parameters). You can even remove the M586 commands as HTTP is enabled by default, FTP and Telnet are disabled by default
    • Probe settings into it's own section after endstops, and include M557 (bed probing grid).

    This should bring most settings into sensible sections, and in order of importance. So it would end up looking like:

    ; Configuration file for Duet WiFi
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Oct 22 2016 18:28:19 GMT+1100 (AUS Eastern Daylight Time)
    
    ; General preferences
    
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    
    ; Network
    M550 P"Zortrax M200" ; Set machine name
    M552 S1 ; Enable network and acquire dynamic address via DHCP
    
    ; Drives
    M584 X0 Y1 Z2 E3 ; Set drive mapping
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes backwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping without interpolation
    M92 X80 Y80 Z800 E127 ; Set steps per mm
    M566 X1600 Y1600 Z12 E800 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z1200 E8000 ; Set maximum speeds (mm/min)
    M201 X1200 Y1200 Z20 E1200 ; Set accelerations (mm/s^2)
    M906 X1100 Y1100 Z800 E600 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    
    ; Endstops
    M574 Z0 S0 ; Define active low and unused microswitches
    M574 X1 Y1 S1 ; Define active high microswitches
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X195 Y195 Z175 S0 ; Set axis maxima
    
    ; Z-Probe
    M558 P1 X0 Y0 Z1 H5 F600 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P500 X0 Y0 Z2.78 ; Set Z probe trigger value, offset and trigger height
    M557 X20:180 Y20:180 S40
    
    ; Heaters
    M143 S280 ; Set maximum extruder temperature to 280C
    M143 H0 S140 ; Set maximum bed temperature to 140C
    M305 P0 T100000 B4000 C0 R4700 L0 H0 ; Set thermistor + ADC parameters for heater 0
    M305 P1 X200 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 200
    M307 H0 A144.9 C625.3 D1.0 B0
    M307 H1 A999.7 C377.6 D13.5 B0
    
    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    T0
    
    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Custom settings are not configured
    

    Hope that helps!

    Ian



  • Mate that helps a lot.

    I've had visitors for a few days and haven't had a chance to look at this, but I'm assuming this going to be more tidy and efficient?

    I'll have to have a look at my bed and homing files as well.

    And to be honest I just copied and pasted this in and it's working a treat. Thanks for that!



  • Before I fire this all up again, I haven't done anything with my bed and homing files, and the configurator definitely changed all of them. Before I had it doing a autolevelling routine at the start of a print, and then I had it putting the tool off the the left/back at the end, but I'm pretty sure most of the commands for that are entered in my slicer (S3D).

    bed.g

    This is what I had before:

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Oct 22 2016 18:28:19 GMT+1100 (AUS Eastern Daylight Time)

    ; Clear any bed transform
    G29 S2

    ; Home all
    G28

    ; Probe the bed
    G29

    ; Absolute positioning
    G90

    ; Go to center bed probe point and home the Z axis
    G1 X97.5 Y97.5 F4800

    G30

    ; Uncomment the following line to lift the nozzle after probing
    G1 Z50 F500

    This is what I have now:

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:53:55 GMT+1100 (Australian Eastern Daylight Time)
    M561 ; clear any bed transform
    G29 ; probe the bed and enable compensation

    homeall.g

    This is what I had before:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Oct 22 2016 18:28:19 GMT+1100 (AUS Eastern Daylight Time)

    ; Relative positioning
    G91

    ; Lift Z
    G1 Z1 F1200

    ; Move towards X and Y axis endstops (first pass)
    G1 X-200 Y-200 F4800 S1

    ; Go back a few mm
    G1 X5 Y5 F4800

    ; Move slowly to axis endstops once more (second pass)
    G1 X-200 Y-200 F360 S1

    ; Absolute positioning
    G90

    ; Go to center bed probe point and home the Z axis
    G1 X97.5 Y97.5 F4800
    G30

    ; Uncomment the following line to lift the nozzle after probing
    G1 Z50 F1200

    This is what I have now:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.2 on Thu Nov 21 2019 10:53:58 GMT+1100 (Australian Eastern Daylight Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-200 Y-200 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-200 Y-200 F360 ; move slowly to X and Y axis endstops once more (second pass)
    G90 ; absolute positioning
    G1 H2 X97.5 Y97.5 F6000 ; go to first bed probe point and home Z
    G30 ; home Z by probing the bed

    ; Uncomment the following lines to lift Z after probing
    G91 ; relative positioning
    G1 S2 Z5 F100 ; lift Z relative to current position
    G90 ; absolute positioning

    I'm wondering if I should be looking at all these as well?



  • The old bed.g file looks like you could continue using it.

    The old homeall.g file lacks the H2 parameter for the initial Z axis lift. This would throw an error in recent firmware for trying to move an axis before it's been homed. But otherwise they are basically the same, so you should probably just keep using the new one.



  • Cheers Phaedrux,

    So I might as well just keep using the new bed and homing files? They're the one's it's running at the moment, so if there's no reason to change I won't. Just looking at what can be tidied up before I save a copy of this.

    I've also got a "homedelta.g" file in there. Can that be deleted?



  • @Corexy said in Home all not working:

    I've also got a "homedelta.g" file in there. Can that be deleted?

    Yes If you do not have a delta you can delete it.



  • Thanks guys,

    All good and knocking out a reasonably tidy print if I say so myself. Bed leveling ran in the start of the print, can't tell if it set up a map or not.

    One issue I'm having that is after using the e stop to cancel a print, I can't move my Z axis up and down. I have to switch off the machine and star it again to get operation.

    What have I missed here? The Z axis worked before in any order of operation.


  • administrators

    @Corexy said in Home all not working:

    One issue I'm having that is after using the e stop to cancel a print, I can't move my Z axis up and down. I have to switch off the machine and star it again to get operation.
    What have I missed here? The Z axis worked before in any order of operation.

    Axes cannot be moved until they have been homed, unless you either use G1 H2 movements or you use M584 M564 to allow axis movement before homing. Emergency stop sends M112 to do the stop followed by M999 to reset the controller.



  • @dc42 said in Home all not working:

    @Corexy said in Home all not working:

    One issue I'm having that is after using the e stop to cancel a print, I can't move my Z axis up and down. I have to switch off the machine and star it again to get operation.
    What have I missed here? The Z axis worked before in any order of operation.

    Axes cannot be moved until they have been homed, unless you either use G1 H2 movements or you use M584 to allow axis movement before homing. Emergency stop sends M112 to do the stop followed by M999 to reset the controller.

    No worries David, thank you.

    I do recall an M584 back on the old config.g somewhere, and as I'm the only one who uses this machine I'd like to remove the limitation. So where would I put the M584 command?

    Now I'm retuning the heaters, which I haven't done for years or at all on this board.

    What I'm worried about is that why the extruder (PT100/H1) and bed (thermistor/H0), both have the same "B0", meaning they are both operating by PWM? Shouldn't the bed be different (B1 or something) due to the thermistor? The M307 H1 settings are from my first hot end heater test, and I'll run it a second time once it's all cooled down. Haven't done the bed yet.

    ; Heaters
    M143 S280 ; Set maximum extruder temperature to 280C
    M143 H0 S140 ; Set maximum bed temperature to 140C
    M305 P0 T100000 B4000 C0 R4700 L0 H0 ; Set thermistor + ADC parameters for heater 0
    M305 P1 X200 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 200
    M307 H0 A144.9 C625.3 D1.0 B0
    M307 H1 A895.8 C393.4 D6.1 V24.3 B0



  • @Corexy said in Home all not working:

    M584

    It's actually M564 to allow moving an axis before being homed or to allow an axis to move beyond the travel limit.

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M564_Limit_axes

    You can place M564 H0 in config.g

    B0 is fine for both bed and extruder. B1 would be bang bang and is not recommended.



  • Thanks very much, appreciated.

    So just a "M564 H0" in general preferences, just after M83?

    ; General preferences

    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    I'm also getting another odd fault message come up:

    "attempt to read a gcode unsigned array that is too long M84 P3 E0:1"

    Any idea what that's all about?



  • Yes M564 H0 can go there.

    Can you post your config.g as it currently is? It would seem you might have two lines superimposed to cause that M84 P3 error...



  • @Phaedrux said in Home all not working:

    Yes M564 H0 can go there.

    Can you post your config.g as it currently is? It would seem you might have two lines superimposed to cause that M84 P3 error...

    Sorry mate, been busy with work and haven't had time to turn the printer on.

    config.g as it stands right now:

    ; Configuration file for Duet WiFi
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sat Oct 22 2016 18:28:19 GMT+1100 (AUS Eastern Daylight Time)

    ; General preferences

    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    ; Network
    M550 P"Zortrax M200" ; Set machine name
    M552 S1 ; Enable network and acquire dynamic address via DHCP

    ; Drives
    M584 X0 Y1 Z2 E3 ; Set drive mapping
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes backwards
    M569 P3 S1 ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; Configure microstepping without interpolation
    M92 X80 Y80 Z800 E122 ; Set steps per mm
    M566 X1600 Y1600 Z12 E800 ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z1200 E8000 ; Set maximum speeds (mm/min)
    M201 X1200 Y1200 Z20 E1200 ; Set accelerations (mm/s^2)
    M906 X1100 Y1100 Z800 E600 I30 ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Endstops
    M574 Z0 S0 ; Define active low and unused microswitches
    M574 X1 Y1 S1 ; Define active high microswitches
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X195 Y195 Z175 S0 ; Set axis maxima

    ; Z-Probe
    M558 P1 X0 Y0 Z1 H5 F600 T6000 ; Set Z probe type to unmodulated, the axes for which it is used and the probe + travel speeds
    G31 P500 X0 Y0 Z2.82 ; Set Z probe trigger value, offset and trigger height
    M557 X20:180 Y20:180 S40

    ; Heaters
    M143 S280 ; Set maximum extruder temperature to 280C
    M143 H0 S140 ; Set maximum bed temperature to 140C
    M305 P0 T100000 B4000 C0 R4700 L0 H0 ; Set thermistor + ADC parameters for heater 0
    M305 P1 X200 ; Set thermistor + ADC parameters for heater 1 and remap it to channel 200
    M307 H0 A144.9 C625.3 D1.0 B0
    M307 H1 A892.1 C396.5 D6.4 V24.3 B0

    ; Tools
    M563 P0 D0 H1 ; Define tool 0
    G10 P0 X0 Y0 ; Set tool 0 axis offsets
    G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
    T0

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Custom settings are not configured



  • @Corexy said in Home all not working:

    "attempt to read a gcode unsigned array that is too long M84 P3 E0:1"

    Any idea what that's all about?

    When do you get that message? i.e. what do you do (if anything) that causes it to pop up? What do you get in the console if just send M84?



  • Also, what do you get if you send M98 Pconfig.g in the console?



  • Hi All,

    Sorry about the delayed response. I'm a farmer, and with Australia's drought at the moment hungry mouths are calling me away from my hobbies.

    @deckingman

    "attempt to read a gcode unsigned array that is too long M84 P3 E0:1" was occurring when I used the emergency stop. For some reason it's not doing it today...

    @Phaedrux

    M84 seemed to do nothing at all, other than to make all my axis's "unhomed".

    M98 PCONFIG.G I got the following message:

    Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 917C.

    It's all working well enough, but on this last print I just did, the temps of the bed and extruder did not drop to my "layer2" temps, despite them definitely being in my S3D profile and having worked every time before.


  • administrators

    @Corexy said in Home all not working:

    "attempt to read a gcode unsigned array that is too long M84 P3 E0:1" was occurring when I used the emergency stop. For some reason it's not doing it today...

    That message was generated because E0:1 says you want to work on extruder drives 0 and 1, but in your M584 command in config.g you only define one extruder.

    M84 seemed to do nothing at all, other than to make all my axis's "unhomed".

    M84 by itself disables all stepper drivers. This has the side effect of marking axes as not homed.

    M98 PCONFIG.G I got the following message:

    Warning: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 917C.

    That is a common problem. It means that your heater cartridge is over-powered for your extruder, assuming your printer has an ordinary FDM hot end with an aluminium heater block (which will melt at about 660C).


Log in to reply