Max number of virtual extruders



  • "The heat control loop might skip all extruders except 1, you need to modify it to use 0 and 3 instead"

    The ideal thing would be that when I select the virtual extruders linked to the first Diamond (configured extruders 0,1 and 2) the firmware links them to the "not virtual extruder 0 heat control loop" whilst when I select the virtual extruders linked to the second Diamond (configured extruders 3,4 or 5) the firmware links them to the "not virtual extruder 1 loop". 

    Infact in the configuration tool, if I unselect the mixing extruder option I have configured the extruders 0,1 and 2 with the 0 heat control loop (heater 0 and thermistor 0 normally linked to extruder 0) and the extruders 3,4 or 5 with the 1 heat control loop (heater 2 and thermistor 2 normally linked to extruder 1). After I select the mixing extruder because I need it to setup 16 virtual extruders on Diamond 1 and 16 virtual extruders on Diamond 2.

    This would give me complete temperature control because I select one virtual extruder only at a time and this belongs either to the first 16 virtual extruders linked to diamond 0 or to the second 16 virtual extruders linked to diamond 1.

    The not selected extruder will be kept at a low temperature or powered off whilst the active one is printing.

    "Hosts assume one temperature for mixing etxruder only. If you say you have no mixing etxruder you get 16 temperatures..."

    If I don't select the mixing extruder option in config tool may I setup the virtual extruders in the same way ? 
    ; Cyan
    M163 S0 P1
    M163 S1 P0
    M163 S2 P0
    M163 S3 P0
    M163 S4 P0
    M163 S5 P0
    M164 S0

    Second point: how can I manage retraction ?
    By selecting S15 for the first Diamond:
    ; Brown
    M163 S0 P1
    M163 S1 P1
    M163 S2 P1
    M163 S3 P0
    M163 S4 P0
    M163 S5 P0
    M164 S15

    and S31 for the second ?

    ; Brown2
    M163 S0 P0
    M163 S1 P0
    M163 S2 P0
    M163 S3 P1
    M163 S4 P1
    M163 S5 P1
    M164 S31


  • OK tested just now: if I don't select the mixing extruder option the M163 and M164 commands are not executed or produce no effect.
  • #if NUM_EXTRUDER > 0
        extr = 0; // map any virtual extruder number to 0
    #endif // MIXING_EXTRUDER

    This prevents more than one heating loop. By commenting this I can probably enable M163 and M164 commands.
    Can you confirm ?
  • M163 and M164 require mixing extruder.

    As I said what you want is not possible out of the box. You need to adjust some firmware spots to do what you need here.

    What you show is a code part that I mean needs modification - but I do not have the time to guide you through it. Even I would need several hours without any guarantee on success as that is quite a hack.

    What I can offer is if you use a due based board and would switch to V2 firmware I could start adding the mixing solution there and you test it. As I already mentioned I think, that will be more flexible so it would run out of config with 2 or 3 mixing extruders or with a mixing extruder and 1-n regular extruders.

    Only things is for V2 there is no config tool, but a good documentation about the configuration and compilation process.
  • BTW - my idea for V2 is to have only one extruder as mixing extruder what only has mixing ratios. So in theory you only need in your case 2 extruders where you define the mixing ratios.

    In addition you would be able to add virtual extruders which when selected just assign a mixing ratio to one of the real extruders and then select back the assigned real extruder.

    That design will allow a very flexible combination with any number of real and virtual extruders. Or also possible without any virtual extruders and just 2 real extruders in your case.

    How does that solution sound to you?
  • For me your solution is too much complex: to run V2 I need to replace RAMPS with RADDS but it cannot drive 6 extruder motors, only 3, so I have to add other electronics for it and I have to use Arduino 2.
    To do so I have to remap the connections of all the devices ... I have also Nema 32 motor drivers for XYZ axes .. A lot of work...
    Panucatt RE-ARM for me was a possible way to follow you on V2 because it is fully RAMPS 1.4 compatible but you have told me that is not possible for you now so the only simple solution to complete my special printer that uses 4 different types of extruders of which the double diamond is only one is to try some trick to use the current FW on AVR..
  • The price to pay is that if I change the HW I have to remap all the other 3 configurations on the new environment...
    And in addition to this I don't understant why you don't provide support to the older boards. A reduved version of V2 should work also on the old HW...
  • I like your idea of SW architecture but I cannot throw away all the work done until now.
  • AVR support will come somewhere next year and will hopefully work good enough. The new V2 uses a much more modern approach so it made more sense to start with good and fast hardware to test the benefits of it. On 8 bit AVR everything will need to be slowed down to compensate the low performance, but that is the same already with V1 where due based solution is also much faster.

    BTW: There is a stepper extension board for the RADDS for 3 extra drivers allowing 9 steppers in total. But no need to switch early. Will add the mixing extruder anyhow as described to V2. I think the implementation will be much simpler and cleaner then in V1.
  • OK. Maybe I will be part of the match but "meantime" I give you my very good news:

    "I have worked some hours in the afternoon and I have modified myself the Firmware to allow mixing extruder with as many real extruders active as are defined in configuration".

    Then I have tested the firmware on my printer configured with 4 real extruders.

    Test results:
    - I started the firmware and powered on each extruder one after the other (0, 1, 2, 3) observing the temperature raise and control. All the 4 extruders have reached the configured temperature and kept it.
    - I have started extruding without sending any M163 - M164 command. The system answered by extruding the same amount from each of the four extruders (little quantity I guess 25%) --> normal behaviour of the mixing extruder.
    - I have then sent the following commands:

    M163 S0 P1
    M163 S1 P1
    M163 S2 P0
    M163 S3 P0
    M164 S2

    Then I have selected the virtual extruder 2 and I have started extruding and observing only extruder 0 and 1 working whilst 2 and 3 remain stopped.

    The LCD 12864 RepRap Full Graphic Smart Controller in my printer was displaying the 4 temperatures as with 4 real extruders active.

    I have tested some motion of the 3 axes (nothing strange) and powered off the extruders observing nothing abnormal.

    So meantime I have apparently reached my goal. I will continue the testing with the double diamond with the idea to have only one diamond printing at a time and the other (not printing) in standby temperature. The switching must be sinchronized with the change of the color mix...

    I have had the need to check and modify as many as 12 files ... :):)


  • Great news. Congratulations. Just as I said possible with several mods. And when V2 works on AVR you might test it there as well:-)
  • Thank you.
    I am just looking for Arduino due: it is largely available and cheap but RADDS board is not and RADDS extension is like a patch. I have found the following prices:
    Arduino 2 compatible 16,55 euro
    RADDS 55 euro
    RADDS extension board 30 euro

    I have found also BIGTREETECH SKR Pro V1.1  43,36 euro and display MKS TFT28 color touch 25 euro
    but I don't know if it is fully arduino due compatible and how to connect the RADDS extension board.

    If this is the case I should pay 69 + 30 euro ...

    What is your advice and compatibility ?

  • The SKR Pro V1.1  might be a board for the future. It is not due compatible, but the next board I plan to support is the RUMBA32 board. It has nearly the same processor so there is a chance that it would work with same HAL if we get the pins correct. But it also has only 6 drivers. 
  • Merry Christmas !
Sign In or Register to comment.