Duet Wifi+Duex5 + 5way Diamond + Cura = Need help to finetune config.



  • Hello,

    I've been configuring my Duet WiFi + Duex5 to use the new 5way Diamond Hotend + continue to use Cura as I like it best.

    I had it working in regards to printing with just 1 color at a time and everything was fine, but in order to use the Diamond properly I needed to use Firmware Retract - As I understand it, I need to enable Volumetric printing in order to use Firmware Retract in Cura. Is this true/false?

    [h]Changes to working Config[/h]
    These things resulted in the following changes to my Config.g

    ; Enable Firmware retraction
    M207 S1.5 F3000       ;set firmware retraction
    
    ; Sets filament diameter for all extruders, which also enables volumetric printing
    M200 D1.75  ; set all extruder filament diameters to 1.75mm
    
    

    Now, in order to use Firmware Retraction in Cura, I need to either pick the UltiCode or RepRap (Volumetric) gcode flavor. Since Ulticode is no good for us, I am now using RepRap (Volumetric) in Cura. Diameter of filament is set in Cura. I can see no place to setup anything related to Volumetric though aside from Gcode flavor.

    [h]Issue at hand:[/h]
    Problem is that it now extrudes what looks like 3-4 times the normal amount of plastic when printing and I just can't seem to solve this.

    • My Cura startup code at the end of this post.

    [h]What I've tried[/h]
    I've previsouly had this very problem, except it was like 10times plastic, which I solved by uncommenting the M83 in the config.g - I have tried playing with M83 and M82 in both the Config.g and in Cura startup.gcode, but I just cannot find a combination to make it work!

    [h]Full Config.g file[/h]

    ; General preferences
    M111 S1 ; Debugging on/off 0/1
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    ; M83 ; ...but relative extruder moves
    M555 P1 ; Set firmware compatibility to look like RepRapFirmare
    
    M667 S1 ; Select CoreXY mode
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X207 Y210 S ; Set XY max
    M208 Z244.48 S0 ; Set Z max
    
    ; Endstops
    M574 X1 Y1 Z2 S1 ; Define active high microswitches
    M558 P5 X0 Y0 Z1 H5 F120 T6000 ; Set Z probe type/mode 5, the axes for which it is used and the probe + travel speeds
    G31 P25 X-30 Y-5 Z1.5 ; Set BLTouch z probe trigger value, offset and trigger height.
    ; M557 X15:215 Y15:205 S20 ; Define mesh grid
    
    ; Drives
    M569 P0 S1 ; Drive 0 goes forwards A
    M569 P1 S1 ; Drive 1 goes forwards B
    M569 P2 S0 ; Drive 2 goes forwards Z-both motor on 1 driver for now.
    M569 P3 S0 ; Tool 0
    M569 P4 S0 ; Tool 1
    M569 P5 S0 ; Tool 2
    M569 P6 S0 ; Tool 3
    M569 P7 S0 ; Tool 4
    M350 X16 Y16 Z16 E16:16:16:16:16 I1 ; Configure microstepping with interpolation
    M92 X160 Y160 Z800 E1025:1025:1025:1025:1025 ; Set steps per mm
    
    M566 X900 Y900 Z12 E120:120:120:120:120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X12000 Y12000 Z1000 E3000:3000:3000:3000:3000 ; Set maximum speeds (mm/min)
    M201 X500 Y500 Z250 E250:250:250:250:250 ; Set accelerations (mm/s^2)
    M906 X1000 Y1000 Z800 I0 ; Set motor currents (mA) and motor idle factor in per cent for XYZ
    M906 E800:800:800:800:800 I20 ; Set motor currents (mA) and ide factor in per cent for Extruder motors
    M84 S5 ; Set idle timeout
    
    ; Heaters
    ; M305 Sensor P0 Bed. P1 Hotend
    ; M307 Heater
    ; Teste Hotend: M303 H1 P0.3 S200
    ; Test Bed M303 H0 P0.1 S100
    ; BED
    M143 H0 S140   ; set the maximum bed temperature to 140C
    M307 H0 A44.1 C127.7 D3.0 S1 B0		; Heated Bed Pid settings
    M305 P0 T100000 B3950 C0 R4700		; BED Thermistor
    ; Hotend
    M143 S260 ; Set maximum hotend temperature to 240C
    M307 H1 A1073.8 C407.8 D3.5 S1 B0 	; PID Heater - 5-way Diamond
    M305 P1 X100 ; Use thermocoupler for heater P1/H1 on first channel
    
    ; Disabled heaters
    M307 H7 A-1 C-1 D-1 ; Disable heater 7 for BLTouch
    
    ; Tools
    ; P tool number
    ; D Extruder drive
    ; H Heater
    M563 P1 D0:1:2:3:4 H1 ; Define tool 1
    G10 P1 X0 Y0 Z0 ; Set tool 1 axis offsets
    G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C
    M568 P1 S1 ; Enable mixing for tool 1
    M567 P1 E0.9:0.025:0.025:0.025:0.025 ; Set mixing ratios for tool 1
    
    M563 P2 D0:1:2:3:4 H1 ; Define tool 2
    G10 P2 X0 Y0 Z0 ; Set tool 2 axis offsets
    G10 P2 R0 S0 ; Set initial tool 2 active and standby temperatures to 0C
    M568 P2 S1 ; Enable mixing for tool 2
    M567 P2 E0.025:0.9:0.025:0.025:0.025 ; Set mixing ratios for tool 2
    
    M563 P3 D0:1:2:3:4 H1 ; Define tool 3
    G10 P3 X0 Y0 Z0 ; Set tool 3 axis offsets
    G10 P3 R0 S0 ; Set initial tool 3 active and standby temperatures to 0C
    M568 P3 S1 ; Enable mixing for tool 3
    M567 P3 E0.025:0.025:0.9:0.025:0.025 ; Set mixing ratios for tool 3
    
    M563 P4 D0:1:2:3:4 H1 ; Define tool 4
    G10 P4 X0 Y0 Z0 ; Set tool 4 axis offsets
    G10 P4 R0 S0 ; Set initial tool 4 active and standby temperatures to 0C
    M568 P4 S1 ; Enable mixing for tool 4
    M567 P4 E0.025:0.025:0.025:0.9:0.025 ; Set mixing ratios for tool 4
    
    M563 P5 D0:1:2:3:4 H1 ; Define tool 5
    G10 P5 X0 Y0 Z0 ; Set tool 5 axis offsets
    G10 P5 R0 S0 ; Set initial tool 5 active and standby temperatures to 0C
    M568 P5 S1 ; Enable mixing for tool 5
    M567 P5 E0.025:0.025:0.025:0.025:0.9 ; Set mixing ratios for tool 5
    
    M563 P6 D0:1:2:3:4 H1 ; Define tool 6
    G10 P6 X0 Y0 Z0 ; Set tool 6 axis offsets
    G10 P6 R0 S0 ; Set initial tool 6 active and standby temperatures to 0C
    M568 P6 S1 ; Enable mixing for tool 6
    M567 P6 E0.20:0.20:0.20:0.20:0.20 ; Set mixing ratios for tool 6
    
    ; Enable Firmware retraction
    ; https://duet3d.com/wiki/G-code#M207:_Set_retract_length
    ; Snnn positive length to retract, in mm
    ; Rnnn positive or negative additional length to un-retract, in mm
    ; Znnn additional zlift/hop
    M207 S1.5 F3000       ;set firmware retraction
    
    ; Sets filament diameter for all extruders, which also enables volumetric printing
    ; https://duet3d.com/wiki/G-code#M200:_Set_filament_diameter
    M200 D1.75  ; set all extruder filament diameters to 1.75mm
    
    ; Network
    M550 PBeTrue3D ; Set machine name
    M552 S1 ; Enable network
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet
    
    ; Fans
    ; H-1 Thermostatic off
    M106 P0 S0 F500 H-1 ; Object cooler
    
    M106 P1 S1 F400 H1 T50 ; Set fan 1 - HS
    
    ; M106 P2 S0 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
    
    M106 P3 S1; Set fan 3 value as LED. S1 = on. I0 enabled (default)
    
    ; Custom settings are not configured
    
    ; Miscellaneous
    T0 ; Select first Tool
    M575 P1 B115200 S1                   ; Set aux serial port, baud rate, and require checksum (for PanelDue)
    
    

    [h]Cura startup.gcode[/h]
    I have tried playing with M83 and M82 in combinations with the same in config.g with no success.
    This here is how it looked when it worked before I changed to RepRap (Volumetric) gcode flavor.

    G21 ;metric values
    G90 ;absolute positioning
    M82 ;set extruder to absolute mode
    G10 P1 S205 R205 ; Active + Standby temp
    G10 P2 S205 R205 ; Active + Standby temp
    G10 P3 S205 R205 ; Active + Standby temp
    G10 P4 S205 R205 ; Active + Standby temp
    G10 P5 S205 R205 ; Active + Standby temp
    G10 P6 S205 R205 ; Active + Standby temp
    M107 ;start with the fan off
    G28; Home All
    G1 Z15.0 F2000 ;move the platform to 15mm
    G92 E0 ;zero the extruded length
    G1 F200 E30 ;extrude 30 mm of feed stock
    G92 E0 ;zero the extruded length again
    G1 F9000
    M117 Printing...
    
    

  • administrators

    First, a plea to everyone who uses Cura. Please nag the developers to add support for relative extrusion coordinates. Absolute extrusion coordinates makes no sense at all and supporting them wastes inordinate amounts of my time because of the complications they bring to implementing features such as pause/resume, resume on power fail, and mixing extruders.

    Regarding your particular questions

    1. If you use Cura you should include M82 in your start gcode because currently it only supports absolute extruder coordinates

    2. I don't know whether or not you need to set volumetric extrusion in Cura to use firmware retraction.

    3. Volumetric extrusion is not supported in stable firmware 1.18 but is supported in the 1.19 release candidate. It is enabled by an M200 command to set the filament diameter. I don't know whether or not Cura generates this in the prologue automatically.



  • @dc42:

    First, a plea to everyone who uses Cura. Please nag the developers to add support for relative extrusion coordinates. Absolute extrusion coordinates makes no sense at all and supporting them wastes inordinate amounts of my time because of the complications they bring to implementing features such as pause/resume, resume on power fail, and mixing extruders.

    Regarding your particular questions

    1. If you use Cura you should include M82 in your start gcode because currently it only supports absolute extruder coordinates

    2. I don't know whether or not you need to set volumetric extrusion in Cura to use firmware retraction.

    3. Volumetric extrusion is not supported in stable firmware 1.18 but is supported in the 1.19 release candidate. It is enabled by an M200 command to set the filament diameter. I don't know whether or not Cura generates this in the prologue automatically.

    Thanks, I'll play around and test it.

    I guess it's nr3 that goes wrong as I've set Cura to RepRap (Volumetric) as I had to do this to make it do firmware retract (not confirmed this yet). Since I run 1.18 the firmware and cura is at a mismatch.

    Edit: just checked my backup startcode and I can see I normally use M82 🙂 I've edited the first post.



  • @dc42:

    3. Volumetric extrusion is not supported in stable firmware 1.18 but is supported in the 1.19 release candidate. It is enabled by an M200 command to set the filament diameter. I don't know whether or not Cura generates this in the prologue automatically.

    Ok, so the M200 I'm using now to enable this, does not work unless I update firmware to 1.19?

    In cura we define filament diameter and it runs in Volumetric if we choose RepRap (Volumetric) GCode Flavor in Machine Settings.

    I read it only uses the G10 and G11 for firmware retract when using this setting or ulticode, but havn't tested it.


  • administrators

    There is a workaround for firmwares that don't support volumetric extrusion, which is to set the filament diameter in the slicer to 1.128mm. But I'd prefer you to try 1.19RC3.



  • @dc42:

    There is a workaround for firmwares that don't support volumetric extrusion, which is to set the filament diameter in the slicer to 1.128mm. But I'd prefer you to try 1.19RC3.

    That's interesting, but I finally managed to get the EDGE firmware and such up and running, so new testing commecing.
    I can confim that Cura firmware retract does not work unless I use the RepRap (Volumetric) setting… I'd like to see a tick-box to enable this regardless of Gcode flavor used! Oh, that's not for this forum 🙂

    I didn't know I had to copy over the files on SD, so just did the web upgrade path - Can we expect to update/upgrade via web from now on? (I know this is out of topic). I found that we can.
    Well, I lost connection to webinterface and couldn't connect via USB either…

    Copied over the files, renamed and extracted as pr your instructions.

    I had problems as I couldn't connect to neither WDC or USB… but my PanelDue connected fine, and printer reacted as it would with normal firmware, so I made a macro to upgrade firmware and it actually worked. 🙂 Also used the setnetwork macro you explained.

    I still could not connect to neither WDC or USB though untill I typed in M550 S0 and M550 S1 in the display.. in hindsight I guess the setnetwork macro only setups the parameters but does not enable the wifi. Maybe this detail should be listed in the upgrade instructions?

    For some reason I still can't connect using usb.. in fact the printer acts weird when doing so - my LED turns off, which are enabled using Gcodes on my Duex5. Worked fine before this - been a while since I tested it tough… lucky I had a PanelDue!



  • Hmm, after updating firmware, my X axis moves when I Press Y and the other way around?
    Edit: Running CoreXY

    I've changed nothing in my config and it worked before.

    Firmware Electronics: Duet WiFi 1.0 + DueX5
    Firmware Version: 1.19RC3 (2017-08-05)
    WiFi Server Version: 1.19beta10
    Web Interface Version: 1.17+2

    Edit 2: I also get this error: Can't open 0:/sys/oem.json to read, error code 4


  • administrators

    If you were using 1.17 or earlier series firmware or 1.18 firmware (not 1.18.1 or 1.18.2) and a Windows operating system, then to get USB working you need to install a newer version of the Windows device driver from https://github.com/dc42/RepRapFirmware/tree/dev/Driver.

    Re the X and Y issue, read the upgrade notes at https://github.com/dc42/RepRapFirmware/blob/dev/WHATS_NEW.md.



  • @dc42:

    If you were using 1.17 or earlier series firmware or 1.18 firmware (not 1.18.1 or 1.18.2) and a Windows operating system, then to get USB working you need to install a newer version of the Windows device driver from https://github.com/dc42/RepRapFirmware/tree/dev/Driver.

    Re the X and Y issue, read the upgrade notes at https://github.com/dc42/RepRapFirmware/blob/dev/WHATS_NEW.md.

    The drivers thing should really be noted in the upgrade info 🙂 I just used the latest stable firmware before this, but I havn't used USB since I first got the board up and running, so hard to know.

    I have looked in and tried to find anything relevant the notes.. but I havn't been able to find anything in there… got a search string so I can find the relevant info?

    Anything on the error I also recieve? Can't open 0:/sys/oem.json to read, error code 4

    edit: I can connect now, after driver update, but printer acts odd still - led blinking.



  • @dc42:

    If you were using 1.17 or earlier series firmware or 1.18 firmware (not 1.18.1 or 1.18.2) and a Windows operating system, then to get USB working you need to install a newer version of the Windows device driver from https://github.com/dc42/RepRapFirmware/tree/dev/Driver.

    Re the X and Y issue, read the upgrade notes at https://github.com/dc42/RepRapFirmware/blob/dev/WHATS_NEW.md.

    Ok, I found the note, but I don't know what to do about it.

    Important! On a CoreXY machine, if upgrading from a version prior to 1.19beta9, you need to reverse the Y motor direction. Similarly for CoreXZ and CoreXYU machines.

    If I change M560 P1 and P2 from S1 to S0 they just go the other way, but they X is still moving when Y should move, and the other way.
    Ok, figured out I needed to jus reverse Y motor.

    Please consider when you help people, which you do very fast, don't just link and say "look in this document".. I'll bet most users in here allready did that, but were unable to find anything they thought relevant..
    Either tell them the info they need exactly, or at least tell them where to look in the respective document…

    In my case you could just have told me to reverse motor Y.. that would have saved a lot 🙂


  • administrators

    1. I don't have time to give personalised advice every time, posting links is quicker
    2. I want to encourage everyone to read the upgrade notes every time they upgrade firmware
    3. There may be something else in the upgrade notes that matters in your configuration, so by making you read them I may have saved you some time.



  • @dc42:

    1. I don't have time to give personalised advice every time, posting links is quicker
    2. I want to encourage everyone to read the upgrade notes every time they upgrade firmware
    3. There may be something else in the upgrade notes that matters in your configuration, so by making you read them I may have saved you some time.

    I honestly couldn't find the notes at first, but now I know where they are.

    About nr. 1)
    Problem is not finding the source for info.. most people have read it several times and tried solving a problem for days before asking for help.
    The problem is understanding what's in the source. Explaining how something works on component level and then expect people to figure out Gcode commands to match it, goes way above most people's capabilities.

    When people specifically say they have read the relevant sources then linking to them again is rather rude.. as it's a non-answer. Same when people say "use Google"
    Edit: at least tell them what to look for. In several posts I've written that I have read the page several times and couldn't figure it out… giving me link to same page without any form of help is demeaning - might as well tell me you think I'm rather dumb.

    About nr. 2
    Sure, in the ideal world everyone read all release notes. In the ideal world people also understood what was written in them.
    In the real world however I would recommend doing like Synology does and split release notes into Important notes and Fixed issues. If changes to Firmware updating method or other important system changes (motors now go in reverse) takes place, they should be under Important notes.

    About nr. 3
    Yes, I understand that, but reading the Release notes is a real chore as most of it is gibberish to me. I skim the notes, which is more than most I guess.
    I've always just updated firmware and then go through and look at the GUI to see changes. I always only use Stable, but this time I had to use RC in order to get Volumetric support.



  • [h]Solution to use Duet + Diamond Hotend w. firmware retract + Cura[/h]

    There are some inherent problems using Cura and Duet

    • Need to comment out M83 in config.g + Use M82 in cura startgcode.

    Adding Diamond hotend and we need more changes:
    [h]Firmware Retract and Volumetric[/h]
    Now, in order to use Firmware Retract in Cura we need to use either the Ulticode or RepRap (Volumetric) Gcode Flavor in Machine settings.
    We can’t use the Ulticode one, as it removes the startup.gcode option and the second one requires Duet to use Volumetric.

    Duet only just supported Volumetric extrusion in 1.19RC/Beta, so you need to upgrade firmware if you havn't allready.

    Extra special important note: Be sure to read upgrade instructions if using 1.18 or earlier

    So, in order to use Volumetric we need to use 1.19 or newer + use the M200 D1.75 gcode in config.g
    Firmware retract enabled by using M207 S1.5 F3000

    Now it actually all works Extruding manually using web interface after enabling Volumetric extrusion via M200 now extrudes only 4/10 though.. guess it’s to consider a firmware bug.

    [h]Summary[/h]

    • Need to comment out M83 in config.g + Use M82 in cura startgcode. (This is always the case when using Duet with Cura)

    • Use Duet Firmware 1.19 or newer

    • Cura - Use RepRap (Volumetric) Gcode Flavor in machine settings - to support Firmware Retract.

    • Duet Config.g - Enable Firmware Retract using M207 S1.5 F3000 - Diamond hotend retract at 1.5mm is good.

    • Duet Config.g - Enable Volumetric printign using M00 D1.75

    Edited lots of times for readability and stuff


  • administrators

    1. Using M82 in the Cura start gcode is sufficient to make absolute extrusion work.

    2. In RC5 I've changed volumetric extrusion to work on a per-input basis. This means that you will need to put the M200 command in your Cura start gcode, because Cura doesn't generate it even when it is set to volumetric extrusion.



  • @dc42:

    1. Using M82 in the Cura start gcode is sufficient to make absolute extrusion work.

    2. In RC5 I've changed volumetric extrusion to work on a per-input basis. This means that you will need to put the M200 command in your Cura start gcode, because Cura doesn't generate it even when it is set to volumetric extrusion.

    • Also need to remove M83 from config.g unless you changed something in 1.19

    • But Volumetric works now using RC3. I print just fine now after the changes made as described. Am a bit confused as to what you are saying.

    • When having configured duet to Volumetric it extrudes 4/10 amount only, when using webinterface? If I comment out the M200 line it works fine, untill I put it back… Seems the Webinterface does not support Volumetric printing?

    Current startupcode - disregard the drop-down selection as I am using RepRap(Volumetric).


  • administrators

    Have you tried RC5, and put the M200 command in the slicer start gcode and nowhere else? I find it surprising that Cura doesn't add the M200 command itself.

    Nobody else has reported having to remove M83 from config.g to use absolute extrusion, as long as they included M82 in the start gcode


Locked
 

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