ambrop72 / aprinter

3D printer firmware written in C++
Other
143 stars 42 forks source link

feature request : multiple extruders running simultaneously #10

Closed ekaggrat closed 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?( can you help me code it ) i am generating the gcode using a grasshopper script

example : g1 x100 y100 z10 e1 10 e2 20

thanks

ambrop72 commented 10 years ago

This is already supported. See one of the default configurations with two extruders (e.g. ramps13, radds). Although, the axes need their own letter. They need to be e.g. E and U, they can't be E1, E2. So gcode would look like:

G1 X100 Y100 Z100 E10 U20

If you want to add more axes, you'll need to allocate timer channels. I can help with that but you need to tell me what board you're using.

Gyrobot commented 10 years ago

Hi, I too am experimenting with a Gcode post processor that will percentage mix the E and U values as required by the User. I noticed you refer to E, U and V in the README file, is it possible you could create a config file for the Megatronics Board which can drive 3 Extruders using V as the third?

Thank you for this firmware. Steve.

ambrop72 commented 10 years ago

@Gyrobot That would be Megatronics V2, right?

Gyrobot commented 10 years ago

Hi, the link above is for the V3 version which now has output for three extruders, so an ideal candidate for your firmware from a mixing perspective. Cheers, Steve

ambrop72 commented 10 years ago

@Gyrobot The link doesn't work, can you give me the schematic somehow?

ekaggrat commented 10 years ago

a good board to play with will be RUMBA ... it can drive 3 extruders

Gyrobot commented 10 years ago

I think their link is down atm, however it was working earlier today. The technical datasheet can be downloaded from there. Try a Google Cache version, until the site is back up?

ambrop72 commented 10 years ago

Well, anything based on AVR is going to have performance problems with Aprinter. It's gonna "work" but:

I strongly suggest an ARM based board. Aprinter currently supports quite a few of those. In particular RADDS and RAMPS-FD (for Arduino Due) both support 6 steppers. On the other hand Teensy 3 is not a good option because it's suffering from a lack of timer channels.

Gyrobot commented 10 years ago

Hi, That's a really great answer and thank you for being so informative. It's good to hear the hardware limitations for the AVR based controllers. I guess the community will be moving over to the ARM based boards once the limitations are understood for the more complicated printing setups.

I guess I could reword my original request to include the "V" extruder settings as standard for the ARM based boards in your .cpp files to enable the 3 extruder based boards out there to work?

Many thanks, Steve Wood.

ambrop72 commented 10 years ago

@Gyrobot Right, it's not gonna be a problem for the RADDS and RAMPS-FD defaults. Do you happen to have one of those boards? If not you should really get one, I recommend RADDS, it's working very well for me. Also note that I am willing to port to other ARM boards (perhaps SmoothieBoard).

ambrop72 commented 10 years ago

I've put together a configuration for Megatronics V3, with 3 extruders. Looks like it's gonna work without lowering baud rate after all, due to new implementation of hardware PWM. For anyone who wants to try it out: https://github.com/ambrop72/aprinter/commit/f333556ebbf0e024a6c4d9d992dd273537666739 Note that it's not tested on a real board, though it does boot on a plain Mega 2560 board.

Gyrobot commented 10 years ago

Thank you for this. To me, it is what makes your firmware stand out above the others. It will go well with my Quad extruder: http://www.thingiverse.com/thing:307816

ambrop72 commented 10 years ago

Closing, this should work.