Delta Ceramic Printer (JKepp style)

Delta Style
Arduino Mega 2560, Ramps 1.4
Fluidd
klippy.log (518.9 KB)
Use JKeep Self build printhead
http://www.keep-art.co.uk/printhead.html


Motor specification:
Motor Type: Bipolar Stepper
Step Angle: 0.067deg
Holding Torque without Gearbox: 52Ncm(73.6oz.in)
Rated Current/phase: 1.68A
Phase Resistance: 1.8ohms
Inductance: 3.2mH ± 20%(1KHz)
Gearbox Type: Planetary
Gear Ratio: 26.85:1
Efficiency: 80%
Backlash at No-load: <=3deg
Max.Permissible Torque: 3Nm(424.83oz.in)
Moment Permissible Torque: 5Nm(708.06oz.in)

Hello community. I built a clay printer based on the model posted by Jonathan Keep.
I was able to use it correctly a few years ago using repetier firmware, with cold extrusion and gcode mixing extruders.
In this forum I was able to see how to configure cold extrusion and synchronize the motors with the following command:

SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder

I would like to know if I have my motors correctly defined.
On the largest extruder I have a gear ratio of 26.85:1 but when I enter it in my printer settings I get an error.
If I leave my rotation distance at 8 the motor moves well, but it only turns a quarter turn, if I change the speed it moves faster but still turns a quarter turn. I tried extruding 50 mm.
The diameter of the filament is taken from the internal diameter of the tube 40 mm and the nozzle from the hose that comes out of the tube, 9 mm. Is this correct?
Same with the auger extruder, I set the filament diameter to 9 mm and the nozzle to 2 mm.

Where do I set the maximum speed of the extruders? For now I can only reach 70 mm/s and above 80 it gives an error.

In the slicer do I have to set the extrusion temperature to 0? And add the synchronize code to move both motors? If I want to change the speeds of any of the extruders do I have to modify the machine configuration? Or can I do it at the moment?

So if I want to change the extrusion ratio between both extruders, is it necessary to modify the configuration of my printer or can I do it at the moment?

Thank you very much.

Hey! did you already figure it out a solution?

Hey! space_Invader. I didn’t. I still need help.

I tried to look for help with Google’s artificial intelligence (Gemini) but the values ​​it gives me for microsteps are very small and the raspberry pi crashes.

Configuration example (with the values ​​you mentioned above):
[stepper_x]
step_pin: pin
dir_pin: pin
enable_pin: !pin
microsteps: 16
full_steps_per_rotation: 200
rotation_distance: 0.0001227 # Calculated considering the gear ratio

In this example:
* rotation_distance already includes the effect of the gear ratio, so there is no need to enter it again.
* microsteps is set to 16, which means that each full step is divided into 16 smaller steps.
Conclusion:
With the full_steps_per_rotation and rotation_distance values ​​calculated correctly, you have enough information to configure your auxiliary motor in Klipper. The gear ratio has already been considered in the rotation_distance calculation.

I’m mainly interested in having Jonathan Keep’s extruder set up correctly. The second extruder I guess I can do trial and error about the speed it turns by changing the rotation distance.
Gemini also wrote me some macros to control the flow of both extruders or even try changing the rotation distance while the printer is running, but none of those macros work, haha.
I read on Discord that you have Klipper and a kit bought on Aliexpress, is that possible? Could you help me?

The motor specifications are as follows:

Step Angle: 0.067deg
Gear Ratio: 26.85:1
Step angle w/o gearbox: 1.80

It has a threaded rod attached that has a pitch of 1.25 Metric 8. The tube has an internal diameter of 4 cm, is this relevant for the calculation? or the diameter of the tube that connects to the second extruder?

Testing with the following values:

#Auger [extruder]
step_pin: PA4 
dir_pin: !PA6 
enable_pin: !PA2 
microsteps: 16 
rotation_distance: 4 
nozzle_diameter: 2 
filament_diameter: 2 
heater_pin: PB4 
sensor_type: ATC Semitec 104GT-2 
sensor_pin: PK5 
control: pid 
pid_Kp: 25.392 
pid_Ki: 1. 227 
pid_Kd: 131.404 
min_temp: -250 
min_extrude_temp: -250 
max_temp: 250 
max_extrude_only_accel: 3000 
max_extrude_only_velocity: 1000 
max_extrude_only_distance: 1000000 
max_extrude_cross_section: 1000000 # crazy high number because Klipper is trying too hard to be safe # 

#Main Extruder with external driver (JKEEP) 
[extruder1] 
step_pin: PC1 
dir_pin: PC3 
enable_pin: !PC7 
microsteps: 16 
rotation_distance: 1.9 
#gear_ratio: 26.85:1 
max_extrude_only_accel : 3000 
max_extrude_only_velocity: 1000 
max_extrude_only_distance: 1000000 
max_extrude_cross_section: 1000000 # crazy high number because Klipper is trying too hard to be safe 
nozzle_diameter: 2 
filament_diameter: 2 
heater_pin: PH6 
sensor_type: ATC Semitec 104GT-2 # wrong but mandatory
sensor_pin: PK7
control: pid
pid_Kp: 22.2
pid_Ki: 1.08
pid_Kd: 114
min_temp: -250
min_extrude_temp: -250
max_temp: 250

and this command:

SYNC_EXTRUDER_MOTION EXTRUDER=extruder1 MOTION_QUEUE=extruder

Both motors move and push the clay, but I have no way of knowing if they are extruding the correct amount of clay.

And these are the Macros that Gemini wrote and they don’t work:

[gcode_macro SET_EXTRUDER_ROTATION] 
gcode: SET_EXTRUDER_VARIABLE NAME={extruder} VARIABLE=rotation_distance VALUE={rotation_distance}

Used:

SET_EXTRUDER_ROTATION extruder1 0.035

I get the following error:
Malformed command 'SET_EXTRUDER_ROTATION extruder1 0.035


[gcode_macro CLAY_FLOW] 
gcode: SET_GCODE_VARIABLE MACRO=CLAY_FLOW VARIABLE=extruder_name VALUE={extruder_name} SET_GCODE_VARIABLE MACRO=CLAY_FLOW VARIABLE=flow_rate VALUE={flow_rate} IF {flow_rate} < 0 OR {flow_rate} > 100 ECHO: Invalid flow rate value. Must be between 0 and 100. RETURN ENDIF SET_EXTRUDER_VARIABLE NAME=[extruder_name] VARIABLE=flow_rate VALUE={flow_rate} / 100

Used like this:
CLAY_FLOW extruder1 50

Does not work either.

I appreciate the help. I don’t know anyone who uses Klipper in my country and also wants to print clay.
klippy.log (54.1 KB)

Could you please format your code as Preformatted Text and not as Blockquote.

The way you did, it is not usable because characters are deleted.

Format

1 Like

Sorry, done.

1 Like

Are you sure there are no spaces?

Sorry, I only see two spaces. Edited again and can’t see the difference. Could you help me?

Please always attach a klippy.log to a new post when you changed something. So we have a complete overview of what is going on.

You also may ask Gemini

I uploaded my klippy log. I don’t trust in Gemini because make my Raspberry chrash. B
ut nobody help me.
Thanks for your comments about how to edit my post.

Need help to set my rotation distance correctly.
I tried to explain the situation. Could you help me about the topic?

1 Like

Clay printers are not common, so the question really is, who can help.
Generally, I’d think that it is not so difficult to come up with a proper setting by doing some experiments.

Just some ideas:

  • The volume output of your “reservoir” extruder needs to be the same as the usage volume of your printing extruder
    • This does not necessarily mean that the rotation_distance of both is the same, since this depends on gearing, lead-screw geometry, cross-section of the cylinder etc.
    • Probably the best approach is to command both extruders to extruder, let’s say 50 mm and then determine the extruded weight of clay for each extruder individually.
    • The ratio from the weights will the ratio of the rotation_distance between extruder 1 and 2
  • The final rotation_distance of the printing extruder I would also determine empirically. For example:
    • By connection a transparent pipe to the nozzle that has exactly the same inner diameter as the nozzle and then also extruder 50 mm → The transparent pipe should be filled along a length of 50 mm. If not, then adjust according to this OR
    • As above calculating the starting point via the weight that is extruded OR
    • I’d guess the most simple method: Do it by testing, i.e. printing a simple geometry like a one wall cylinder and tune until you get a satisfactory result. It is anyway quite likely that clay will behave totally different from filament and that you cannot just determine the rotation_distance theoretically
1 Like

Thank you so much!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.