I have been playing with 3D printers for a while and mechanically speaking I am a fan of the Bowden Tube extruder, but I have not find a proper way to control it to maintain a constant pressure. Slic3r algoritm for it does not work (I also don´t believe that the slicer is the apropriate “area” for it) and the stable version of Marlin does not seems to have it fully implemented.
I though of a simple way to overcome that by using an encoder on the hot end side to measure filament movement.
Does someone uses encoders on the extruder? Either with stepper motor or DC motor?
Any info on it is welcome!!
Thanks!
I do not think this is the first time the topic has come up and I think there might be something on thingiverse. I of course would love to hear more people considering the idea and I myself have tons of problems with cold ends slipping or grinding due to heat creep in my hotend.
I have indeed found some videos and threads on using encoders with repraps. The original cold end design I believe was with DC motor and an encoder. But what I did not find was documentation around the topic, specially on the electronics and sw. I will surelly fiddle with it, just don´t want to re-invent the wheel.
DC motor and encoders are tricky - for velocity control they need PID style feedback monitoring, but for position control they need near instantaneous force feedback if they aren’t held with a friction brake.
I’ve done it with my Arduino, but for accurate position control a stepper is easier.
You will see them in inkjet printer carriages nowadays because the printer just does velocity control on the printhead - it says “go about this fast” - and as the sensor is tripped by the encoder, it spits a dot for that position.
If you wanted to use a dc motor/encoder for a 3D printer, you’d want either an ARM or dedicated ASIC for both position and extruder control, as you would do roughly the same thing as an inkjet: “go about this fast to the new X/Y” and apply variable extruder pressure based on the reported position change over unit time.
Thanks Jason. My main ideia is to stick with the stepper motor, since the electronics and mechanics are ready for it. I would only need to add the encoder at the hotend side, but I would still need to use PID to have the motor compensate for the tube springiness.
If using a DC motor, I though on using a separate arduino just to control it. Maybe something like openservo…