Test fitting the prototype On-Carriage-Direct-Drive modular extruder for #HercuLien. I know it’s ugly and I have still not figured out my on-carriage wire management scheme. But it should be perfectly functional and open up #Herculien for additional filaments not ideal for Bowden applications.
It is completely modular so I pull off the dual Bowden tube retention head normally on the carriage via qty:2 x 3mm bolts. Bolt on the direct drive which uses two bolts and a pin-in-hole support lug. And attach the stepper jumper wire harness where it normally connects to the Bowden extruder.
The only real pain is having to have two different marlin configs to handle the different steps/mm of the direct drive versus my normal 5.18/1 gear reduced Bowden drive. That is unless there is another easy way to implement that via the lcd panel. I run from octoprint usually so it is actually a pain to load firmware changes because it involves opening my control box behind the LCD and unhooking USB from the Pi to my desktop PC.
There are people who know this better than I do, but I am pretty sure you can load firmware via the terminal on the rPi to the arduino. I think you save the hex files for each firmware configuration to the rPi and then use the avr commands to load the firmware. To simplify it even more, you could set each command (which from what I recall is sort of long) to an alias on the terminal.
As @Martin_Bondeus suggest you can change the steps/mm for the extruder on the fly via g-code. What I would do, however, is to add it to the beginning code of the slicer program. This way you can change the printer settings on slic3r and getting the correct settings set for you before printing. No need to store them on EEPROM (M500) unless you want to use previously sliced code.
OTOH, you may want to reduce max acceleration on X&Y when adding the extruder. You can do that with M201 and even you can change max feed rate with M203. Again I would do that as part of the “begin” custom code.
I think that M201 & M203 can be changed on the LCD panel. Remember that if you dont change the M92 Exxx (in the console window if there is one in octo print) before manually extruding, you will not get the exact amount exiting the hotend… the above suggestions are for when the print starts… not in manual control
You could built the M92 command into a fff process in simplify. This would by far be the easiest. This is how I deal with swapping to the flexystruder on the lulzbots at work.
@Eclsnowman Regarding settings, each time you swap/modify the extruder you are making a hardware change.
So from the perspective of which layer of abstraction to change, it seems better to make the corresponding change in firmware (i.e. - store the settings in EEPROM) at the same time.
The additional benefit is this means you can keep the g-code files the same and not have to edit them if/when you want to change the extruder head (which, I suspect, would not happen every day).
Basically, I think it would be a lot easier to remember to save the new settings to EEPROM when you change the hardware than it would be to remember to edit each and every g-code file after doing so. My $.02.
@Eclsnowman have you had moisture issues with Push? I’ve had about 7 rolls of PLA and ABS and all the ABS both premium and normal was super wet. Lots of bubbles. After baking though its gorgeous.