This article describes some modifications i have done to my Ultimaker UM2 printer. The main goals are
- printing over USB since i don't like the SD card swapping procedure.
- printing fast (targeting a REAL max flowrate of about 20mm³ or better with a 0.8mm nozzle) because i mainly print functional parts and because i am impatient ;-).
Olsson Block (of course), ballbearings for the filament roll and Labern's Fan Shroud, those things are documented well on the internet, so i don't describe it here...
- Implement a reliable USB interface to print over USB.
- Offload work from the AtMega processor to the host - the 2560 CPU is at its limits with all the stuff it has to do (path planning, stepper control, GUI, USB communication and so on).
This also has the nice side effect that implementing new features can be done mainly on the host side and in Python.
To keep the UM2 electronics cool i have added a small FAN to the mainboard case at the bottom of the printer. The UM2 stepper drivers have no heat sinks and i want to run all steppers with 1.5A current.
The UM2 feeder is a bit weak. Iam using a bigger stepper motor with more torque to get more feeder power/flowrate. The motor used has a torque of 65N/cm (the original motor has about 45N/cm), the current of the E-Axis is increased to 1.5A.
The picture shows the feeder motor and fan holder, sorry no picture of the assembled feeder (to get an idea of what it looks like see the section about the filament sensor below).
To get even more pressure and flowrate, i have converted the printer to use 1.75mm filament.
I use a 2/3mm teflon tube that is glued into the 4/6mm teflon tube. I still use the 3mm teflon coupler on the hotend side, the small tube goes right through it:
The feeder is (apart from the motor) still the original UM2 feeder. I had to cut away some plastic to give the lever more room so it can swing further to the cnurled wheel.
The protrusion of the smaller teflon tube at the upper end of the feeder and the small teflon tube on the lower side of the feeder should give better support for the (flexible) filament.
Note that i still use the 3mm version of the olsson block and also the 3mm nozzles. This gives me a bigger melt chamber in the hope of even more flowrate. I have not found a increased stringing tendency caused by this.
The flowrate sensor is used to measure the actual velocity of the filament. Together with the target speed of the E-Axis/filament, it is possible to measure the slippage of the feeder/filament. This information is used in several ways:
- it is displayed in the TUI of the ddprint host software for informational purposes.
- it is used to limit the feedrate and therefore the flowrate of the printer if things get too fast for the given filament/temperature/nozzle combination. This actively prevents underextrusion and filament grinding.
- it is used to measure/determine temperature-flowrate curves of the different filament/nozzle combinations. This information is used to implement the auto-temperatue feature of the ddprint firmware. The temperature of the hotend is controlled in the dependency of the requested feedrate/flowrate.
The flowrate sensor consists of an optical ADNS 9800 mouse sensor from tindie. This sensor tracks the feeder ball bearing from behind. It is connected to the SPI bus of the UM2 electronics.
Some pictures of the prototype:
This is what the build plate looks like after measuring the temperature-flowrate curves of some white PLA filament.
And the resulting temperature-flowrate characteristic looks like this:
Note: http://www.extrudable.me/2013/04/18/exploring-extrusion-variability-and-limits/ has done similar measurements.