Controlling E0 and E1

Continuing the discussion from Marlin 2.0!:

This was a problem i had been considering for a future 5-axis setup. In Marlin each movement command allows XYZ and E, but not independent E0 and E1 (nor A and B).

An approach I had thought would work is to wire the A and B axes to E0 and E1 and use the “mixture” ability using M165. This can set the extruder to use 100% E0 and 0% E1 and make a movement of A, and then set 0% E0 and 100% E1 and make a movement of B. It is probably simplest to do 3 + 2 axis CAM and then postprocess to convert A and B movements to M165 and E movements.

I was thinking moving A and B simultaneously would be possible but I am a little paranoid about roundoff errors accumulating over the course of a long job. With 100% A or 100% B, it should reduce the odds of accumulating an offset.

I am still months away from constructing my A and B axes but this is how I thought I would control it with Marlin.

1 Like

Jamie, what you are suggesting would work but I think it would be even easier than that to accomplish what Mark was asking for in the other thread.

Hi Guys- I need some advice! I am a chemist who has built a CNC running on MACH 3. I use the XYZ to position two discharge tubes into little 16mm vials (250 in a sleeve). Using the “A” and “B” functions, I use two pumps I built using stepper motors, and pump reagents into each vial.
I am redesigning this using MPCNC as a base and Marlin 2.0 on an SKS 1.3, but a bit different gantry. I only need a singe channel for XYZ but need to control the “A” and “B” channels - could be defined as “E0” and "E1- doesn’t matter, but I need to be able to control them using gcode. I can see how to reassign the pins, but can anyone suggest an elegant way to control the E0 and E1? The use o fthe little touchscreen is AWESOME and so much simpler than a full computer- lab space is limited!
THANKS in advance.

It sounds like he could just use E0 and E1 as they are currently programmed in marlin with very little changes. Like Jeffeb3 suggested use the dummy temp sensors set to something like 170 and disable linear advance. Then he would need to calibrate his steps per mm and he is done. In the gcode he would simple use t0 and t1 to switch between the A and B then use the normal extrusion gcode to have each one pump. I am making a lot of assumptions here to fill in the missing details.

3 Likes

Oh I think youre right, also for 5 axis there is no need to set a mixture if its always going to be 100% one axis. That T0 T1 will be easier than M165.

Thanks!

2 Likes