Duet 3 - New user - few quires



  • @Phaedrux

    Did that, the RRF notified me after PID tuning!

    I am so amazed by the firmware!

    Worth the money!


  • Moderator

    @Dan1990 said in Duet 3 - New user - few quires:

    My chamber heater is not powerful enough to reach 1,7oC/ sec.

    Can you share the tuned results for the chamber heater? Increasing the dead time value can sometimes help.

    Share the entire config.g as well.



  • @Phaedrux

    ; Configuration file for Duet 3 (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.2.1 on Sun Jan 10 2021 17:23:39 GMT+0000 (GMT)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"Duet 3" ; set printer name

    ; Drives
    M569 P0.0 S0 ; physical drive 0.0 goes backwards
    M569 P0.1 S1 ; physical drive 0.1 goes forwards
    M569 P0.2 S0 ; physical drive 0.2 goes backwards
    M569 P0.3 S1 ; physical drive 0.3 goes forwards
    M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X201.27 Y201.23 Z800.00 E420.00 ; set steps per mm
    M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout
    M584 X0 Y1 Z2:4 E3 ; two Z motors connected to driver outputs Z and E1
    M671 X-20:220 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
    M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X220 Y220 Z240 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"!io0.in" ; configure active-high endstop for low end on X via pin io0.in
    M574 Y1 S1 P"!io1.in" ; configure active-high endstop for low end on Y via pin io1.in
    M574 Z1 S1 P"!io2.in" ; configure active-high endstop for low end on Z via pin io2.in

    ; Z-Probe
    ;;M558 P5 C"^io3.in" H5 F120 T6000 ; set Z probe type to switch and the dive height + speeds
    ;G31 P500 X0 Y0 Z2.5 ; set Z probe trigger value, offset and trigger height
    ;M557 X15:215 Y15:195 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1
    M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1
    M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
    M143 H1 S280 ; set temperature limit for heater 1 to 280C

    M308 S2 P"temp2" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin temp2
    M950 H2 C"out2" T2 ; create chamber heater output on out2 and map it to sensor 2
    M307 H2 B0 S1.00 ; disable bang-bang mode for the chamber heater and set PWM limit
    M141 H2 ; map chamber to heater 2
    M143 H2 S100 A0 ; set temperature limit for heater 2 to 100C
    M301 H2 B1

    ; Fans
    M950 F0 C"out7" Q500 ; create fan 0 on pin out7 and set its frequency
    M106 P0 S1 H1 T45 ; set fan 0 value. Thermostatic control is turned on
    M950 F1 C"out8" Q500 ; create fan 1 on pin out8 and set its frequency
    M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off

    ; Tools
    M563 P0 D0 H1 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

    ; Custom settings are not defined

    ; Miscellaneous
    M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss

    The PID as below:

    Heater 2 model: gain 340.0, time constant 140.0, dead time 5.5, max PWM 1.oo, calibration voltage 0.0, mode PID
    Computed PID parameters for setpoint change P13.4, I0, 482, D51,4
    Computed PID parameters for load change P13.4 i0.949, D51.4

    Could you advise me on how to invert the Z2 motor, I did the Z1.


  • Moderator

    @Dan1990 said in Duet 3 - New user - few quires:

    Could you advise me on how to invert the Z2 motor, I did the Z1.

    I don't know what you mean by this.


  • Moderator

    @Dan1990 said in Duet 3 - New user - few quires:

    Heater 2 model: gain 340.0, time constant 140.0, dead time 5.5, max PWM 1.oo, calibration voltage 0.0, mode PID
    Computed PID parameters for setpoint change P13.4, I0, 482, D51,4
    Computed PID parameters for load change P13.4 i0.949, D51.4

    Share the contents of your config-override.g so we can see the actual formatted M307 commands



  • @Phaedrux

    I am sorry for not being clear enough,

    I have two Z-axis, I have changed the rotation of Z1 (rotating anticlockwise) but Z2 rotating clockwise



  • @Phaedrux

    ; config-override.g file generated in response to M500 at 2021-01-05 16:33

    ; Heater model parameters
    M307 H0 R0.000 C495.100:140.000 D0.80 S1.00 V24.0 B0
    M307 H1 R0.000 C140.000:140.000 D5.50 S1.00 V0.0 B0
    M307 H2 R0.000 C140.000:140.000 D5.50 S1.00 V0.0 B0
    ; Workplace coordinates
    G10 L2 P1 X0.00 Y0.00 Z0.00
    G10 L2 P2 X0.00 Y0.00 Z0.00
    G10 L2 P3 X0.00 Y0.00 Z0.00
    G10 L2 P4 X0.00 Y0.00 Z0.00
    G10 L2 P5 X0.00 Y0.00 Z0.00
    G10 L2 P6 X0.00 Y0.00 Z0.00
    G10 L2 P7 X0.00 Y0.00 Z0.00
    G10 L2 P8 X0.00 Y0.00 Z0.00
    G10 L2 P9 X0.00 Y0.00 Z0.00


  • Moderator

    @Dan1990 said in Duet 3 - New user - few quires:

    M569 P0.0 S0 ; physical drive 0.0 goes backwards
    M569 P0.1 S1 ; physical drive 0.1 goes forwards
    M569 P0.2 S0 ; physical drive 0.2 goes backwards
    M569 P0.3 S1 ; physical drive 0.3 goes forwards
    M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping

    You only have a single Z driver defined, so I'm surprised the other is turning at all. Which driver are you using for Z1 and which for Z2?


  • Moderator

    @Dan1990 said in Duet 3 - New user - few quires:

    M307 H0 R0.000 C495.100:140.000 D0.80 S1.00 V24.0 B0
    M307 H1 R0.000 C140.000:140.000 D5.50 S1.00 V0.0 B0
    M307 H2 R0.000 C140.000:140.000 D5.50 S1.00 V0.0 B0

    I find it odd that your hotend heater and chamber heater are using the same values.

    I suggest you re-run the PID turning for each heater in turn and then save the results again with M500



  • @Phaedrux

    M584 X0 Y1 Z2:4 E3 ; two Z motors connected to driver outputs Z and E1
    M671 X-20:220 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
    M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200

    See above, I have read that I should add those g-codes and it is in the file

    I am using 0.4 pin


  • Moderator

    Ah I see now.

    M584 X0 Y1 Z2:4 E3 ; two Z motors connected to driver outputs Z and E1
    M671 X-20:220 Y0:0 S0.5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
    M208 X-5:205 Y0:200 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200

    The M584 you have needs to move up and replace the one above it that I quoted.



  • @Phaedrux

    Silly me, I should notice that, changing that right away.

    I will perform PID tuning and will paste the results here.

    Btw: Should the Diagnostic LED blink all the time? I have Duet 3.
    I have read that is normal but prefer to confirm


  • Moderator

    @Dan1990 said in Duet 3 - New user - few quires:

    Btw: Should the Diagnostic LED blink all the time? I have Duet 3.
    I have read that is normal but prefer to confirm

    yes that is normal



  • The PID from yesterday tunning as follow:

    ; config-override.g file generated in response to M500 at 2021-01-05 16:59

    ; Heater model parameters
    M307 H0 R0.000 C140.000:140.000 D5.50 S1.00 V0.0 B0
    M307 H1 R0.000 C167.200:140.000 D4.50 S1.00 V24.1 B0
    M307 H2 R0.000 C231.100:140.000 D4.60 S1.00 V24.1 B0
    ; Workplace coordinates
    G10 L2 P1 X0.00 Y0.00 Z0.00
    G10 L2 P2 X0.00 Y0.00 Z0.00
    G10 L2 P3 X0.00 Y0.00 Z0.00
    G10 L2 P4 X0.00 Y0.00 Z0.00
    G10 L2 P5 X0.00 Y0.00 Z0.00
    G10 L2 P6 X0.00 Y0.00 Z0.00
    G10 L2 P7 X0.00 Y0.00 Z0.00
    G10 L2 P8 X0.00 Y0.00 Z0.00
    G10 L2 P9 X0.00 Y0.00 Z0.00

    I have runout into one problem. When I tried to do homing the all axis are behaving kind of strange. They are doing normal homing, moving towards endstop, engaging them and repreating that like in the loop.

    I checked the endstops by M119, all of the are working.

    Any idea what that could be?

    Thats the homeall.g file:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.2.1 on Sun Jan 10 2021 17:23:39 GMT+0000 (GMT)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-225 Y-225 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-225 Y-225 F360 ; move slowly to X and Y axis endstops once more (second pass)
    G1 H1 Z-245 F360 ; move Z down stopping at the endstop
    G90 ; absolute positioning
    G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

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



  • Can that be related to M122?

    When I do diagnostic it says M122 response too long, see the console.

    M122 below:

    M122
    === Diagnostics ===
    RepRapFirmware for Duet 3 MB6HC version 3.01-RC9 running on Duet 3 MB6HC v1.01 or later
    Board ID: 08DJM-956BA-NA3TJ-6JTD4-3S06M-KV8GSUsed output buffers: 1 of 40 (12 max)
    === RTOS ===
    Static ram: 154572
    Dynamic ram: 162108 of which 52 recycled
    Exception stack ram used: 216
    Never used ram: 76268
    Tasks: NETWORK(ready,2076) HEAT(blocked,1184) CanReceiv(suspended,3824) CanSender(suspended,1484) CanClock(blocked,1432) TMC(blocked,216) MAIN(running,4444) IDLE(ready,80)
    Owned mutexes:
    === Platform ===
    Last reset 00:07:50 ago, cause: power up
    Last software reset at 2021-01-05 17:38, reason: User, spinning module LinuxInterface, available RAM 76036 bytes (slot 3)
    Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d
    Error status: 0
    Free file entries: 10
    SD card 0 not detected, interface speed: 37.5MBytes/sec
    SD card longest block write time: 0.0ms, max retries 0
    MCU temperature: min 28.5, current 28.8, max 28.9
    Supply voltage: min 24.1, current 24.1, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
    12V rail voltage: min 12.1, current 12.1, max 12.2, under voltage events: 0
    Driver 0: standstill, reads 57130, writes 0 timeouts 0, SG min/max not available
    Driver 1: standstill, reads 57129, writes 0 timeouts 0, SG min/max not available
    Driver 2: standstill, reads 57130, writes 0 timeouts 0, SG min/max not available
    Driver 3: standstill, reads 57130, writes 0 timeouts 0, SG min/max not available
    Driver 4: standstill, reads 57130, writes 0 timeouts 0, SG min/max not available
    Driver 5: standstill, reads 57130, writes 0 timeouts 0, SG min/max not available
    Date/time: 2021-01-14 13:11:15
    Slowest loop: 3.55ms; fastest: 0.21ms
    === Move ===
    Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
    Bed compensation in use: none, comp offset 0.000
    === MainDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
    === AuxDDARing ===
    Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 CDDA state: -1
    === Heat ===
    Bed heaters = 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = 2 -1 -1 -1
    === GCodes ===
    Segments left: 0
    Movement lock held by null
    HTTP* is ready with "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
    Autopause is idle in state(s) 0
    Code queue is empty.
    === Network ===
    Slowest loop: 0.46ms; fastest: 0.01ms
    Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
    HTTP sessions: 0 of 8

    • Ethernet -
      State: disabled
      Error counts: 0 0 0 0 0
      Socket states: 0 0 0 0 0 0 0 0
      === CAN ===
      Messages sent 258, longest wait 0ms for type 0
      === Linux interface ===
      State: 0, failed transfers: 1
      Last transfer: 17ms ago
      RX/TX seq numbers: 17840/17841
      SPI underruns 1, overruns 1
      Number of disconnects: 0
      Buffer RX/TX: 0/0-0
      === Duet Control Server ===
      Duet Control Server v3.2.0
      Code buffer space: 4096
      Configured SPI speed: 8000000 Hz
      Full transfers per second: 39.64
      Maximum length of RX/TX data transfers: 3140/624


  • your homing file has 2 homing passes in.
    Are you saying the axis approach and back away more than twice?



  • @jay_s_uk

    Yes, it is like the homing file was in the loop.



  • I have messed up a few things and I am not sure if is better to erase the board and upload a new firmware.

    To perform that I have to put a jumper over erase pins?



  • the firmware doesn't store any config information.
    You'd be best off starting with a new config file from the configurator


  • Moderator

    @Dan1990 said in Duet 3 - New user - few quires:

    Duet 3 MB6HC version 3.01-RC9

    Don't erase the board with the jumper. If you still have DWC access it's much easier to just update the firmware there. Wiping the firmware and re-flashing with USB is a last resort.

    Just upload this zip file to the system tab in the web interface.

    https://github.com/Duet3D/RepRapFirmware/releases/download/3.2/Duet2and3Firmware-3.2.zip

    If you get any error messages, or if the firmware doesn't actually apply when you check the version with M115, you can use this method.

    https://duet3d.dozuki.com/Wiki/Getting_Started_With_Duet_3#Section_Updating_Duet_3_from_RRF3_0_Beta_12_to_3_0_Final_via_DWC

    @Dan1990 said in Duet 3 - New user - few quires:

    M307 H0 R0.000 C140.000:140.000 D5.50 S1.00 V0.0 B0
    M307 H1 R0.000 C167.200:140.000 D4.50 S1.00 V24.1 B0
    M307 H2 R0.000 C231.100:140.000 D4.60 S1.00 V24.1 B0

    The tuned values look much better now.

    How many times was it bouncing in a loop when homing?



  • @Phaedrux

    So, I have to announce that all the issues are solved now.

    The problem with the bouncing was due to old firmware. The one which came with the board was 3.01. Somehow, that was interfering with the settings and doing all these strange things.

    At the moment, I am able to do what I wanted. As I said before, the board and RRF are very well made and very complex. I reckon that the adventure with RRF and duet is begun.


  • administrators

    @Phaedrux said in Duet 3 - New user - few quires:

    @Dan1990 said in Duet 3 - New user - few quires:

    Btw: Should the Diagnostic LED blink all the time? I have Duet 3.
    I have read that is normal but prefer to confirm

    yes that is normal

    We are labelling it STATUS on the next batch of boards instead of DIAG.


Log in to reply