Mixing Extruder

I used the Repetier.com/firmware/v092 to generate code for a delta with a single heaterblock and nozzle with 3 extruders.(Mixing Extruder (1 Nozzle/heater + 2 or more filament feeder)
I used the  same configuration.h file than in v091 - only difference was I selected "Mixing Extruder (1 Nozzle/heater + 2 or more filament feeder)" in the Temperature section of v092.
The problem is that the heaterblock does not heat up when I select "Preheat ABS" or the dial under  TEMP 1(the only temperature that will show in v092  whereas in v091 all three will show) on the Smart controller or when I select any one of the extruders (only Extruder 1 will show a bar and change on/off )( all 3 extruders are in the drop down box an when selected the temperature will show at the bottom of screen) in Repetier_Host
The only temperature on/off will be on Extruder 1 but will not heat the heater block when selected as ON.
I tested the hardware with the code from V091 with 3 extruders and 1 heaterblock/nozzle and it is heating up - so not a hardware problem.

Comments

  • Mixing extruder is quite new and a bit experimental as I don't have one. My tester for whom I wrote this had it already working, but I guess the ui errors that you see extruder 2 and 3 are true. Will need to disable them.

    It is correct to show only 1 temperature in host. That's the idea after all. All temperatures are done with the config of extruder 1. Only the mixing weights from extruder 2 and 3 are used from the other settings, as you see in the online config tool, which also disables these settings.

    Does setting temp over host work? Might be that the ui needs fixes for that special case.

  • Setting temperature over Repetier-Host does not work (v092)
    When I de-select mixing extruder in Repetier-Host there are 3 extruders but only the temperature of Extruder 3 corresponds to the temperature of the extruder on the smart controller. The other 2 are static - so I suspect that somewhere in the code the activation of extruder 1 and 2 are left out.
    When I select mixing extruder in Repetier-Host there is only Extruder 1 but the temperature is static and I cannot set the temperature.
    Thank you for your hard work
    Herman
  • PM me your address and I will send you a Tri-colour hotend (not mechanical mixer in it and also experimental)
  • 1.When I have 3 extruders and using 16 virtual extruders - what is the maximum weight for a virtual extruder 10, 30 or 100

    2. Can one change the weight of the  virtual extruders while printing in Repetier_Host -->Config -->Firmware EEPROM configuration or must I hard code the extruder T(x) in the g-code

    Thank You
  • There is a doc on github explaining the algorithm in more detail. All weights must sum up to < 32000 that is all what is required. So it is your decision if it should sum as percent (100) or promille (1000).

    The virtual extruders are a simple way to store precomputed weights since slicers don't support them ans so you get valid code for switching extruders.

    Each Tx command resets weights to stored values, but in between you can change the weights dynamically with the height command. You can even reprogram meaning of T0, T1 etc while printing with the gcodes and is not needed to store them permanently in eeprom for this (saving eeprom livetime).
  • Thank you for the explanation of the virtual extruder algorithm.

    I still cannot get any temperature settings to function - tried to change the heater pins and the temp_pin settings settings to be the same in the pins.h file with no effect.
    I then tried the configuration.h file of Fridi - http://forums.reprap.org/read.php?252,298247,419954#msg-419954 but that gave me compile errors when I wanted to upload to the board


  • You have to put it through config tool again. This config is older and is missing some new parameter.

    I tried with my dual extruder. In extruder menu there is only one menu entry for extruder and preheat also worked. 

    In host 1.0.6 I also fixed a temperature viewing problem for mixing extruder.

    What happens with temperature when you have T0 active? That should work in any case.
  • Still having issues with heating.
    Firmware v091 
    Repetier-Host v1.0.6
    Printer type Delta
    Printer settings 3 extruders
    Selected: Printer has a Mixing extruder

    Scenario 1 (settings on Repetier - Host)

    Only Extruder 1 bar visible
    When I select heat extruder 1 - hotend will NOT heat up
    The taskbar shows: Extruder 21.1/245C Bed: 21.1C/Off Top of screen shows: Heating Extruder
    When I select Extruder 2 from the dropdown list 
    The taskbar shows: Extruder 21.1/245C/Off Bed:21.1C Off Top of screen shows: Idle
    When I select Extruder 3 from the dropdown list
    The taskbar shows: Extruder 21.1/245C/Off Bed:21.1C Off  Top of screen shows: Idle

    Scenario 2 (settings on Repetier - Host)

    Now I de-select: Printer has a Mixing extruder
    All three extruder bars are now visible
    When I now select all three of them the hotend will heat up
    When I de-select any one of the extruders the hotend will NOT heat up

    Scenario 3 (settings on the ReprapDiscount Smart controller)

    If I select Quick Settings --> Preheat ABS or Preheat PLA the hotend will heat up
    If I deselect any one in Extruder--> Extruder 1 off or Extruder 2 off or Extruder 3 off
    the hotend will not heat up (no need to select all of them to kill the hotend any one will do)

    Scenario 4 ( Selecting on ReprapDiscount Smart controller )

    I can heat up the hotend by setting ALL three extruder temperatures under Extruder--> Temp. 1 245C  Temp 2 245C Temp 3 245C
    Any one left out and the hotend will not heat up.

  • Firmware v092 
    Repetier-Host v1.0.6
    Printer type Delta
    Printer settings 3 extruders
    Selected: Printer has a Mixing extruder

    Scenario 5 (settings on Repetier - Host )

    Only Extruder 1 bar visible
    When I select heat extruder 1 - hotend will NOT heat up
    The taskbar shows: Extruder 21.1/245C  Bed: 21.1C/Off Top of screen shows: Heating Extruder
    When I select Extruder 2 from the dropdown list 
    The taskbar shows: Extruder 21.1/245C/Off Bed:21.1C Off Top of screen shows: Idle
    When I select Extruder 3 from the dropdown list
    The taskbar shows: Extruder 21.1/245C/Off Bed:21.1C Off  Top of screen shows: Idle

    Scenario 6(settings on Repetier - Host )

    Now I de-select: Printer has a Mixing extruder
    All three extruder bars are now visible
    When I select all three or any combination of them the hotend will NOT heat up

    Scenario 7( Selecting on ReprapDiscount Smart controller )

    No action that I take will heat up the hotend
     Quick Settings --> Preheat ABS or Preheat PLA the hotend will NOT heat up
     Extruder--> Temp. 1 245C will NOT heat up the hotend
     
     
     I used the same configuration.h file from v091 on the v092 configuration tool
     Only difference - decouple test period was increased to 30000.
     
     I can send you my configuration.h file if that can help.
     
  • -->Temperature -->selected Mixing Extruder (1 Nozzle/heater + 2 or more filament feeder)
  • Ok, I think I see your error. You have all 3 extruders the same resistor/heater pin id i guess. That is a big mistake, since you then get 3 loops setting pwm for that extruder. Even more if extruder 1 is on and 2 or 3 are off, these other extruders will turn off heater which was just turned on by extruder 1. Only extruder 1(0) should have a thermistor/heater pin. The others whould be disabled. No problem when compiled with mixing extruder flag. Then only first extruder will be set anyway, also the pwm for the others are still active and cause your problem.
  • Thank you !! Heaters now working and the mixing also working - Thank you for your hard work !!!!!!!
  • Repetier thank you for this wonderful piece of software. May I request that you add the EEPROM settings for the extruder weightsto the Smart controller. That will allow one to make changes to the colours while printing not connected to a computer.
    Thank You
  • Mhh. That is much work. Not sure when I have time for this. Also it would need to set some definition for 100%. Is it 100 or 1000 so we have better precision? Will think about it. The basic idea was, that the gcodes contains color definition in the start code for the print, since normally colors change from print since you have to start with T0 at the moment.
  • edited November 2014
    Hi Repetier,

    I am trying to extend RAMPS 1.4 to 5 or 6 mix extruders.
    But somehow, compile pass but when Arduino 1.5.6-r2 upload to board till almost done. It hangs there when NUM_EXTRUDER 5 + FEATURE_CONTROLLER 2

    But NUM_EXTRUDER 6 + FEATURE_CONTROLLER 2 works fine.
    or #define  FEATURE_CONTROLLER 0 all works.

    Anyway, maybe self resolved after I "#define EEPROM_MODE 0"
    But with #define EEPROM_MODE 1 + NUM_EXTRUDER 5 + FEATURE_CONTROLLER 2 still failed

    #define NUM_EXTRUDER 5
    #define MOTHERBOARD 33

    #include "pins.h"
    #include "userpins.h"

    #define MIXING_EXTRUDER 1

    userpins.h as below

    #define ORIG_E2_STEP_PIN         65
    #define ORIG_E2_DIR_PIN          66
    #define ORIG_E2_ENABLE_PIN       42
    #define ORIG_E3_STEP_PIN         44
    #define ORIG_E3_DIR_PIN          40
    #define ORIG_E3_ENABLE_PIN       64
    #define ORIG_E4_STEP_PIN         59
    #define ORIG_E4_DIR_PIN          58
    #define ORIG_E4_ENABLE_PIN       57
    #define ORIG_E5_STEP_PIN         43
    #define ORIG_E5_DIR_PIN          45
    #define ORIG_E5_ENABLE_PIN       47

    #define HEATER_2_PIN       -1
    #define HEATER_3_PIN       -1 //16
    #define HEATER_4_PIN       -1 //17
    #define HEATER_5_PIN       -1 //4
    #define HEATER_6_PIN       -1
    #define TEMP_2_PIN         -1
    #define TEMP_3_PIN         -1 //12   // ANALOG NUMBERING
    #define TEMP_4_PIN         -1 //11   // ANALOG NUMBERING
    #define TEMP_5_PIN         -1 //10
    #define TEMP_6_PIN         -1


    #define E2_PINS ORIG_E2_STEP_PIN,ORIG_E2_DIR_PIN,ORIG_E2_ENABLE_PIN,
    #define E3_PINS ORIG_E3_STEP_PIN,ORIG_E3_DIR_PIN,ORIG_E3_ENABLE_PIN,
    #define E4_PINS ORIG_E4_STEP_PIN,ORIG_E4_DIR_PIN,ORIG_E4_ENABLE_PIN,
    #define E5_PINS ORIG_E5_STEP_PIN,ORIG_E5_DIR_PIN,ORIG_E5_ENABLE_PIN,

    Regards,
    Clarence
  • You can not include userpins.h like that. Position where you include it matters. In pins.h you see

    #if MOTHERBOARD == 999
    #define KNOWN_BOARD
    #include "userpins.h"

    remove the #if there and position is correct.

    If this still gives compile errors, post the error as well. It gives important informations.

  • edited December 2014
    Hi Repetier,

    Actually I am using another file for extend the pin.h define 
    So, it's "ramps6.h" for example.

    I don't have a compile error actually.
    Other num_extruder works fine, or If I set FEATURE_CONTROLLER 0. All NUM_EXTRUDER from 1~6 works too.
    Only
     #define EEPROM_MODE 1
    #define NUM_EXTRUDER 5 
    #define FEATURE_CONTROLLER 2
    These case failed when upload (compile without any error actually)

    So I am still wondering howto debug it.

    Full zipped fw files for reference
  • I see. So it stalls/fails after uploading for 1-2 seconds? That is a design flaw of the bootloader. It can not upload files that have !!! (yes i mean 3 exclamation marks in a row) in the binary code. So if you reference something at the address !! followed by a command that has binary ! you are busted with bootloader. All you can do is add/disable some features and hope the addresses move a few byte or using an isp.
Sign In or Register to comment.