Using PTC (PT1000)

Hi everyone,

Instead of NTC thermistors, can I use PT1000 thermistors for my smoothieboard? If yes, what do I need to change? The beta or is there a lookup table in the firmware?

Many thanks in advance!

Cheers,
Stephen

Imported from wikidot

Do you have the exact reference of your thermistor ?

Smoothieboard allows you to provide the beta and resistance values so you should be able to get most thermistor types to work like this.

Hi arthurwolf,

Thank you for your reply!

The PTC’s relationship is the complete opposite of thermistors’s curve. So I’m afraid I can’t use the beta and Steinharthart coefficient.

My question is then: How and where do I find the piece of code that determines the relationship of the measured resistance and temperature in the firmware?

Please be aware, that a NTC like the KTY81 increses its resistance by 8,7Ω per 1°C (@150°C).
But a PT100 changes its resistance by only 0.4Ω per 1°C !!

Thats means the PT100 in serie to the 4k7 RN1 (connected to 3.3VCC) will gets you>
108mV @ 150°C
120mV @ 200°C

Meassured by the 12bit ADC of the LPC1769 you have a 4.1°C resolution *sic* !
And even if the 4k7 Resistor is a 1% type you have an offset of ±10°C!

Oh and the noise…there will be alot of noise.
and there is the resistance of the cable if you only using a 2-wire PT100…

Hi TKroenert,

Thanks for your reply! Do you however, know how to still use it anyway? Which part of the code should I change in the firmware?

Dear all,

I have already solved the problem. This will help if you would like to use other temperature sensors other than thermistors.

In the “Thermistor.cpp” file, you could replace the “t” formula, to the formula of your temperature sensor. In the case of PT1000, it is:

T = cc0+cc1*r+cc2*r^2+Tcal
cc0=-2.457445131972171e+02
cc1=2.356226766421429e-01
cc2=1.011383918573980e-05
Tcal=0

line 232 old: float t= (1.0F / (k + (j * logf(r / r0)))) - 273.15F; line 232 new: float t= cc0 + cc1*r + cc2*r*r + t_cal;
line 252 old: t= (1.0F / (k + (j * logf(r / r0)))) - 273.15F; line 252 new: t= cc0 + cc1*r + cc2*r*r + t_cal;

Hope this helps.

Cheers,
SH

Hi hariantos,

nice that you have have found a solution for that problem. I would like to use an PT100 too.

How looks your config file, for the temperature-control? How did you get the smoothie to use the formula?

How good is your resolution while measuring?

TiEr

noob here…just looking to learn…where do you have the pins for the pt100 plugged in? from the photos of E3d’s board it appears that there are 2 pins going in and three going out? do you omit one? where does the third go?

Hariantos - You suggests to modify the “Thermistor.cpp” file, by replacing the “t” formula.
Is this the best way to make the mods, or would I be better off creating a separate code module for the PT100, in the same way as the “max31855” has a separate code module?

Also, what would be the best option for the ADC pin? if I want to measure 0-3.5V (the realistic range of temps the PT100 will cover) can I use one of the therm pins or do I need to use one of the other 2 ADC pins? And would I need to add a pull-up resistor or can I just measure the voltage using the pin directly?

What did you do?

Any advice appreciated.

I am using the 2 E3D PT100’s on a dual hot end with a Azteeg X3 Pro and it works very well and if I never have to mess with a GD thermistor again I would pay a lot more than the $40 or so the kit cost. That is why I have read the post for installing this sensor on a smoothie and it seems like the people that could make this happen have a weird hatred of RTD,s and have no intention of even trying to have this be an option. This will become the sensor of choice for hot ends so I think this is a mistake and as a fan and user of smoothieboards I would really like to see an attempt to make this work. I am building a new delta and I just tightened up the set screw for the PT100 in a step of faith that some how I can get it to work, but if I cannot, the smoothie will get sh*t canned before the sensor.

That is why I have read the post for installing this sensor on a smoothie and it seems like the people that could make this happen have a weird hatred of RTD,

There is no hatred here. None of the contributors to Smoothie I know actually own a PT100 sensor … that’s the main problem, not hatred …

If this indeed becomes popular, I’m sure there will be somebody that both owns one of the sensors, and knows how to add the code.

This is very new, you can’t expect every new thing to be supported right away, the Smoothie firmware is written by volunteers that do not all have the same interrests or time to spend or hardware …

If anybody owns the sensor, and wants to have a crack at adding support, I’ll be glad to help them.

Ok, I am glad there is no hatred for RTD’s. I worked with a guy from Repieter firmware to get the sensor work, they had everything but there was a mistake in the temp table. The biggest problem for me is the only thing I have worked with in smoothie world is the config file.

Smoothie doesn’t use temp tables, all we need is the actual mathematical formula.

If you have that, it’s actually quite easy to add support to Smoothie. If you’ve ever done any C/C++ and know a tiny bit of github, it’s likely you can do it. I can help you through it.

Arthur - Is the formula above by Harantios sufficient? If so I have some C++ experience AND a PT100 :slight_smile:

The E3D PT100 amplifier board has three outputs connections - +ve, ground and signal.

So, I assume that ground goes to ground. +ve goes to a +3.3V supply. Signal goes to the thermistor pin and will vary between 1 and 3.3V

Is this a reasonable assumption? Any advice appreciated.

Yes, I think this will work because you will never reach the temps that would produce a higher voltage than 3.3v,
500c = 3.0v 600c = 3.33v according to E3D documentation. So you could even supply the E3D card with 5V and you should not have to worry about going over 3.3v on the output back to Smoothieboard.

Any progress on this front? I would love to be able to use my PT100 on my board soon, I don’t feel like going back to the original thermistor for my hotend. It is just too much of a pain, and I swear it never seats right.

smoothieware dot org / pt100

there’s a pull request for PT100 that’s tested by few ppl and works nicely but not yet merged with edge, if more ppl test it to be useful and working it’ll get faster in to the edge