Есть необходимость замера температуры примерно до 500'С. Приобрёл термопару тип К (её по большей части, потому что легко достать и низкая цена). Сделал усилитель по схеме ниже
Изначально получается коэффициент усиления около 120 (R1=120кОм, R3=1кОм). Меняю R1 на 240кОм, но напряжение с выходов не увеличивается, а просто достигает того же значения примерно в 4В немного быстрее, замеряю вольтметром. Опыты провожу зажигалкой, нагреваю горячий спай.
Решил попробовать подключить к arduino. Использовал кусочек кода для считывания с аналогового пина.
Код:
#include <Wire.h>
int volumePin = A0;
void setup() {
pinMode(volumePin, INPUT);
Serial.begin(9600);
}
void loop() {
Serial.println(analogRead(volumePin));
delay(100);
}
Сначала коэффициент оставляю 120. Смотрю порт, поджигаю зажигалкой, показывает в районе 760 значение, меняется быстро и часто. Ок, что-то похоже на правду, по крайней мере какой-то сигнал есть. Беру кипяток, опускаю термопару в него и..... ничего не происходит, совсем. Такую температуру даже не воспринимает.
Увеличил коэффициент до 240 сопротивлением R1 до 240кОм. Стало лучше. В горячей воде близкой к 100 показывает значение на порту около 50 (всегда пишу около, т.к. значения быстро меняются). Но точность сильно хромает и вообще температура даже в той же воде прыгает градусов на 10 в амплитуде.
Думаю вся эта кутерьма с неточностями из-за операционника. Есть ещё несколько вариантов других, дорогих операционников: AD8552, AD620N и AD744JN. Т.к. все достаточно не дешёвые (около 200р.), то думаю какой же из них лучше на замену LM358. Пожалуйста, подскажите как тут лучше поступить.
Ещё компенсационный думаю сделать на цифровом термодатчике 18b20. Щас пока пытаюсь заставить оба их что-нибудь показывать. потом уже высчитывать общую температуру. Но сейчас бы определиться с термопарой и сигналом с неё. Буду очень признателен за подсказки и идеи.