Controlling temperature of reprap extruder hot-end

More
24 Sep 2011 20:46 #13431 by fma
In fact, you could directly use the thermistor transfert function:

hydraraptor.blogspot.com/2007/10/measuri...rature-easy-way.html

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 08:43 #13486 by fma
A friend recently bought some Platinium thermistors, which are very linear in the range 0°C-250°C. So, I won't need any scaling for the input :o)

I also found the XR4151, a very simple to use VCO, to convert the thermistor value in pulses. As said, these pulses will be read by the encoder module (set in counter mode).

What frequency range do you suggest to use for encoder good reading? Is 100Hz enough? Better use higher frequency? The frequency will only vary in a 2:1 ratio...

Thanks,

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 09:40 #13489 by andypugh
fma wrote:

What frequency range do you suggest to use for encoder good reading? Is 100Hz enough? Better use higher frequency?


I think the frequency cancels out (more pulses with less temporal accuracy v fewer pulses and more temporal accuracy). Just make sure that you are significantly lower than the base thread frequency (assuming you are using a parport)
For example, if the base thread is 30,000nS (30uS, 33kHz) then 1.5kHz would be as high as I would go.
You do need to bear in mind the thermal reaction time of your extruder. A lower frequency will give slower feedback.

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 10:48 #13491 by fma
Thanks!

The thermal reaction is pretty slow, so no problem for EMC. I will just have to tune the pid.

I think I will also need to use a slipping average on the temperature reading (ie encoder speed). Is there a way to do that, using standard modules?

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 12:01 #13495 by andypugh
fma wrote:

I think I will also need to use a slipping average on the temperature reading (ie encoder speed). Is there a way to do that, using standard modules?


Yes, have a look at www.linuxcnc.org/docview/html/man/man9/lowpass.9.html

(It doesn't actually describe the effect, just gives the equation used, but that is a rolling average)

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 12:15 #13497 by fma
Ok.

At which frequency would you use this filter? Does it need a slower thread than the servo thread?

How do you determine the gain for a given frequency and rolling period (~1s)?

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 12:43 #13500 by andypugh
it goes in the servo thread.
For a 1 second response, use a gain of 0.001 if the servo thread rate is 1mS

Please Log in or Create an account to join the conversation.

More
28 Sep 2011 12:50 #13502 by fma
I got it.

Thanks.

Please Log in or Create an account to join the conversation.

More
04 Oct 2011 05:28 #13637 by fma
I made a first prototype, using a NE555 to convert the resistor value in a frequency, and it works fine :o) I still have to calibrate the resistor vs temperature curve, and find the correct PID values.

BTW, does anybody have worked on a fuzzy logic component?

Please Log in or Create an account to join the conversation.

More
04 Oct 2011 08:24 #13639 by fma
Another question about the pid component...

In the Ziegler & Nichols or Broïda methods, they compute Kp, Ti and Td params.

How do I determine Ki and Kd for the hal pid component, from Ti and Td (integration time and derivative time)?

Please Log in or Create an account to join the conversation.

Time to create page: 0.110 seconds
Powered by Kunena Forum