Skip to main content

Kynetic Controller Feature Set

  Kynetic is a CNC motion controller that is designed to take advantage of the excellent processing power of the Teensy 3.6 micro controller to produce motion that is superior to the aging architecture commonly used in a majority of 3D printers from consumer to professional.  As this project is completely new, no compromises are inherited from legacy code with "hacks" designed to allow for operation on hardware with marginal processing power.

Here's a list of controller functionality.

Currently implemented features:
  1. Super smooth 5th order minimum jerk motion planning that maximizes output quality on any class of machine from budget to professional.
  2. Adaptive program look ahead for smooth motion planning even at high speeds on high density poly lines.
  3. Intelligent path smoothing reduces machine vibration without effecting surface accuracy or fine part detail.
  4. Stepper motor pulse generation is performed by a dithering algorithm that reduces resonance while maximizing motor smoothness and accuracy even at extreme speeds and high acceleration.
  5. Stepper motor position is interpolated to a very small fraction of a micro step.  This insures perfect pulse positioning at any speed.  Interpolation is done outside of the step generation interrupt, so the computational cost is negligible. 
  6. Extrusion is linked to tip position to insure a more consistent extrusion result during moves with velocity changes.
  7. Velocity based filament extrusion compensation reduces variations in extrusion rate due to increased nozzle flow resistance at high extrusio rates. This improves the consistency of print extrusion while reducing stringing during traverse moves.
  8. Optional automatic high-speed z-hops reduce nozzle dragging on already printed surfaces while having almost zero effect on print time.  Slicer created Z-hops remain unchanged.
  9. Supports multiple kinematic machine types (and the list can be expanded):
    1. Cartesian
    2. CoreXY / H-bot
    3. Delta
  10. High speed program execution from SD card using the integrated SD interface on the Teensy prevents velocity throtting due to insufficient data when executing high speed prints.
  11. Kynetic can traverse move segments of microscopic and/or zero length without speed throttling or choking.  This allows for improved print quality when printing at high speeds, when printing extremely detailed models, or when executing programs with sub-optimal tool path filtering.
  12. High resolution A/D converters are used with the heater thermistors to provide 8x increase in temperature sensing resolution compared to legacy controllers.
  13. Feed rate and and extrude rate overrides can be used at any time during the print.
  14. Interpolated G2/G3 arc moves.

Features in queue to be implemented:
  1. LCD touch screen interface for control and setting adjustment
  2. Program execution through serial connection
  3. Octaprint compatibility for remote printer operation and monitoring
  4. Auto bed leveling
  5. Auto heater PID tuning
  6. SPI control of stepper drivers (specifically support for TMC2130)
  7. About a billion more features...
This page will be updated as the project continues and tasks are completed and others are added to the todo list.

Thanks for your interest

Comments

Popular posts from this blog

Computing Junction Deviation for Marlin Firmware

As part of developing my own 3D printer firmware, I also keep an eye on what is happening in other firmware.  One feature that is causing confusion in the Marlin community is the junction deviation setting.  Up until recently, Marlin used the jerk method (hence forth referred to as "archaic jerk") it inherited from Grbl for computing corning speed (junction velocity).  With the option now in Marlin to use junction deviation instead of jerk, there are many people who want to know what are good settings for junction deviation to insure they get reasonable movement while printing.  In this post I will give an equation for converting the jerk values into junction deviation and my derivation of this equation.

Introduction to Kynetic CNC

This project started as a result of the the wildly successful Teensy 3.5/3.6 kickstarter.  At the time I was amazed by the specifications of these microcontrollers and thought, "With all of that processing power, could I create from the ground up a completely new 32bit 3D print engine that would improve upon the capabilities of the current 8 bit printer controllers?"  Soon after that, I started making notes about how I would do motion control if not limited by the power of the processor.
  After two years of part time work on this project (I have a full time job and full time family),  I'm now ready to discuss the details and where it is going.

Extra Smooth Moves

In an effort to provide a no compromises motion controller, one major milestone is converting the trajectory planner and motion control from constant acceleration to minimum jerk.  For simplicities sake, the original Kynetic motion controller was done as constant acceleration.  I have now completed the work to make it use the much smoother minimum jerk algorithm.