Changing rotation_distance during printing depending on sensor readings

Basic Information:

Printer Model: Custom
MCU / Printerboard: Bigtreetech Manta M8P

Good day! I would like to know if it is possible to change the rotation_distance of the extruder during printing depending on the sensor reading?
The problem is that our printer sometimes starves of dry mixture. At the moment, the supply of the mixture is tied to a photoresistor (instead of a temperature sensor), which, using [heater_fan fan], turns on/off the extruder driver (enable signal). Temperature adjustment in heater_temp allows you to set the limits for turning the driver on and off. However, completely “turning off” the extruder is not a very good option; it would be nice to simply adjust its rotation_distance depending on the sensor reading. For example, light (temperature) is above 50, then let rotation_distance be equal to 100, if below then 500.

Apparently, need to create something like heater_fan. I will be very glad to hear ideas and suggestions :slight_smile:

While I have not the faintest idea of what you are talking about, see G-Codes - Klipper documentation

I know about the SET_EXTRUDER_ROTATION_DISTANCE command, but the question is how to change rotation_distance based on sensor readings in real time

Rather than using a stepper for the extruder, have you though of using a geared down BLDC and using the pwm_tools in klipper. M3/M4 can be using to directly control the motor speed depending on the pseudo_temperature. M5 could possibly be given a negative value to “retract” your extrustion_mixture while moving from one position to another.
[edit]Linked to pwm_tools

Use M221 to change the extruder flow percentage.

1 Like

Yes, way better than fumbling around with the basic mechanic settings.

How can this be connected to a temperature sensor (photoresistor)? So that the printer uses this command depending on the sensor reading (without my intervention via the console)?

We need to think about this and figure out whether it will be possible to control Nema34 through this :thinking:

@TheDoshs Hope I’m not teaching grandma to suck eggs here but BLDC are not steppers, although they are available in NEMA34 format. You would also need a stand alone controller to convert the pwm signal to the (normally) 3 wires for the motor.

1 Like

Grandma needs to think

I only suggested BLDC because you are extruding a mixture rather than a filament and assumed your photo sensor is looking at how much slump you are getting. Steppers are excellent for filament because the input volume to output layer height/width a direct calculation but you are outputting squidgy stuff and needs a more analog approach to the problem.

In fact, have you thought of having a mixing reservoir and a simple gate to allow the mixture out? I was thinking that a loose fitting archemedies screw (as in a sausage making machine) could push it towards the gate but if the gate is closed, the screw wouldn’t jam. The output side of the gate could flow into a 3sided box and slipform the mixture onto the model. Obviously this basic version wouldn’t be so good for crossing infills but a method could be devised for the slipformer to raise/lower independently of the gate. The only extrusion control you would need would be into maintaining the reservoir which can be a simple fill/not_fill.

Personally, I haven’t thought about it, but I assure you that the current design of the mixture release is excellent, so I highly doubt that it will be revised. The only problem is how to give enough dry mixture for printing, but at the same time not give too much so as not to catch a wedge. Otherwise, in the current realities, the lack of mixture has a negative effect on the layers (extrude is too liquid). Therefore, we have an intermediate tank for dry mixture with a photoresistor and a light bulb, which should to some extent eliminate this problem, but it also has some nuances

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