Close
0%
0%

ddprint - closed loop feeder

ddprint: a fdm 3d printer firmware and printing system

Similar projects worth following
ddprint: a fdm 3d printer firmware and printing system

Key features:

* Uses a incremental sensor to measure extruder flowrate at realtime
to "close the loop for E". This limits the speed of the printer
if feeder tends to slip.
* Automatic measurement of feeder system caracteristics for calibration.
* Automatic measurement of filament caracteristics to create filament
profiles .
* "Auto temperature algorithm": hotend temperature depends on the
gcode-requested flowrate.
* "Temperature-flowrate limiter": speed of printer is limited if hotend
has not (yet) the right temperature for the requested flowrate.

ddprint: a fdm 3d printer firmware and printing system

The aim is to print functional and strong parts with high flowrate and with reasonable quality at the same time.

Key features:

  • Uses a incremental sensor to measure extruder flowrate at realtime to "close the loop for E". This limits the speed of the printer if feeder tends to slip.
  • Automatic measurement of feeder system caracteristics for calibration.
  • Automatic measurement of filament caracteristics to create filament profiles .
  • "Auto temperature algorithm": hotend temperature depends on the gcode-requested flowrate.
  • "Temperature-flowrate limiter": speed of printer is limited if hotend has not (yet) the right temperature for the requested flowrate.

github.com/ErwinRieger/ddprint

ibrieger.de/close_the_loop_for_e.html

ddprint converted Ultimaker UM2: http://www.ibrieger.de/pimped-ultimaker-2.html

With ddprint, many of the *advanced features* of the slicers (i call it *slicer hacks*) are not needed. This makes it easier to choose the right slicer settings, see http://www.ibrieger.de/close_the_loop_for_e.html#simpler-gcode.

Some videos (more ddprint related videos in this playlist: https://www.youtube.com/playlist?list=PLzn7lnnZpS7XP-JhLw_o7p27ayv5bJ29o):

Video of the flowrate sensor while printing. You can see the rotationg axis shaft of the bourns incremental sensor. The shaft touches the moving filament directly. It is pressed slightly against the filament through the force of a spring built into the flowrate sensor case.

More information and pictures about the FRS are available here: http://www.ibrieger.de/pimped-ultimaker-2.html#feeder-flowratesensor.

Video showing the result of the ddprint intro video shown above, a benchy printed with *real* 15mm³/s flowrate (sliced with s3d, 0.25mm layer, 0.8mm nozzle and 75mm/s). NO postprocessing was done, this is how it comes from the buildplate.

The next video is showing an example of the *automatic filament property measurement*. The result is a material profile that is used by ddprint when printing with this filament. Material this time is a cheap 'kaisertech pla white'. 

20200421_212447.jpg

ddprint converted UM2

JPEG Image - 37.54 kB - 04/24/2020 at 22:54

Preview
Download

20200421_212632.jpg

ddprint converted UM2, backside with poor-man's bondtech with flowrate sensor installed

JPEG Image - 59.94 kB - 04/24/2020 at 22:54

Preview
Download

dual_holder.stl

STL file for dual feeder holder

sla - 790.39 kB - 04/16/2020 at 19:18

Download

dual_holder.scad

Openscad source file for dual feeder holder

scad - 3.98 kB - 04/16/2020 at 19:17

Download

feedsensor.stl

STL file for feeder sensor

sla - 374.02 kB - 04/01/2020 at 18:42

Download

View all 10 files

  • Merged *next branch* into master

    Erwin Rieger03/31/2021 at 21:59 0 comments

    Merged *next branch* into master with the following changes:

    * Feed forward temp control (*PID hinting*, *guided PID*) :-o
      AutoTemp algorithm: set new temperature some time before the new flowrate demand, 
      using the information from the material profile.
    * Added a experimental gcode (M901) for part strength (along with new *workingpoint*
      command line parameter) :-o
    * Asymmetric PID temperature control: switch between different PID control sets for
      heating (fast) and cooling (a slower PID set to avoid temperature underruns).
    * Deflate/zip data downloaded to printer to increase download speed over usb-serial.
      Using python's zlib on the host and uzlib (https://github.com/pfalcon/uzlib) on
      the firmware side.
    * Added a second step to material profile measurement (measuretempflowratecurve2):
      Measure hotend performance while doing a real print, in addition to the *into-the-air*
      extrusion measurement.
    * Some smaller improvements:
       + Moved printer-, nozzle- and material-profiles into their own
         repository (https://github.com/ErwinRieger/ddprint-profiles).
       + Show print time in CLI and terminal UI (TUI).
       + Show the number of *under-temperature* and *under-grip* warnings in TUI.
       + Added a *printlog* to ddprintui.py: log information about the current
         printjob (gcode info, timestamp, printing time, slicersettings).
       + Added some tools and scripts (plot_mat_profile, ddtool, wrapperscripts).
       + Removed usage of eeprom, configuration now stored on mass storage device (sdcard, usb).
       + And many more...

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates