Getting acquainted with Duet / Firmware



  • So, I have gotten to the part when my build (Quite similar to what DC42 describes in his "Precision Kossel Build") is now at the stage where the kinematics are functional and it is time to look at firmware.

    So, with sunshine in my eyes i headed over to https://configurator.reprapfirmware.org/ and i have a few questions which google does not quite help me with.

    I start with "custom."

    What should i use for "Firmware compatibility"? I am unclear about what (if any) ramifications this really has?

    "Delta Radius", While i understand the concept, the description says "Radius between the center of the bed and mid point of the tovers".
    Now, to me, the midpoint is the "physical" mid point of the towers. And that would mean that the radius would be different on a machine with 2020 profiles as opposed to 2040, 2060 or 3030, and this cannot be right. On my old pinter, this was the distans "center of joint to center of joint", which to me makes more sense.
    So, what should i really put here?

    Anyway, i went through the setup, got some config. Tried it. Homed the machine. The machine homed nicely. BUT the last step of the cycle moved the head to "full negative X". In other words, the head was pushed towards the "front" of the machine. What may have caused this?

    This is the homedelta that was generated.
    [c]; homedelta.g
    ; called to home all towers on a delta printer
    ;
    ; generated by RepRapFirmware Configuration Tool on Thu Mar 08 2018 18:57:17 GMT+0100 (W. Europe Standard Time)
    G91 ; relative positioning
    G1 S1 X405 Y405 Z405 F1800 ; move all towers to the high end stopping at the endstops (first pass)
    G1 X-5 Y-5 Z-5 F1800 S2 ; go down a few mm
    G1 S1 X10 Y10 Z10 F360 ; move all towers up once more (second pass)
    G1 Z-5 F6000 ; move down a few mm so that the nozzle can be centred
    G90 ; absolute positioning
    G1 X0 Y0 F6000 ; move X+Y to the centre[/c]

    Now, if i commented out the last line, the head stayed in the center position. So, i will assume that i have done something wrong in my initial setup of the machine?


  • administrators

    @janjoh:

    What should i use for "Firmware compatibility"? I am unclear about what (if any) ramifications this really has?

    It only affects the responses you get when commands are sent over USB or Telnet. Set it to marlin.

    @janjoh:

    "Delta Radius", While i understand the concept, the description says "Radius between the center of the bed and mid point of the tovers".
    Now, to me, the midpoint is the "physical" mid point of the towers. And that would mean that the radius would be different on a machine with 2020 profiles as opposed to 2040, 2060 or 3030, and this cannot be right. On my old pinter, this was the distans "center of joint to center of joint", which to me makes more sense.
    So, what should i really put here?

    The description given by configtool is incorrect. I will have it corrected. The delta radius is the horizontal distance subtended by each rod, measured between joint centres, when the effector is in the centre. The exact value will be found by auto calibration, so you need only an approximate value to start with.

    @janjoh:

    Anyway, i went through the setup, got some config. Tried it. Homed the machine. The machine homed nicely. BUT the last step of the cycle moved the head to "full negative X". In other words, the head was pushed towards the "front" of the machine. What may have caused this?

    Please share your config.g file.



  • [[language]]
    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Thu Mar 08 2018 18:57:17 GMT+0100 (W. Europe Standard Time)
    
    ; General preferences
    G90                                       ; Send absolute coordinates...
    M83                                       ; ...but relative extruder moves
    M555 P1                                   ; Set firmware compatibility to look like RepRapFirmare
    M665 R225 L360.2 B125 H400                ; Set delta radius, diagonal rod length, printable radius and homed height
    M666 X0 Y0 Z0                             ; Put your endstop adjustments here, or let auto calibration find them
    
    ; Network
    M550 PFull Metal Delta                    ; Set machine name
    M552 S1                                   ; Enable network
    ;*** Access point is configured manually via M587
    M586 P0 S1                                ; Enable HTTP
    M586 P1 S0                                ; Disable FTP
    M586 P2 S0                                ; Disable Telnet
    
    ; Drives
    M569 P0 S1                                ; Drive 0 goes forwards
    M569 P1 S1                                ; Drive 1 goes forwards
    M569 P2 S1                                ; Drive 2 goes forwards
    M569 P3 S1                                ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1                   ; Configure microstepping with interpolation
    M92 X200 Y200 Z200 E663                   ; Set steps per mm
    M566 X1200 Y1200 Z1200 E1200              ; Set maximum instantaneous speed changes (mm/min)
    M203 X18000 Y18000 Z18000 E1200           ; Set maximum speeds (mm/min)
    M201 X1000 Y1000 Z1000 E1000              ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z1000 E800 I30           ; Set motor currents (mA) and motor idle factor in per cent
    M84 S30                                   ; Set idle timeout
    
    ; Axis Limits
    M208 Z0 S1                                ; Set minimum Z
    
    ; Endstops
    M574 X2 Y2 S1                             ; Set active high endstops
    
    ; Z-Probe
    M558 P0 H5 F120 T6000                     ; Disable Z probe but set dive height, probe speed and travel speed
    M557 R125 S20                             ; Define mesh grid
    
    ; Heaters
    M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
    M305 P0 T100000 B4138 C0 R4700            ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120                              ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 C0 R4700            ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280                              ; Set temperature limit for heater 1 to 280C
    
    ; Fans
    M106 P0 S0.3 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
    
    ; Tools
    M563 P0 D0 H1                             ; 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
    
    ; Automatic saving after power loss is not enabled
    
    ; Custom settings are not configured
    
    


  • Also,

    Enable non-volatile memory
    Save print state on power failure

    I understand the "save print state….". But what is the recommendation for Duet specifically for these two? On or off?

    How often does the print state get written? I am thinking about flash-wear.


  • administrators

    The problem is this line:

    ; Endstops
    M574 X2 Y2 S1 ; Set active high endstops

    it should be:

    M574 X2 Y2 Z2 S1 ; Set active high endstops

    What did you set the Z endstop to when you ran the configurator?



  • Well.. I THOUGHT i just set them all to the same. But looking at that line, I have no problem understanding what the problem is.

    Silly me. Sillier considering that i did look through it. But i must have read "S" as "Z" and not paid any attention to it.

    But, why didnt the printer keep the Z motor running and ram the endstop if the endstop was misconfigured? (Does not relaly matter i suppose, just curious)


  • administrators

    What happened was that it defaulted to assuming an endstop at the bottom of the Z axis. So it stopped the movement, but then the firmware assumed that the carriage was much lower than it really was.



  • oooh.. of course. I see the logic now.

    Thank you! Will redo this tonight.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.