repetier / Repetier-Firmware

Firmware for Arduino based RepRap 3D printer.
812 stars 734 forks source link

feature request : multiple extruders running simultaneously #286

Open ekaggrat opened 10 years ago

ekaggrat commented 10 years ago

hi,

i am experimenting with a color mixing extruder.. would it be possible to add a feature to run multiple extruders simultaneously in different ratios? i am generating the gcode using a grasshopper script

example : g1 x100 y100 z10 e1 10 e2 20

thanks

repetier commented 10 years ago

We are planning such a step towards mixing extruders. But your solution will not work along with slicers. We plan a solution with virtual extruders which you can assign a mixing ratio and then you use them like any normal extruder. Alternatively you could say you have only one virtual extruder and continuously change the mixing parameter. But that will take a while. Currently I'm building my mixing extruder setup.

hoangsep commented 10 years ago

Hi. Can I ask what is your plan to tackle the problem as well as the timeline of releasing the solutions? Because I am also trying to solve the same problem. I need to control 3 extruders by the total output and the ratio between them.

repetier commented 10 years ago

I have no definite timeline. It is surely not in a few weeks. I hope to get the triple mixing extruder running this month, so I can start to play with new firmware changes in june, perhaps end of june. I'm now working on the next host release to support 16 extruders which should suffice for most color prints.

The eeprom will hold mixing ratios for I think 16 extruder combinations. SO you can set them before you start printing. T0 would then select mixing ratio 0, T1 ratio 1 and so on. That way we can use existing slicers and use the wip and prime tower for color change.

Well, that is at least the idea I want to program first. There will be of course also commands to change ratio directly but as long as no slicer supports it, it is of limited use.

ekaggrat commented 10 years ago

looks like everybody on the block is building a mixing extruder... great, i will also have my up and running by the end of next month .. the first two failed ( one leaked and the other didn't mix homogeneously ) .... will look forward to the firmware update... as for the gcode i am trying to map colors on a stl by using a bitmap in grasshopper3d,,, it can generate gcode directly...

hoangsep commented 10 years ago

Hi. I am trying to do as your said: save the ratio in EEPROM, setup a second extruder E1 together with the first extruder E1 (as in ditto mode). However, I am stuck at that. I don't know how to modify the motion.h, motion.cpp code. Could you please guide me? I have spend like weeks in this.

repetier commented 10 years ago

I said I want to implement it. It is not implemented now. To do so you should not modify motion.xxx at all. Allis done in extruder.h/cpp. There is a step/unstep routine which needs to be modified to step the motor you need. That routine must toggle between motors as the ratio tells. You do this with weight and sum of weight and current weight so you can round robin according to the weights.

hoangsep commented 10 years ago

I don't really understand what you mean by toggle? Make it a PWM signal and a reverse PWM at the other extruder? I understand that you are focusing on the new Repetier host, and I believe that is a great news for the reprap community. However I am not very good at programming ( I am an electrical engineering student) and you are the author of the firmware, so a small help from you can save me weeks so please help.

repetier commented 10 years ago

Or you could wait, until I implemented it, which will be in a few month.

There is no PWM, You can not move all motors at once. So take the simple case 50% each motor, then you would alternate steps between Motor 0 and 1. 25%/75% Step 0, 3x Step 1. That is what I meant with toggle trough extruders. reversing direction would give bad results. But you need some bookkeeping, which motor is next to minimize errors.

Lunavast commented 10 years ago

I found the following setting in the extruder setting section of Printer setting on Repetier-Host V1.0.3.

"Printer has a Mixing Extruder (one nozzle for all colors)".

Have you had this mixing extruder feature in the Repetier-Host software or Repetier firmware? If so, how can we set this?

repetier commented 10 years ago

That is a planned feature. Currently no mixing extruder settings for firmware exist.

Gyrobot commented 10 years ago

I created a Gcode colour mixing script a few months ago for these type of mixing nozzles should firmware support simultaneous multiple extruders. e.g. Aprinter, Sailfish, ReprapPro etc. It works as a post processing script.

More info : http://youtu.be/sCfRjaHYPZ8 https://github.com/Gyrobot/Gcode-Filament-Mixer

Lunavast commented 10 years ago

I found Gyrobot's mentioned YouTube video and Github repository a few days ago by chance and I think your post processing script is the current best solution for my purpose. Also, I appreciate for the information on the firmware. I will study more about firmware that support simultaneous multiple extruders. I think MarlinX2 firmware may also work.

Thank you!