Skip to content

Trying to make my own AMS with an arduino, cnc sheild and Klipper

Notifications You must be signed in to change notification settings

pannonbeard/klipper_multi_color

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Klipper Multi-color Config

This is an attempt at making a multi color config using an arduino uno and a CNC shield.

Items you'll need to utilize this config

Steps

  • Attach Arduino to CB1/Raspberrypi
  • Flash Arduino
  • Upload multi_color.cfg to your klipper machine
    • Update MCU Serial path
  • Setup up your Arduino and CNC sheild to your needs

Flashing the Arduino

The hardest part of this project, other than tuning the steppers, will be flashing the arduino. Depending on what version of debian you are running this might require you to add some specific libraries to your computer running klipper.

See this if you have any issues with the flashing procedure: Klipper3d/klipper#4938 (comment)

If you are using KIAUH to manage your klipper install you can build and flash right from inside of KIUAH

Open up KIAUH and select the following:

  • [ADVANCED]
  • [BUILD + FLASH]
  • Select the configuration options below

Options to select for Arduino Uno

Enable extra low level configuration options
MCU Architecture: Atmega AVR
Processor model: atmega328p
Processor speed: 16 MHz
Baud rate for serial port: 250000 

Troubles flashing arduino??

Klipper3d/klipper#4938 (comment)

Preparing the slicer!

There are a few custom Klipper Macros to make some of this easier.

  • UNLOAD_COLOR
  • LOAD_COLOR
  • CHANGE_COLOR
  • SET_COLOR

The filament changing macros currently don't have a set of temps to allow the change so you'll need to heat your extruder before using them.

Our change gcode was put together in Orca Slicer so you will need to adjust depending on your slicer. In your filament change gcode you'll want to set it to something similar to the following:

; For Orca Slicer
; - Custom AMS tool T{next_extruder} -
CHANGE_COLOR NEXT_COLOR={next_extruder} DISTANCE=200
M117 Custom AMS Tool T{next_extruder}

Activating Multi-Color

add [include 'multi_color.cfg'] to you printer.cfg file.

Extruders in tandum vs separate

Depending on your needs one way may benefit you more than another.

  • Tandum -> Passing material to a main extruder, best for direct drive extruders
  • Separate -> Passing material straight from auxillery extruders to hot end, best for bowden setups

Reguardless of your method you will want to check and update the rotation distance of the auxillery extruders you are using.

Tandum Operation

When hooking up your multi extruder for tandum you will be passing from the PTFE extruder into your main extruder.

Separate Operation

This config utilizes the SYNC_EXTRUDER_MOTION klipper macro to control the extruders on and off. If you want to directly extruder from your auxillery steppers and not use the built in extruder for your machine uncomment the line:

# SYNC_EXTRUDER_MOTION EXTRUDER="extruder" MOTION_QUEUE=''

This will deactive your main extruder and let the other extruders take main control.

You'll then need to go from your PTFE Joiner straight into the hotend.

Note:

In Orca turn off ramming when running separate. Orca slicer does set ramming properties with a PRESSURE_ADVANCE setting for klipper machines that I haven't figured out how to get rid of. If you removed the main extruder from the motion queue this does throw an error and will stop your print dead in it tracks. WHen the main extruder is removed it has no idea what extruder to apply the pressure advance to.

Want to contribute?!

Happy to have any help! I am not yet the best will all of the amazing things you can do with klipper, but any other ideas of things we can add or improve with this are greatly appriciated!

Open a issue or possibly a pull request and we can have some fun troubleshooting!

About

Trying to make my own AMS with an arduino, cnc sheild and Klipper

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published