Discussion:
[lm-sensors] ncpXXxh103 compensation values?
Maxime Jayat
2016-03-30 14:03:41 UTC
Permalink
Hello Joseph,

You recently added support for the ncpXXxh103 in
drivers/hwmon/ntc_thermistor.c with the following array of values:

+static const struct ntc_compensation ncpXXxh103[] = {
+ { .temp_c = -40, .ohm = 247565 },
+ { .temp_c = -35, .ohm = 181742 },
+ { .temp_c = -30, .ohm = 135128 },
+ { .temp_c = -25, .ohm = 101678 },
+ { .temp_c = -20, .ohm = 77373 },
+ { .temp_c = -15, .ohm = 59504 },
+ { .temp_c = -10, .ohm = 46222 },
+ { .temp_c = -5, .ohm = 36244 },
+ { .temp_c = 0, .ohm = 28674 },
+ { .temp_c = 5, .ohm = 22878 },
+ { .temp_c = 10, .ohm = 18399 },
+ { .temp_c = 15, .ohm = 14910 },
+ { .temp_c = 20, .ohm = 12169 },
+ { .temp_c = 25, .ohm = 10000 },
+ { .temp_c = 30, .ohm = 8271 },
+ { .temp_c = 35, .ohm = 6883 },
+ { .temp_c = 40, .ohm = 5762 },
+ { .temp_c = 45, .ohm = 4851 },
+ { .temp_c = 50, .ohm = 4105 },
+ { .temp_c = 55, .ohm = 3492 },
+ { .temp_c = 60, .ohm = 2985 },
+ { .temp_c = 65, .ohm = 2563 },
+ { .temp_c = 70, .ohm = 2211 },
+ { .temp_c = 75, .ohm = 1915 },
+ { .temp_c = 80, .ohm = 1666 },
+ { .temp_c = 85, .ohm = 1454 },
+ { .temp_c = 90, .ohm = 1275 },
+ { .temp_c = 95, .ohm = 1121 },
+ { .temp_c = 100, .ohm = 990 },
+ { .temp_c = 105, .ohm = 876 },
+ { .temp_c = 110, .ohm = 779 },
+ { .temp_c = 115, .ohm = 694 },
+ { .temp_c = 120, .ohm = 620 },
+ { .temp_c = 125, .ohm = 556 },
+};
+

Where are these taken from?
Unlike the other thermistors in the file, these values don't seem to
match anything in the Murata NTC Thermistor Datasheet.
See:
http://www.murata.com/~/media/webrenewal/support/library/catalog/products/thermistor/ntc/r44e.ashx
--
Maxime Jayat
Joseph McNally
2016-03-30 15:09:32 UTC
Permalink
Hello Maxime,

This data was calculated for a Murata NCP15XH103XXXXX.

You have illustrated something to me with your question though. When I
uploaded this patch, I was following the format of the compensation tables
that are already present in the file. So i used "ncpXXxh103" instead
of "ncp15xh103".
Also, it was my first patch submitted to the Linux kernel. So I may have
been over thinking some things! With some hindsight, I see that the name is
misleading. I'm going to have to revisit this patch to make it more
'generic' for other thermistors, or make it more specific for this
particular thermistor.

I hope that answers your questions. Thanks for pointing this out to me.

Regards,
Joseph
Post by Maxime Jayat
Hello Joseph,
You recently added support for the ncpXXxh103 in
+static const struct ntc_compensation ncpXXxh103[] = {
+ { .temp_c = -40, .ohm = 247565 },
+ { .temp_c = -35, .ohm = 181742 },
+ { .temp_c = -30, .ohm = 135128 },
+ { .temp_c = -25, .ohm = 101678 },
+ { .temp_c = -20, .ohm = 77373 },
+ { .temp_c = -15, .ohm = 59504 },
+ { .temp_c = -10, .ohm = 46222 },
+ { .temp_c = -5, .ohm = 36244 },
+ { .temp_c = 0, .ohm = 28674 },
+ { .temp_c = 5, .ohm = 22878 },
+ { .temp_c = 10, .ohm = 18399 },
+ { .temp_c = 15, .ohm = 14910 },
+ { .temp_c = 20, .ohm = 12169 },
+ { .temp_c = 25, .ohm = 10000 },
+ { .temp_c = 30, .ohm = 8271 },
+ { .temp_c = 35, .ohm = 6883 },
+ { .temp_c = 40, .ohm = 5762 },
+ { .temp_c = 45, .ohm = 4851 },
+ { .temp_c = 50, .ohm = 4105 },
+ { .temp_c = 55, .ohm = 3492 },
+ { .temp_c = 60, .ohm = 2985 },
+ { .temp_c = 65, .ohm = 2563 },
+ { .temp_c = 70, .ohm = 2211 },
+ { .temp_c = 75, .ohm = 1915 },
+ { .temp_c = 80, .ohm = 1666 },
+ { .temp_c = 85, .ohm = 1454 },
+ { .temp_c = 90, .ohm = 1275 },
+ { .temp_c = 95, .ohm = 1121 },
+ { .temp_c = 100, .ohm = 990 },
+ { .temp_c = 105, .ohm = 876 },
+ { .temp_c = 110, .ohm = 779 },
+ { .temp_c = 115, .ohm = 694 },
+ { .temp_c = 120, .ohm = 620 },
+ { .temp_c = 125, .ohm = 556 },
+};
+
Where are these taken from?
Unlike the other thermistors in the file, these values don't seem to
match anything in the Murata NTC Thermistor Datasheet.
http://www.murata.com/~/media/webrenewal/support/library/catalog/products/thermistor/ntc/r44e.ashx
--
Maxime Jayat
Maxime Jayat
2016-03-30 15:58:41 UTC
Permalink
I don't think it is wrong to use ncpXXxh103 instead of ncp15xh103,
because the first number refers to the physical size of the thermistor
and should not change its behavior. In fact the datasheet does the same
kind of grouping.

I was just wondering what was the reason for the discrepancy between the
datasheet and your values.
Indeed the datasheet I linked earlier, at page 15, gives you verbatim
the content of this array and the result of your calculation does not
match it.
It is not _absurdly_ wrong but, at first sight, it seems like there is a
10 degrees difference at the extremes (but 10 kOhm at 25 C is correct).
Post by Joseph McNally
Hello Maxime,
This data was calculated for a Murata NCP15XH103XXXXX.
You have illustrated something to me with your question though. When I
uploaded this patch, I was following the format of the compensation
tables that are already present in the file. So i used "ncpXXxh103"
instead of "ncp15xh103". Also, it was my first patch submitted to the
Linux kernel. So I may have been over thinking some things! With some
hindsight, I see that the name is misleading. I'm going to have to
revisit this patch to make it more 'generic' for other thermistors, or
make it more specific for this particular thermistor.
I hope that answers your questions. Thanks for pointing this out to me.
Regards,
Joseph
Hello Joseph,
You recently added support for the ncpXXxh103 in
+static const struct ntc_compensation ncpXXxh103[] = {
+ { .temp_c = -40, .ohm = 247565 },
+ { .temp_c = -35, .ohm = 181742 },
+ { .temp_c = -30, .ohm = 135128 },
+ { .temp_c = -25, .ohm = 101678 },
+ { .temp_c = -20, .ohm = 77373 },
+ { .temp_c = -15, .ohm = 59504 },
+ { .temp_c = -10, .ohm = 46222 },
+ { .temp_c = -5, .ohm = 36244 },
+ { .temp_c = 0, .ohm = 28674 },
+ { .temp_c = 5, .ohm = 22878 },
+ { .temp_c = 10, .ohm = 18399 },
+ { .temp_c = 15, .ohm = 14910 },
+ { .temp_c = 20, .ohm = 12169 },
+ { .temp_c = 25, .ohm = 10000 },
+ { .temp_c = 30, .ohm = 8271 },
+ { .temp_c = 35, .ohm = 6883 },
+ { .temp_c = 40, .ohm = 5762 },
+ { .temp_c = 45, .ohm = 4851 },
+ { .temp_c = 50, .ohm = 4105 },
+ { .temp_c = 55, .ohm = 3492 },
+ { .temp_c = 60, .ohm = 2985 },
+ { .temp_c = 65, .ohm = 2563 },
+ { .temp_c = 70, .ohm = 2211 },
+ { .temp_c = 75, .ohm = 1915 },
+ { .temp_c = 80, .ohm = 1666 },
+ { .temp_c = 85, .ohm = 1454 },
+ { .temp_c = 90, .ohm = 1275 },
+ { .temp_c = 95, .ohm = 1121 },
+ { .temp_c = 100, .ohm = 990 },
+ { .temp_c = 105, .ohm = 876 },
+ { .temp_c = 110, .ohm = 779 },
+ { .temp_c = 115, .ohm = 694 },
+ { .temp_c = 120, .ohm = 620 },
+ { .temp_c = 125, .ohm = 556 },
+};
+
Where are these taken from?
Unlike the other thermistors in the file, these values don't seem to
match anything in the Murata NTC Thermistor Datasheet.
http://www.murata.com/~/media/webrenewal/support/library/catalog/products/thermistor/ntc/r44e.ashx
--
Maxime Jayat
--
Maxime Jayat
Guenter Roeck
2016-03-30 20:59:58 UTC
Permalink
Hi Maxime,
Post by Maxime Jayat
I don't think it is wrong to use ncpXXxh103 instead of ncp15xh103,
because the first number refers to the physical size of the thermistor
and should not change its behavior. In fact the datasheet does the same
kind of grouping.
I was just wondering what was the reason for the discrepancy between the
datasheet and your values.
Indeed the datasheet I linked earlier, at page 15, gives you verbatim
the content of this array and the result of your calculation does not
match it.
It is not _absurdly_ wrong but, at first sight, it seems like there is a
10 degrees difference at the extremes (but 10 kOhm at 25 C is correct).
Can the two of you sort this out and send me a fixup patch if necessary ?

Thanks,
Guenter

p.s.: Please don't top-post.
Post by Maxime Jayat
Post by Joseph McNally
Hello Maxime,
This data was calculated for a Murata NCP15XH103XXXXX.
You have illustrated something to me with your question though. When I
uploaded this patch, I was following the format of the compensation
tables that are already present in the file. So i used "ncpXXxh103"
instead of "ncp15xh103". Also, it was my first patch submitted to the
Linux kernel. So I may have been over thinking some things! With some
hindsight, I see that the name is misleading. I'm going to have to
revisit this patch to make it more 'generic' for other thermistors, or
make it more specific for this particular thermistor.
I hope that answers your questions. Thanks for pointing this out to me.
Regards,
Joseph
Hello Joseph,
You recently added support for the ncpXXxh103 in
+static const struct ntc_compensation ncpXXxh103[] = {
+ { .temp_c = -40, .ohm = 247565 },
+ { .temp_c = -35, .ohm = 181742 },
+ { .temp_c = -30, .ohm = 135128 },
+ { .temp_c = -25, .ohm = 101678 },
+ { .temp_c = -20, .ohm = 77373 },
+ { .temp_c = -15, .ohm = 59504 },
+ { .temp_c = -10, .ohm = 46222 },
+ { .temp_c = -5, .ohm = 36244 },
+ { .temp_c = 0, .ohm = 28674 },
+ { .temp_c = 5, .ohm = 22878 },
+ { .temp_c = 10, .ohm = 18399 },
+ { .temp_c = 15, .ohm = 14910 },
+ { .temp_c = 20, .ohm = 12169 },
+ { .temp_c = 25, .ohm = 10000 },
+ { .temp_c = 30, .ohm = 8271 },
+ { .temp_c = 35, .ohm = 6883 },
+ { .temp_c = 40, .ohm = 5762 },
+ { .temp_c = 45, .ohm = 4851 },
+ { .temp_c = 50, .ohm = 4105 },
+ { .temp_c = 55, .ohm = 3492 },
+ { .temp_c = 60, .ohm = 2985 },
+ { .temp_c = 65, .ohm = 2563 },
+ { .temp_c = 70, .ohm = 2211 },
+ { .temp_c = 75, .ohm = 1915 },
+ { .temp_c = 80, .ohm = 1666 },
+ { .temp_c = 85, .ohm = 1454 },
+ { .temp_c = 90, .ohm = 1275 },
+ { .temp_c = 95, .ohm = 1121 },
+ { .temp_c = 100, .ohm = 990 },
+ { .temp_c = 105, .ohm = 876 },
+ { .temp_c = 110, .ohm = 779 },
+ { .temp_c = 115, .ohm = 694 },
+ { .temp_c = 120, .ohm = 620 },
+ { .temp_c = 125, .ohm = 556 },
+};
+
Where are these taken from?
Unlike the other thermistors in the file, these values don't seem to
match anything in the Murata NTC Thermistor Datasheet.
http://www.murata.com/~/media/webrenewal/support/library/catalog/products/thermistor/ntc/r44e.ashx
--
Maxime Jayat
--
Maxime Jayat
Loading...