Bench Testing Mixing Extruder with Pronterface



  • I'm new to Duet Wifi but have experience with TinyG and Mega/Ramps: I'm setting up a machine with a mixing extruder - communicating successfully with Printrun via USB and attempting to bench test my mixing extruder - I only have one tool - I believe it is T0; after setting the tool with T0 command and issuing G0E10 printrun issues pack 'no tool sellected'.

    I thought that the T0 command would sellect that tool and then I would be ready to test my extruder motors... My machine is a paste extruder so it does not utilize any heaters and I believe that is disabled... Is a there a duet wizard out there that can help this newb kick of his training wheels?

    {"board":"duetwifi10","expansion_boards":["Duex 5"],"firmware":2.03,"standalone":true,"nvram":false,"auto_save":{"enabled":false,"save_threshold":10,"resume_threshold":11,"gcodes_to_run":"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"},"display":{"type":0,"encoder_steps":4,"spi_frequency":2000000,"menus":[{"name":"main","value":""}],"images":[]},"geometry":{"type":"cartesian","mins":[-315,-650,-50],"maxes":[315,650,300],"delta_radius":105.6,"homed_height":250,"low_dive_height":false,"max_carriage_travel":260,"print_radius":85,"rod_length":215,"z_min":0},"drives":[{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":87.58,"instant_dv":15,"max_speed":50,"acceleration":250,"current":800,"driver":0,"driver_v3":"0.0","endstop_pin":"xstop","endstop_type":0,"endstop_location":1},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":87.58,"instant_dv":15,"max_speed":50,"acceleration":250,"current":800,"driver":2,"driver_v3":"0.1","endstop_pin":"ystop","endstop_type":0,"endstop_location":1},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":1511.5729,"instant_dv":0.2,"max_speed":3,"acceleration":20,"current":800,"driver":1,"driver_v3":"0.2","endstop_pin":null,"endstop":null,"endstop_type":0,"endstop_location":1},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":3200,"instant_dv":2,"max_speed":20,"acceleration":250,"current":800,"driver":3,"driver_v3":"0.3"},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":3200,"instant_dv":2,"max_speed":20,"acceleration":250,"current":800,"driver":4,"driver_v3":"0.3"},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":3200,"instant_dv":2,"max_speed":20,"acceleration":250,"current":800,"driver":5,"driver_v3":"0.3"},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":3200,"instant_dv":2,"max_speed":20,"acceleration":250,"current":800,"driver":6,"driver_v3":"0.3"},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":3200,"instant_dv":2,"max_speed":20,"acceleration":250,"current":800,"driver":7,"driver_v3":"0.3"},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":3200,"instant_dv":2,"max_speed":20,"acceleration":250,"current":800,"driver":8,"driver_v3":"0.3"},{"direction":1,"microstepping":16,"microstepping_interpolation":true,"steps_per_mm":3200,"instant_dv":2,"max_speed":20,"acceleration":250,"current":800,"driver":9,"driver_v3":"0.3"}],"idle":{"used":true,"factor":30,"timeout":30},"homing_speed_fast":30,"homing_speed_slow":6,"travel_speed":100,"z_dive_height":5,"slow_homing":false,"probe":{"type":"noprobe","recovery_time":0.4,"trigger_height":2.5,"trigger_value":500,"x_offset":0,"y_offset":0,"speed":2,"deploy":false,"points":[],"pwm_channel":3,"pwm_inverted":true,"pwm_pin":null,"input_pin":"zprobe.in","modulation_pin":"zprobe.mod"},"bed_is_nozzle":false,"bed":{"present":false,"use_pid":false,"heater":0},"chamber":{"present":false,"use_pid":false,"heater":2},"heaters":[null],"num_nozzles":0,"toolchange_wait_for_temperatures":false,"generate_t_code":false,"tools":[{"mix_ratio":[0.2,0.2,0.2,0.2,0.2],"number":0,"name":"V","extruders":[0,1,2,3,4],"heaters":[],"fans":[],"x_offset":0,"y_offset":0,"z_offset":0}],"compensation_x_offset":15,"compensation_y_offset":15,"peripheral_points":3,"halfway_points":3,"calibration_factors":6,"probe_radius":85,"mesh":{"x_min":-300,"x_max":215,"y_min":-635,"y_max":195,"radius":85,"spacing":20},"home_first":false,"orthogonal":{"compensation":false,"height":50,"deviations":[0,0,0]},"network":{"enabled":true,"mac_address":"","name":"Ractor V","password":"","ssid":"","ssid_password":"","dhcp":true,"ip":"192.168.1.20","netmask":"255.255.255.0","gateway":"192.168.1.254","protocols":{"http":true,"ftp":false,"telnet":false}},"fans":[{"name":"FAN3","value":100,"inverted":false,"frequency":500,"thermostatic":false,"heaters":[],"trigger_temperature":45,"output_pin":"fan0"},{"name":"FAN4","value":100,"inverted":false,"frequency":500,"thermostatic":false,"heaters":[],"trigger_temperature":45,"output_pin":"fan1"}],"custom_settings":""}


  • Moderator

    It looks like you've posted the contents of config.json, can you post the human readable/editable config.g instead?

    Also, what firmware version are you using?

    Have you tried interacting with the board through the web interface rather than printrun?



  • ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sat Jan 18 2020 12:32:42 GMT-0500 (Eastern Standard Time)

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

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S1 ; physical drive 0 goes forwards
    M569 P2 S1 ; physical drive 2 goes forwards
    M569 P1 S1 ; physical drive 1 goes forwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M569 P4 S1 ; physical drive 4 goes forwards
    M569 P5 S1 ; physical drive 5 goes forwards
    M569 P6 S1 ; physical drive 6 goes forwards
    M569 P7 S1 ; physical drive 7 goes forwards
    M569 P8 S1 ; physical drive 8 goes forwards
    M584 X0 Y2 Z1 E3:4:5:6:7:8 ; set drive mapping
    M350 X16 Y16 Z16 E16:16:16:16:16:16 I1 ; configure microstepping with interpolation
    M92 X87.58 Y87.58 Z1511.57 E3200.00:3200.00:3200.00:3200.00:3200.00:3200.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00:120.00:120.00:120.00:120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X3000.00 Y3000.00 Z180.00 E1200.00:1200.00:1200.00:1200.00:1200.00:1200.00 ; set maximum speeds (mm/min)
    M201 X250.00 Y250.00 Z10.00 E250.00:250.00:250.00:250.00:250.00:250.00 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800:800:800:800:800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X-315 Y-650 Z-50 S1 ; set axis minima
    M208 X315 Y650 Z300 S0 ; set axis maxima

    ; Endstops
    M574 X0 Y0 Z0 S0 ; set active low and disabled endstops

    ; Z-Probe
    M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
    M557 X-300:215 Y-635:195 S20 ; define mesh grid

    ; Heaters
    M140 H-1 ; disable heated bed

    ; Fans
    M106 P0 C"FAN3" S1 I0 F500 H-1 ; set fan 0 name, value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 C"FAN4" S1 I0 F500 H-1 ; set fan 1 name, value, PWM signal inversion and frequency. Thermostatic control is turned off

    ; Tools

    ; Custom settings are not defined



  • @Phaedrux running 3.0 and I have also tried the web interface - more comfortable with printrun at the moment


  • Moderator

    It would appear that you don't have any tools defined at all.





  • @Phaedrux - it does seem there are not tools. Hmm - I used the Web RRF Config Tool - I guess I'll go back and run that again. Thanks - just finding the config.g file was super helpful. I was confused why my config file was so hard to decipher.



  • @deckingman Thanks for pointing me in the right dirrection - much appreciated.



  • @ractorIII No worries. Come back if you need more help.



  • @deckingman - with that note - trouble - I was expecting to be able to designate a tool that utilized 5 extruders with a simple text command M563 P0 D0:1:2:3:4 with printrun it bounces back that there is an error with the drive numbers. Also - I have not been able to issue simple gcode commands via Duet Web Control - though I am able to connect...


  • Moderator

    What does the error say?

    What happens when you try to send commands in the DWC console?



  • @Phaedrux Nothing happens when I attempt to send gcode through the Duet Web Interface - though the log state that I am connected, the log does not indicate that any code was sent. Another issue that I am having with DWC is that if I attempt to upload the zipped reprap config file I get an AJAX error and it disconnects. If I remember right - I was having this issue before and had to disconnect my power supply from the board and run it strictly of usb to get the upload to work - very inconvenient. I guess I'll open my housing and pull the micro SD out to update reprap config files.

    To the issue at hand, which is getting a tool designated for bench testing my extruder setup. The following is how print run responds when issued:

    SENDING:M563 P0 D0:1:2:3:4
    Error: Tool creation: bad drive number
    [ERROR] Error: Tool creation: bad drive number

    I'm using a duet wifi with x5 expansion - I have a total of 7 extruder steppers and for this tool I am trying to use the 2 that are on the Duet Wifi and the first 3 that are on the x5 expansion.


  • Moderator

    Sounds like you might have a mismatched DWC version? What versions are you running?



  • @Phaedrux - you may be right - this is what is listed on DWC. Should the Web Interface Version be HTML: 3.0? I'm starting to get very confused...

    Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
    Firmware Version: 3.0 (2020-01-03b3)
    Web Interface Version: HTML: 1.11


  • Moderator



  • @Phaedrux - not able to upload file with DWC - followed instructions here:

    https://duet3d.dozuki.com/Wiki/Installing_and_Updating_Firmware#Section_Updating_WiFi_firmware_or_DuetWebControl_files

    to unzip DuetWebControl-SD.zip onto SD card after deleting old file contents

    issue remains - AJAX error when uploading files via DWC


  • Moderator

    Just to confirm, you've wiped out the /www folder and replaced it with the contents of the zip file and the DWC version now shows as 2.0.7?

    What browser are you using?



  • @Phaedrux -scratch that - installed and seems to be in sync now.

    still trouble defining tool head - same bounce back from DWC on issuing M563 P0 D0:1:2:3:4

    'tool creation:bad drive number


  • Moderator

    @ractorIII said in Bench Testing Mixing Extruder with Pronterface:

    M584 X0 Y2 Z1 E3:4:5:6:7:8 ; set drive mapping

    How do you have your motors connected? The drive mappings don't match what you're trying to use for tool drives.

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

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



  • @Phaedrux

    ; Configuration file for Duet WiFi (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sat Feb 01 2020 21:20:25 GMT-0500 (Eastern Standard Time)

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

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; physical drive 0 goes backwards
    M569 P2 S0 ; physical drive 2 goes backwards
    M569 P1 S1 ; physical drive 1 goes forwards
    M569 P3 S1 ; physical drive 3 goes forwards
    M569 P4 S1 ; physical drive 4 goes forwards
    M569 P5 S1 ; physical drive 5 goes forwards
    M569 P6 S1 ; physical drive 6 goes forwards
    M569 P7 S1 ; physical drive 7 goes forwards
    M569 P8 S1 ; physical drive 8 goes forwards
    M569 P9 S1 ; physical drive 9 goes forwards
    M584 X0 Y2 Z1 E3:4:5:6:7:8:9 ; set drive mapping
    M350 X16 Y16 Z16 E16:16:16:16:16:16:16 I1 ; configure microstepping with interpolation
    M92 X87.58 Y87.58 Z1511.57 E3200.00:3200.00:3200.00:3200.00:3200.00:3200.00:3200.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00:120.00:120.00:120.00:120.00:120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00:1200.00:1200.00:1200.00:1200.00:1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00:250.00:250.00:250.00:250.00:250.00:250.00 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800:800:800:800:800:800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X-315 Y-650 Z-50 S1 ; set axis minima
    M208 X315 Y650 Z300 S0 ; set axis maxima

    ; Endstops
    M574 X0 Y0 Z0 S0 ; set active low and disabled endstops

    ; Z-Probe
    M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
    M557 X-300:215 Y-635:195 S20 ; define mesh grid

    ; Heaters
    M140 H-1 ; disable heated bed

    ; Fans
    M106 P0 C"FAN3" S1 I0 F500 H-1 ; set fan 0 name, value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 C"FAN4" S1 I0 F500 H-1 ; set fan 1 name, value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P2 C"FAN5" S1 I0 F500 H-1 ; set fan 2 name, value, PWM signal inversion and frequency. Thermostatic control is turned off

    ; Tools
    M563 P0 S"V" D0:1:2:3:4 F-1 ; 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
    M568 P0 S1 ; enable mixing for tool 0
    M567 P0 E0.2:0.2:0.2:0.2:0.2 ; set mixing ratios for tool 0

    ; Custom settings are not defined

    ; Miscellaneous
    T0 ; select first tool



  • @Phaedrux - yeah - I wasn't sure if the drive should match the extruder number or the drive number, so I tried both M563 P0 D0:1:2:3:4 and M563 P0 D3:4:5:6:7 am getting the same 'tool creation: bad drive number. I read the sections on drive mapping and tool defining and everything seems to be in order. Unless I missed something. Dumbfounded at the moment.



  • @ractorIII The drive numbers used when you define a tool refer to the extruder drives in the order that they are created. So if you have physical drives assigned to extruders 3 to 7 in M584 then the extruder drive numbers when you define a tool are 0 to 4. Which looks like that's how you have done it.


  • administrators

    @ractorIII said in Bench Testing Mixing Extruder with Pronterface:

    @Phaedrux Nothing happens when I attempt to send gcode through the Duet Web Interface - though the log state that I am connected, the log does not indicate that any code was sent. Another issue that I am having with DWC is that if I attempt to upload the zipped reprap config file I get an AJAX error and it disconnects. If I remember right - I was having this issue before and had to disconnect my power supply from the board and run it strictly of usb to get the upload to work - very inconvenient. I guess I'll open my housing and pull the micro SD out to update reprap config files.

    To the issue at hand, which is getting a tool designated for bench testing my extruder setup. The following is how print run responds when issued:

    SENDING:M563 P0 D0:1:2:3:4
    Error: Tool creation: bad drive number
    [ERROR] Error: Tool creation: bad drive number

    I'm using a duet wifi with x5 expansion - I have a total of 7 extruder steppers and for this tool I am trying to use the 2 that are on the Duet Wifi and the first 3 that are on the x5 expansion.

    Perhaps the M584 command to set up the extruder drives failed. If you send M584 without parameters, what does it report?

    EDIT: maximum number of extruders supported by RRF3 on Duet 2 is 6. So your command:

    M584 X0 Y2 Z1 E3:4:5:6:7:8:9 ; set drive mapping

    is failing because you are trying to create 7 extruders. If you really need 7 then I can increase the limit.



  • thanks @dc42 - I need 5 extruder steppers at the moment - if that is the case I'll remap my motors so my dual Y steppers are not doubled up on one driver. Maybe that will fix my issue - I'll look into your other suggestions later today.

    I would be interested in having more extruder steppers available in the future - or even the ability of mapping all of the drivers as extruders - the goal would be precise stationary liquid slurry mixing machine.



  • @deckingman - thanks for your help. Eliminating the E6 driver mapping resolved the issue. All steppers are tested to be operating as expected.

    I would like to use that final stepper on the Duex5 as an extruder eventually but will not need it anytime soon.


Log in to reply